autofs-5.0.9 - check for non existent negative entries in lookup_ghost()

Map entries that have been created in the cache due to a negative lookup
but don't exist in the map source shouldn't have directories created.
In fact map entries that are negative shouldn't have directories created
at all since they should have neen created befor the entry became negative.
autofs-5.0.9 - fix reset flex scan buffer on init

If a scan results in an error the flex scan buffer is sometimes
not properly reset for the next scan.

This can result in an incorrect success return for a subsequent
operation, such as a map re-read, for a master map line that's
actually incorrect. Given the success return autofs tries to add
a master map entry that doesn't have the needed information, such
as the mount path, and a SEGV results.
autofs-5.0.9 - fix fix negative status being reset on map read

The original patch to fix the negative status being reset on map
read caused a regression for the case where a negative entry was
created as a result of a lookup matching the wildcard entry.

It isn't possible to eliminate the key not found in map messages
on map read for this case because there's no way of knowing if
a map change would have fixed the original problem so the negative
entry status must be reset and the mount retried on each map read.
autofs-5.0.8 - amd lookup update lookup ldap to handle amd keys
autofs-5.0.8 - amd lookup update lookup hesiod to handle amd keys

Warning, this is completely untested.

I don't have a hesiod test environment so I can't test this at all.
If we do in fact have hesiod users then I'll need to work with them
to fix any reported problems.
autofs-5.1.0-beta1 - fix wildcard key lookup

The changes to key matching caused wildcard key lookups for autofs
format maps to fail.
autofs-5.1.0-beta1 - fix out of order amd timestamp lookup

The call in ->lookup_init() for an ldap source tries to get the amd
ldap entry timestamp whether or not the map is amd format.
autofs-5.1.0-beta1 - fix ldap default schema config

If there is no schema set in the autofs configuration then the ldap
lookup module assumes it will get a NULL return when it asks for the
default schema.

So don't set the default schema at defaults initialization time.
autofs-5.1.0-beta1 - fix ldap default master map name config

If there is no master map name defined in the autofs configuration the
lookup will try to find a map with the default name and if the map isn't
found will substute dots with underscores and repeat the lookup.

So don't set the default master map name at defaults initialization time.
autofs-5.1.0-beta1 - fix map format init in lookup_init()

is_format_amd is not initialized in modules/lookup_ldap.c:lookup_init()
which can cause it to be incorrect leading to a failure to locate a
base dn.
autofs-5.1.0-beta1 - fix incorrect max key length in defaults get_hash()

amd section names can correspond to mount point path names.
autofs-5.1.0-beta1 - fix xfn sets incorrect lexer state

The X/Open Federated Naming service isn't supported and the parser will
call YYABORT() when it sees the MAPXFN token so we must set the start
state to the INITIAL state here for the next yylex() call.
autofs-5.1.0-beta1 - fix old style key lookup

Old (old) style configuration keys all started with DEFAULT_ but
the configuration entry lookup requires the has of the lower case
name. So trying to these old style names failes because thet don't
has to the same value.

So change the key lookup to strip the DEFAULT_ string and retry
the lookup so valid entries hash properly.
autofs-5.1.0-beta1 - fix expire when server not responding

The change to handle expire of symlinks relies on doing a stat(2)
call to check if the path to be expired is a symlink.

But system calls that invoke a path walk on real mounts need to be
avoided during expire because if the server isn't responding they
will hang.
autofs-5.1.0-beta1 - fix ldap_uri config update

Fix some errors in ldap get uris and get search dns.
autofs-5.1.0-beta1 - fix typo in conf_load_autofs_defaults()
autofs-5.1.0-beta1 - fix hash on confg option add and delete

The hash calculation needs to be the same for upper and lower case config
options. The config entry add and delete functions weren't doing that.
autofs-5.1.0-beta1 - add plus to path match pattern

The pattern matching in the tokenizer is very strict and quite
limited. That's been done (initially) to ensure that the parsing
of other parts of map entries is accurate and to ensure that
error cases are handled cleanly since the strict matching will
cause errors.

I don't want to open up patterns that probably need it to accept
a wide range of characters just yet but adding "+" to the match
is obviously needed.
autofs-5.1.0-beta1 - fix multi entry ldap option handling

Handling new and old configurations presents special problems for
configuration entries that may have repeated values, such as ldap_uris
and ldap_search_base, which can be overridden when the old configuration
is read.

If entries exist in the new configuration they need to be saved and
restored if there's no entries in the old configuration or, if entries
exist in the old configuration, they need to be discarded.
autofs-5.1.0-beta1 - cleanup options in amd_parse.c

Remove useless duplicated memset() calls from mount options handling
in the amd parser.