]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
2 years agodepend on libkqueue define, not __linux__.
Alan T. DeKok [Sat, 20 May 2023 22:04:13 +0000 (18:04 -0400)] 
depend on libkqueue define, not __linux__.

As some versions of libkqueue might not have the define

2 years agomake fr_pair_update_by_da_parent() do nested attributes
Alan T. DeKok [Thu, 18 May 2023 21:02:07 +0000 (17:02 -0400)] 
make fr_pair_update_by_da_parent() do nested attributes

which automatically means that modules like mschap will create
attributes with the correct hierarchy.

Note that ALL callers of pair_update_request() and pair_update_reply()
will be affected.  However, most of them create attributes at the
"root", and will not be affected by this change.

2 years agoremove unused argument to fr_pair_update_by_da()
Alan T. DeKok [Thu, 18 May 2023 20:47:57 +0000 (16:47 -0400)] 
remove unused argument to fr_pair_update_by_da()

2 years agorequest / reply are VPs, so just use that
Alan T. DeKok [Thu, 18 May 2023 20:44:08 +0000 (16:44 -0400)] 
request / reply are VPs, so just use that

2 years agowhitespace
Alan T. DeKok [Thu, 18 May 2023 20:43:34 +0000 (16:43 -0400)] 
whitespace

2 years agodon't use fr_pair_update_by_da()
Alan T. DeKok [Thu, 18 May 2023 20:39:32 +0000 (16:39 -0400)] 
don't use fr_pair_update_by_da()

instead just define short macros locally.

Because radclient doesn't put the request / reply pairs into
VPs.

2 years agomove text to top-level README
Alan T. DeKok [Thu, 18 May 2023 14:38:16 +0000 (10:38 -0400)] 
move text to top-level README

2 years agodon't need semi-colons
Alan T. DeKok [Thu, 18 May 2023 13:12:36 +0000 (09:12 -0400)] 
don't need semi-colons

2 years agoRemove sychnronous path from fr_ldap_trunk_search()
Nick Porter [Tue, 9 May 2023 17:04:33 +0000 (18:04 +0100)] 
Remove sychnronous path from fr_ldap_trunk_search()

2 years agoRemove remaining tmpl_t from rlm_ldap_t
Nick Porter [Tue, 9 May 2023 16:56:16 +0000 (17:56 +0100)] 
Remove remaining tmpl_t from rlm_ldap_t

2 years agoRemove synchronous LDAP user find
Nick Porter [Tue, 9 May 2023 16:53:00 +0000 (17:53 +0100)] 
Remove synchronous LDAP user find

2 years agoFix for CID #1529242 and improve comment about query freeing
Nick Porter [Sat, 20 May 2023 19:54:46 +0000 (20:54 +0100)] 
Fix for CID #1529242 and improve comment about query freeing

2 years agoldap: Verify we have an entry before trying to print the DN
Arran Cudbard-Bell [Sat, 20 May 2023 18:46:52 +0000 (14:46 -0400)] 
ldap: Verify we have an entry before trying to print the DN

2 years agoldap: We also need to load the new policy schema
Arran Cudbard-Bell [Sat, 20 May 2023 18:40:22 +0000 (14:40 -0400)] 
ldap: We also need to load the new policy schema

2 years agoldap: s/radiusObjectProfile/freeradiusPolicy/g
Arran Cudbard-Bell [Sat, 20 May 2023 18:23:04 +0000 (14:23 -0400)] 
ldap: s/radiusObjectProfile/freeradiusPolicy/g

2 years agomake ldapadd verbose
Arran Cudbard-Bell [Sat, 20 May 2023 18:11:57 +0000 (14:11 -0400)] 
make ldapadd verbose

2 years agoldap: Fix WS
Arran Cudbard-Bell [Sat, 20 May 2023 17:50:06 +0000 (13:50 -0400)] 
ldap: Fix WS

2 years agoldap: Fix SASLless build
Arran Cudbard-Bell [Sat, 20 May 2023 17:38:07 +0000 (13:38 -0400)] 
ldap: Fix SASLless build

2 years agoldap: Fix LDAP setup secripts to correctly report failures
Arran Cudbard-Bell [Sat, 20 May 2023 17:37:24 +0000 (13:37 -0400)] 
ldap: Fix LDAP setup secripts to correctly report failures

2 years agokqueue: Enable kqueue debugging with debug level, not blindly at the start of every...
Arran Cudbard-Bell [Sat, 20 May 2023 16:00:09 +0000 (12:00 -0400)] 
kqueue: Enable kqueue debugging with debug level, not blindly at the start of every CI run

2 years agoFix references to freeradius-schema
Arran Cudbard-Bell [Sat, 20 May 2023 06:32:23 +0000 (02:32 -0400)] 
Fix references to freeradius-schema

2 years agoNope... that won't work
Arran Cudbard-Bell [Sat, 20 May 2023 06:22:17 +0000 (02:22 -0400)] 
Nope... that won't work

2 years agoCheck if LDAP started
Arran Cudbard-Bell [Sat, 20 May 2023 06:14:41 +0000 (02:14 -0400)] 
Check if LDAP started

2 years agoDon't allow tests to continue if the setup script fails
Arran Cudbard-Bell [Sat, 20 May 2023 06:03:24 +0000 (02:03 -0400)] 
Don't allow tests to continue if the setup script fails

2 years agoldap: Add tacacs client schema
Arran Cudbard-Bell [Sat, 20 May 2023 05:35:21 +0000 (01:35 -0400)] 
ldap: Add tacacs client schema

2 years agoFix tests to use split client definition
Arran Cudbard-Bell [Sat, 20 May 2023 04:15:24 +0000 (00:15 -0400)] 
Fix tests to use split client definition

2 years agoldap: reorganise schemas, and add additional structural objects for policies and...
Arran Cudbard-Bell [Sat, 20 May 2023 01:43:47 +0000 (21:43 -0400)] 
ldap: reorganise schemas, and add additional structural objects for policies and access devices

2 years agoldap: Better to specify a listener ID
Arran Cudbard-Bell [Fri, 19 May 2023 19:15:53 +0000 (15:15 -0400)] 
ldap: Better to specify a listener ID

2 years agoUpdate docs about LDAP group membership checks
Nick Porter [Fri, 19 May 2023 10:02:32 +0000 (11:02 +0100)] 
Update docs about LDAP group membership checks

2 years agoRework LDAP group membership tests to use %{ldap.memberof: }
Nick Porter [Wed, 3 May 2023 07:04:55 +0000 (08:04 +0100)] 
Rework LDAP group membership tests to use %{ldap.memberof: }

2 years agoAdd %{ldap.memberof: } xlat
Nick Porter [Fri, 28 Apr 2023 14:45:54 +0000 (15:45 +0100)] 
Add %{ldap.memberof: } xlat

As a replacement of the previous pair compare method to test user
membership of LDAP groups

2 years agoDefine call env for ldap group membership xlat
Nick Porter [Tue, 9 May 2023 15:59:48 +0000 (16:59 +0100)] 
Define call env for ldap group membership xlat

And reduce boilerplate

2 years agoRemove unused rlm_ldap_group_dn2name
Nick Porter [Fri, 28 Apr 2023 13:54:02 +0000 (14:54 +0100)] 
Remove unused rlm_ldap_group_dn2name

2 years agoRework rlm_ldap_check_userobj_dynamic to be async
Nick Porter [Fri, 28 Apr 2023 13:48:22 +0000 (14:48 +0100)] 
Rework rlm_ldap_check_userobj_dynamic to be async

2 years agoAdd fr_ldap_berval_strncasecmp()
Nick Porter [Fri, 19 May 2023 19:01:29 +0000 (20:01 +0100)] 
Add fr_ldap_berval_strncasecmp()

For case insensitive comparison of a berval and a string.

2 years agoRework rlm_ldap_check_groupobj_dynamic to be async
Nick Porter [Fri, 28 Apr 2023 13:39:31 +0000 (14:39 +0100)] 
Rework rlm_ldap_check_groupobj_dynamic to be async

2 years agoDefine context and call env for LDAP group membership xlat
Nick Porter [Fri, 28 Apr 2023 13:18:34 +0000 (14:18 +0100)] 
Define context and call env for LDAP group membership xlat

2 years agoEnsure LDAP group attribute exists
Nick Porter [Fri, 28 Apr 2023 13:15:59 +0000 (14:15 +0100)] 
Ensure LDAP group attribute exists

2 years agoRework rlm_ldap_check_cached to use a fr_value_box_t
Nick Porter [Fri, 28 Apr 2023 10:48:11 +0000 (11:48 +0100)] 
Rework rlm_ldap_check_cached to use a fr_value_box_t

2 years agoRemove LDAP-Group pair compare function
Nick Porter [Fri, 28 Apr 2023 10:40:10 +0000 (11:40 +0100)] 
Remove LDAP-Group pair compare function

The paircmp framework is not built for async calls.

Will be replaced by a "memberof" xlat which can do async LDAP calls.

2 years agoRegister instance specific module xlats as <instance>.<function>
Nick Porter [Fri, 19 May 2023 16:14:25 +0000 (17:14 +0100)] 
Register instance specific module xlats as <instance>.<function>

2 years agoCorrect registration of rlm_unpack xlat
Nick Porter [Fri, 19 May 2023 16:17:18 +0000 (17:17 +0100)] 
Correct registration of rlm_unpack xlat

2 years agoMove non instance-specific rlm_ldap xlats to mod_load
Nick Porter [Fri, 19 May 2023 15:57:36 +0000 (16:57 +0100)] 
Move non instance-specific rlm_ldap xlats to mod_load

2 years agoCorrect registration of rlm_test xlats
Nick Porter [Fri, 19 May 2023 15:50:07 +0000 (16:50 +0100)] 
Correct registration of rlm_test xlats

2 years agoMove rlm_yubikey xlat registration to mod_load
Nick Porter [Fri, 19 May 2023 15:49:06 +0000 (16:49 +0100)] 
Move rlm_yubikey xlat registration to mod_load

2 years agoMove non instance-specific rlm_json xlats to mod_load
Nick Porter [Fri, 19 May 2023 15:31:51 +0000 (16:31 +0100)] 
Move non instance-specific rlm_json xlats to mod_load

2 years agoMove rlm_dict xlats to mod_load
Nick Porter [Fri, 19 May 2023 15:21:44 +0000 (16:21 +0100)] 
Move rlm_dict xlats to mod_load

2 years agos/radiusClient/freeradiusClient/g
Arran Cudbard-Bell [Fri, 19 May 2023 18:33:48 +0000 (14:33 -0400)] 
s/radiusClient/freeradiusClient/g

2 years agoSpecifically model exfile_{open,close}_lock()
James Jones [Fri, 19 May 2023 18:12:23 +0000 (13:12 -0500)] 
Specifically model exfile_{open,close}_lock()

2 years agoldap-schema: Fix syntax for RADIUS accounting attributes
Arran Cudbard-Bell [Fri, 19 May 2023 16:55:37 +0000 (12:55 -0400)] 
ldap-schema: Fix syntax for RADIUS accounting attributes

2 years agoldap-schema: s/radiusClient/freeradiusClient/
Arran Cudbard-Bell [Fri, 19 May 2023 16:55:09 +0000 (12:55 -0400)] 
ldap-schema: s/radiusClient/freeradiusClient/

Now we support multiple protocols the clients aren't RADIUS specific

2 years agoSplit out locking version of exfile_{open, close}()
James Jones [Thu, 18 May 2023 20:09:38 +0000 (15:09 -0500)] 
Split out locking version of exfile_{open, close}()

We preserve the visible interface, but underneath split out the
locking flavor so we can model it for coverity. (As is, you'd
have to check an incoming parameter, and coverity does not appear
to allow that.)

2 years agoBe consistent in call environment comments
Nick Porter [Fri, 19 May 2023 08:35:11 +0000 (09:35 +0100)] 
Be consistent in call environment comments

2 years agoAllow for unlang_ctx->rules == NULL
Nick Porter [Fri, 19 May 2023 07:53:21 +0000 (08:53 +0100)] 
Allow for unlang_ctx->rules == NULL

2 years agoChange module environment to more generic call environment (#4998)
Nick Porter [Thu, 18 May 2023 16:14:57 +0000 (17:14 +0100)] 
Change module environment to more generic call environment (#4998)

* Move module_env_t to its own header and rename to call_env_t

* Move and rename module_env_parsed_t

* Rename module mod_env_ctx to call_env_ctx

* Move and rename module_method_env_t

* Move and rename module env helper macros

* Move and rename module env parsing functions and make more generic

* Rework expanding of call environments to make it generic

* Add a call_method_env to xlat_t

Along with associated registration function

* Add dictionary to xlat function call for resolving module env

* Parse xlat call env when allocating instance data

* Add env_data to xlat frame state, xlat_ctx_t and supporting macro

* Add expansion of call env to unlang_xlat_repeat

* Rename mod/module _env -> call_env in rlm_ldap

* Rename module / mod _env -> call_env in rlm_smtp

* Rename module_env -> call_env in rlm_files

2 years agomake MS-CHAP use flat or nested attributes.
Alan T. DeKok [Wed, 17 May 2023 12:11:51 +0000 (08:11 -0400)] 
make MS-CHAP use flat or nested attributes.

As a minor optimization, search for responses in the same group
as the challenge.  Having them in another location doesn't make
sense.

We also likely need to update the FreeRADIUS "MS-CHAP-Foo"
attributes which control the behavior of the MS-CHAP module.
Perhaps we could auto-define module-specific attributes?

2 years agominor fixes
Alan T. DeKok [Wed, 17 May 2023 12:11:06 +0000 (08:11 -0400)] 
minor fixes

2 years agoGet rid of #includes (preprocessed or not) in modeling file. (#4997)
James Jones [Tue, 16 May 2023 20:08:07 +0000 (15:08 -0500)] 
Get rid of #includes (preprocessed or not) in modeling file. (#4997)

Sending coverity preprocessed source using FreeRADIUS headers can
* pull in symbols that exist on the system where one preprocesses
  but not in the environment where Coverity runs
* FreeRADIUS's use of macros (notably for sbuffs and dbuffs) can
  produce results that confuse coverity needlessly

Modeling functions just give coverity a better idea of the effects
of the modeled functions, so that coverity only needs minimal knowledge
of those functions and of the types of parameters, so we can get away
minimal or even trivial typedefs.

2 years agoTypo
Nick Porter [Tue, 16 May 2023 07:18:03 +0000 (08:18 +0100)] 
Typo

2 years agodocument the "migrate" section
Alan T. DeKok [Mon, 15 May 2023 19:48:41 +0000 (15:48 -0400)] 
document the "migrate" section

2 years agoremove "parse_new_conditions"
Alan T. DeKok [Mon, 15 May 2023 19:45:31 +0000 (15:45 -0400)] 
remove "parse_new_conditions"

That was only useful while developing the new conditions.  We can
now just switch to them via "use_new_conditions"

2 years agoremove flatten_before_encode flag.
Alan T. DeKok [Mon, 15 May 2023 19:36:25 +0000 (15:36 -0400)] 
remove flatten_before_encode flag.

It is no longer needed, as all protocol encoders handle flat or
nested attributes.

2 years agoImport metrics package from a different repository (#4988)
Mark Donnelly [Mon, 15 May 2023 16:35:41 +0000 (12:35 -0400)] 
Import metrics package from a different repository (#4988)

2 years agoEnable hostname resolution: AWS ElastiCache returns hostnames in MOVED response:...
Max Khon [Mon, 15 May 2023 15:55:24 +0000 (17:55 +0200)] 
Enable hostname resolution: AWS ElastiCache returns hostnames in MOVED response: (#4994)

MOVED 352 dev-citests01-dhcpdb-0001-001.dev-citests01-dhcpdb.oovb0g.usw2.cache.amazonaws.com:6379

2 years agoRemove dead code (#4989)
James Jones [Mon, 15 May 2023 15:47:27 +0000 (10:47 -0500)] 
Remove dead code (#4989)

This particular case happens if fr_pool_connection_get() fails
and is before (inst->driver->sql_fields)() makes fields point at
allocated space, so it needn't goto finish.

2 years agoGet rid of gratuitous assignment of NULL to uri_vb (#4993)
James Jones [Mon, 15 May 2023 15:46:08 +0000 (10:46 -0500)] 
Get rid of gratuitous assignment of NULL to uri_vb (#4993)

The next use is an assignment, so there's no point.

2 years agoBetter debug message for anonymous bind
Nick Porter [Fri, 12 May 2023 16:44:26 +0000 (17:44 +0100)] 
Better debug message for anonymous bind

2 years agoIf either bind_dn is NULL, just compare the pointers
Nick Porter [Fri, 12 May 2023 16:11:33 +0000 (17:11 +0100)] 
If either bind_dn is NULL, just compare the pointers

Anonymous binds don't populate bind_dn, and strcmp on a NULL pointer
will seg fault

2 years agoInclude libfreeradius-control.so (#4991)
Max Khon [Fri, 12 May 2023 01:29:07 +0000 (03:29 +0200)] 
Include libfreeradius-control.so (#4991)

2 years agoUnneeded section
Nick Porter [Tue, 9 May 2023 13:36:22 +0000 (14:36 +0100)] 
Unneeded section

2 years agotypos and word smithing
Alan T. DeKok [Sun, 7 May 2023 15:47:08 +0000 (17:47 +0200)] 
typos and word smithing

2 years agoRework LDAP map code to use async lookup
Nick Porter [Wed, 3 May 2023 10:52:42 +0000 (11:52 +0100)] 
Rework LDAP map code to use async lookup

2 years agoUpdate map_proc_apply to work with async modules
Nick Porter [Wed, 3 May 2023 10:32:17 +0000 (11:32 +0100)] 
Update map_proc_apply to work with async modules

2 years agoSwitch mod_map to return unlang_action_t
Nick Porter [Tue, 2 May 2023 16:56:52 +0000 (17:56 +0100)] 
Switch mod_map to return unlang_action_t

In preparation for async mod_map_proc in relevant modules

2 years agoUse async bind for eDir bind during authorization
Nick Porter [Fri, 21 Apr 2023 12:45:38 +0000 (13:45 +0100)] 
Use async bind for eDir bind during authorization

2 years agoRework LDAP bind auths to use trunk connection
Nick Porter [Tue, 18 Apr 2023 11:16:35 +0000 (12:16 +0100)] 
Rework LDAP bind auths to use trunk connection

2 years agoSet sizes for LDAP bind auth trunk request pool
Nick Porter [Tue, 18 Apr 2023 11:00:57 +0000 (12:00 +0100)] 
Set sizes for LDAP bind auth trunk request pool

2 years agoDefine thread specific trunk to use for LDAP bind auth
Nick Porter [Tue, 11 Apr 2023 14:57:09 +0000 (15:57 +0100)] 
Define thread specific trunk to use for LDAP bind auth

And associated function to allocate / retrieve the trunk

2 years agoClarify LDAP bind related structure member comments
Nick Porter [Tue, 11 Apr 2023 14:40:00 +0000 (15:40 +0100)] 
Clarify LDAP bind related structure member comments

The same structures are used for admin binds and user binds, but some
elements are only used in admin binds.

2 years agoDefine fr_ldap_sasl_bind_auth_send()
Nick Porter [Tue, 11 Apr 2023 14:38:02 +0000 (15:38 +0100)] 
Define fr_ldap_sasl_bind_auth_send()

2 years agoAdd config for trunk to use for bind auths
Nick Porter [Tue, 11 Apr 2023 14:13:56 +0000 (15:13 +0100)] 
Add config for trunk to use for bind auths

2 years agoAllow fr_trunk_request_requeue to work on full connections
Nick Porter [Thu, 13 Apr 2023 15:54:21 +0000 (16:54 +0100)] 
Allow fr_trunk_request_requeue to work on full connections

The request being requeued is part of the list of requests causing the
connection to be marked as full - so it should be allowed to requeue.

2 years agoUse full connection name when referring to trunk connections in logs
Nick Porter [Tue, 11 Apr 2023 14:02:49 +0000 (15:02 +0100)] 
Use full connection name when referring to trunk connections in logs

Otherwise in RDEBUG logging it is not clear which trunk the log relates
to.

2 years agoBetter method to ensure correct lifetime of query context
Nick Porter [Thu, 4 May 2023 12:50:22 +0000 (13:50 +0100)] 
Better method to ensure correct lifetime of query context

Only cancelled trunk requests require the query context to last beyond
the stack frame they were allocated in.

2 years agoCI: shorten runtime of main CI fuzzer
Matthew Newton [Thu, 4 May 2023 12:30:02 +0000 (13:30 +0100)] 
CI: shorten runtime of main CI fuzzer

2 years agoCorrect documentation of fr_ldap_trunk_*
Nick Porter [Wed, 3 May 2023 10:53:41 +0000 (11:53 +0100)] 
Correct documentation of fr_ldap_trunk_*

2 years agoDocs: correct file name
Nick Porter [Wed, 3 May 2023 10:41:46 +0000 (11:41 +0100)] 
Docs: correct file name

2 years agoDoxygen tidying
Nick Porter [Tue, 2 May 2023 17:02:37 +0000 (18:02 +0100)] 
Doxygen tidying

2 years agoAdd a request_cancel callback for LDAP trunk requests
Nick Porter [Tue, 2 May 2023 12:35:49 +0000 (13:35 +0100)] 
Add a request_cancel callback for LDAP trunk requests

To ensure queries are not left in the outstanding query tree

2 years agoCompleting trunk requests frees the query
Nick Porter [Tue, 2 May 2023 11:02:18 +0000 (12:02 +0100)] 
Completing trunk requests frees the query

2 years agoNot all calls to fr_ldap_trunk_search want p_result
Nick Porter [Tue, 2 May 2023 11:01:18 +0000 (12:01 +0100)] 
Not all calls to fr_ldap_trunk_search want p_result

2 years agoAdd a dlist of queries still referencing an LDAP connection
Nick Porter [Tue, 2 May 2023 09:16:28 +0000 (10:16 +0100)] 
Add a dlist of queries still referencing an LDAP connection

Queries need to be removed from the rb tree of outstanding queries once
a reply has been received as the msgid can be reused.

However, the connection needs to persist until all queries referencing
it have been freed to prevent use after free issues.

This list is used to determine if a connection can be freed.

2 years agoDon't clear LDAP controls before using them to unbind.
Nick Porter [Tue, 2 May 2023 07:47:42 +0000 (08:47 +0100)] 
Don't clear LDAP controls before using them to unbind.

2 years agoAdd a talloc reference from trunk request to LDAP query. Fixes #4598
Nick Porter [Mon, 24 Apr 2023 17:38:34 +0000 (18:38 +0100)] 
Add a talloc reference from trunk request to LDAP query. Fixes #4598

Ensures the LDAP query will last until the trunk request is freed.

Specifically, in the case that the packet processing times out and the
trunk request is singlalled to be cancelled, the query needs to live
until the cancel_mux function is called.

2 years agoRemove reference to previous referral before looking for others
Nick Porter [Mon, 24 Apr 2023 17:40:44 +0000 (18:40 +0100)] 
Remove reference to previous referral before looking for others

2 years agoCorrect tidy up of previous trunk request when following another
Nick Porter [Mon, 24 Apr 2023 17:29:35 +0000 (18:29 +0100)] 
Correct tidy up of previous trunk request when following another

2 years agoCorrect docs
Nick Porter [Fri, 28 Apr 2023 10:51:34 +0000 (11:51 +0100)] 
Correct docs

2 years agoTypo
Nick Porter [Thu, 27 Apr 2023 13:23:05 +0000 (14:23 +0100)] 
Typo

2 years agoNo need to set directory->type to 0 - it was allocated with talloc_zero
Nick Porter [Fri, 28 Apr 2023 18:47:57 +0000 (19:47 +0100)] 
No need to set directory->type to 0 - it was allocated with talloc_zero

2 years agoParent the directory discovery query from a trunk request
Nick Porter [Fri, 28 Apr 2023 18:38:18 +0000 (19:38 +0100)] 
Parent the directory discovery query from a trunk request

So that the query is cleared up when the request is completed - there is
no further use for the query after demux processing.