Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
191b321
fix: remove all direct config accessors
jaredhendrickson13 Dec 6, 2024
80b14c9
chore: undo config changes in tests
jaredhendrickson13 Dec 6, 2024
e2ae2e9
fix: fixed broken priv handling in Plus 24.11
jaredhendrickson13 Dec 6, 2024
d6063aa
ci: add pfSense Plus 24.11 to build matrix
jaredhendrickson13 Dec 6, 2024
8253481
fix: escape branch in make_package.py
jaredhendrickson13 Dec 6, 2024
de2d2ca
style: run prettier on changed files
jaredhendrickson13 Dec 7, 2024
96ab4c0
chore: remove boto3 from requriements.txt
jaredhendrickson13 Dec 7, 2024
ef2075f
fix: don't use / as root path in CARP model
jaredhendrickson13 Dec 8, 2024
13b81c2
feat: add Models and Endpoints for GRE interfaces #156
jaredhendrickson13 Dec 10, 2024
f5e08a9
fix: ensure config is loaded in forms
jaredhendrickson13 Dec 12, 2024
ec3d22b
fix: handle gre tunnel apply correctly
jaredhendrickson13 Dec 12, 2024
c00e1a9
fix: adjust gre in use error id
jaredhendrickson13 Dec 12, 2024
aad2d66
tests: add tests for InterfaceGRE
jaredhendrickson13 Dec 12, 2024
8d46825
style: ran prettier on changed files
jaredhendrickson13 Dec 12, 2024
c5d8ac1
feat: add model and endpoints for LAGG interfaces
jaredhendrickson13 Dec 13, 2024
aed2e19
fix: correct the handling of applying laggs
jaredhendrickson13 Dec 13, 2024
cdadd06
tests: add tests for InterfaceLAGG model
jaredhendrickson13 Dec 13, 2024
5d72c1f
docs(oas): clarify oas query param documentation
jaredhendrickson13 Dec 13, 2024
040d285
fix: restore old reload_config behavior
jaredhendrickson13 Dec 13, 2024
aa6cd74
style: run prettier on changed files
jaredhendrickson13 Dec 13, 2024
293cbca
fix: handle missing gateways in RoutingGatewayGroup::from_internal_ip…
jaredhendrickson13 Dec 13, 2024
95cbc35
tests: adjust expected string in ACMECertificateRenew test
jaredhendrickson13 Dec 13, 2024
48f90a7
docs: add pfSense Plus 24.11 to supported versions
jaredhendrickson13 Dec 13, 2024
0daec1c
docs: add notes about dangers of installing on unsupported pfsense ve…
jaredhendrickson13 Dec 13, 2024
2b6dd5e
docs: adjust readme structure
jaredhendrickson13 Dec 13, 2024
bbb4ccb
fix: do not load all NetworkInterface objects in DHCPServer::init_int…
jaredhendrickson13 Dec 14, 2024
f44f065
tests: prevent InterfaceGRE routes from conflicting with other tests
jaredhendrickson13 Dec 14, 2024
d79fb36
docs: fix typo in README.md
jaredhendrickson13 Dec 14, 2024
7b5a9f7
style: run prettier on changed files
jaredhendrickson13 Dec 14, 2024
eba6105
feat: implement support carp unicast mode (plus only) #424
jaredhendrickson13 Dec 14, 2024
d940dcd
fix: do not require CertificateAuthority's prv field #605
jaredhendrickson13 Dec 14, 2024
f2c529f
fix: ensure carefs are relinked after cert imports #605
jaredhendrickson13 Dec 15, 2024
7a55f2f
fix: exclude unnecessary properties for serialization for the Model c…
jaredhendrickson13 Dec 17, 2024
95cadfa
tests: add test for relinking certs to their ca upon import #605
jaredhendrickson13 Dec 17, 2024
192546c
tests: add test for excessive memory usage when copying model #617 ob…
jaredhendrickson13 Dec 17, 2024
735c95e
chore: address merge conflicts
jaredhendrickson13 Dec 18, 2024
d333b43
fix: use queries to check for nested aliases #619
jaredhendrickson13 Dec 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ jobs:
PFSENSE_VERSION: "2.7.2"
- FREEBSD_VERSION: FreeBSD-15.0-CURRENT
PFSENSE_VERSION: "24.03"
- FREEBSD_VERSION: FreeBSD-15.0-CURRENT
PFSENSE_VERSION: "24.11"

steps:
- uses: actions/checkout@v4
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ Install on pfSense Plus:
pkg-static -C /dev/null add https://github.com/jaredhendrickson13/pfsense-api/releases/latest/download/pfSense-24.03-pkg-RESTAPI.pkg
```

## Support for pfSense Plus 24.11
> [!WARNING]
> Before installing the package, always ensure your pfSense version is supported! Supported versions are listed [here](https://pfrest.org/INSTALL_AND_CONFIG/#supported-pfsense-versions).
> Installation of the package on unsupported versions of pfSense may result in unexpected behavior and/or system instability.

Working on supporting in https://github.com/jaredhendrickson13/pfsense-api/discussions/610

> [!IMPORTANT]
> [!TIP]
> You may need to customize the installation command to reference the package built for your pfSense version. Check
> the [releases page](https://github.com/jaredhendrickson13/pfsense-api/releases) to find the package built for
> your version of pfSense.
Expand Down
290 changes: 140 additions & 150 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions docs/INSTALL_AND_CONFIG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ run pfSense. It's recommended to follow Netgate's [minimum hardware requirements

- pfSense CE 2.7.2
- pfSense Plus 24.03
- pfSense Plus 24.11

!!! Warning
Installation of the package on unsupported versions of pfSense may result in unexpected behavior and/or system instability.

!!! Tip
Don't see your version of pfSense? Older versions of pfSense may be supported by older versions of this package.
Check the [releases page](https://github.com/jaredhendrickson13/pfsense-api/releases).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,14 @@ class Auth {
public function authorize(): bool {
# Variables
$is_not_authorized = false;
$this->client_privileges = get_user_privileges(getUserEntry($this->username));

# Start with pfSense 24.11, getUserEntry returns an array with the key 'item' containing the user data.
# We need to handle both cases to support both.
$user_ent = getUserEntry($this->username);
$user_ent = array_key_exists('item', $user_ent) ? $user_ent['item'] : $user_ent;

# Obtain the client's privileges and check if they have the required privileges
$this->client_privileges = get_user_privileges($user_ent);

# This client is not authorized if the client does not have at least one of the required privileges
if ($this->required_privileges and !array_intersect($this->required_privileges, $this->client_privileges)) {
Expand Down
Loading
Loading