]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
Arran Cudbard-Bell [Tue, 30 Aug 2022 22:29:50 +0000 (17:29 -0500)]
Update example site with correct location of session-id for eap_aka_sim
github-actions[bot] [Sat, 3 Sep 2022 09:58:29 +0000 (09:58 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar
github-actions[bot] [Sat, 3 Sep 2022 09:58:24 +0000 (09:58 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar
github-actions[bot] [Sat, 3 Sep 2022 09:58:22 +0000 (09:58 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar
github-actions[bot] [Sat, 3 Sep 2022 09:58:18 +0000 (09:58 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar
github-actions[bot] [Sat, 3 Sep 2022 09:58:16 +0000 (09:58 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar
github-actions[bot] [Sat, 3 Sep 2022 09:58:13 +0000 (09:58 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar
github-actions[bot] [Sat, 3 Sep 2022 09:58:10 +0000 (09:58 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar
github-actions[bot] [Sat, 3 Sep 2022 09:58:06 +0000 (09:58 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar
James Jones [Thu, 1 Sep 2022 20:24:56 +0000 (15:24 -0500)]
Annotate false positive tainted_data (CID #
1451665 ) (#4709)
This one is interesting. fr_radius_packet_log_hex(), called
if NDEBUG is defined and the debug level is high enough, in
turn calls fr_nbo_to_uint16() and fr_box_octets(). The results
are used in log messages, Typically when bytes are swapped, the
entity to which the result is stored is considered tainted, but
here coverity thinks the data being read is tainted. That
propagates back to place where the defect is claimed.
Jorge Pereira [Thu, 1 Sep 2022 20:21:46 +0000 (17:21 -0300)]
More convert from 'update {....}' to 'edit' against src/tests/keywords (#4710)
James Jones [Thu, 1 Sep 2022 16:29:43 +0000 (11:29 -0500)]
Annotate false positive tainted_data (CID #
1503921 ) (#4711)
By construction, 0 <= offset <= 0x3fff, so it is in range as
a subscript for fr_dns_marker.
Alan T. DeKok [Wed, 31 Aug 2022 13:06:30 +0000 (09:06 -0400)]
typo
Nick Porter [Tue, 30 Aug 2022 15:48:32 +0000 (16:48 +0100)]
Better way to check test server is defined
Alan T. DeKok [Tue, 30 Aug 2022 20:44:18 +0000 (16:44 -0400)]
only create VPs for := and =
Alan T. DeKok [Tue, 30 Aug 2022 20:37:02 +0000 (16:37 -0400)]
reference the correct tmpl
Alan T. DeKok [Tue, 30 Aug 2022 19:59:17 +0000 (15:59 -0400)]
more "convert to update"
Alan T. DeKok [Tue, 30 Aug 2022 19:42:47 +0000 (15:42 -0400)]
list may be empty
Alan T. DeKok [Tue, 30 Aug 2022 19:26:53 +0000 (15:26 -0400)]
convert whitespace to tabs
Alan T. DeKok [Tue, 30 Aug 2022 19:24:12 +0000 (15:24 -0400)]
add help target
Alan T. DeKok [Tue, 30 Aug 2022 19:20:11 +0000 (15:20 -0400)]
more "convert to update"
Alan T. DeKok [Tue, 30 Aug 2022 19:03:22 +0000 (15:03 -0400)]
test index assignments
Alan T. DeKok [Tue, 30 Aug 2022 17:54:57 +0000 (13:54 -0400)]
[1] is not the same as NUM_UNSPEC
Alan T. DeKok [Tue, 30 Aug 2022 16:47:19 +0000 (12:47 -0400)]
forbid [*] and [#] on the LHS of edit assignments
and update the scripts in all.mk to handle [*] in output
Alan T. DeKok [Tue, 30 Aug 2022 14:04:51 +0000 (10:04 -0400)]
add CONF_ITEM* to unlang_t
so that we can track where each instruction was created from.
and instructions generated from CONF_PAIRs can also get queried
for their filename and line number.
Alan T. DeKok [Tue, 30 Aug 2022 13:44:27 +0000 (09:44 -0400)]
ensure that the group always has a CONF_SECTION pointer
James Jones [Tue, 30 Aug 2022 14:08:08 +0000 (09:08 -0500)]
Initialize rather than memcpy() (CID #
1508486 ) (#4707)
Nick Porter [Fri, 19 Aug 2022 16:07:20 +0000 (17:07 +0100)]
Add Active Direcotory test server variable
Nick Porter [Fri, 19 Aug 2022 16:02:44 +0000 (17:02 +0100)]
Define tests for Active Directory LDAP server
Nick Porter [Fri, 19 Aug 2022 16:01:46 +0000 (17:01 +0100)]
Run tests on Active Directory LDAP server
Nick Porter [Fri, 19 Aug 2022 15:54:47 +0000 (16:54 +0100)]
Add config for testing Active Directory LDAP server
Nick Porter [Fri, 19 Aug 2022 15:41:37 +0000 (16:41 +0100)]
Add samba to test build
James Jones [Mon, 29 Aug 2022 19:39:07 +0000 (14:39 -0500)]
Deal with (possibly false positive) untrusted values. (CIDs below) (#4701)
1445221 : length is checked for consistency with packet length;
annotated.
1448175 : pulled the checksum validation into the block declaring
udp_len, to make it clear that it *is* range checked.
Annotated anyway, because coverity hasn't noticed other
such clear range checks.
1448175 : len is range checked just before the call to memcpy(),
which is what coverity says should be done. Annotated.
1503937 : the check of p effectively sanity checks count; annotated.
1503954 : before the fr_pair_tlvs_from_network() call, option_len
is indeed checked; annotated.
1503968 : length is checked; perhaps coverity doesn't recognize
that (option + 4 + length) > end is equivalent to
length > end - (option + 4). Annotated.
Co-authored-by: Alan DeKok <aland@freeradius.org>
James Jones [Mon, 29 Aug 2022 17:37:27 +0000 (12:37 -0500)]
Correct print_hex_data() parameters in fr_vmps_print_hex() (#4700)
For the loop printing the trailing portions of the packet to be
correct, length must include the four-byte id and two-byte length
as well as the following data. id and length are explicitly printed,
so print_hex_data() would presumably show what follows, but that
would start at attr + 6 and only be length - 6 bytes.
Nick Porter [Mon, 13 Jun 2022 09:02:38 +0000 (10:02 +0100)]
Add test server variable for persistent search tests
Nick Porter [Thu, 21 Apr 2022 15:29:26 +0000 (16:29 +0100)]
Define tests for persistent search LDAP server
Nick Porter [Thu, 21 Apr 2022 15:28:50 +0000 (16:28 +0100)]
Run tests for persistent search LDAP server
Nick Porter [Thu, 21 Apr 2022 15:27:47 +0000 (16:27 +0100)]
Add config for testing persistent search LDAP server
Nick Porter [Thu, 21 Apr 2022 15:15:04 +0000 (16:15 +0100)]
Add 389 Directory Server to test build
Nick Porter [Wed, 20 Apr 2022 18:36:21 +0000 (19:36 +0100)]
Add ldap_sync tests to test target
Nick Porter [Wed, 20 Apr 2022 18:27:20 +0000 (19:27 +0100)]
Add test server variables for RFC4533 ldap sync tests
Nick Porter [Wed, 13 Apr 2022 09:30:27 +0000 (10:30 +0100)]
Define tests for RFC4533 LDAP server
Nick Porter [Wed, 13 Apr 2022 09:29:57 +0000 (10:29 +0100)]
Run tests on RFC4533 LDAP server
Nick Porter [Wed, 13 Apr 2022 09:25:40 +0000 (10:25 +0100)]
Add config for testing RFC4533 LDAP server
Nick Porter [Wed, 13 Apr 2022 09:25:02 +0000 (10:25 +0100)]
Define test.ldap_sync to run tests for all types of directory
Nick Porter [Thu, 21 Apr 2022 08:20:38 +0000 (09:20 +0100)]
Add syncprov overlay to test LDAP database
Nick Porter [Thu, 21 Apr 2022 08:20:13 +0000 (09:20 +0100)]
Re-order LDAP permissions
Nick Porter [Thu, 21 Apr 2022 08:19:38 +0000 (09:19 +0100)]
Remove un-needed database from test LDAP server
Nick Porter [Mon, 29 Aug 2022 07:16:05 +0000 (08:16 +0100)]
Check return of ber_scanf() CID #
1512416
Alan T. DeKok [Sun, 28 Aug 2022 21:35:18 +0000 (17:35 -0400)]
parital revert (again) because of ubsan issues
Alan T. DeKok [Sun, 28 Aug 2022 14:01:47 +0000 (10:01 -0400)]
add ungroup and use it
because %{request[*]} returns a group, as it really means
"all request attributes". We really want to have %{request.[*]},
but that is not yet supported
Alan T. DeKok [Sat, 27 Aug 2022 12:57:20 +0000 (08:57 -0400)]
change docs to deprecate "update"
Alan T. DeKok [Sat, 27 Aug 2022 12:52:18 +0000 (08:52 -0400)]
make prepend work, and update doecs and tests to match
Alan T. DeKok [Fri, 26 Aug 2022 13:56:12 +0000 (09:56 -0400)]
more "convert update"
Alan T. DeKok [Thu, 25 Aug 2022 21:23:34 +0000 (17:23 -0400)]
raw now works
Alan T. DeKok [Thu, 25 Aug 2022 20:39:57 +0000 (16:39 -0400)]
multi-line "if" works by magic
tho you can't (yet) put comments on a multiline "if" statement
Alan T. DeKok [Thu, 25 Aug 2022 14:30:04 +0000 (10:30 -0400)]
move peephole optimization to xlat_purify_op()
Nick Porter [Fri, 26 Aug 2022 17:40:35 +0000 (18:40 +0100)]
v4: Implement LDAP persistent search handling (#4455)
* Remove LDAP-Sync dictonary attrbutes not required
* Add ldap to list of protocols for auto-generated headers
* Add definition of internal packet types for LDAP sync messages
* Define process module for LDAP sync
* Define core structures for LDAP sync protocol
* Define parent listener for proto_ldap_sync
* Include proto_ldap_sync in build
* Add Directory-Root-DN to dictionary
* Enumerate dictionary values for LDAP Scope
* Define fr_app_io_t proto_ldap_sync_ldap and associated structures
* Allow socket listeners to have either an open or close callback
LDAP sync requires a very specific way to start up which results in the
socket listener not having an open callback.
* Define child fr_app_io_t for proto_ldap_sync
* Add functions to allocate and compare sync_state_t
* Add functions to send LDAP sync internal packets
* Define ldap_sync_conf_attr_add for building the list of attrs
* Define LDAP sync callbacks for RFC 4533 servers
* Define LDAP sync callbacks for Active Directory
* Parse LDAP filters for Active Directory
to compensate for Active Directory's limitation when performing
persistent searches.
* Evaluate LDAP filters against packets received from Active Directory
* Define LDAP sync callbacks for directories implementing persistent search
* Add proto_ldap_sync_ldap to build
* Remove old proto_ldap_sync module and fix sync_touch.mk
* Update sample ldap_sync site
Nick Porter [Fri, 26 Aug 2022 12:51:35 +0000 (13:51 +0100)]
Quiet clang scan
Nick Porter [Fri, 26 Aug 2022 08:10:23 +0000 (09:10 +0100)]
Define pair_append_by_tmpl_parent() - simple vp allocation from a tmpl_t
James Jones [Thu, 25 Aug 2022 20:46:22 +0000 (15:46 -0500)]
Convert one last memset to fr_value_box_copy_unsafe() (CID #
1508480 ) (#4694)
James Jones [Thu, 25 Aug 2022 20:46:03 +0000 (15:46 -0500)]
Annotate memmcpy() used to copy fr_pair_t (CID #
1508479 ) (#4695)
James Jones [Thu, 25 Aug 2022 20:45:51 +0000 (15:45 -0500)]
Annotate false positive tainted_argument (CID #
1419883 ) (#4696)
Coverity doesn't see that buffer[0] is checked twice, so
it can never be an invalid subscript for fr_packet_codes[].
James Jones [Thu, 25 Aug 2022 20:45:33 +0000 (15:45 -0500)]
Take out nonnull hint on _fr_dbuff_init() for coverity (CIDs below) (#4697)
Coverity assumes that the nonnull means we'll dereference the end
pointer... so leave it out when coverity runs.
CIDs:
1503895 ,
1503905 ,
1503907 ,
1503914 ,
1503915 ,
1503924
1503956 ,
1503970 ,
1503973 ,
1503979 ,
1503980 ,
1503988
1504000 ,
1504034 ,
1504035 ,
1504039 ,
1504040 ,
1504059
Nick Porter [Thu, 25 Aug 2022 14:59:24 +0000 (15:59 +0100)]
Shorten the name of the protocol encapsulation attribute
Nick Porter [Thu, 25 Aug 2022 15:01:49 +0000 (16:01 +0100)]
Make fr_internal_decode_list_dbuff simply decode as is
Any manipulation of the retrieved attributes should be done by the
caller
Nick Porter [Thu, 25 Aug 2022 15:01:03 +0000 (16:01 +0100)]
Make fr_internal_encode_list simply encode what is presented
Any wrapping of other protocols in the protocol encapsulation attribute
should be done by the caller
Nick Porter [Thu, 25 Aug 2022 14:58:06 +0000 (15:58 +0100)]
On RHEL >= 8 MySQL client libraries are in mysql-libs
Nick Porter [Wed, 24 Aug 2022 11:47:12 +0000 (12:47 +0100)]
fr_dlist_talloc_free_item returns previous item in list
So retain functionality for typed versions of the function.
Nick Porter [Thu, 25 Aug 2022 15:33:14 +0000 (16:33 +0100)]
Quiet clang scan
Alan T. DeKok [Thu, 25 Aug 2022 02:18:19 +0000 (22:18 -0400)]
cleanups for clang scan
which notices that the regex_rhs() function returns an error,
but for some reason assumes that it returns a positive number on
error.
Alan T. DeKok [Thu, 25 Aug 2022 00:27:38 +0000 (20:27 -0400)]
update message so that xlat-subst passes
and we get the real error from the underlying function, and
not the error from something else.
Alan T. DeKok [Wed, 24 Aug 2022 16:02:48 +0000 (12:02 -0400)]
remove filter { ... }
Which was added earlier in v4 development. No one uses it,
and we need to get rid of old-style update sections as soon as
possible.
Alan T. DeKok [Wed, 24 Aug 2022 15:57:54 +0000 (11:57 -0400)]
point to certificate documentation, too
Alan T. DeKok [Wed, 24 Aug 2022 15:50:48 +0000 (11:50 -0400)]
notes on where the new documentation is located
Alan T. DeKok [Wed, 24 Aug 2022 15:39:28 +0000 (11:39 -0400)]
regenerate from source raddb files
Alan T. DeKok [Wed, 24 Aug 2022 15:13:50 +0000 (11:13 -0400)]
peephole optimization for conditions
Alan T. DeKok [Tue, 23 Aug 2022 21:25:42 +0000 (17:25 -0400)]
peephole optimization for logical &&, ||
Alan T. DeKok [Tue, 23 Aug 2022 19:33:20 +0000 (15:33 -0400)]
simplifications
James Jones [Wed, 24 Aug 2022 22:02:12 +0000 (17:02 -0500)]
Annotate remaining false positives in sbuff_tests.c (CIDs below) (#4693)
CIDs: #
1503906 , #
1503912 , #
1504003 , #
1504019
coverity doesn't recognize that fr_sbuff_out_bstrncpy_exact() and
fr_sbuff_out_unescape_until() will always put something in the
output sbuffs, if only a NUL terminator.
James Jones [Wed, 24 Aug 2022 22:01:59 +0000 (17:01 -0500)]
Annotate false positive uninit (CID #
1504020 ) (#4692)
coverity doesn't realize that at this point ether is necessarily
initialized, with all the fr_base16_decode()s successful.
James Jones [Wed, 24 Aug 2022 22:01:46 +0000 (17:01 -0500)]
Silence coverity about fr_value_box_t assignment (CIDs below) (#4685)
CIDs: #
1508477 , #
1508480 , #
1508482 , #
1508484 , #
1508486
1508482 just uses an initializer. For the rest, we create an
always-inlined function, fr_value_box_copy_unsafe(), to simply
copy the raw bytes from one value box to another. Since it's
a function, not a macro, the annotation should work. Since what
fr_value_box_init() was doing didn't work, it too uses the
function (and we had to move the box-to-box copy declarations
and definitions so it would be visible in fr_value_box_init()).
James Jones [Wed, 24 Aug 2022 18:30:13 +0000 (13:30 -0500)]
Make use of the fr_nbo_to*() functions where possible (#4691)
It appears to appease coverity complaints about tainted data.
Jorge Pereira [Tue, 23 Aug 2022 17:40:36 +0000 (14:40 -0300)]
More "update {....}" to edit against raddb/sites-available/* (#4684)
Jorge Pereira [Tue, 23 Aug 2022 17:30:32 +0000 (14:30 -0300)]
doc: Fix typo (#4683)
James Jones [Tue, 23 Aug 2022 15:25:15 +0000 (10:25 -0500)]
Annotate tainted data (CID #
1455247 ) (#4686)
data, not *data, controls the loop in fr_radius_decode(). The packet
length is checked against byte-swapped data from the packet, but
discrepancies are errors, so it's not set to a tainted value.
James Jones [Tue, 23 Aug 2022 15:24:35 +0000 (10:24 -0500)]
Remove needless if (#4687)
There's no unused result--the comparison just checks slen, which is
used in the code startng with done:, which is always gone to.
Alan T. DeKok [Tue, 23 Aug 2022 13:59:09 +0000 (09:59 -0400)]
add support for mod (%)
Alan T. DeKok [Tue, 23 Aug 2022 13:25:58 +0000 (09:25 -0400)]
we now support native expressions in conditions
Alan T. DeKok [Tue, 23 Aug 2022 13:19:39 +0000 (09:19 -0400)]
we don't need an empty dependency
James Jones [Tue, 23 Aug 2022 14:48:42 +0000 (09:48 -0500)]
Correct vendor calculation typo (#4688)
Alan T. DeKok [Mon, 22 Aug 2022 22:09:55 +0000 (18:09 -0400)]
manually do the loops
because the previous code resulted in `EXPAND -> NULL`, and this
method doesn't
Alan T. DeKok [Mon, 22 Aug 2022 21:59:06 +0000 (17:59 -0400)]
print the tainted flag, and do better indentation
Alan T. DeKok [Mon, 22 Aug 2022 21:11:17 +0000 (17:11 -0400)]
let's be a little more forgiving about parsing conditions
Alan T. DeKok [Sun, 21 Aug 2022 14:03:51 +0000 (10:03 -0400)]
convert xlat-string to the new method
Previously "cast to string" was "print to string" for everything
except octets. For octets, it was "cast". That inconsistency
causes issues.
Now, "cast to string" is "print to string" for everything.
If the user wants to *convert* data to a string, the %{string:...}
function can be used.
Alan T. DeKok [Mon, 22 Aug 2022 14:54:56 +0000 (10:54 -0400)]
docs on ci-debug
Alan T. DeKok [Mon, 22 Aug 2022 14:11:01 +0000 (10:11 -0400)]
have ubsan print stack traces
Alan T. DeKok [Sat, 20 Aug 2022 13:06:33 +0000 (09:06 -0400)]
temporary migration tools
where we can enable / disable flatten / nested pairs at run time.
Arran Cudbard-Bell [Tue, 23 Aug 2022 00:20:47 +0000 (19:20 -0500)]
Tainted needs to be initialised
Nick Porter [Mon, 22 Aug 2022 14:25:02 +0000 (15:25 +0100)]
Correct test for building 2 leaf vps