]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
4 months agolook for and compile a per-server "timeout" section
Alan T. DeKok [Fri, 18 Apr 2025 17:51:55 +0000 (13:51 -0400)] 
look for and compile a per-server "timeout" section

4 months agodon't insert static clients into the dynamic client list
Alan T. DeKok [Fri, 18 Apr 2025 18:37:20 +0000 (14:37 -0400)] 
don't insert static clients into the dynamic client list

4 months agodistinguish frame_signal and interpret_signal
Alan T. DeKok [Fri, 18 Apr 2025 17:23:51 +0000 (13:23 -0400)] 
distinguish frame_signal and interpret_signal

when we hit a timeout, we signal the frames to cancel.  If pushing
the timer section onto the stack fails, we signal the entire
request to cancel.

4 months agoPrint errors when we fail copy log messages to the aggregation buffer
Arran Cudbard-Bell [Fri, 18 Apr 2025 17:02:03 +0000 (12:02 -0500)] 
Print errors when we fail copy log messages to the aggregation buffer

4 months agoadd unlang_timeout_section_push()
Alan T. DeKok [Fri, 18 Apr 2025 15:41:55 +0000 (11:41 -0400)] 
add unlang_timeout_section_push()

not overly tested, but the actual timeout handler only has minor
changes from the existing one.

4 months agohoist tmpls
Alan T. DeKok [Fri, 18 Apr 2025 12:40:11 +0000 (08:40 -0400)] 
hoist tmpls

if a tmpl is asked to parse %{...}. then the result is TMPL_TYPE_XLAT.

However, if the contents of that xlat are identically a tmpl, e.g.
User-Name, then there is no reason to keep the xlat.  Instead, we
hoist the tmpl we really want, and discard the intermediate xlat

this simplifies the internal data structures, and allows for
additional optimizations.  It also means that we do less work
at run-time in order to expand the tmpl.

4 months agoprint out that it's a tmpl
Alan T. DeKok [Fri, 18 Apr 2025 12:39:32 +0000 (08:39 -0400)] 
print out that it's a tmpl

4 months agoremove backticks from tests
Alan T. DeKok [Thu, 17 Apr 2025 19:53:41 +0000 (15:53 -0400)] 
remove backticks from tests

And clean up corresponding use of exec module.  We hoist it to
unit_test_module.conf, and then replace any module-specific
configuration with a module-specific instant of exec

4 months agoUse a function actually in libmruby to check for the library
Nick Porter [Fri, 18 Apr 2025 09:10:41 +0000 (10:10 +0100)] 
Use a function actually in libmruby to check for the library

4 months agoMore fixes for OpenSSL's questionable design decisions
Arran Cudbard-Bell [Fri, 18 Apr 2025 00:57:34 +0000 (19:57 -0500)] 
More fixes for OpenSSL's questionable design decisions

Always drain the thread local error stack before calling SSL_read() and SSL_write() to prevent stale errors from masking SSL_ERROR_WANT_* return codes from SSL_get_error().

4 months agoAdd "ping" xlat for winbind, so we can run periodic checks against AD
Arran Cudbard-Bell [Wed, 16 Apr 2025 19:51:35 +0000 (14:51 -0500)] 
Add "ping" xlat for winbind, so we can run periodic checks against AD

4 months agoCache more things, and only unprotect the protected page
Arran Cudbard-Bell [Wed, 16 Apr 2025 18:23:41 +0000 (13:23 -0500)] 
Cache more things, and only unprotect the protected page

4 months agoFix timer use in rlm_sql_oracle
Arran Cudbard-Bell [Wed, 16 Apr 2025 17:03:09 +0000 (12:03 -0500)] 
Fix timer use in rlm_sql_oracle

4 months agoSetup custom fibre allocators for OpenSSL with a guard page
Arran Cudbard-Bell [Wed, 16 Apr 2025 17:00:09 +0000 (12:00 -0500)] 
Setup custom fibre allocators for OpenSSL with a guard page

4 months agoadd "exceed_mtu" configuration flag for UDP sockets.
Alan T. DeKok [Wed, 16 Apr 2025 15:58:19 +0000 (11:58 -0400)] 
add "exceed_mtu" configuration flag for UDP sockets.

which defaults to "yes".

When set to "yes", clears the "don't fragment" bit in the IP
packet header.

When set to "no", it uses the OS definition for the DF bit.
Note that we do NOT set the DF bit.  OSX supports IP_DONTFRAG
only for raw sockets.  Linux always sets the DF flag for UDP
sockets.

No matter what this flag is set to, there are some situations
where UDP packets will silently disappear in the network.
When DF is set, "too large" packets might get an ICMP error
to the OS, which the server will currently ignore.
When DF is clear, "too large" packets might be silently discarded
by some other network element.

We can later add code to do actual PMTU discovery

4 months agomove files to a better location
Alan T. DeKok [Wed, 16 Apr 2025 15:37:11 +0000 (11:37 -0400)] 
move files to a better location

4 months agodocs: Add v4 proxy information back into Antora from freeradius.org wiki
nolade [Tue, 15 Apr 2025 15:42:10 +0000 (11:42 -0400)] 
docs: Add v4 proxy information back into Antora from freeradius.org wiki

4 months agoupdate handling of PMTU and EMSGSIZE
Alan T. DeKok [Wed, 16 Apr 2025 15:27:29 +0000 (11:27 -0400)] 
update handling of PMTU and EMSGSIZE

We disable PMTU discovery for the client code too, and not just
for the server code.

Add notes explaining what else needs to be done in order to fully
support PTMUD

update the write code to handle EMSGSIZE.  This should arguably
be done only for connected UDP sockets.

4 months agouse correct RFC
Alan T. DeKok [Wed, 16 Apr 2025 11:31:12 +0000 (07:31 -0400)] 
use correct RFC

4 months agorearrange code to be simpler
Alan T. DeKok [Wed, 16 Apr 2025 11:12:34 +0000 (07:12 -0400)] 
rearrange code to be simpler

4 months agoremove variable for xlat_func_bare_words
Alan T. DeKok [Wed, 16 Apr 2025 10:37:55 +0000 (06:37 -0400)] 
remove variable for xlat_func_bare_words

4 months agoremove transitional settings for xlat_func_bare_words
Alan T. DeKok [Wed, 16 Apr 2025 10:32:48 +0000 (06:32 -0400)] 
remove transitional settings for xlat_func_bare_words

4 months agominor cleanups to remove xlat_func_bare_words
Alan T. DeKok [Wed, 16 Apr 2025 10:31:23 +0000 (06:31 -0400)] 
minor cleanups to remove xlat_func_bare_words

and add name to node which previously didn't have it.  That
changed the test output (for the better), so we update it, too

4 months agoremove -S xlat_func_bare_words=no from tests
Alan T. DeKok [Wed, 16 Apr 2025 01:28:28 +0000 (21:28 -0400)] 
remove -S xlat_func_bare_words=no from tests

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar
github-actions[bot] [Wed, 16 Apr 2025 09:34:55 +0000 (09:34 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar
github-actions[bot] [Wed, 16 Apr 2025 09:34:52 +0000 (09:34 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar

4 months agouse the new xlat argument parser
Alan T. DeKok [Tue, 15 Apr 2025 13:30:23 +0000 (09:30 -0400)] 
use the new xlat argument parser

4 months agohandle non-string arguments to Perl xlat function
Alan T. DeKok [Tue, 15 Apr 2025 19:33:42 +0000 (15:33 -0400)] 
handle non-string arguments to Perl xlat function

by the simple expedient of mangling them to a string

4 months agoquote strings in module tests
Alan T. DeKok [Tue, 15 Apr 2025 15:36:52 +0000 (11:36 -0400)] 
quote strings in module tests

4 months agoset is_argv if the function will do it's own escaping
Alan T. DeKok [Tue, 15 Apr 2025 13:10:00 +0000 (09:10 -0400)] 
set is_argv if the function will do it's own escaping

and update rlm_rest with the will_escape flag

4 months agoadd "will_escape" for xlat args, and have LDAP use it
Alan T. DeKok [Tue, 15 Apr 2025 10:33:19 +0000 (06:33 -0400)] 
add "will_escape" for xlat args, and have LDAP use it

rlm_ldap does it's own escaping, which is unusual

4 months agoquote bare words in redis ippool tool tests
Alan T. DeKok [Mon, 14 Apr 2025 15:27:38 +0000 (11:27 -0400)] 
quote bare words in redis ippool tool tests

4 months agodoc: import customer doc EAP Certs - updated links to relevant sections (HIVE 3404)
nolade [Fri, 11 Apr 2025 19:56:29 +0000 (15:56 -0400)] 
doc: import customer doc EAP Certs - updated links to relevant sections (HIVE 3404)

4 months agoalloc call.args
Alan T. DeKok [Mon, 14 Apr 2025 13:21:28 +0000 (09:21 -0400)] 
alloc call.args

4 months agoadd nonnull
Alan T. DeKok [Mon, 14 Apr 2025 12:55:08 +0000 (08:55 -0400)] 
add nonnull

to hopefully get more information about UBSAN issues in CI OSX

4 months agoallow dict to be NULL when setting the function
Alan T. DeKok [Mon, 14 Apr 2025 11:23:30 +0000 (07:23 -0400)] 
allow dict to be NULL when setting the function

if so, also set needs_resolving.

Because an xlat can be parsed from a module configuration, where
the dictionary is unknown.  Until such time as all of the modules
are converted to use call_env, this is likely the best approach.

4 months agomark safe_for recursively
Alan T. DeKok [Mon, 14 Apr 2025 10:57:51 +0000 (06:57 -0400)] 
mark safe_for recursively

now that we have strings as groups

4 months agomove xalt func code into common routines
Alan T. DeKok [Mon, 14 Apr 2025 01:01:26 +0000 (21:01 -0400)] 
move xalt func code into common routines

for less code duplication, along with other cleanups

4 months agoturn checks into explict comparisons
Alan T. DeKok [Sun, 13 Apr 2025 21:52:45 +0000 (17:52 -0400)] 
turn checks into explict comparisons

otherwise in some uses, the checks won't match.

4 months agoremove TMPL_TYPE_NULL
Alan T. DeKok [Sun, 13 Apr 2025 15:27:24 +0000 (11:27 -0400)] 
remove TMPL_TYPE_NULL

it was only used for =* and !*. Those have been updated to use
ANY on the RHS

4 months agoclean up attr_filter and map_to_vp()
Alan T. DeKok [Sun, 13 Apr 2025 15:17:03 +0000 (11:17 -0400)] 
clean up attr_filter and map_to_vp()

only attr_filter passes comparison operators to map_to_vp()
we should arguably forbid comparison operators, as allowing them
could break other modules.

Also disallow comparison operators in map_to_request, as nothing
uses them.

4 months agomore cleanups for map_exec_to_vp
Alan T. DeKok [Sun, 13 Apr 2025 14:58:17 +0000 (10:58 -0400)] 
more cleanups for map_exec_to_vp

remove unused variable.  Note that it does NOT parse RHS strings
as pairs, for assignment to a LHS list.

4 months agono need to switch over LHS type when we know what it is
Alan T. DeKok [Sun, 13 Apr 2025 13:53:39 +0000 (09:53 -0400)] 
no need to switch over LHS type when we know what it is

4 months agoallow for suppression of structural attributes, too
Alan T. DeKok [Sun, 13 Apr 2025 11:16:24 +0000 (07:16 -0400)] 
allow for suppression of structural attributes, too

and remove "compat" flag.  If the admin wants to suppress printing
of the Packet-Type attribute, they can list it in the suppress
block.

4 months agoremove attr_protocol and attr_user_password
Alan T. DeKok [Sun, 13 Apr 2025 11:08:57 +0000 (07:08 -0400)] 
remove attr_protocol and attr_user_password

attr_protocol is now unused, and attr_user_password will be
replaced with better choices

4 months agomove request->dict to proto_dict and local_dict
Alan T. DeKok [Sat, 12 Apr 2025 18:44:00 +0000 (14:44 -0400)] 
move request->dict to proto_dict and local_dict

in order to split uses of base protocol dictionary, and
dictionary with local variables.

The protocol dictionary is used for encoding / decoding,
including xlats, and attributes read from external modules such as SQL or LDAP.

The local dictionary is used for local variables

it is saved, updated, and restored every time the interpreter
defines a local attribute

update request_init() to set dict to internal if it isn't passed
in.

update nearly all references to run-time parsing from request->dict
to request->local_dict.  Only the protocol encoders are left
unchanged.

this means that maps, %debug() etc. can now reference local
attributes, which they couldn't before.

update %eval() to use the local dict, too.

update fr_listen_t to have a dict, so the worker thread can use it.

and don't set request->dict in the listen decode any more.

4 months agoremove references to request->dict
Alan T. DeKok [Sun, 13 Apr 2025 09:58:37 +0000 (05:58 -0400)] 
remove references to request->dict

we can't change protocols when reading a request off of disk

4 months agoremove unused assignment
Alan T. DeKok [Sat, 12 Apr 2025 20:39:34 +0000 (16:39 -0400)] 
remove unused assignment

4 months agothere's no need for INPUT_ARGS
Alan T. DeKok [Sat, 12 Apr 2025 17:30:31 +0000 (13:30 -0400)] 
there's no need for INPUT_ARGS

there's now only one type of function, as opposed to the
transitional MONO and INPUT_ARGS.  So we remove the redundant
field and update the associated checks

4 months agoEnsure the GIL is locked before calling Py_XDECREF
Nick Porter [Sat, 12 Apr 2025 18:26:03 +0000 (19:26 +0100)] 
Ensure the GIL is locked before calling Py_XDECREF

4 months agoRevert "We never manually incref on the module"
Nick Porter [Sat, 12 Apr 2025 18:10:51 +0000 (19:10 +0100)] 
Revert "We never manually incref on the module"

This reverts commit 798de18ec34c1ea49f2d5d6041f779c4760d41bd.

Actually we do need to do this

4 months agoquiet static analyis
Alan T. DeKok [Sat, 12 Apr 2025 15:32:26 +0000 (11:32 -0400)] 
quiet static analyis

4 months agosimplify setting of xlat flags
Alan T. DeKok [Sat, 12 Apr 2025 13:25:45 +0000 (09:25 -0400)] 
simplify setting of xlat flags

move more to common functions to avoid ad-hoc setting

4 months agomove common code to tokenize word
Alan T. DeKok [Sat, 12 Apr 2025 12:56:35 +0000 (08:56 -0400)] 
move common code to tokenize word

4 months agoprint out more flags
Alan T. DeKok [Sat, 12 Apr 2025 12:39:15 +0000 (08:39 -0400)] 
print out more flags

4 months agomove tokenize regex
Alan T. DeKok [Sat, 12 Apr 2025 12:09:57 +0000 (08:09 -0400)] 
move tokenize regex

from expr to tokenize_word, in preparation for moving more over

4 months agodocs: added eap certificates to Introduction >> Best Practices >> EAP Certificates...
nolade [Wed, 9 Apr 2025 16:10:05 +0000 (12:10 -0400)] 
docs: added eap certificates to Introduction >> Best Practices >> EAP Certificates (customer doc import from salt)

4 months agocorrect error offsets for test.xlat
Alan T. DeKok [Fri, 11 Apr 2025 18:00:56 +0000 (14:00 -0400)] 
correct error offsets for test.xlat

4 months agobetter errors
Alan T. DeKok [Fri, 11 Apr 2025 17:50:27 +0000 (13:50 -0400)] 
better errors

print which brace is missing ')' or '}'

double-check and fix error locations

4 months agoUpdate xlat expression parser to avoid a bounce through tmpls
Alan T. DeKok [Fri, 11 Apr 2025 12:03:21 +0000 (08:03 -0400)] 
Update xlat expression parser to avoid a bounce through tmpls

the expression parser now calls the xlat_tokenize_word().  That
function returns xlat groups for strings, and not tmpls.

Update the %cast() function to always create its arguments as groups.
This helps when "foo%{User-Name}" is now parsed as an xlat group,
and not as an xlat which is pointing to a tmpl

xlat_process_arg_list() now calls a separate function to escape
and stringify its output

Add "is_argv" flag to xlat_exp_head_t.  This tells the xlat eval
code to NOT concatenate strings, as the function argument parser
will do that, with escaping.

various cleanups in xlat_tokenize_word()

Hoist constant strings after calling xlat_tokenize_input().  This
code should arguably be moved to xlat_tokenize_input().

xlat_argv tests now also print strings with the enclosing quotes.

4 months agoWe never manually incref on the module
Nick Porter [Fri, 11 Apr 2025 16:32:54 +0000 (17:32 +0100)] 
We never manually incref on the module

It's reference count is increased on creation and decreased as the
interpreter is freed - thus freeing the module.

4 months agoWe never incref on the pythonconf_dict
Nick Porter [Fri, 11 Apr 2025 16:28:51 +0000 (17:28 +0100)] 
We never incref on the pythonconf_dict

The reference count is increased when the dictionary is added to the
module, and automatically removed when the module is freed as the
interpreter is freed.

4 months agoWith m_size = -1, freeradius module doesn't clear up correctly
Nick Porter [Fri, 11 Apr 2025 16:14:34 +0000 (17:14 +0100)] 
With m_size = -1, freeradius module doesn't clear up correctly

Each module instance is getting it's own copy of the module, whereas
m_size = -1 implies it is global and causes a crash on exit when there
are multiple interpreters.

4 months agoAdd libpython global option to enable verbose logs
Nick Porter [Fri, 11 Apr 2025 16:09:01 +0000 (17:09 +0100)] 
Add libpython global option to enable verbose logs

For deep debugging of Python behaviour

4 months agoensure that the XLAT_BOX flags are always initialized
Alan T. DeKok [Fri, 11 Apr 2025 11:07:28 +0000 (07:07 -0400)] 
ensure that the XLAT_BOX flags are always initialized

4 months agoprint error on parsing no input
Alan T. DeKok [Fri, 11 Apr 2025 11:06:42 +0000 (07:06 -0400)] 
print error on parsing no input

and update error location to point to the correct character

4 months agominor cleanups
Alan T. DeKok [Fri, 11 Apr 2025 00:55:16 +0000 (20:55 -0400)] 
minor cleanups

4 months agohoist more things in xlat_purify
Alan T. DeKok [Thu, 10 Apr 2025 19:59:49 +0000 (15:59 -0400)] 
hoist more things in xlat_purify

so that we don't have unnecessary nodes hanging around

4 months agouse xlat_tmpl_normalize() in more places
Alan T. DeKok [Thu, 10 Apr 2025 19:10:39 +0000 (15:10 -0400)] 
use xlat_tmpl_normalize() in more places

so that we don't have duplicate code

4 months agoadd and set is_argv flag to node->call.args
Alan T. DeKok [Thu, 10 Apr 2025 14:52:41 +0000 (10:52 -0400)] 
add and set is_argv flag to node->call.args

so that we can add spaces as necessary when printing, and
we can also handle arguments better for the soon to be coming
argument tokenization changes

4 months agobetter handle change xlat type
Alan T. DeKok [Thu, 10 Apr 2025 13:58:49 +0000 (09:58 -0400)] 
better handle change xlat type

free tmpls, so that the caller doesn't have to do this.

If the tmpl is data, and the new type is XLAT_BOX, then re-initialize
the box from the tmpl data, before freeing the tmpl

4 months agoremove bounce through tmpl code for %{...}
Alan T. DeKok [Wed, 9 Apr 2025 20:40:32 +0000 (16:40 -0400)] 
remove bounce through tmpl code for %{...}

Instead, we create an XLAT_GROUP to hold the child xlat.

We then also create a "hoist" flag, which only exists for a
group node, and isn't in the flags.

update the debug printer to match.

Update the evaluation code to look for the "hoist' flag,
and then hoist the result instead of creating a value-box group.

Note that the result may be empty.  In which case nothing is
added to the output dcursor.  For xlat function arguments, this
highlights the need to have each argument expanded into its own
group.

4 months agomore set / check flags for xlat expressions
Alan T. DeKok [Wed, 9 Apr 2025 17:34:23 +0000 (13:34 -0400)] 
more set / check flags for xlat expressions

verify that the arguments to functions are grouped correctly

4 months agouse better safe_for value
Alan T. DeKok [Wed, 9 Apr 2025 17:32:49 +0000 (13:32 -0400)] 
use better safe_for value

4 months agocheck for errors after purify
Alan T. DeKok [Wed, 9 Apr 2025 11:39:36 +0000 (07:39 -0400)] 
check for errors after purify

4 months agoclean up xlat_tokenize_word()
Alan T. DeKok [Tue, 8 Apr 2025 23:44:10 +0000 (19:44 -0400)] 
clean up xlat_tokenize_word()

don't leak nodes, and don't set flags incorrectly

4 months agowe don't allow unresolved xlats
Alan T. DeKok [Tue, 8 Apr 2025 22:29:12 +0000 (18:29 -0400)] 
we don't allow unresolved xlats

it helps to return errors when there are error cases.

Disallow "foo." for list existence.  Arguably "foo.[*]" is better.
the xlat condition / expression parser already replaces a bare
existence check with a %exists() wrapper.  So the run-time code
doesn't need to expand the entire thing.

4 months agocall stringify even if there's no escape
Alan T. DeKok [Tue, 8 Apr 2025 12:32:05 +0000 (08:32 -0400)] 
call stringify even if there's no escape

and mark safe_for depending on whether or not there's no escape

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar
github-actions[bot] [Tue, 8 Apr 2025 09:35:19 +0000 (09:35 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar
github-actions[bot] [Tue, 8 Apr 2025 09:35:13 +0000 (09:35 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar
github-actions[bot] [Tue, 8 Apr 2025 09:35:01 +0000 (09:35 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar
github-actions[bot] [Tue, 8 Apr 2025 09:34:59 +0000 (09:34 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar
github-actions[bot] [Tue, 8 Apr 2025 09:34:55 +0000 (09:34 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar
github-actions[bot] [Tue, 8 Apr 2025 09:34:52 +0000 (09:34 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar
github-actions[bot] [Tue, 8 Apr 2025 09:34:50 +0000 (09:34 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar
github-actions[bot] [Tue, 8 Apr 2025 09:34:43 +0000 (09:34 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar

4 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar
github-actions[bot] [Tue, 8 Apr 2025 09:34:31 +0000 (09:34 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar

4 months agoforce stringification of quoted strings for the old xlat evaluator.
Alan T. DeKok [Mon, 7 Apr 2025 18:20:06 +0000 (14:20 -0400)] 
force stringification of quoted strings for the old xlat evaluator.

when we see a value-box group, it is likely for a string which
has been converted to an XLAT_GROUP.  In that case, stringify it
before escaping it.

4 months agodocs: update howto/Datastores/Active Directory install/configure instructions
nolade [Mon, 31 Mar 2025 19:32:53 +0000 (15:32 -0400)] 
docs: update howto/Datastores/Active Directory install/configure instructions

4 months agoAdded 'frag errors' info to introduction/trouble-shooting/connectivity section
nolade [Thu, 3 Apr 2025 21:22:01 +0000 (17:22 -0400)] 
Added 'frag errors' info to introduction/trouble-shooting/connectivity section

update nav bar

4 months agodocs: Update howto/datastores/ad
nolade [Mon, 31 Mar 2025 19:32:53 +0000 (15:32 -0400)] 
docs: Update howto/datastores/ad

docs: update howto/Datastores/Active Directory install/configure instructions.
Added 3 sub-sections - Integrating AD, Configuring ntlm, Installing winbind

4 months agowe no longer need a macro for escape
Alan T. DeKok [Sun, 6 Apr 2025 20:09:12 +0000 (16:09 -0400)] 
we no longer need a macro for escape

rearrange the code so that the escaping is done first.

but we do assert that the value-boxes are not groups, in preparation
for updating the expression parser.  Those changes mean that a
string which contains an xlat expansion will result in a group
of the component pieces.  We can then escape each component piece
individually, before concatenating them into the resulting string.

4 months agoinitialize and print out constant flag
Alan T. DeKok [Thu, 3 Apr 2025 14:58:29 +0000 (10:58 -0400)] 
initialize and print out constant flag

4 months agoadd tmpl normalization to xlat_tokenize_word()
Alan T. DeKok [Thu, 3 Apr 2025 13:36:28 +0000 (09:36 -0400)] 
add tmpl normalization to xlat_tokenize_word()

4 months agoadd tmpl tokenize and triple quotes to xlat_tokenize_word
Alan T. DeKok [Thu, 3 Apr 2025 13:03:12 +0000 (09:03 -0400)] 
add tmpl tokenize and triple quotes to xlat_tokenize_word

in preparation for calling it from xlat_tokenize_expression

4 months agomove the expression parser back to tokenize_argv()
Alan T. DeKok [Wed, 2 Apr 2025 20:53:11 +0000 (16:53 -0400)] 
move the expression parser back to tokenize_argv()

and hoist the parse rules for quoted text back, too.

This is in preparation for making xlat_tokenize_word() semi-public,
and calling it from xlat_tokenize_expression

4 months agominor float fixes
Alan T. DeKok [Sun, 6 Apr 2025 14:30:02 +0000 (10:30 -0400)] 
minor float fixes

for numerical stability

4 months agoadd cast of float to time_delta
Alan T. DeKok [Sun, 6 Apr 2025 10:23:46 +0000 (06:23 -0400)] 
add cast of float to time_delta

and it turns out that the cast-time_delta test was wrong.  Which
resulted in discovering that parsing time_delta decimals was wrong.

added "cast" function to unit_test_attribute.  Added tests for
casting to unit tests.

update cast-time_delta test to use correct values, and to do
delta comparisons for floating points

4 months agoprint out scale and raw values for time_delta
Alan T. DeKok [Sun, 6 Apr 2025 10:14:26 +0000 (06:14 -0400)] 
print out scale and raw values for time_delta

4 months agosimplify parsing of time_delta
Alan T. DeKok [Sun, 6 Apr 2025 01:40:21 +0000 (21:40 -0400)] 
simplify parsing of time_delta

the old code parsed fractions incorrectly.  Rather than trying to
debug and fix it, we just change the code to parse floating point
numbers.