]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
Arran Cudbard-Bell [Mon, 15 Mar 2021 21:48:17 +0000 (21:48 +0000)]
Escape void types too and make code more idiomatic
Arran Cudbard-Bell [Mon, 15 Mar 2021 21:40:11 +0000 (21:40 +0000)]
Logic inversion
Arran Cudbard-Bell [Mon, 15 Mar 2021 21:38:54 +0000 (21:38 +0000)]
Add support for escaping xlat arguments
Arran Cudbard-Bell [Mon, 15 Mar 2021 21:38:03 +0000 (21:38 +0000)]
Various minor style fixes
Arran Cudbard-Bell [Mon, 15 Mar 2021 20:56:00 +0000 (20:56 +0000)]
Various xlat fixes
Arran Cudbard-Bell [Mon, 15 Mar 2021 20:21:28 +0000 (20:21 +0000)]
Check allocation
Arran Cudbard-Bell [Mon, 15 Mar 2021 20:20:58 +0000 (20:20 +0000)]
Better initialisation
Arran Cudbard-Bell [Mon, 15 Mar 2021 20:20:26 +0000 (20:20 +0000)]
Fix merge error
Arran Cudbard-Bell [Mon, 15 Mar 2021 19:29:45 +0000 (19:29 +0000)]
Rename FR_TYPE_INVALID to FR_TYPE_NULL
This way zeroed out boxes represent null values.
Nick Porter [Mon, 15 Mar 2021 19:24:06 +0000 (19:24 +0000)]
v4: Simplified version of xlat_process_args() (#3984)
* Simplified version of xlat_process_args
* Document xlat_process_arg_list
* Handle CI failures
Nick Porter [Mon, 15 Mar 2021 15:27:40 +0000 (15:27 +0000)]
v4: Initial version of xlat arg parser plus first two xlats to use the parser (#3983)
* Add single option to xlat arg definition.
* Add validation to xlat arg registration
* Initial basic xlat argument parser
* Differentiate between multi arg and single arg xlat functions
Multi arg functions should be called using the syntax
%(func:<args>)
Single arg functions should be called using the syntax
%{func:<arg>}
* Define argument for xlat base64
* Define arg for xlat base64decode
Arran Cudbard-Bell [Mon, 15 Mar 2021 13:55:54 +0000 (13:55 +0000)]
Add FR_TYPE_VOID to switch statements in value.c
Arran Cudbard-Bell [Mon, 15 Mar 2021 13:40:38 +0000 (13:40 +0000)]
Move FR_TYPE_VOID into types.h
Nick Porter [Mon, 15 Mar 2021 11:33:48 +0000 (11:33 +0000)]
v4: Initial supporting structures for xlat parameter parsing (#3978)
* Add definition of xlat argument and xlat argument escaping function
* Add enum to mark xlat with the type of input it consumes
* Add input type and args list to xlat_t, plus default input type
* Add xlat_func_args() and xlat_func_mono() to register xlat arg specs
* Minor typo
Co-authored-by: Arran Cudbard-Bell <a.cudbardb@freeradius.org>
Arran Cudbard-Bell [Mon, 15 Mar 2021 11:01:19 +0000 (11:01 +0000)]
Enable sanitizers on GCC
Terry Burton [Mon, 15 Mar 2021 11:10:11 +0000 (11:10 +0000)]
CI package tests: Run bleeding-edge distro builds for RPM and DEB on push (#3982)
GH now lets you build the matrix from job output so we can excute different
plans on push vs on schedule.
This lets us perform package testing on each push without consuming lots of
workers.
Typically all DEB or RPM distros either succeed together or fail together, so
on push we just run a job for each of DEB and RPM using a bleeding-edge distro.
Arran Cudbard-Bell [Mon, 15 Mar 2021 10:11:24 +0000 (10:11 +0000)]
Remove redundant declaration
Arran Cudbard-Bell [Sun, 14 Mar 2021 21:58:38 +0000 (21:58 +0000)]
Move commonly called time functions into time.h
Terry Burton [Sun, 14 Mar 2021 13:09:08 +0000 (13:09 +0000)]
Minor CI improvements (#3980)
* Use pragmas not hacks to disable build warnings for homebrew libs
Current libjson-c no longer triggering errors.
talloc.h errors silenced by
b65415f985bdb4a823afd5d7e1acac4de4314f0b
* CI package tests: Use Azure-hosted mirrors for better reliability
Arran Cudbard-Bell [Fri, 12 Mar 2021 19:37:14 +0000 (19:37 +0000)]
New version of parallel keyword
Removes request signalling inversion
Makes parallel children "first class" citizens
Arran Cudbard-Bell [Fri, 12 Mar 2021 15:10:12 +0000 (15:10 +0000)]
Remove unecessary check
Arran Cudbard-Bell [Fri, 12 Mar 2021 14:57:08 +0000 (14:57 +0000)]
Unused
Arran Cudbard-Bell [Fri, 12 Mar 2021 14:42:34 +0000 (14:42 +0000)]
Change process and signal functions to pass the current frame
For signal functions this is important because all frames are signalled. For process functions it removes significant amounts of boilerplate.
Arran Cudbard-Bell [Wed, 10 Mar 2021 19:13:05 +0000 (19:13 +0000)]
Ignore documentation issues in talloc headers
Arran Cudbard-Bell [Wed, 10 Mar 2021 19:12:52 +0000 (19:12 +0000)]
Don't include talloc.h directly
Arran Cudbard-Bell [Wed, 10 Mar 2021 19:12:03 +0000 (19:12 +0000)]
Typo
Arran Cudbard-Bell [Wed, 10 Mar 2021 19:11:46 +0000 (19:11 +0000)]
Fix pre func arg order
Alan T. DeKok [Thu, 11 Mar 2021 17:36:44 +0000 (12:36 -0500)]
use process module, not dynamic client module
Alan T. DeKok [Thu, 11 Mar 2021 15:43:38 +0000 (10:43 -0500)]
move DHCPv6 to using new process / listen API
Arran Cudbard-Bell [Wed, 10 Mar 2021 03:42:16 +0000 (03:42 +0000)]
Cache the child request name
Arran Cudbard-Bell [Wed, 10 Mar 2021 00:27:00 +0000 (00:27 +0000)]
typo
Arran Cudbard-Bell [Wed, 10 Mar 2021 00:25:46 +0000 (00:25 +0000)]
request not set yet
Arran Cudbard-Bell [Tue, 9 Mar 2021 21:18:55 +0000 (21:18 +0000)]
Improve debug output consistency for parallel
Arran Cudbard-Bell [Tue, 9 Mar 2021 20:32:13 +0000 (20:32 +0000)]
More request context debugging
Arran Cudbard-Bell [Tue, 9 Mar 2021 20:13:56 +0000 (20:13 +0000)]
Fix macro order
Arran Cudbard-Bell [Tue, 9 Mar 2021 20:00:29 +0000 (20:00 +0000)]
Log in the request context if possible
Arran Cudbard-Bell [Tue, 9 Mar 2021 00:24:56 +0000 (00:24 +0000)]
Set udp_result_t treq to NULL when the treq has been released
Arran Cudbard-Bell [Tue, 9 Mar 2021 00:07:42 +0000 (00:07 +0000)]
Add additional sanity checks on freeing udp_result
Arran Cudbard-Bell [Mon, 8 Mar 2021 22:26:13 +0000 (22:26 +0000)]
Add destructor to _udp_result_free so we can easily set break points
Arran Cudbard-Bell [Mon, 8 Mar 2021 21:51:08 +0000 (21:51 +0000)]
Remove duplicate comparison macros
Arran Cudbard-Bell [Mon, 8 Mar 2021 20:45:55 +0000 (20:45 +0000)]
Requests must not be allocated in passed in ctx
Arran Cudbard-Bell [Mon, 8 Mar 2021 20:45:30 +0000 (20:45 +0000)]
Use the comparison macro
Arran Cudbard-Bell [Mon, 8 Mar 2021 19:24:38 +0000 (19:24 +0000)]
Use merge not rebase
Arran Cudbard-Bell [Mon, 8 Mar 2021 16:06:00 +0000 (16:06 +0000)]
Print out configured MRD and MRC
Arran Cudbard-Bell [Mon, 8 Mar 2021 16:05:27 +0000 (16:05 +0000)]
Use a macro for checking heap insertion
Not the first time the wrong assert has been used for this
Alan T. DeKok [Mon, 8 Mar 2021 15:27:31 +0000 (10:27 -0500)]
assert that the various heap IDs are marked as "free"
Arran Cudbard-Bell [Sat, 6 Mar 2021 21:57:27 +0000 (21:57 +0000)]
Lets see if the github actions bot will sign commits
Arran Cudbard-Bell [Sat, 6 Mar 2021 21:43:31 +0000 (21:43 +0000)]
Have strftime extend the output buffer
Arran Cudbard-Bell [Sat, 6 Mar 2021 22:01:16 +0000 (22:01 +0000)]
Ensure all fields in dl_symbol_free_t are initialised
Nick Porter [Fri, 5 Mar 2021 15:03:52 +0000 (15:03 +0000)]
Correct value box foreach to use dlist functions (#3973)
Arran Cudbard-Bell [Thu, 4 Mar 2021 21:09:36 +0000 (21:09 +0000)]
Don't free pairs which were already freed with u->packet
Terry Burton [Thu, 4 Mar 2021 21:12:49 +0000 (21:12 +0000)]
CI packages: Remove scomp bug workaround; fix test.eap dependencies within post-install tests (#3970)
* CI RPMs: Remove workaround for scomp filter bug with faccessat2
No longer required.
* post-install tests: Don't depend on server build artifacts
Within the post-install test mock build environment we are not building the
server, so don't depend on it's build assets.
Arran Cudbard-Bell [Thu, 4 Mar 2021 20:38:03 +0000 (20:38 +0000)]
test (#3971)
* Use rebase instead of merge when attempting to reconcile dev's branch and main repo
* Init the extra vp list
* Attempt to fix push to local repo
Arran Cudbard-Bell [Thu, 4 Mar 2021 17:40:26 +0000 (17:40 +0000)]
Add new models in checkrad script for Juniper MX and Ericsson SSR (#3968)
Cherry pick from #3234
Co-authored-by: Jorge Pereira <jpereiran@gmail.com>
Arran Cudbard-Bell [Thu, 4 Mar 2021 15:17:54 +0000 (15:17 +0000)]
Add name back in?
Arran Cudbard-Bell [Thu, 4 Mar 2021 14:47:58 +0000 (14:47 +0000)]
Everything happens on upstream branch
Arran Cudbard-Bell [Thu, 4 Mar 2021 14:33:10 +0000 (14:33 +0000)]
Don't waste so much of GitHub's CPU time
Arran Cudbard-Bell [Thu, 4 Mar 2021 14:17:27 +0000 (14:17 +0000)]
Remove waffle
Arran Cudbard-Bell [Thu, 4 Mar 2021 14:03:33 +0000 (14:03 +0000)]
WS
Arran Cudbard-Bell [Thu, 4 Mar 2021 14:01:42 +0000 (14:01 +0000)]
Don't attempt to merge the main repo into itself
Arran Cudbard-Bell [Thu, 4 Mar 2021 13:50:57 +0000 (13:50 +0000)]
Update the developer's branch too
Arran Cudbard-Bell [Thu, 4 Mar 2021 13:32:16 +0000 (13:32 +0000)]
Just use a static value to differentiate tests running on different branches
Arran Cudbard-Bell [Thu, 4 Mar 2021 13:24:35 +0000 (13:24 +0000)]
Note additional permissions
Arran Cudbard-Bell [Thu, 4 Mar 2021 13:10:44 +0000 (13:10 +0000)]
Use simpler test names
Arran Cudbard-Bell [Thu, 4 Mar 2021 12:15:30 +0000 (12:15 +0000)]
Add documentation for auto-merge
Terry Burton [Thu, 4 Mar 2021 11:29:23 +0000 (11:29 +0000)]
Auto-merge devs' local dev branches into same upstream branch (#3966)
master and v3.0.x branches only at present with ff-only merges.
James Jones [Thu, 4 Mar 2021 11:21:51 +0000 (05:21 -0600)]
Make fr_dbuff_{ptr, ptr_const, buff, start, current, end} work with casts (#3967)
Not having some of the alternatives of the above-mentioned macros fully
parenthesized leads to the counterintuitive result that, for example,
(char const *) fr_dbuff_current(dbuff_or_marker)
fails to compile. This change corrects that.
Arran Cudbard-Bell [Wed, 3 Mar 2021 21:25:47 +0000 (21:25 +0000)]
Check unlang action not the rcode
Alan T. DeKok [Wed, 3 Mar 2021 20:07:52 +0000 (15:07 -0500)]
remove dependencies on libfoo.a
it doesn't work, and needs to be fixed later
Arran Cudbard-Bell [Wed, 3 Mar 2021 20:05:23 +0000 (20:05 +0000)]
Set return code explicitly on yield
Alan T. DeKok [Wed, 3 Mar 2021 16:57:42 +0000 (11:57 -0500)]
move TACACS+ to new process / listen method
Alan T. DeKok [Wed, 3 Mar 2021 16:43:14 +0000 (11:43 -0500)]
some servers don't have this (yet)
Alan T. DeKok [Wed, 3 Mar 2021 16:29:33 +0000 (11:29 -0500)]
it helps to initialize fields
Alan T. DeKok [Tue, 2 Mar 2021 13:52:27 +0000 (08:52 -0500)]
allow new method in get_process_by_name()
which allows 'call' to work
Alan T. DeKok [Tue, 2 Mar 2021 13:47:11 +0000 (08:47 -0500)]
move dhcpv4 to using new process / listen API
Alan T. DeKok [Tue, 2 Mar 2021 12:53:27 +0000 (07:53 -0500)]
clean up and remove references to old proto_vmps_process
Alan T. DeKok [Tue, 2 Mar 2021 12:28:39 +0000 (07:28 -0500)]
remove old maintainer who is no longer active
Alan T. DeKok [Mon, 1 Mar 2021 23:39:36 +0000 (18:39 -0500)]
track may be NULL
Alan T. DeKok [Mon, 1 Mar 2021 20:42:17 +0000 (15:42 -0500)]
move to new naming scheme
Alan T. DeKok [Wed, 24 Feb 2021 13:33:53 +0000 (08:33 -0500)]
hoist dynamic client processing to virtual servers
so we don't have the same code everywhere else
Arran Cudbard-Bell [Mon, 1 Mar 2021 20:27:50 +0000 (20:27 +0000)]
Typo
Arran Cudbard-Bell [Mon, 1 Mar 2021 20:21:03 +0000 (20:21 +0000)]
Cleanup rbtree functions
Bump return and element count to uint64_t
Arran Cudbard-Bell [Mon, 1 Mar 2021 19:53:09 +0000 (19:53 +0000)]
Switch rbtree_flatten to using iterators
Arran Cudbard-Bell [Mon, 1 Mar 2021 19:25:02 +0000 (19:25 +0000)]
These are really asserts
Arran Cudbard-Bell [Mon, 1 Mar 2021 19:18:13 +0000 (19:18 +0000)]
Yes if len == 0 then SIGN_BIT_HIGH produces an invalid shift, but len is never 0, so...
Nick Porter [Mon, 1 Mar 2021 17:50:44 +0000 (17:50 +0000)]
Alter lists of vp_list_mod_t to be dlists (#3950)
Nick Porter [Mon, 1 Mar 2021 17:15:20 +0000 (17:15 +0000)]
v4: Amend lists of PAIR_LIST to be doubly linked lists (#3954)
* Create new list of PAIR_LIST header and initialisation function
* Amend pairlist_free() to operate on new list header
* Amend PAIR_LIST structure to work with dlist
fr_rb_node_t is now in the header.
* Amend pairlist_read to populate a dlist of PAIR_LIST
* pairlist_cmp() now works on list heads rather than individual entries
* Amend getusersfile() to put dlist headers into the rb tree
* Amend file_common to search the new rb tree of dlist heads
* Update rlm_attr_filter_t to use dlist header
* Update attr_filter_getfile() to operate on dlist of PAIR_LIST
* Update attr_filter_common() to operate on dlist of PAIR_LIST
Nick Porter [Mon, 1 Mar 2021 17:13:41 +0000 (17:13 +0000)]
v4: Convert lists of fr_value_box_t to doubly linked lists (#3964)
* Typo in dlist.h
* Make fr_value_box_list_t a dlist header
* Add initialisation function for list of fr_value_box_t
* Amend other structs containing lists of value boxes to use fr_value_box_list_t
* Replace fr_cursor use with fr_dcursors
* Amend exiting fr_value_box_list helper functions to use dlist properties
* Initialise lists of fr_value_box_t
* Use fr_dlist_empty() to test for empty lists of fr_value_box_t
* Alter fr_value_box_clear_value() to correctly clear child lists.
* Amend fr_vasprintf() to correctly take fr_value_box_list_t for %pM parameter
and differentiate between logging a single fr_value_box_t and a
fr_value_box_list_t.
* Use fr_dlist_talloc_free() to free fr_value_box_list_t
* Use dlist functions to walk fr_value_box_list_t
* Amend unlang_xlat_push() to take fr_value_box_list_t
* Amend definition of xlat_func_t and xlat_funct_resume_t ...
... to take fr_value_box_list_t
* Amend xlat_func_base64_encode() to take fr_value_box_list_t
* Amend xlat_func_base64_decode() to take fr_value_box_list_t
* Amend xlat_func_bin() to take fr_value_box_list_t
* Amend xlat_func_concat() to take fr_value_box_list_t
* Amend xlat_func_hex() to take fr_value_box_list_t
* Amend xlat_hmac() to take fr_value_box_list_t
* Amend xlat_func_hmac_* to use fr_value_box_list_t
* Amend xlat_func_length() to take fr_value_box_list_t
* Amend xlat_func_md4() to take fr_value_box_list_t
* Amend xlat_func_md5() to take fr_value_box_list_t
* Amend xlat_func_pairs() to take fr_value_box_list_t
* Amend xlat_func_rand() to take fr_value_box_list_t
* Amend xlat_func_randstr() to take fr_value_box_list_t
* Amend xlat_func_regex() to take fr_value_box_list_t
* Amend xlat_func_sha1() to take fr_value_box_list_t
* Amend xlat_func_##_md to take fr_value_pair_list_t
* Amend xlat_func_string() to take fr_value_box_list_t
* Amend xlat_func_strlen() to take fr_value_box_list_t
* Amend xlat_func_sub_regex() to take fr_value_box_list_t
* Amend xlat_func_sub() to take fr_value_box_list_t
* Amend case change xlat_funcs to take fr_value_box_list_t
* Amend xlat_func_urlquote() to take fr_value_box_list_t
* Amend xlat_func_urlunquote() to take fr_value_box_list_t
* Amend remaining builtin xlat funcs to take fr_value_box_list_t
* Amend always_xlat() to take fr_value_box_list_t
* Amend xlat_func_chap_password() to take fr_value_box_list_t
* Amend cipher_rsa_encrypt_xlat() to take fr_value_box_list_t
* Amend cipher_rsa_sign_xlat() to take fr_value_box_list_t
* Amend cipher_rsa_decrypt_xlat() to take fr_value_box_list_t
* Amend cipher_rsa_verify_xlat() to take fr_value_box_list_t
* Amend xlat_delay() and xlat_delay_resume() to take fr_value_box_list_t
* Amend dhcp4_decode_xlat and dhcpv4_encode_xlat to take fr_value_box_list_t
* Amend xlat_icmp_resume() and xlat_icmp() to take fr_value_box_list_t
* Amend rest_xlat() and rest_xlat_resume() to take fr_value_box_list_t
* Amend redis_remap_xlat() to take fr_value_box_list_t
* Amend redis_node_xlat() to take fr_value_box_list_t
* Amend json_quote_xlat() to take fr_value_box_list_t
* Amend json_encode_xlat() to take fr_value_box_list_t
* Correctly initialise dlist entry in fr_value_box_copy_meta()
* Amend fr_value_box_list_concat() to take fr_value_box_list_t
* Amend fr_value_box_list_aprint() to take fr_value_box_list_t
* Amend fr_value_box_list_acopy() to take fr_value_box_list_t
* Amend fr_value_box_list_tainted() to take fr_value_box_list_t
* Remove unused function fr_value_box_list_get()
* Amend fr_value_box_list_flatten_argv() to take fr_value_box_list_t
* Amend map_proc() to take fr_value_box_list_t
* Amend definition of map_proc_func_t to take fr_value_box_list_t
* Amend rlm_client map_proc_client() to take fr_value_box_list_t
* Amend rlm_csv mod_map_proc() to take fr_value_box_list_t
* Amend rlm_json mod_map_proc() to take fr_value_box_list_t
* Amend rlm_ldap mod_map_proc() to take fr_value_box_list_t
* Amend map_to_list_mod() to take fr_value_box_list_t
* Maintain list pointers when performing cast in place on fr_value_box_t
* Amend unlang_module_yield_to_*() to take fr_value_box_list_t
* Amend rlm_sql mod_map_proc() to take fr_value_box_list_t
* Initialise list entry pointers correctly
* Amend fr_jpath_evaluate_leaf to take fr_value_box_list_t
* Amend unlang_tmpl_push() to take fr_value_box_list_t
* Amend unlang_tmpl_resume() to add fr_value_box_t to new list header
* Amend unlang_tmpl_exec_wait_final() to populate box and add to list header
* Alter fr_exec_nowait() to take fr_value_box_list_t
* Amend fr_exec_wait_start() to take fr_value_box_list_t
* Amend unit_test_module mod_map_proc() to take fr_value_box_list_t
* Handle fr_value_box_list_t in list_mod_create(), map_proc_apply() ...
... and unlang_map_state_init()
* Amend xlat_frame_eval_resume() to take fr_value_box_list_t
* Amend xlat_frame_eval_repeat() to handle fr_value_box_list_t
* Amend xlat_sync_eval() to hand fr_value_box_list_t
* Amend _json_map_proc_get_value() to take handle fr_value_box_list_t
* Pass parent to fr_value_box_cast_to_strvalue() to extract children as string
* Amend mod_exec_nowait_resume(), mod_exec_wait_resume() and mod_exec_dispatch()
... to handle fr_value_box_list_t
* Comment out code which allows for a fr_value_box_t in a fr_tmpl_t ...
... to be the head of a singly linked list.
Now that lists of fr_value_box_t are doubly linked lists, this will
no-longer work.
Code left in place commented out as a reminder as to where this
behaviour was used.
Arran Cudbard-Bell [Mon, 1 Mar 2021 15:21:56 +0000 (15:21 +0000)]
Quiet GCC
Arran Cudbard-Bell [Mon, 1 Mar 2021 14:34:42 +0000 (14:34 +0000)]
Change scope of filename_tree to shutup clang analyzer Closes #3962
Arran Cudbard-Bell [Mon, 1 Mar 2021 14:34:24 +0000 (14:34 +0000)]
Use appropriate exit functions
Arran Cudbard-Bell [Mon, 1 Mar 2021 14:34:06 +0000 (14:34 +0000)]
Use correct _Noreturn specifier
Nick Porter [Mon, 1 Mar 2021 14:09:28 +0000 (14:09 +0000)]
Extend timeout for exim delivery - allowing for slow ci hosts (#3963)
Nick Porter [Mon, 1 Mar 2021 14:06:55 +0000 (14:06 +0000)]
Typo in dlist.h (#3961)
Arran Cudbard-Bell [Sat, 27 Feb 2021 01:04:30 +0000 (01:04 +0000)]
Lock critical trees in developer builds to expose iterator conflicts
Arran Cudbard-Bell [Sat, 27 Feb 2021 01:03:32 +0000 (01:03 +0000)]
Expose module prefix table
James Jones [Thu, 25 Feb 2021 22:29:23 +0000 (16:29 -0600)]
Accumulate the encoding byte in a variable and write it once (#3953)
This lets us stick with the dbuff API
Arran Cudbard-Bell [Thu, 25 Feb 2021 22:27:54 +0000 (22:27 +0000)]
Formatting fixes
Arran Cudbard-Bell [Thu, 25 Feb 2021 22:23:45 +0000 (22:23 +0000)]
rbtree pointer should never be NULL
James Jones [Thu, 25 Feb 2021 22:05:27 +0000 (16:05 -0600)]
Make rbtree_walk() users use iterators instead. (#3959)
That makes rbtree_walk() unused, so it goes away, too.
In turn, since rbtree_walk() is the only caller of the
walk_*_order() functions, they go away as well, and it
means the various "compare" functions (that do what's
usually called "visiting" nodes in the context of tree
traversal) will typically be inlined into the one place
they're used, in the iterator loop, and control flow
that's implied by what the "compare" functions return
can just be explicitly done in said loop.