]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
20 months agore-enable nested (sort of)
Alan T. DeKok [Wed, 20 Dec 2023 15:41:40 +0000 (10:41 -0500)] 
re-enable nested (sort of)

for now, only create an empty structural attribute.  Don't parse
the RHS as a list of pairs.  Don't allow relative names like
".foo"

20 months agoupdate depdendicies so rlm_sql is rebuilt before running sql tests
Alan T. DeKok [Wed, 20 Dec 2023 15:34:18 +0000 (10:34 -0500)] 
update depdendicies so rlm_sql is rebuilt before running sql tests

20 months agorename for clarity
Alan T. DeKok [Wed, 20 Dec 2023 15:12:30 +0000 (10:12 -0500)] 
rename for clarity

20 months agoupdate to use maps instead of vps
Alan T. DeKok [Wed, 20 Dec 2023 15:05:35 +0000 (10:05 -0500)] 
update to use maps instead of vps

call map_afrom_fields() for the various SQL fields.

call radius_legacy_map_cmp() and radius_legacy_map_apply() to
do the actual work.

It does not currently handle nested attributes, so the nested
tests have been omitted.  It also needs some minor cleanups

20 months agoadd map_afrom_fields() which will be used by SQL
Alan T. DeKok [Wed, 20 Dec 2023 15:04:51 +0000 (10:04 -0500)] 
add map_afrom_fields() which will be used by SQL

20 months agoif we can't find the vp, add it when requested
Alan T. DeKok [Wed, 20 Dec 2023 14:12:12 +0000 (09:12 -0500)] 
if we can't find the vp, add it when requested

20 months agoleave fewer unresolved tmpls at runtime
Alan T. DeKok [Wed, 20 Dec 2023 14:10:25 +0000 (09:10 -0500)] 
leave fewer unresolved tmpls at runtime

If it's runtime, then we know an enum name can't possibly match
at some point in the future.  We we just parse it now as the
expected data type.

20 months agore-add !* and =* for backwards compatibility
Alan T. DeKok [Tue, 19 Dec 2023 19:47:04 +0000 (14:47 -0500)] 
re-add !* and =* for backwards compatibility

20 months agouse consistent filenames
Alan T. DeKok [Tue, 19 Dec 2023 15:04:24 +0000 (10:04 -0500)] 
use consistent filenames

20 months agoauto-link files in doc/antora
Alan T. DeKok [Tue, 19 Dec 2023 14:05:16 +0000 (09:05 -0500)] 
auto-link files in doc/antora

so that the input file can give the full filename, but the asciidoc
files contain a proper antora xref link

20 months agoupdate and clarify the documentation
Alan T. DeKok [Tue, 19 Dec 2023 13:30:12 +0000 (08:30 -0500)] 
update and clarify the documentation

20 months agoconfigure: Fix type of argument to backtrace_symbols
Florian Weimer [Tue, 19 Dec 2023 06:56:42 +0000 (07:56 +0100)] 
configure: Fix type of argument to backtrace_symbols

The backtrace_symbols function expects a pointer to an array of
void * values, not a pointer to an array of a single element.
Removing the address operator ensures that the right type is used.

This avoids an unconditional failure of this probe with compilers
that treat incompatible pointer types as a compilation error.

20 months agoRemove man page from RHEL packaging
Nick Porter [Tue, 19 Dec 2023 08:02:14 +0000 (08:02 +0000)] 
Remove man page from RHEL packaging

20 months agoadd new-style documentation, and remove the old docs
Alan T. DeKok [Tue, 19 Dec 2023 01:43:36 +0000 (20:43 -0500)] 
add new-style documentation, and remove the old docs

20 months agoadd notes on automatic casting
Alan T. DeKok [Tue, 19 Dec 2023 01:14:10 +0000 (20:14 -0500)] 
add notes on automatic casting

20 months ago<cast> is not supported
Alan T. DeKok [Mon, 18 Dec 2023 23:57:31 +0000 (18:57 -0500)] 
<cast> is not supported

20 months agoadd more data types to htrie hint
Alan T. DeKok [Mon, 18 Dec 2023 23:14:45 +0000 (18:14 -0500)] 
add more data types to htrie hint

20 months agomove regex comparisons to calc.c code
Alan T. DeKok [Mon, 18 Dec 2023 22:28:33 +0000 (17:28 -0500)] 
move regex comparisons to calc.c code

20 months agodon't use stack-local buffer
Alan T. DeKok [Mon, 18 Dec 2023 21:11:10 +0000 (16:11 -0500)] 
don't use stack-local buffer

20 months agoAvoid spurious debug output
Nick Porter [Mon, 18 Dec 2023 15:33:44 +0000 (15:33 +0000)] 
Avoid spurious debug output

20 months agouse cast instead of copy
Alan T. DeKok [Mon, 18 Dec 2023 14:19:09 +0000 (09:19 -0500)] 
use cast instead of copy

which allows us to copy differing src/dst types

20 months agohoist legacy map comparison code to pairmove.c
Alan T. DeKok [Mon, 18 Dec 2023 13:48:44 +0000 (08:48 -0500)] 
hoist legacy map comparison code to pairmove.c

and add support for more functionality:

* we call calc cmp functions, not value cmp functions, so that
  comparisons of different types can be automatically upcast

* xlats are now supported again

* inter-attribute comparisons are now supported

20 months ago%<alnum> is the start of a function - so use %% for literal %
Nick Porter [Mon, 18 Dec 2023 12:13:32 +0000 (12:13 +0000)] 
%<alnum> is the start of a function - so use %% for literal %

20 months agoxlat args are static
Nick Porter [Mon, 18 Dec 2023 11:22:40 +0000 (11:22 +0000)] 
xlat args are static

20 months agoComplete 3gpp_pseudonym -> 3gpp_temporary_id
Nick Porter [Mon, 18 Dec 2023 11:20:24 +0000 (11:20 +0000)] 
Complete 3gpp_pseudonym -> 3gpp_temporary_id

20 months agoXlats can begin with digits (e.g. %3gpp_...)
Nick Porter [Mon, 18 Dec 2023 11:01:04 +0000 (11:01 +0000)] 
Xlats can begin with digits (e.g. %3gpp_...)

20 months agoAdd fr_sbuff_is_alnum
Nick Porter [Mon, 18 Dec 2023 10:57:46 +0000 (10:57 +0000)] 
Add fr_sbuff_is_alnum

20 months ago-Wunused
Alan T. DeKok [Mon, 18 Dec 2023 01:06:30 +0000 (20:06 -0500)] 
-Wunused

20 months agotypo
Alan T. DeKok [Mon, 18 Dec 2023 00:52:25 +0000 (19:52 -0500)] 
typo

20 months agoadd expansion of RHS for reply items
Alan T. DeKok [Mon, 18 Dec 2023 00:38:18 +0000 (19:38 -0500)] 
add expansion of RHS for reply items

20 months agoAdd more functionality.
Alan T. DeKok [Mon, 18 Dec 2023 00:09:32 +0000 (19:09 -0500)] 
Add more functionality.

Allow inter-attribute comparisons in the "users" file.

Allow list references in the reply list.

20 months agoverify that the RHS is static data
Alan T. DeKok [Sun, 17 Dec 2023 23:52:10 +0000 (18:52 -0500)] 
verify that the RHS is static data

20 months agomake sure to handle nested, too
Alan T. DeKok [Sun, 17 Dec 2023 23:14:41 +0000 (18:14 -0500)] 
make sure to handle nested, too

and add tests so that everything is parented correctly

20 months agofix ordering issues by reordering the editing list
Alan T. DeKok [Sun, 17 Dec 2023 23:06:47 +0000 (18:06 -0500)] 
fix ordering issues by reordering the editing list

The old radius_pairmove() function went through a lot of work to
avoid deleting attributes it just added.  For example, if it had
"add" followed by "delete", it wouldn't delete the attribute which
it had just added.

That functionality in rlm_files broke when the subnet functionality
was added, as the call to radius_pairmove() was placed inside
of the loop over maps, instead of after it.

Instead of going through all kinds of crazy work again at run time,
we instead just reorder the list when sanitizing it.

Deletions are placed first.  Then set (which is partially delete)
and then any other add operations.

That way we know that we are never deleting an attribute which we
just added.

20 months agostart of new pairmove API
Alan T. DeKok [Sun, 17 Dec 2023 22:38:02 +0000 (17:38 -0500)] 
start of new pairmove API

which will (eventually) take LHS / op / RHS, so that it can be
called from SQL with fields.

Update rlm_files to call the new API, so that it no longer creates
an intermediate VP, and just passes the map to the new API.

Update rlm_files to move the "update control" attributes to the
reply list.  The new API will look at the tmpl to find the correct
request and list context.

20 months agothe operator !* is not allowed as a reply item
Alan T. DeKok [Sun, 17 Dec 2023 19:00:40 +0000 (14:00 -0500)] 
the operator !* is not allowed as a reply item

the code silently ignored it, but the documentation said that
it's not allowed.

20 months agoOnly create map when update section exists
Nick Porter [Fri, 15 Dec 2023 21:11:54 +0000 (21:11 +0000)] 
Only create map when update section exists

20 months agoAllocate enough space for trailing NULL
Nick Porter [Fri, 15 Dec 2023 20:49:10 +0000 (20:49 +0000)] 
Allocate enough space for trailing NULL

20 months agoSimplify policy since failed edits will fail the section
Nick Porter [Fri, 15 Dec 2023 20:48:22 +0000 (20:48 +0000)] 
Simplify policy since failed edits will fail the section

20 months agocall_env->user_map is always populated
Nick Porter [Fri, 15 Dec 2023 16:56:13 +0000 (16:56 +0000)] 
call_env->user_map is always populated

20 months agoAlways expand LDAP update maps
Nick Porter [Fri, 15 Dec 2023 16:54:52 +0000 (16:54 +0000)] 
Always expand LDAP update maps

Ensuring that the `expanded` structure is correctly populated.

20 months agoUse CALL_ENV_FLAG_PARSE_MISSING for LDAP update sections
Nick Porter [Fri, 15 Dec 2023 16:51:34 +0000 (16:51 +0000)] 
Use CALL_ENV_FLAG_PARSE_MISSING for LDAP update sections

To ensure map_pair_list_t is always created

20 months agoAdd CALL_ENV_FLAG_PARSE_MISSING
Nick Porter [Fri, 15 Dec 2023 16:50:30 +0000 (16:50 +0000)] 
Add CALL_ENV_FLAG_PARSE_MISSING

For the case where the parser should still run for missing sections - to
run the parsing callback function.

20 months agoupdate docs
Alan T. DeKok [Fri, 15 Dec 2023 14:18:36 +0000 (09:18 -0500)] 
update docs

20 months agoallow "catch" to have multiple rcodes
Alan T. DeKok [Fri, 15 Dec 2023 02:20:24 +0000 (21:20 -0500)] 
allow "catch" to have multiple rcodes

20 months agoadd compilation for try / catch
Alan T. DeKok [Thu, 14 Dec 2023 21:43:59 +0000 (16:43 -0500)] 
add compilation for try / catch

along with docs and test cases

20 months agoimplement try / catch
Alan T. DeKok [Thu, 14 Dec 2023 18:01:57 +0000 (13:01 -0500)] 
implement try / catch

there's no compilation, but the intended functionality is present.

20 months agofinalize docs a bit
Alan T. DeKok [Thu, 14 Dec 2023 16:27:21 +0000 (11:27 -0500)] 
finalize docs a bit

20 months agoremove unnecessary fall-through
Alan T. DeKok [Thu, 14 Dec 2023 15:08:42 +0000 (10:08 -0500)] 
remove unnecessary fall-through

20 months agodon't reset module on resume.
Alan T. DeKok [Thu, 14 Dec 2023 15:07:42 +0000 (10:07 -0500)] 
don't reset module on resume.

it breaks the debug output

20 months agouncomment checks
Alan T. DeKok [Thu, 14 Dec 2023 14:11:01 +0000 (09:11 -0500)] 
uncomment checks

20 months agomake edits return fail when aborting the edit changes
Alan T. DeKok [Thu, 14 Dec 2023 13:53:08 +0000 (08:53 -0500)] 
make edits return fail when aborting the edit changes

make transactions default to "fail=1", which is much more useful
than bailing (for now).

remove auto-grouping of edits in a "group", and require the use
of "transaction"

Clean up the tests so that they pass under the new framework

update documentation to match

20 months agoset default action return codes to "fail=1"
Alan T. DeKok [Thu, 14 Dec 2023 02:02:53 +0000 (21:02 -0500)] 
set default action return codes to "fail=1"

because otherwise most tests will have to manually set an "actions"
block

20 months agocall cf_canonicalize_error() for consistency
Alan T. DeKok [Thu, 14 Dec 2023 00:42:37 +0000 (19:42 -0500)] 
call cf_canonicalize_error() for consistency

20 months agoadd cf_ wrapper for fr_canonicalize_error()
Alan T. DeKok [Thu, 14 Dec 2023 00:01:33 +0000 (19:01 -0500)] 
add cf_ wrapper for fr_canonicalize_error()

20 months agoadd the "transaction" keyword.
Alan T. DeKok [Wed, 13 Dec 2023 21:54:58 +0000 (16:54 -0500)] 
add the "transaction" keyword.

For now, the compile hack "all_edits" remains.  It should be
removed once the tests have been updated to use transactions

20 months agodocument priorities
Alan T. DeKok [Wed, 13 Dec 2023 15:20:12 +0000 (10:20 -0500)] 
document priorities

20 months agoallow for nested edit lists
Alan T. DeKok [Tue, 12 Dec 2023 21:15:56 +0000 (16:15 -0500)] 
allow for nested edit lists

20 months agosplit out string functions into their own files
Alan T. DeKok [Tue, 12 Dec 2023 13:34:58 +0000 (08:34 -0500)] 
split out string functions into their own files

20 months agoclarify example
Alan T. DeKok [Tue, 12 Dec 2023 15:39:28 +0000 (10:39 -0500)] 
clarify example

20 months agonotes for the future for string casting
Alan T. DeKok [Tue, 12 Dec 2023 13:34:35 +0000 (08:34 -0500)] 
notes for the future for string casting

20 months agoAllow encoding name_only attributes if the data is going to be consumed internally
Arran Cudbard-Bell [Wed, 13 Dec 2023 20:13:50 +0000 (14:13 -0600)] 
Allow encoding name_only attributes if the data is going to be consumed internally

20 months agoAlign function prototypes with the functions
Nick Porter [Wed, 13 Dec 2023 08:04:42 +0000 (08:04 +0000)] 
Align function prototypes with the functions

20 months agofunctions are single-thing expansions, too
Alan T. DeKok [Tue, 12 Dec 2023 12:18:58 +0000 (07:18 -0500)] 
functions are single-thing expansions, too

20 months agoCheck return (CID #1559169)
Nick Porter [Mon, 11 Dec 2023 20:20:41 +0000 (20:20 +0000)] 
Check return (CID #1559169)

20 months agoadd test for acct_unique policy
Alan T. DeKok [Mon, 11 Dec 2023 19:41:37 +0000 (14:41 -0500)] 
add test for acct_unique policy

and re-add commas in between fields.  Which makes it harder for
malicious actors to mangle multiple fields together.

The real solution is to make md5() take varargs, and then do the MD5
separately for each argument.  And to pass the values as raw
value-boxes, instead of as printable strings

20 months agoremove last vestige of %string(...)
Alan T. DeKok [Mon, 11 Dec 2023 19:58:13 +0000 (14:58 -0500)] 
remove last vestige of %string(...)

and correct the filter_password policy so that it works

20 months agodeprecate %string(...).
Alan T. DeKok [Mon, 11 Dec 2023 19:25:58 +0000 (14:25 -0500)] 
deprecate %string(...).

We should instead use %{(string) (...)}

20 months agoadd more upcast corner cases
Alan T. DeKok [Sun, 10 Dec 2023 13:23:02 +0000 (08:23 -0500)] 
add more upcast corner cases

20 months agoCorrect accouning unique id policy
Nick Porter [Mon, 11 Dec 2023 18:32:18 +0000 (18:32 +0000)] 
Correct accouning unique id policy

20 months agoFail sample load Cookie if no cookie retrieved
Nick Porter [Mon, 11 Dec 2023 17:30:47 +0000 (17:30 +0000)] 
Fail sample load Cookie if no cookie retrieved

20 months agoUpdate sample virtual server to reflect new load Cookie behaviour
Nick Porter [Mon, 11 Dec 2023 12:12:16 +0000 (12:12 +0000)] 
Update sample virtual server to reflect new load Cookie behaviour

20 months agoAdd a timed event to retry "load Cookie" on failure
Nick Porter [Mon, 11 Dec 2023 12:03:17 +0000 (12:03 +0000)] 
Add a timed event to retry "load Cookie" on failure

20 months agoIf "load Cookie" returns a failure code change reply packet type
Nick Porter [Mon, 11 Dec 2023 11:53:48 +0000 (11:53 +0000)] 
If "load Cookie" returns a failure code change reply packet type

20 months agoMove sending of fake "load Cookie" packets to a function
Nick Porter [Mon, 11 Dec 2023 10:03:49 +0000 (10:03 +0000)] 
Move sending of fake "load Cookie" packets to a function

So it can be used by a timer event if the initial load fails

20 months agoTypos
Nick Porter [Mon, 11 Dec 2023 09:50:24 +0000 (09:50 +0000)] 
Typos

20 months agoRevert "Tighten scope on addr"
Alan T. DeKok [Fri, 8 Dec 2023 19:17:42 +0000 (14:17 -0500)] 
Revert "Tighten scope on addr"

This reverts commit 3523ad74f62e23b7254a464c2e026d86a610acfe.

just leave it hoisted to the top of the function, where it causes
the least amount of problems.

20 months agoadd operations and upcast on combo-ips and prefixes
Alan T. DeKok [Fri, 8 Dec 2023 19:01:16 +0000 (14:01 -0500)] 
add operations and upcast on combo-ips and prefixes

20 months agoallow combo-ip/prefix to be input types
Alan T. DeKok [Fri, 8 Dec 2023 16:07:10 +0000 (11:07 -0500)] 
allow combo-ip/prefix to be input types

20 months agoAvoid misleading errors in tmpl tokenizing
Nick Porter [Fri, 8 Dec 2023 15:00:44 +0000 (15:00 +0000)] 
Avoid misleading errors in tmpl tokenizing

When resolving an internal attriubute, often a lookup will first have
been done in a protocol dictionary, which results in an error being
recorded.
However, if the attribute was subsequently found in the internal
dictionary, that error is meaningless - but will still be printed if
something else causes errors to print.

20 months agoInternal attributes can be inside group attributes
Nick Porter [Fri, 8 Dec 2023 14:57:33 +0000 (14:57 +0000)] 
Internal attributes can be inside group attributes

20 months agoEnsure pairs sent to internal encoder are nested correctly
Nick Porter [Fri, 8 Dec 2023 14:21:05 +0000 (14:21 +0000)] 
Ensure pairs sent to internal encoder are nested correctly

20 months agoIf we've got a cookie, send it back
Nick Porter [Fri, 8 Dec 2023 14:02:40 +0000 (14:02 +0000)] 
If we've got a cookie, send it back

Relying on the rcode does not match any other encoders.  If we need to
make the cookie return optional, it should be based on
request->reply->code

20 months agoclean up and normalize error messages
Alan T. DeKok [Fri, 8 Dec 2023 13:32:44 +0000 (08:32 -0500)] 
clean up and normalize error messages

20 months agomacro is unused
Alan T. DeKok [Fri, 8 Dec 2023 13:12:09 +0000 (08:12 -0500)] 
macro is unused

20 months agounused is used
Alan T. DeKok [Fri, 8 Dec 2023 13:11:26 +0000 (08:11 -0500)] 
unused is used

20 months agoremove unused variable
Alan T. DeKok [Fri, 8 Dec 2023 13:05:38 +0000 (08:05 -0500)] 
remove unused variable

20 months agoclean up error handling in exec oneshot
Alan T. DeKok [Fri, 8 Dec 2023 12:57:06 +0000 (07:57 -0500)] 
clean up error handling in exec oneshot

so that the it saves an fr_strerror(), and all callers use
RPEDEBUG() to describe the error.  This gives a consistent
behavior

20 months agoWS
Arran Cudbard-Bell [Thu, 7 Dec 2023 19:40:22 +0000 (13:40 -0600)] 
WS

20 months agoTighten scope on addr
Arran Cudbard-Bell [Thu, 7 Dec 2023 19:39:41 +0000 (13:39 -0600)] 
Tighten scope on addr

20 months agohoist declaration to quiet analyzer
Alan T. DeKok [Thu, 7 Dec 2023 19:22:26 +0000 (14:22 -0500)] 
hoist declaration to quiet analyzer

20 months agoFix support for outer, and fix support for caller and subrequests in conditions
Arran Cudbard-Bell [Thu, 7 Dec 2023 18:40:32 +0000 (12:40 -0600)] 
Fix support for outer, and fix support for caller and subrequests in conditions

20 months agoadd tests for combo-ip comparisons
Alan T. DeKok [Thu, 7 Dec 2023 17:32:59 +0000 (12:32 -0500)] 
add tests for combo-ip comparisons

20 months agoadd combo-ip and combo-prefix to upcast_cmp
Alan T. DeKok [Thu, 7 Dec 2023 17:26:24 +0000 (12:26 -0500)] 
add combo-ip and combo-prefix to upcast_cmp

20 months agoupdate fr_value_box_cmp_op() to handle combo-ip and combo-prefix
Alan T. DeKok [Thu, 7 Dec 2023 17:25:38 +0000 (12:25 -0500)] 
update fr_value_box_cmp_op() to handle combo-ip and combo-prefix

20 months agoparse combo-ip and combo-ip
Alan T. DeKok [Thu, 7 Dec 2023 17:25:01 +0000 (12:25 -0500)] 
parse combo-ip and combo-ip

20 months agoAdd timer slop to redis tests for macOS
Arran Cudbard-Bell [Thu, 7 Dec 2023 15:12:17 +0000 (09:12 -0600)] 
Add timer slop to redis tests for macOS

20 months agoIt's fine/useful to be able to cast to combo ip addr/prefix attributes and back again
Arran Cudbard-Bell [Thu, 7 Dec 2023 15:11:17 +0000 (09:11 -0600)] 
It's fine/useful to be able to cast to combo ip addr/prefix attributes and back again

We usually don't care what address family an IP is unless we're putting it on the wire.

20 months agocall_env needs to manipulate rules too
Arran Cudbard-Bell [Thu, 7 Dec 2023 14:59:42 +0000 (08:59 -0600)] 
call_env needs to manipulate rules too

20 months agoParse requested addr as an IP address
Arran Cudbard-Bell [Thu, 7 Dec 2023 04:08:19 +0000 (22:08 -0600)] 
Parse requested addr as an IP address