2025-02-09  Arthur de Jong <arthur@arthurdejong.org>

	* [e5ee16f] INSTALL, ar-lib, compile, depcomp, install-sh,
	  missing, mkinstalldirs, py-compile, test-driver: Update files
	  from latest automake

2025-02-09  Arthur de Jong <arthur@arthurdejong.org>

	* [a81bb35] nslcd/attmap.c: Add extra safety check in attribute
	  parsing

	  This ensures that we never have a buffer underflow in
	  attmap_get_value() even when expr_parse() would return unexpected
	  values in the buffer.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/72

2025-02-09  Arthur de Jong <arthur@arthurdejong.org>

	* [4a6c963] nslcd/cfg.c: Clarify the name of the function to parse
	  TLS values

2024-10-14  Arthur de Jong <arthur@arthurdejong.org>

	* [09ed954] .github/workflows/test.yml: Switch to Ubuntu 22.04
	  fir GitHub tests

	  Ubuntu 24.04 has an issue with AppArmor.

2024-08-27  Arthur de Jong <arthur@arthurdejong.org>

	* [9a353ac] nslcd/cfg.c: Fix memory leak in config parsing

	  This fixes a one-time memory leak in reading the base configuration
	  option.

2024-08-27  Arthur de Jong <arthur@arthurdejong.org>

	* [91bb8c9] nslcd/passwd.c: Fix NULL pointer deref on memory
	  allocation failure

	  This fixes a NULL pointer dereference when a call to malloc()
	  failed.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/70

2024-06-29  Consus <consus@ftml.net>

	* [b7841fc] nslcd/nslcd.c: Do not pass invalid file descriptor
	  to FD_ISSET()

	  Currently there is a race condition between the main thread and
	  the workers threads. The main thread sets nslcd_serversocket
	  to -1 without ensuring that all worker threads are stopped,
	  giving them the window of opportunity to pass the now invalid
	  fd to FD_ISSET(). This results in SIGBUS on musl libc.

	  Closing the file descriptor is enough. I've also dropped close()
	  in exithandler() to prevent misleading logs. The OS will close
	  the socket anyway.

2024-06-29  Consus <consus@ftml.net>

	* [ed4041c] nslcd/nslcd.c: Do not try to kill thread that was
	  successfully joined

	  Calling pthread_kill() after a successfull call
	  pthread_timedjoin_np() is considered a UB because pthread_t object
	  is no longer valid. This results in SIGSEGV at least on musl libc.

2024-03-03  Arthur de Jong <arthur@arthurdejong.org>

	* [cced213] man/nslcd.conf.5.xml: Clarify the map option in the
	  manual page

	  This tries to make it a little clearer how expressions in the
	  map statement may be used.

2024-02-24  Arthur de Jong <arthur@arthurdejong.org>

	* [1cca4b0] .gitignore, autogen.sh, config.guess, config.sub:
	  Update files from latest automake

	  This also updates the autogen.sh script to just use the latest
	  version of automake (tested with automake 1.16).

2024-02-24  Arthur de Jong <arthur@arthurdejong.org>

	* [b42d8c0] man/nslcd.8.xml, nslcd/nslcd.c: Add an option to test
	  the configuration file

2024-02-24  Arthur de Jong <arthur@arthurdejong.org>

	* [baf3bee] man/nslcd.8.xml, nslcd/nslcd.c: Make configuration
	  file to use configurable

2023-08-06  Arthur de Jong <arthur@arthurdejong.org>

	* [33cf91c] compat/nss_compat.h: Define NETDB_INTERNAL for musl libc

	  musl libc doesn't define ```NETDB_INTERNAL```. Add that definition
	  when it's missing.

	  Thanks Cristian Othón Martínez Vera.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/pull/60

2023-06-17  Arthur de Jong <arthur@arthurdejong.org>

	* [4b6556d] .github/workflows/test.yml: Update GitHub checkout
	  action to latest version

2023-06-17  Arthur de Jong <arthur@arthurdejong.org>

	* [737e4a5] tests/pylint.rc: Update Pylint configuration file

	  Some options do not appear to be present in Pylint 2.16.2 but
	  this used to work in version 1.9.4 (this config works with
	  both versions).

2023-05-30  Brett Lymn <blymn@internode.on.net>

	* [e9662f1] compat/getpeercred.c: Fix compilation issues on NetBSD

	  Fixes da63099

2022-10-10  Arthur de Jong <arthur@arthurdejong.org>

	* [2f6e65a] configure.ac, nslcd/daemonize.c, nslcd/invalidator.c:
	  Use closefrom() if available

	  One some systems _SC_OPEN_MAX can be *very* large.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/53

2022-10-10  Arthur de Jong <arthur@arthurdejong.org>

	* [1c9b021] nslcd/daemonize.c: Fix off-by one error in closing
	  file descriptors

	  This could leave file descriptor 3 open from the parent process
	  starting nslcd.

2022-09-04  Arthur de Jong <arthur@arthurdejong.org>

	* [2fc652f] nslcd/common.h: Increase password buffer length

	  This allows passwords to contain up to 255 characters even though
	  they are most likely don't add any meaningful password security.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/52

2022-08-27  Arthur de Jong <arthur@arthurdejong.org>

	* [6ee1981] tests/test.ldif: Don't force password change during tests

	  Change the configuration of the password policy in the test
	  suite to not set pwdMustChange to TRUE. Between OpenLDAP 2.4
	  and 2.5 the behaviour of the LDAP server was changed to force
	  a password change whenever the administrator changed a user's
	  password. This change ensures that the old behaviour is maintained.

	  See https://bugs.openldap.org/show_bug.cgi?id=7084

2022-08-27  Arthur de Jong <arthur@arthurdejong.org>

	* [ae25521] tests/pylint.rc: Fix pylint config for newer versions
	  of pylint

	  Apparently newer versions of pylint parse the evaluation option
	  differently.

2022-08-27  Arthur de Jong <arthur@arthurdejong.org>

	* [3c9edc1] .github/workflows/test.yml: Upgrade to CodeQL Action v2

	  https://github.blog/changelog/2022-04-27-code-scanning-deprecation-of-codeql-action-v1/

2021-11-20  Arthur de Jong <arthur@arthurdejong.org>

	* [0507f25] AUTHORS, ChangeLog, NEWS, configure.ac,
	  man/chsh.ldap.1.xml, man/getent.ldap.1.xml, man/nslcd.8.xml,
	  man/nslcd.conf.5.xml, man/pam_ldap.8.xml, man/pynslcd.8.xml:
	  Get files ready for 0.9.12 release

2021-11-19  Arthur de Jong <arthur@arthurdejong.org>

	* [6e7e878] man/nslcd.conf.5.xml, nslcd/cfg.c: Support DNSLDAPS
	  in uri

	  This supports both `uri DNSLDAPS` and `uri DNSLDAPS:some.domain`
	  variants alongside the pre-existing `uri DNS` that was already
	  supported generating ldaps URIs for all SRV records found.

2021-11-15  Arthur de Jong <arthur@arthurdejong.org>

	* [70819ae] configure.ac, tests/common.h: Fix internal assertion
	  function detection on Solaris

2021-11-15  Arthur de Jong <arthur@arthurdejong.org>

	* [7b2a7fe] INSTALL, ar-lib, compile, depcomp, missing, py-compile,
	  test-driver: Update files from latest automake

2021-11-14  Arthur de Jong <arthur@arthurdejong.org>

	* [9edf95c] tests/test.ldif, tests/test_ldapcmds.sh,
	  tests/test_nsscmds.sh: Do not use user arthur in tests

	  This makes it more complicated to run the tests on an environment
	  where a local user arthur exists.

2021-11-14  Arthur de Jong <arthur@arthurdejong.org>

	* [2862447] pynslcd/mypidfile.py: Fix running pynslcd without
	  uid option

	  Fixes 65695aa

2021-06-04  Ryan Tandy <ryan@nardis.ca>

	* [15f67be] tests/config.ldif, tests/setup_slapd.sh: Support
	  running tests with OpenLDAP 2.5

	  - Change database backend to LMDB - Load external ppolicy schema
	  conditionally

2021-11-03  Arthur de Jong <arthur@arthurdejong.org>

	* [4c46eef] .github/workflows/test.yml: Configure CodeQL code
	  scanning

2021-11-01  Arthur de Jong <arthur@arthurdejong.org>

	* [906035b] man/nslcd.conf.5.xml, nslcd/cfg.c, tests/test_cfg.c:
	  Support an empty search base

	  This allows putting `base ""` in nslcd.conf to specify an empty
	  search base.

	  Note that the LDAP server needs to support this. With slapd this
	  requires setting up an olcDefaultSearchBase attribute in the
	  olcFrontendConfig object under cn=config or have the database
	  have an empty suffix.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/50

2021-10-17  Arthur de Jong <arthur@arthurdejong.org>

	* [7d81616] common/expr.c, tests/test_expr.c: Support minus
	  character in attribute expressions

	  This requires the attribute name is contained within a ${var-name}
	  expression.

2021-05-25  Arthur de Jong <arthur@arthurdejong.org>

	* [6d5a2eb] nslcd/myldap.c: Retry connecting to the first URI
	  after idle_timelimit

	  This ensures that a connection to the first URI listed in the
	  config file will be re-established once the connection is closed
	  cleanly after the idle time.

	  This ensures that the listed URIs are handled more in a
	  primary/fallback manner if an idle time is configured.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/46

2021-05-26  Arthur de Jong <arthur@arthurdejong.org>

	* [5226a6f] .github/workflows/test.yml, .travis.yml,
	  tests/setup_slapd.sh, tests/test_nsscmds.sh: Replace Travis with
	  GitHub actions

	  This includes a few tweaks to the test scripts to make debugging
	  easier and to avoid issues on Github action runners.

2021-01-23  Arthur de Jong <arthur@arthurdejong.org>

	* [d9710a2] man/nslcd.conf.5.xml, nslcd/cfg.c: Add tls_reqsan to
	  check certificate SAN

	  This option is passed to the LDAP library if it is supported.

2021-01-23  Arthur de Jong <arthur@arthurdejong.org>

	* [026f08c] man/nslcd.conf.5.xml, nslcd/cfg.c: Add tls_crlfile to
	  check local CRL file

	  This option is passed to the LDAP library if it is supported.

2021-01-18  sebastienblavier
<72022031+sebastienblavier@users.noreply.github.com>

	* [78c00f1] man/nslcd.conf.5.xml, nslcd.conf, nslcd/cfg.c: Add
	  tls_crlcheck to check Certificate Revocation List

	  This option is passed to the LDAP library if it is supported.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/pull/41

2021-01-17  Arthur de Jong <arthur@arthurdejong.org>

	* [d55bdb2] Makefile.am: Use the provided Python for `make distcheck`

	  This ensures that if a Python interpreter was previously
	  supplied to configure it is also used for subsequent calls to
	  run a distribution check.

2021-01-17  Arthur de Jong <arthur@arthurdejong.org>

	* [b7b812f] ar-lib, compile, depcomp, install-sh, missing,
	  mkinstalldirs, py-compile, test-driver: Update files from
	  latest automake

2020-09-11  Arthur de Jong <arthur@arthurdejong.org>

	* [37a00e9] nslcd/myldap.c: Fix handling of the pam_authc_ppolicy
	  option

	  Check the result of the BIND operation instead of that of the
	  ldap_result() call when pam_authc_ppolicy is set to "no".

	  This could have resulted in successful authentication if the BIND
	  operation to the LDAP server timed out and pam_authc_ppolicy was
	  set to "no" but should not result in successful authentication
	  otherwise so it is unlikely that setting pam_authc_ppolicy to
	  "no" ever worked as intended. The timeout also would have to
	  occur on the BIND operation, not on setting up the connection.

	  Fixes 31cd2cf

2020-04-19  Arthur de Jong <arthur@arthurdejong.org>

	* [18740fb] README: Fix typo

	  Thanks Filip Dvorak

	  See https://bugzilla.redhat.com/show_bug.cgi?id=1825240

2020-02-10  Arthur de Jong <arthur@arthurdejong.org>

	* [b335518] man/nslcd.conf.5.xml: Fix typo in manual page

	  Thanks Benedict Reuschling for pointing this out.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/39
	  Fixes b93838d

2019-11-11  Arthur de Jong <arthur@arthurdejong.org>

	* [548efe5] nslcd/myldap.c: Log the correct timeout value

	  This fixes logging of the LDAP_OPT_TIMEOUT,
	  LDAP_OPT_NETWORK_TIMEOUT and LDAP_X_OPT_CONNECT_TIMEOUT options
	  to actually log the value of the bind_timelimit option instead
	  of the timelimit option.

2019-10-13  Arthur de Jong <arthur@arthurdejong.org>

	* [fea0f5e] pynslcd/cfg.py, pynslcd/pam.py: Add pam_authc_ppolicy
	  support in pynslcd

	  See https://bugs.debian.org/900253

2019-10-13  Arthur de Jong <arthur@arthurdejong.org>

	* [1025d5d] utils/chsh.py, utils/shells.py: Fix Python 3
	  compatibility in chsh.ldap

2019-10-06  Arthur de Jong <arthur@arthurdejong.org>

	* [c4daf27] AUTHORS, ChangeLog, NEWS, configure.ac,
	  man/chsh.ldap.1.xml, man/getent.ldap.1.xml, man/nslcd.8.xml,
	  man/nslcd.conf.5.xml, man/pam_ldap.8.xml, man/pynslcd.8.xml,
	  nslcd/nslcd.c, utils/cmdline.py: Get files ready for 0.9.11 release

2019-10-06  Arthur de Jong <arthur@arthurdejong.org>

	* [69922e3] tests/test_doctest.sh: Fix Python interpreter detection
	  in tests

	  Fixes 644bc62

2019-10-06  Arthur de Jong <arthur@arthurdejong.org>

	* [62522b9] tests/test_nsscmds.sh: Portability improvements to
	  test suite

	  Some test systems have more local users and some systems prefer
	  IPv4 addresses over IPv6 addresses.

2019-09-17  Arthur de Jong <arthur@arthurdejong.org>

	* [a8f4ed8] NEWS, common/expr.c, common/nslcd-prot.c,
	  common/nslcd-prot.h, common/tio.c, compat/attrs.h, compat/ether.c,
	  compat/getopt_long.c, compat/getopt_long.h, compat/getpeercred.h,
	  compat/nss_compat.h, configure.ac, man/nslcd.conf.5.xml,
	  nslcd.h, nslcd/attmap.h, nslcd/common.h, nslcd/daemonize.h,
	  nslcd/invalidator.c, nslcd/myldap.c, nslcd/myldap.h, nslcd/pam.c,
	  nslcd/passwd.c, nss/common.h, nss/hosts.c, nss/prototypes.h,
	  pam/common.h, tests/common.h, tests/test_pynslcd_cache.py,
	  tests/test_tio.c, utils/getent.py: Various spelling fixes

2019-09-10  Arthur de Jong <arthur@arthurdejong.org>

	* [644bc62] .travis.yml, tests/test_doctest.sh: Fix Python
	  interpreter detection

	  Apparently some environments provide certain Python executables
	  which are not working Python interpreters.

2019-09-08  Arthur de Jong <arthur@arthurdejong.org>

	* [768c4be] .gitignore, Makefile.am: Remove confinc.out which is
	  left behind by aclocal.m4

2019-09-08  Arthur de Jong <arthur@arthurdejong.org>

	* [0252b05] pynslcd/shadow.py: Correctly validate shadow requests
	  and responses

2019-09-08  Arthur de Jong <arthur@arthurdejong.org>

	* [cd887ef] pynslcd/Makefile.am, utils/Makefile.am: Update Python
	  interpreter in installed scripts

	  Ensure that the Python interpreter that is passed to configure
	  ends up in the shebang of the Python scripts.

	  This allows one to pass PYTHON=python3 to configure to install
	  the scripts using the Python 3 interpreter.

2019-09-07  Arthur de Jong <arthur@arthurdejong.org>

	* [d717795] .gitignore, pynslcd/alias.py,
	  pynslcd/attmap.py, pynslcd/cache.py, pynslcd/cfg.py,
	  pynslcd/common.py, pynslcd/ether.py, pynslcd/expr.py,
	  pynslcd/group.py, pynslcd/host.py, pynslcd/invalidator.py,
	  pynslcd/mypidfile.py, pynslcd/netgroup.py, pynslcd/network.py,
	  pynslcd/pam.py, pynslcd/passwd.py, pynslcd/protocol.py,
	  pynslcd/pynslcd.py, pynslcd/rpc.py, pynslcd/search.py,
	  pynslcd/service.py, pynslcd/shadow.py, pynslcd/tio.py,
	  tests/Makefile.am, tests/flake8.ini, tests/test_flake8.sh,
	  tests/test_pynslcd_cache.py, utils/chsh.py, utils/getent.py,
	  utils/nslcd.py, utils/users.py: Improve Python code style

	  This also adds a flake8 test that checks code style. Note that
	  this test is not run by default because it requires network
	  access to create the virtualenv with the test software.

2019-09-02  Arthur de Jong <arthur@arthurdejong.org>

	* [221ce5a] configure.ac, pynslcd/Makefile.am, pynslcd/attmap.py,
	  pynslcd/cache.py, pynslcd/cfg.py, pynslcd/common.py,
	  pynslcd/expr.py, pynslcd/invalidator.py, pynslcd/mypidfile.py,
	  pynslcd/pam.py, pynslcd/pynslcd.py, pynslcd/search.py,
	  pynslcd/tio.py, pynslcd/usermod.py, tests/Makefile.am,
	  tests/test_doctest.sh, tests/test_ldapcmds.sh,
	  tests/test_pycompile.sh, tests/test_pylint.sh,
	  tests/test_pynslcd_cache.py, utils/Makefile.am, utils/getent.py,
	  utils/nslcd.py: Add Python 3 support

	  This ensures that both pynslcd and the command-line utilities
	  work with Python3 as interpreter and runs some tests with all
	  installed Python interpreters.

	  This drops support for Python 2.6 and extends 5a84be2 to perform
	  more testing with Python 3.

2018-09-08  Arthur de Jong <arthur@arthurdejong.org>

	* [06ee886] nslcd/nslcd.c: Avoid logging unknown socket peer
	  information

	  This avoids logging the client PID when the underlying socker
	  layer cannot provide the relevant information.

2018-09-05  Mizunashi Mana <mizunashi-mana@noreply.git>

	* [bfcf002] utils/shells.py: Fix crash in chsh.ldap

	  Specify result type of getusershell.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/pull/31

2018-09-01  Arthur de Jong <arthur@arthurdejong.org>

	* [bfe0696] AUTHORS, ChangeLog, NEWS, configure.ac,
	  man/chsh.ldap.1.xml, man/getent.ldap.1.xml, man/nslcd.8.xml,
	  man/nslcd.conf.5.xml, man/pam_ldap.8.xml, man/pynslcd.8.xml:
	  Get files ready for 0.9.10 release

2018-09-01  Arthur de Jong <arthur@arthurdejong.org>

	* [acc450e] ar-lib, compile, config.guess, config.sub, depcomp,
	  install-sh, missing, mkinstalldirs, py-compile, test-driver:
	  Update files from latest automake

2018-02-06  HWLin <hwlin1414@gmail.com>

	* [d5a25cf] configure.ac, nss/bsdnss.c: Add FreeBSD netgroup support

	  Closes: https://github.com/arthurdejong/nss-pam-ldapd/pull/29

2018-08-06  Arthur de Jong <arthur@arthurdejong.org>

	* [d8b1640] nslcd/myldap.c, nslcd/pam.c: Make password expiry
	  messages correct and consistent

	  Thanks to Têko Mihinto.  See
	  https://bugzilla.redhat.com/show_bug.cgi?id=1612543

2018-07-21  Arthur de Jong <arthur@arthurdejong.org>

	* [84676ab] man/nslcd.conf.5.xml, nslcd/cfg.c, nslcd/pam.c: Add
	  domain variable for use in pam_authz_search

	  This adds a domain variable (if it can be determined on the
	  system) that can be used in pam_authz_search and pam_authc_search
	  filters to build search filters that search on the domain name
	  (the FQDN without the starting host name).

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/8

2018-07-21  Arthur de Jong <arthur@arthurdejong.org>

	* [9fbcdd1] .travis.yml, tests/debian-pam-config, tests/testenv.sh:
	  Add a Travis configuration file

	  This ensures that the integration tests can be successfully run. It
	  configures a slapd instance with the test database, configures
	  the system to use LDAP authentication and runs the tests.

2018-07-21  Arthur de Jong <arthur@arthurdejong.org>

	* [2a468fd] nslcd/log.c: Allow logging longer lines

	  This increases the buffer that holds log messages so longer
	  messages can be logged.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/26

2018-07-21  Arthur de Jong <arthur@arthurdejong.org>

	* [3760b43] nslcd/nslcd.c: Create /var/run/nslcd/socket after
	  dropping privileges

	  This is needed to avoid a problem where a call to initgroups()
	  can result in NSS lookups. If nscd is configured the mechanism
	  to avoid loopback lookups using nss_ldap_enablelookups will not
	  work and cause for delays on start-up.

	  Note that this changes ownership of the socket to the user
	  running nslcd.

2018-02-18  Arthur de Jong <arthur@arthurdejong.org>

	* [fe26b94] ChangeLog, NEWS, README, configure.ac,
	  man/chsh.ldap.1.xml, man/getent.ldap.1.xml, man/nslcd.8.xml,
	  man/nslcd.conf.5.xml, man/pam_ldap.8.xml, man/pynslcd.8.xml:
	  Get files ready for 0.9.9 release

2018-02-18  Arthur de Jong <arthur@arthurdejong.org>

	* [382b6ea] INSTALL, ar-lib, config.guess, config.sub, depcomp,
	  py-compile: Update files from latest automake

2018-02-17  Arthur de Jong <arthur@arthurdejong.org>

	* [e8a4705] tests/test_pylint.sh: Fix running pylint on distcheck

	  This sets PYTHONPATH so that both the source and build directories
	  are used to find constants.py.

2018-02-17  Arthur de Jong <arthur@arthurdejong.org>

	* [9a50971] common/expr.c, compat/attrs.h: Mark case blocks without
	  break statement

	  This avoids a gcc warning in non-empty case blocks without a
	  break statement by explicitly marking those blocks.

2018-02-16  Arthur de Jong <arthur@arthurdejong.org>

	* [c05e326] nslcd/cfg.c, nslcd/common.h: Increase size of hostname
	  buffer

	  This increases the host name buffer to support host names (that
	  include FQDNs) to 255 characters and removes the reliance on
	  HOST_NAME_MAX and _POSIX_HOST_NAME_MAX which may be smaller in
	  some situations.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/22

2017-12-23  Arthur de Jong <arthur@arthurdejong.org>

	* [9760dce] nslcd/cfg.c: Increase size of config file token

	  This increases the maximum size of tokens that are read from
	  the nslcd.conf configuration file to 256 characters. This was
	  a problem for some very long uri values.

	  Closes https://github.com/arthurdejong/nss-pam-ldapd/issues/21

2017-10-13  Arthur de Jong <arthur@arthurdejong.org>

	* [8f76d24] nslcd/cfg.c, tests/test_cfg.c: Support spaces in
	  attribute mapping expressions

2017-06-26  Arthur de Jong <arthur@arthurdejong.org>

	* [47fd03b] AUTHORS, ChangeLog, NEWS, configure.ac,
	  man/chsh.ldap.1.xml, man/getent.ldap.1.xml, man/nslcd.8.xml,
	  man/nslcd.conf.5.xml, man/pam_ldap.8.xml, man/pynslcd.8.xml,
	  nslcd/nslcd.c, pynslcd/pynslcd.py, utils/cmdline.py: Get files
	  ready for 0.9.8 release

2017-06-25  Arthur de Jong <arthur@arthurdejong.org>

	* [7920d85] tests/test_ldapcmds.sh, tests/test_nsscmds.sh: Ignore
	  password hashes in consistent manner

	  This changes the getent and getent.ldap tests to ignore password
	  hashes that may be present in shadow lookups in a consistent
	  manner.

	  This also adds minor compatibility improvements.

2017-06-25  Arthur de Jong <arthur@arthurdejong.org>

	* [65695aa] pynslcd/cfg.py, pynslcd/mypidfile.py, pynslcd/pynslcd.py:
	  Create pidfile directory in pynslcd

	  This ensures that /var/run/nslcd is created (when it does not
	  exist) when starting pynslcd.

2017-06-25  Arthur de Jong <arthur@arthurdejong.org>

	* [419aab2] pynslcd/cfg.py, pynslcd/group.py, pynslcd/passwd.py:
	  Add nss_uid_offset and nss_gid_offset to pynslcd

2017-03-20  Seth Wright <seth@crosse.org>

	* [5103173] man/nslcd.conf.5.xml, nslcd/cfg.c, nslcd/cfg.h,
	  nslcd/group.c, nslcd/passwd.c: Add the ability to offset UID
	  and GID numbers

2017-06-18  Arthur de Jong <arthur@arthurdejong.org>

	* [fee74d9] tests/Makefile.am, tests/test_ldapcmds.sh: Portability
	  improvements to test_ldapcmds.sh

	  This fixes an issue with the export statement in POSIX shell
	  scripts, ensures that the commands in the output match those
	  in the script, strips password hashes for shadow lookups (for
	  systems without PAM where these are exposed) and only runs the
	  tests if we enabled the utils.

	  Fixes 246a1f3.

2017-06-17  Arthur de Jong <arthur@arthurdejong.org>

	* [5126b26] nslcd/ether.c: Use uint8_t instead of u_int8_t

	  The former seems to be available on more platforms than the latter.

	  Fixes be26510.

2017-06-17  Arthur de Jong <arthur@arthurdejong.org>

	* [fe3772f] compat/pam_compat.h: Fix HAVE_DECL_PAM_ERROR usage

	  The macro is supposed to be defined to 0 (instead of undefined)
	  if pam_info() and pam_error() are not found.

	  Fixes 3d5ab89.

2017-06-17  Arthur de Jong <arthur@arthurdejong.org>

	* [ca62f59] nslcd/shadow.c: Also filter shadow entries by validnames

2017-06-17  Arthur de Jong <arthur@arthurdejong.org>

	* [e68b85a] nslcd/passwd.c, nslcd/shadow.c: Fix and clarify a
	  few comments

2017-06-16  Arthur de Jong <arthur@arthurdejong.org>

	* [3d5ab89] compat/pam_compat.h, configure.ac: Fix pam_info()
	  and pam_error() replacement

	  On FreeBSD these are functions while on Linux they are macros
	  causing them to be incorrectly replaced on FreeBSD. This resulted
	  in a crash of the PAM module when e.g. presenting messages about
	  password expiry.

2017-06-16  Arthur de Jong <arthur@arthurdejong.org>

	* [b5d1dd2] tests/Makefile.am: Clean log from test_pamcmds.expect

	  This removes test_pamcmds.log that is generated by
	  test_pamcmds.expect when running the test suite. This avoids an
	  error in the distcheck target.

2017-06-16  Arthur de Jong <arthur@arthurdejong.org>

	* [246a1f3] tests/test_ldapcmds.sh: Fix running test_ldapcmds.sh
	  during distcheck

	  This ensures that Python can find both getent.py (from source
	  directory) and constants.py (from build directory) when running
	  the tests from the distcheck target.

	  This also makes the script more similar to test_nsscmds.sh.

	  Fixes 9c803d7.

2017-06-15  Arthur de Jong <arthur@arthurdejong.org>

	* [43862ba] : Add pam_authc_search option

	  This option can be used to configure the search operation that
	  should be performed after authentication.

2017-06-15  Arthur de Jong <arthur@arthurdejong.org>

	* [5141b09] man/nslcd.conf.5.xml, nslcd/pam.c: Allow skipping
	  post-authentication search altogether

2017-06-14  Arthur de Jong <arthur@arthurdejong.org>

	* [0cafb08] nslcd/myldap.c, nslcd/myldap.h, nslcd/pam.c,
	  nslcd/usermod.c: Implement myldap_bind() function

	  This function integrates the myldap_set_credentials() and
	  myldap_get_policy_response() and performs the bind operation
	  witout actually performing a search.

	  The function performs a "fake" search that returns after performing
	  the LDAP BIND operation.

	  This replaces a number of dummy search operations that were there
	  to ensure that the connection was open. This allows us to skip
	  the search operation after authentication.

2017-06-14  Arthur de Jong <arthur@arthurdejong.org>

	* [9564dd0] nslcd/pam.c: Implement handling of pam_authc_search
	  option

	  This allows performing a different, configurable search from
	  the default BASE search after the BIND operation.

2017-06-14  Arthur de Jong <arthur@arthurdejong.org>

	* [f72aaa2] man/nslcd.conf.5.xml: Document pam_authc_search option

2017-06-14  Arthur de Jong <arthur@arthurdejong.org>

	* [5d11cb8] nslcd/cfg.c, nslcd/cfg.h, nslcd/pam.c: Add
	  pam_authc_search option parsing

2017-06-14  Arthur de Jong <arthur@arthurdejong.org>

	* [bcc3a08] nslcd/pam.c, pynslcd/pam.py: Reorganise PAM search
	  var building functions

	  This moves the autzsearch_var_add(), autzsearch_vars_free(),
	  autzsearch_var_get() and do_autzsearches() functions to the top of
	  the file using more generic names and introduces search_vars_new()
	  in prepartion of other similar searches.

	  This also renames the remaining authzsearch functions to
	  authz_search to be consistent with the pam_authz_search option.

2017-06-13  Arthur de Jong <arthur@arthurdejong.org>

	* [ebc0f76] README, configure.ac, tests/test.ldif: Switch to
	  HTTPS URLs

2017-06-13  Arthur de Jong <arthur@arthurdejong.org>

	* [be26510] compat/ether.c, compat/ether.h, configure.ac,
	  nslcd/ether.c, pynslcd/ether.py: Query ethernet addresses in
	  compact and long format

	  This ensures that when querying the address 0:18:8a:54:1a:8b
	  both that format and 00:18:8a:54:1a:8b is searched for in LDAP.

	  This was triggerred by the fact that ether_ntoa() on FreeBSD
	  returns the long format while glibc uses the compact format.

	  Since we are no longer using the libc version of ether_ntoa() we
	  can also drop the compatibility implementation of ether_ntoa_r().

2017-06-07  Arthur de Jong <arthur@arthurdejong.org>

	* [becc883] nslcd/passwd.c: Log entries and lookups failing
	  nss_min_uid

	  This logs (at debug level) any LDAP uidNumber attribute values
	  (or translated objectSid attribute values) that are lower than
	  nss_min_uid.	It also logs getpwuid() requests for such uids.

2017-06-04  Arthur de Jong <arthur@arthurdejong.org>

	* [5a84be2] utils/chsh.py, utils/cmdline.py, utils/getent.py,
	  utils/nslcd.py, utils/shells.py, utils/users.py: Make nslcd-utils
	  Python 3 compatible

	  This changes the getent.ldap and chsh.ldap commands to be
	  compatible with Python 2 and Python 3 with the same code.

	  This does switch to raw I/O because Python 3 does not support
	  bufferred I/O on sockets.

2017-06-04  Arthur de Jong <arthur@arthurdejong.org>

	* [9c803d7] tests/Makefile.am, tests/test_ldapcmds.sh,
	  tests/test_nsscmds.sh, tests/testenv.sh: Add tests for getent.ldap
	  command

	  This more or less duplicates the tests from test_nsscmds.sh to
	  test_ldapcmds.sh with some modifications for the differences
	  in output.

	  This also extends the test_nsscmds.sh tests to handle the case
	  where shadow lookups do not go through LDAP.

2017-06-04  Arthur de Jong <arthur@arthurdejong.org>

	* [a357131] utils/getent.py: Fix output of getent.ldap networks

	  Contrary to the hosts output the network name is listed first.

2017-06-03  Arthur de Jong <arthur@arthurdejong.org>

	* [58c7a94] utils/getent.py: Fix IPv6 lookups in getent.ldap

2017-06-03  Arthur de Jong <arthur@arthurdejong.org>

	* [5173e55] man/getent.ldap.1.xml, utils/getent.py: Accept multiple
	  key arguments to getent.ldap

	  This allows supplying multiple arguments to getent.ldap that
	  will each act as a search key for lookups, similar to what normal
	  getent allows.

2017-02-07  Arthur de Jong <arthur@arthurdejong.org>

	* [53f797b] nslcd/nslcd.c: Exit with 0 when stopping nslcd

	  When receiving a signal this will result in nslcd returning with
	  a success exit code.

	  Thanks Stanislav Moravec for pointing this out.

2016-09-04  Arthur de Jong <arthur@arthurdejong.org>

	* [c12cd14] nslcd/nslcd.c: Remove duplicate break statement

2016-09-04  Arthur de Jong <arthur@arthurdejong.org>

	* [d8ad7b1] nslcd/myldap.c: Do not try all LDAP servers on failed
	  authentication

	  See https://bugs.launchpad.net/bugs/1618190

2016-08-30  Arthur de Jong <arthur@arthurdejong.org>

	* [a3da150] utils/nslcd.py: Replace Python assertions with exceptions

	  The assertions can be optimised out when compiling the modules
	  with -O which would break the protocol handling. This ensures
	  that errors are properly handled even if optimisation is enabled.

	  Thanks Yu-Chun Huang for reporting this.
	  https://github.com/arthurdejong/nss-pam-ldapd/issues/14

2016-08-14  Arthur de Jong <arthur@arthurdejong.org>

	* [c286bb5] AUTHORS, ChangeLog, NEWS, README, configure.ac,
	  man/chsh.ldap.1.xml, man/getent.ldap.1.xml, man/nslcd.8.xml,
	  man/nslcd.conf.5.xml, man/pam_ldap.8.xml, man/pynslcd.8.xml,
	  nslcd/nslcd.c, pynslcd/pynslcd.py, utils/cmdline.py: Get files
	  ready for 0.9.7 release

2016-08-14  Arthur de Jong <arthur@arthurdejong.org>

	* [db9494e] tests/Makefile.am: Only run doctests when building
	  pynslcd

2016-08-14  Arthur de Jong <arthur@arthurdejong.org>

	* [cb16e4c] nss/bsdnss.c: Avoid some warnings on FreeBSD

	  This adds casts to and from void * for the function pointers
	  that are passed around.

2016-07-27  Arthur de Jong <arthur@arthurdejong.org>

	* [b7a0b23] ChangeLog, ChangeLog-2013, Makefile.am: Archive 2013
	  ChangeLog entries

2016-07-27  Arthur de Jong <arthur@arthurdejong.org>

	* [e4df12c] config.guess, config.sub, install-sh: Update files
	  from latest automake

2016-07-27  Arthur de Jong <arthur@arthurdejong.org>

	* [db8034a] man/Makefile.am, utils/Makefile.am, utils/getent.py:
	  Also use module-name in utilities and man pages

	  This ensures that getent.ldap, chsh.ldap and manual pages with
	  ldap in the name will be installed with the name as specified
	  with --with-module-name.

	  Note that the manual page content still describes the working
	  within nss-pam-ldapd and still mention the ldap name.

2016-06-04  Arthur de Jong <arthur@arthurdejong.org>

	* [281b0ec] tests/test_doctest.sh: Ensure doctest also run in
	  distcheck

	  This fixes test_doctest.sh to also work when the build directory
	  is different from the source directory. This is needed because
	  constants.py is only available in the build directory.

2016-06-03  Arthur de Jong <arthur@arthurdejong.org>

	* [a89eda7] nslcd/pam.c: Also honor ignorecase in PAM

	  This avoids changing the cannonical username to the value as
	  specified in LDAP when ignorecase is used.

	  See https://github.com/arthurdejong/nss-pam-ldapd/issues/12

2016-06-03  Arthur de Jong <arthur@arthurdejong.org>

	* [7eb1d69] pynslcd/expr.py: Support ${var:offset:length} in pynslcd

2016-06-02  Arthur de Jong <arthur@arthurdejong.org>

	* [c90a537] pynslcd/attmap.py: Fix pynslcd expression representation

	  The problem was that the ExpressionMapping string value did not
	  include the quotes which will cause problems when printing the
	  expression (e.g.  when logging or dumping config, etc.).

2016-06-02  Arthur de Jong <arthur@arthurdejong.org>

	* [fd61bb6] tests/Makefile.am, tests/test_doctest.sh: Add test
	  for running doctests

2016-05-30  Giovanni Mascellani <mascellani@poisson.phc.unipi.it>

	* [2ba9560] common/expr.c, man/nslcd.conf.5.xml, tests/test_expr.c:
	  Support substituting expresions of type ${var:offset:length}

2016-05-30  Giovanni Mascellani <mascellani@poisson.phc.unipi.it>

	* [3a4860c] man/nslcd.conf.5.xml: Fix small typo

2016-05-24  Arthur de Jong <arthur@arthurdejong.org>

	* [917ded7] common/expr.c: Refactor out expression parsing to
	  functions

	  This moves the parsing of the various ${var...} expressions to
	  separate functions so they can be extended more easily.

2016-02-22  Arthur de Jong <arthur@arthurdejong.org>

	* [4be9c59] pam/pam.c: Fix logic error

	  This could result in a free(NULL) call. This code path can
	  only be triggered if pam_ldap changes the logged-in username
	  (introduced in 6a74d8d).

	  Thanks 依云, see
	  https://github.com/arthurdejong/nss-pam-ldapd/issues/11

2016-01-30  Mathieu Baeumler <mathieu.baeumler@gmail.com>

	* [985aec3] nslcd/myldap.c: Display human readable expiry message

	  Display a human readable message (days+hours, or hours+minutes,
	  or seconds) when the password expiring warning is issued.

2016-02-13  Arthur de Jong <arthur@arthurdejong.org>

	* [b795f6c] nslcd/cfg.c: Fix nss_disable_enumeration configuration

	  This fixes a copy-paste bug where nss_disable_enumeration was
	  incorrectly handled. Fixes c0366d8.

