]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
Nick Porter [Fri, 25 Mar 2022 17:33:38 +0000 (17:33 +0000)]
v4: Remove ifdefs for longstanding OpenLDAP features (#4439)
* Remove #ifdef LDAP_OPT_X_TLS_PROTOCOL_MIN
Has been in libldap for 13 years
* Remove #ifdef LDAP_OPT_NETWORK_TIMEOUT
Has been in libldap for 19 years
* Remove #ifdef LDAP_OPT_X_KEEPALIVE_IDLE
Has been in libldap for 13 years
* Remove #ifdef LDAP_OPT_X_KEEPALIVE_PROBES
Has been in libldap for 13 years
* Remove #ifdef LDAP_OPT_X_KEEPALIVE_INTERVAL
Has been in libldap for 13 years
* Remove #ifdef LDAP_MOD_INCREMENT
Has been in libldap for 15 years
* Remove #ifdef LDAP_OPT_X_TLS_NEVER
Has been in libldap for 18 years
* Remove #ifdef LDAP_SCOPE_CHILDREN
Has been in libldap for 18 years
* Remove #ifdef LDAP_OPT_TIMEOUT
Has been in libldap for 23 years
* Remove #ifdef LDAP_OPT_DEBUG_LEVEL
Has been in libldap for 23 years
* Remove #ifdef LDAP_OPT_TLS_RANDOM_FILE
Has been in libldap for 21 years
* Remove #ifdef LDAP_OPT_X_TLS_REQUIRE_CERT
Has been in libldap for 23 years
* Remove #ifdef LDAP_OPT_X_TLS_NEWCTX
Has been in libldap for 16 years
* Remove #ifdef HAVE_LDAP_UNBIND_EXT_S
Has been in libldap for 23 years
* Remove #ifdef HAVE_LDAP_INITIALIZE
Has been in libldap for 22 years
* Remove #ifdef HAVE_LDAP_URL_PARSE
Has been in libldap for 23 years
* Remove #ifdef HAVE_LDAP_IS_LDAP_URL
Has been in libldap for 23 years
* Remove #ifdef HAVE_LDAP_URL_DESC2STR (and LDAP_CAN_PARSE_URLS)
Has been in libldap for 21 years
* Remove #ifdef HAVE_LDAP_CREATE_SORT_KEYLIST and HAVE_LDAP_FREE_SORT_KEYLIST
Have been in libldap for 22 years
* Remove #ifdef HAVE_LDAP_CREATE_SORT_CONTROL
Has been in libldap for 20 years
* Remove #ifdef HAVE_LDAP_SASL_INTERACTIVE_BIND
Has been in libldap for 11 years
* Remove #ifdef HAVE_LDAP_START_TLS_S
Has been in libldap for 22 years
* Update configure.ac to reflect changes in libldap tests
Alan T. DeKok [Fri, 25 Mar 2022 15:38:33 +0000 (11:38 -0400)]
fix types and compile errors
Nick Porter [Fri, 25 Mar 2022 13:45:06 +0000 (13:45 +0000)]
talloc_array_length() doesn't handle array resized by talloc_realloc_fn() (#4428)
Alan T. DeKok [Fri, 25 Mar 2022 13:02:18 +0000 (09:02 -0400)]
port last dlist -> tlist changes
Alan T. DeKok [Thu, 24 Mar 2022 20:30:30 +0000 (16:30 -0400)]
manual pull of PR #4440
Matthew Newton [Thu, 24 Mar 2022 19:35:48 +0000 (19:35 +0000)]
add freeradius-freetds deb package
we already build a .rpm, so may as well build a .deb too
Jorge Pereira [Thu, 24 Mar 2022 16:28:37 +0000 (13:28 -0300)]
Add attributes for Ruckus SmartCell Insight (#4442)
Nick Porter [Thu, 24 Mar 2022 16:18:00 +0000 (16:18 +0000)]
Add reconnection_delay to mods-available/ldap (#4413)
Nick Porter [Thu, 24 Mar 2022 15:13:26 +0000 (15:13 +0000)]
Add dictionary for LDAP sync internal protocol (#4432)
Nick Porter [Thu, 24 Mar 2022 15:11:25 +0000 (15:11 +0000)]
v4: Two amendments to existing LDAP functions to support LDAP sync (#4429)
* Detect return of e-syncRefreshRequired LDAP result code
* Retrieve controls for LDAP search reference messages
James Jones [Wed, 23 Mar 2022 16:39:38 +0000 (11:39 -0500)]
Take more advantage of dns_label (#4437)
Terry Burton [Wed, 23 Mar 2022 15:10:13 +0000 (15:10 +0000)]
CI fuzzing: Interactive access to fuzzer CI env using debug-fuzzer-* branch (#4416)
This makes it easy to use the same CI environment that runs the scheduled
fuzzing to execute reproducers, e.g. for debugging when a reproducer isn't
failing locally.
* Push to debug-fuzzer-<protocol>, e.g. debug-fuzzer-radius
* Watch the CI run in GitHub Actions until the tmate session starts
* SSH to the emitted rendezvous point
* Run scripts/build/fuzzer-fetch-artifacts, and follow the output
Arran Cudbard-Bell [Tue, 22 Mar 2022 01:47:55 +0000 (21:47 -0400)]
Fix another md5 ctx free location
Arran Cudbard-Bell [Tue, 22 Mar 2022 01:17:51 +0000 (21:17 -0400)]
Fix free lists for md4/md5 for our internal md4/md5 functions
Arran Cudbard-Bell [Mon, 21 Mar 2022 22:55:54 +0000 (18:55 -0400)]
60 minutes isn't enough for some matrix entries
Alan T. DeKok [Mon, 21 Mar 2022 22:36:13 +0000 (18:36 -0400)]
update for child struct
Alan T. DeKok [Mon, 21 Mar 2022 22:27:53 +0000 (18:27 -0400)]
skip internal attributes when encoding nested structs
We really also want to skip any attributes which aren't parented
from the enclosing structure. But doing so means that any child
structures which depend on "key" will likely get skipped, too.
So for now we just do this.
Alan T. DeKok [Mon, 21 Mar 2022 22:13:47 +0000 (18:13 -0400)]
return child structs AFTER the members of the current struct
Alan T. DeKok [Mon, 21 Mar 2022 21:56:14 +0000 (17:56 -0400)]
more debugging
James Jones [Mon, 21 Mar 2022 21:09:01 +0000 (16:09 -0500)]
Changed DHCPv4 Authentication (90) to struct and added test (#4425)
Co-authored-by: Alan DeKok <aland@freeradius.org>
James Jones [Mon, 21 Mar 2022 21:08:03 +0000 (16:08 -0500)]
Make Client-NDI (code 94) a struct, add test, move to appropriate dictionary. (#4434)
Arran Cudbard-Bell [Mon, 21 Mar 2022 20:23:42 +0000 (16:23 -0400)]
Reduce timeout so hung jobs only stick around for an hour...
Nick Porter [Mon, 21 Mar 2022 20:08:02 +0000 (20:08 +0000)]
Initialise LDAP connection fd to an invalid fd number (#4430)
Alan T. DeKok [Mon, 21 Mar 2022 16:07:30 +0000 (12:07 -0400)]
update for RFC 7291
yet another weird format
Alan T. DeKok [Mon, 21 Mar 2022 15:44:56 +0000 (11:44 -0400)]
don't allow wrong lengths for protocol
Alan T. DeKok [Mon, 21 Mar 2022 15:26:30 +0000 (11:26 -0400)]
allow "length=uint8" for structs
and update encode / decode of struct
and ensure that the encoders don't add too many lengths
Alan T. DeKok [Mon, 21 Mar 2022 12:52:51 +0000 (08:52 -0400)]
whitespace
Nick Porter [Mon, 21 Mar 2022 12:29:20 +0000 (12:29 +0000)]
v4: Two minor changes to berval handling (#4427)
* Allocate the correct length when extracting from bervals
* Add fr_ldap_berval_to_value_str_shallow()
Nick Porter [Mon, 21 Mar 2022 12:28:42 +0000 (12:28 +0000)]
v4: Updates to functions for establishing LDAP directory type (#4424)
* Make parsing of LDAP directory type results a library function.
* Define fr_ldap_conn_directory_alloc_async()
For querying the LDAP directory type on a single connection
* Add a type to represent which sync protocol an LDAP directory supports
* Correct identification of IBM LDAP directories
* Define Active Directory specific OIDs
* Use supportedControl to identify which sync method an LDAP directory supports
Nick Porter [Mon, 21 Mar 2022 12:27:26 +0000 (12:27 +0000)]
v4: Three small fixes to fr_network_listen_sent_packet() (#4426)
* The child listener has the socket rather than the parent
* Handle errors in sending packet, and increase the outstanding count
* Set the channel data listener
Alan T. DeKok [Sun, 20 Mar 2022 20:11:10 +0000 (16:11 -0400)]
minor cleanups
Alan T. DeKok [Sun, 20 Mar 2022 20:04:53 +0000 (16:04 -0400)]
clean up and rearrange
Alan T. DeKok [Sat, 19 Mar 2022 14:37:03 +0000 (10:37 -0400)]
ignore exact flag for now
Alan T. DeKok [Sat, 19 Mar 2022 13:58:21 +0000 (09:58 -0400)]
rearrange and cleanup
Alan T. DeKok [Fri, 18 Mar 2022 23:55:17 +0000 (19:55 -0400)]
this is no longer needed
Alan T. DeKok [Fri, 18 Mar 2022 23:55:03 +0000 (19:55 -0400)]
clean up and centralize checks for arrays
Alan T. DeKok [Fri, 18 Mar 2022 14:34:22 +0000 (10:34 -0400)]
just use a different data type
Alan T. DeKok [Fri, 18 Mar 2022 14:29:00 +0000 (10:29 -0400)]
cast to shut up compiler
Alan T. DeKok [Fri, 18 Mar 2022 14:05:32 +0000 (10:05 -0400)]
move option and add tests
Alan T. DeKok [Fri, 18 Mar 2022 13:16:04 +0000 (09:16 -0400)]
move code to shut up clang scan
Alan T. DeKok [Fri, 18 Mar 2022 00:05:49 +0000 (20:05 -0400)]
one more stupid format for IPv4 prefixes
Alan T. DeKok [Fri, 18 Mar 2022 00:05:17 +0000 (20:05 -0400)]
decode array of structs (whew!)
Alan T. DeKok [Fri, 18 Mar 2022 00:04:54 +0000 (20:04 -0400)]
return the correct location of the error
Alan T. DeKok [Fri, 18 Mar 2022 00:03:28 +0000 (20:03 -0400)]
allow partial decoding of structs
if we weren't looking for "decode everything"
Alan T. DeKok [Thu, 17 Mar 2022 22:55:36 +0000 (18:55 -0400)]
allow "prefix=bits"
for prefixes which are encoded as 8 bits of prefix, followed by
0..3 bytes of actual content
Alan T. DeKok [Thu, 17 Mar 2022 22:54:25 +0000 (18:54 -0400)]
allow arrays of known-width structs
and do more checks on known widths
Alan T. DeKok [Thu, 17 Mar 2022 22:53:18 +0000 (18:53 -0400)]
allow structs to be children of structs
ATTR foo struct
member bar uint8
member baz struct
member x # of 'baz' struct!
member y
It looks stupid, but it works.
Alan T. DeKok [Thu, 17 Mar 2022 22:50:53 +0000 (18:50 -0400)]
we don't need element_len here
just trust encode_value(), and da->flags.length
Terry Burton [Fri, 18 Mar 2022 12:26:30 +0000 (12:26 +0000)]
Typo in Roaring-Penguin dictionary (#4423)
Arran Cudbard-Bell [Thu, 17 Mar 2022 18:01:25 +0000 (14:01 -0400)]
trunk: Fix scan issue
Arran Cudbard-Bell [Thu, 17 Mar 2022 16:50:06 +0000 (12:50 -0400)]
dhcpv6: Just use a new dbuff for encode_relay_message
Makes it much easier to deal with the markers...
Alan T. DeKok [Thu, 17 Mar 2022 16:27:13 +0000 (12:27 -0400)]
remove unused assignments
Alan T. DeKok [Thu, 17 Mar 2022 15:30:55 +0000 (11:30 -0400)]
allow for Rapid-Commit to be special
normal bools are encoded as 1 byte of 0/1
Rapid-Commit is stupid, and gets stupid encoding.
Arran Cudbard-Bell [Thu, 17 Mar 2022 15:03:02 +0000 (11:03 -0400)]
dhcpv4: decode_ctx is used
Arran Cudbard-Bell [Thu, 17 Mar 2022 14:59:03 +0000 (10:59 -0400)]
dhcpv6: always release len_m
Arran Cudbard-Bell [Thu, 17 Mar 2022 14:54:53 +0000 (10:54 -0400)]
tmpl_tokenize: Always release the marker
Alan T. DeKok [Thu, 17 Mar 2022 14:44:37 +0000 (10:44 -0400)]
replace byte/short/integer with uint8/uint16/uint32
Alan T. DeKok [Thu, 17 Mar 2022 14:44:15 +0000 (10:44 -0400)]
use size-specific data types
Alan T. DeKok [Thu, 17 Mar 2022 14:38:32 +0000 (10:38 -0400)]
update comment
Alan T. DeKok [Thu, 17 Mar 2022 13:54:25 +0000 (09:54 -0400)]
add support for split prefixes for Policy-Filter
made abstract for now, just in case other options are defined
with the same stupid format.
Alan T. DeKok [Thu, 17 Mar 2022 13:50:22 +0000 (09:50 -0400)]
prefixes can be in arrays
The various protocol-specific functions will take care of things
if this isn't true.
Alan T. DeKok [Thu, 17 Mar 2022 12:39:33 +0000 (08:39 -0400)]
switch to using macro for readability
Alan T. DeKok [Thu, 17 Mar 2022 12:28:44 +0000 (08:28 -0400)]
switch to using macro for readability
Alan T. DeKok [Thu, 17 Mar 2022 12:15:03 +0000 (08:15 -0400)]
add per-protocol "clean" rule
Alan T. DeKok [Thu, 17 Mar 2022 12:12:43 +0000 (08:12 -0400)]
more checks for struct members
known sized are OK, even if the underlying data type is variable
sized.
arrays have to be at the end of a struct.
Alan T. DeKok [Thu, 17 Mar 2022 12:04:09 +0000 (08:04 -0400)]
arrays eat up the rest of the struct
and avoid overflow in length checks.
and assert that single values we're decoding manually aren't arrays,
becuse we need extra code to handle that.
Alan T. DeKok [Thu, 17 Mar 2022 11:58:24 +0000 (07:58 -0400)]
add proto trace
Alan T. DeKok [Thu, 17 Mar 2022 11:55:02 +0000 (07:55 -0400)]
move RFC 2610 options to their own file
Alan T. DeKok [Wed, 16 Mar 2022 21:05:44 +0000 (17:05 -0400)]
add dns_label encoder / decoder, with small tests
some options have compressed DNS labels, and that isn't yet
supported.
Alan T. DeKok [Wed, 16 Mar 2022 20:33:56 +0000 (16:33 -0400)]
limit this to DNS labels
Arran Cudbard-Bell [Thu, 17 Mar 2022 13:44:53 +0000 (09:44 -0400)]
Remove more rlm_sql prefixes
Alan T. DeKok [Wed, 16 Mar 2022 14:27:01 +0000 (10:27 -0400)]
it helps to check if there's room for the header.
Alan T. DeKok [Wed, 16 Mar 2022 13:41:51 +0000 (09:41 -0400)]
allow fixed-width string/octet types in an array
Alan T. DeKok [Wed, 16 Mar 2022 13:39:19 +0000 (09:39 -0400)]
allow decoding of arrays of fixed-size string/octets
not sure if the dicts support it, but what the heck
Alan T. DeKok [Wed, 16 Mar 2022 13:37:20 +0000 (09:37 -0400)]
use new functions, and make more like dhcpv6
Alan T. DeKok [Wed, 16 Mar 2022 13:37:01 +0000 (09:37 -0400)]
add fr_dhcpv4_attr_sizes[] and fr_dhcpv4_option_len()
Alan T. DeKok [Tue, 15 Mar 2022 21:24:17 +0000 (17:24 -0400)]
encode bools properly
adding fr_dhcpv4_next_encodable, and updating encode_value()
the decoder was already correct.
Alan T. DeKok [Tue, 15 Mar 2022 18:16:12 +0000 (14:16 -0400)]
add struct decoding
Alan T. DeKok [Tue, 15 Mar 2022 17:50:21 +0000 (13:50 -0400)]
start of the tree list API
Alan T. DeKok [Tue, 15 Mar 2022 13:54:53 +0000 (09:54 -0400)]
allow for exact decoding of values.
if we expect a byte and we get 4 bytes, then it should be a raw
option.
Alan T. DeKok [Tue, 15 Mar 2022 13:42:10 +0000 (09:42 -0400)]
fix fr_dhcpv4_decode_option to return the correct values
we don't return the length of the decoded data, we return
however much we decoded in one option.
James Jones [Tue, 15 Mar 2022 12:13:44 +0000 (07:13 -0500)]
Allow string/octet "arrays" with length=uint8 (#4415)
This is the DHCPv4 analog of
64ea2f5 , the analogous DHCPv6 change.
Jorge Pereira [Mon, 14 Mar 2022 19:24:08 +0000 (16:24 -0300)]
ci-rpm: Fix packages.endpointdev.com URL (#4414)
Needed by Centos-7 CI Building when installing https://packages.endpointdev.com/rhel/7/os/x86_64/git-core-2.24.1-1.ep7.x86_64.rpm
Alan T. DeKok [Mon, 14 Mar 2022 13:14:38 +0000 (09:14 -0400)]
rework to be more like other protocols
we really need to move this repetitive code into common functions
Alan T. DeKok [Sun, 13 Mar 2022 11:56:36 +0000 (07:56 -0400)]
update comments
Alan T. DeKok [Sun, 13 Mar 2022 10:52:33 +0000 (06:52 -0400)]
it helps to check for overflow
Alan T. DeKok [Sat, 12 Mar 2022 15:56:07 +0000 (10:56 -0500)]
port decode_raw() over from dhcpv6
which involves adding a tmp_ctx to packet_ctx
ensuring that all functions have a decode_ctx passed to them
fixing up the calls to decode_raw() to pass the correct values
fixing the test output so that it shows the current attribute
as raw, and not something else.
Alan T. DeKok [Sat, 12 Mar 2022 15:21:10 +0000 (10:21 -0500)]
now that the decoder is fixed, fix the encoder
so that it mashes the values together
Alan T. DeKok [Sat, 12 Mar 2022 15:19:33 +0000 (10:19 -0500)]
automatically coalesce values across multiple options
Alan T. DeKok [Sat, 12 Mar 2022 15:04:51 +0000 (10:04 -0500)]
pass non-NULL decode ctx to decode option function
Alan T. DeKok [Sat, 12 Mar 2022 14:44:22 +0000 (09:44 -0500)]
call encode_array
Alan T. DeKok [Fri, 11 Mar 2022 13:16:39 +0000 (08:16 -0500)]
don't loop over values for VSAs
Alan T. DeKok [Fri, 11 Mar 2022 12:53:57 +0000 (07:53 -0500)]
hack up encode_array() to not cross option boundaries
this really needs to be fixed in the decoder
Alan T. DeKok [Thu, 10 Mar 2022 22:40:27 +0000 (17:40 -0500)]
call extend_option()
which shows that decoding needs to be fixed, too
Alan T. DeKok [Thu, 10 Mar 2022 22:35:06 +0000 (17:35 -0500)]
get network length, which is a bit different...
IPv6 has 16 bytes minimum, 17 max (for scope I guess).
We're not going to copy fr_dhcpv6_option_len() as yet, so we
just hack something for now.
Alan T. DeKok [Thu, 10 Mar 2022 22:22:22 +0000 (17:22 -0500)]
copy encode_array() from dhcpv6
- comment out dns_labels for now
- use vp->vp_length instead of fr_dhcpv6_option_len()
we'll fix that later.
- use 8-bit length for string/octets, instead of 16-bit
It still doesn't split "too long" options but that can come next
Alan T. DeKok [Thu, 10 Mar 2022 22:15:51 +0000 (17:15 -0500)]
loop over input VPs.
we don't call extend_option() yet. Just cleaning up
Alan T. DeKok [Thu, 10 Mar 2022 22:08:40 +0000 (17:08 -0500)]
start of cleanup
the code is better, but the tests don't pass. dhcpv4 requires
multiple of the same pair_t to be encoded in the same option
Nick Porter [Fri, 11 Mar 2022 14:27:30 +0000 (14:27 +0000)]
v4: Two small fixes for LDAP reconnect when bind fails (#4412)
* Don't return members of a freed structure
* Add reconnection_delay to rlm_ldap
So that incorrect bind credentials don't result in a spinning
connection.
Alan T. DeKok [Fri, 11 Mar 2022 14:06:12 +0000 (09:06 -0500)]
allow fixed-size data types to have "array" flag, too