Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/ChangeLog-2013
blob: 96da03431d9c3ad255ff6572b0b468f5ac0d3258 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
2013-12-28  Arthur de Jong <arthur@arthurdejong.org>

	* [e3f0453] configure.ac: Re-organise ldap function tests

2013-12-21  Arthur de Jong <arthur@arthurdejong.org>

	* [3ce5ef9] : Make dn2uid cache tuneable

	  This introduces a new cache configuration option that allows
	  setting positive and negative cache lifetimes for the dn2uid cache.

	* [19f3cc3] tests/test_cfg.c: Add a test for new configuration option

	* [09969cf] man/nslcd.conf.5.xml: Document cache option in
	  manual page

	* [a0c90d2] nslcd/passwd.c: Use dn2uid cache options

	  The configuration values are used in the cache to determine
	  positive and negative hit TTLs. This also allows completely
	  disabling the cache.

	* [99ad1b4] nslcd/cfg.c, nslcd/cfg.h: Implement a cache configuration
	  option

	  This adds the cache nslcd.conf configuration option to configure
	  the dn2uid cache in nslcd with a positive and negative cache
	  lifetime.

2013-12-19  Arthur de Jong <arthur@arthurdejong.org>

	* [82bac61] nslcd/passwd.c: Have positive and negative cache timeouts

	  The positive value determines the time a found entry is valid,
	  the negative timeout determines the lifetime of not found entries.

	* [b9ec6df] nslcd/cfg.c: Support printing children search scope

	  This fixes 2caeef4.

2013-12-18  Arthur de Jong <arthur@arthurdejong.org>

	* [9f02853] nslcd/alias.c, nslcd/common.c, nslcd/common.h,
	  nslcd/ether.c, nslcd/group.c, nslcd/host.c, nslcd/myldap.c,
	  nslcd/netgroup.c, nslcd/network.c, nslcd/pam.c, nslcd/passwd.c,
	  nslcd/protocol.c, nslcd/rpc.c, nslcd/service.c, nslcd/shadow.c,
	  nslcd/usermod.c: Centralise buffer sizes

	  Common buffer sizes are now stored centrally so it can be easily
	  and consistently updated if required. Some buffers remain with
	  locally defined sizes that do not match a global buffer size.

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

	* [23a41ce] compat/pam_get_authtok.c, compat/pam_prompt.c,
	  configure.ac, pam/pam.c: Add a test for pam_get_item() argument
	  type

	  This checks whether pam_get_item() takes a const void ** or void
	  ** item value argument and defines a PAM_ITEM_CONST macro that
	  is const when it should. This avoids some compiler warnings.

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

	* [81bfb8b] 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.2 release

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

	* [ef0edda] tests/test_myldap.sh, tests/test_nsscmds.sh,
	  tests/test_pamcmds.expect: Portability fixes to environment tests

	  This mostly tries to reduce the influences of the test environment
	  (local users and groups) on the tests. This uses another username
	  (vsefcovic) in the PAM tests instead of the user arthur to avoid
	  clashes with existing users.

	  The PAM tests are skipped if passwd claims that it cannot modify
	  LDAP passwords (for FreeBSD).

	* [f8af48f] compat/ldap_parse_passwordpolicy_control.c,
	  nslcd/common.c, nslcd/config.c, nslcd/group.c, nslcd/nslcd.c,
	  nslcd/pam.c, nslcd/protocol.c, nslcd/rpc.c, nslcd/service.c,
	  nss/bsdnss.c, nss/ethers.c, nss/group.c, nss/netgroup.c,
	  nss/networks.c, nss/passwd.c, nss/protocols.c, nss/rpc.c,
	  nss/services.c, pam/pam.c: Fix a number of compiler warnings

	  This includes a number of small fixes for issues that were
	  formerly masked by the incorrect AC_LANG_PROGRAM check.

	* [88801f9] configure.ac: Add -Werror=implicit if compiler
	  supports it

	* [933bf8e] configure.ac: Fix usage of AC_LANG_PROGRAM

	  Apparently the macro got changed a long time ago to provide a
	  main() definition. This bug caused the extra warning flags to
	  not be added.

	* [6028226] compat/Makefile.am, compat/shell.h, configure.ac,
	  nslcd/usermod.c: Compatibility definitions for
	  {set,get,end}usershell()

	  This provides compatibility definitions for systems that don't
	  have these functions (some Solaris flavours).

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

	* [ed4cf47] nslcd/nslcd.c: Start invalidator after locking pidfile

	  This causes the pidfile to be written as the first thing after
	  daemonising nslcd to minimise the race between service script
	  completion and pidfile being locked.

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

	* [503644b] HACKING, README: Update documentation

	* [6be316e] autogen.sh, configure.ac: Specify m4 directory in
	  configure script

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

	* [1d8db24] nslcd/myldap.c, pynslcd/search.py: Also run invalidators
	  on initial connect

	  This also invalidates the caches configured with
	  reconnect_invalidate on the first successful search. This should
	  handle the case more gracefully where caches were filled with
	  negative hits before nslcd was running.

	* [ee8737f] tests/Makefile.am: Distribute setup_slapd.sh and
	  associated files

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

	* [e28e937] tests/test_myldap.sh, tests/testenv.sh: Improve
	  portability of ldap test

	  This supports old ldapsearch commands that don't support the -x
	  and -H options and ldapsearch commands that don't exit with a
	  failure code if nothing is found.

	  This also switches the test_myldap test to use the testenv check
	  for the LDAP server.

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

	* [8cc354a] tests/test_pamcmds.expect: Handle other responses
	  in test_pamcmds

	  This extends test_pamcmds to handle other pam/su/passwd errors
	  and responses (as seen on CentOS 5). Also switch to stronger
	  password when changing the test user's password to avoid problems
	  with password strength checks.

	* [0a95557] tests/Makefile.am, tests/in_testenv.sh,
	  tests/test_nsscmds.sh, tests/test_pamcmds.expect,
	  tests/test_pamcmds.sh, tests/testenv.sh: Make script to check
	  test environment

	  This changes the in_testenv.sh script into testenv.sh which has
	  more checks and a few functions to configure the test environment.

	* [1899e9a] tests/test.ldif: Remove unnecessary attributes from
	  test.ldif

	* [cebc2a1] tests/README: Update tests README

	  This refreshes the documentation of the tests, especially the
	  test environment.

	* [7cbb439] tests/config.ldif, tests/setup_slapd.sh: Provide a
	  script for setting up slapd

	  The setup_slapd.sh script can be used to set up and start a
	  slapd instance in a single (temporary) directory. The slapd
	  instance is configured and loaded with test data for use in the
	  test environment.

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

	* [aeccbfe] tests/test_nsscmds.sh: Fix sortgroup function

	  This fixes an issue with the sortgroup function which failed to
	  handle a group line with only two colons correctly. Such group
	  entries have been seen in the wild on FreeBSD.

	  Also, comment lines in group files are now ignored (also seen
	  on FreeBSD).

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

	* [0697347] common/dict.c: Use djb2 hash in dict module

	  This slightly modifies the string hashing function to use the
	  djb2 hash.  This hash is supposed to be reasonably fast and have
	  reasonably few collisions.

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

	* [61e96bf] nslcd/cfg.h: Increase NSS_LDAP_CONFIG_MAX_BASES to 31

	  This allows more search bases which may be useful in some
	  environments.

2013-09-15  Arthur de Jong <arthur@arthurdejong.org>

	* [2f088ec] common/tio.c: Also support poll() returning EAGAIN

2013-09-13  Arthur de Jong <arthur@arthurdejong.org>

	* [173d768] configure.ac: Add more python module checks to configure

	* [b7ca95a] configure.ac: Make missing Python modules a waring

	  This avoids having to have all modules installed in the build
	  environment. A Python version is still required during build.

	* [f36bb81] pynslcd/cache.py, pynslcd/group.py: Remove unneeded
	  imports

	* [8ae8b9a] Makefile.am, configure.ac, tests/Makefile.am: Cleanups
	  and fixes related to automake upgrade

	  This removes a few legacy workarounds and fixes for older versions
	  of automake. This also removes adding specific DEBUG flags for
	  tests since subdir objects are handled differently now.

	* [2bd2bc4] pam/pam.c: Initialise msg to avoid potential NULL
	  pointer dereference

	  The NULL pointer dereference in the PAM module should not occur due
	  to the relationship with the rc value that is handled alongside
	  it. This change mostly silences the compiler and protects from
	  future changes.

	* [dccc9cf] configure.ac: Add configure test for
	  {set,get,end}usershell() availability

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

	* [4fc4197] autogen.sh: Upgrade to automake 1.14

	* [bc6a18e] nslcd/nslcd.c: Use larger nslcd send buffers

	  By using bigger write buffers in nslcd we reduce the number of
	  writes in nslcd and consequently the number of reads in the NSS
	  and PAM modules for bigger responses.

	  This reduces the number of system calls that are made during
	  a request and brings a small performance improvement that is
	  mainly measurable in the NSS module. A measurement showed 30-80%
	  reduction in the number of system calls in the NSS module and
	  around 10% reduction in CPU usage (CPU time, only small reduction
	  in wallclock time).

	  Thanks John Sullivan for pointing this out.

	* [58d50bf] configure.ac, man/Makefile.am: Add configure check to
	  see whether to install manual pages

	  This also reworks the manual page generation check in the configure
	  script and avoids build errors if no tool for generating manual
	  pages is present when working on a Git checkout.

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

	* [ce95b41] ldapns.ldif: Reformat LDIF file to follow OpenLDAP format

	  This fixes a wrapping problem. Thanks to Paul Boven for pointing
	  this out.

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

	* [8b169f1] tests/test_common.c: Fix permissions of test
	  configuration

	  This sets the permissions on the nslcd-test.conf file while
	  running the tests to ensure that the permission checks for the
	  bindpwn and rootpwmodpw options do not fail the test.

	* [560e5de] .gitignore, tests/Makefile.am, tests/test_tio_timeout.c:
	  Add a test for tio timeout calculations

	  This test checks whether the proposed remaining time to sleep
	  is reasonable.

	* [db5382e] .gitignore, tests/Makefile.am, tests/test_clock.c:
	  Add a test for clock_gettime() supported clocks

	  This probes the system for available clocks to see if they can
	  be reliably used to get a monotonic-like timer (the test doesn't
	  verify the monotonic part, just usability).

	* [7895739] AUTHORS, common/tio.c, configure.ac: Use clock_gettime()
	  instead of gettimeofday()

	  This avoids problems with system clock changes (though there
	  are some safeguards in place to avoid waiting too long on clock
	  changes).

	  Thanks to John Sullivan for pointing this out.

	  We can't easily use CLOCK_MONOTONIC_RAW or CLOCK_MONOTONIC_COARSE
	  even on platforms that define the clock because we can get
	  runtime errors.  CLOCK_MONOTONIC seems to work on all tested
	  platforms that provide it.

	* [a683aa8] tests/test_manpages.sh: Small protability fix

	* [c8800eb] tests/test_manpages.sh: Improve robustness of
	  test_manpages

2013-08-31  Arthur de Jong <arthur@arthurdejong.org>

	* [644df52] common/tio.c, common/tio.h: Use normal timeout handling
	  in tio_skipall()

	  Use the same mechanism in tio_skipall() as in tio_read(), except
	  use a different timeout value.

	* [0787d45] common/tio.c: Refactor tio_wait()

	  This changes the function to accept a file descriptor, an event
	  and timeout parameter directly instead of a confusing flag.

	* [07a8170] common/tio.c: Fix buffer overflow on interupted read

	  The tio_read() function will read past its buffer and return
	  garbadge to the calling function if the call to read() was
	  interrupted by a signal.

	  The likelyhood of read() being interupted is low because previously
	  a call to poll() has determined that data is available to be read.

	  Thanks to John Sullivan for pointing this out.

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

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

	* [4897033] nslcd/common.h: In nslcd, log EPIPE only on debug level

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

	* [c9e2f97] common/tio.c, common/tio.h, nss/common.h: Use a timeout
	  when skipping remaining result data

	  When the NSS modules closes the connection and skips any remaining
	  result data, wait for up to 500 msec to read any available data.

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

2013-08-27  Bersl <bersl2@bersl2.info>

	* [7140d21] AUTHORS, nslcd/group.c, nslcd/passwd.c, nslcd/shadow.c:
	  Increase password buffer size

	  With the smaller buffers some password hashes would be truncated.

2013-08-28  Arthur de Jong <arthur@arthurdejong.org>

	* [8571bc1] NEWS, README, common/dict.c, compat/attrs.h,
	  compat/nss_compat.h, man/nslcd.conf.5.xml, nslcd/myldap.c:
	  Fix for common spelling mistake

2013-08-25  Arthur de Jong <arthur@arthurdejong.org>

	* [890d227] 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.1 release

	* [f9b4b43] Makefile.am: Have a nicer way of generating the ChangeLog

	  This adds the commit id, improves the line wrapping and also
	  gets rid of the external dependency.

	* [321d8a3] pynslcd/pynslcd.py: Handle failure of getpeercred
	  more gracefully

	* [f18729e] tests/Makefile.am: Only run pynslcd tests if it
	  is enabled

	* [f54f2ad] configure.ac, m4/ax_python_module.m4: Add configure
	  test for Python modules

	  This uses the AX_PYTHON_MODULE test to check for availability
	  of used Python modules. All third-party modules and modules that
	  are not a builtin for Python 2.5 are tested.

	  This also splits the tests for the utils and pynslcd.

	* [6f61482] pynslcd/attmap.py, pynslcd/group.py, pynslcd/pynslcd.py,
	  pynslcd/tio.py, utils/getent.py, utils/nslcd.py: Rearrange
	  Python imports

2013-08-23  Arthur de Jong <arthur@arthurdejong.org>

	* [f6c20ee] nslcd/nslcd.c: Ignore SIGUSR2 for future compatibility

	* [27abbbb] man/Makefile.am, tests/Makefile.am,
	  tests/test_manpages.sh: Add a test for the manual pages

	  This replaces e0491d2 to run xmlto from the man directory. This
	  handles the case more gracefully if xmlto is not available.

2013-08-18  Arthur de Jong <arthur@arthurdejong.org>

	* [494833d] config.guess, config.sub: Update files from latest
	  automake

2013-08-21  Arthur de Jong <arthur@arthurdejong.org>

	* [7b474d0] pynslcd/group.py, pynslcd/passwd.py, pynslcd/shadow.py:
	  Have pynslcd handle mapped userPassword

	  This fixes an error that could occur when the userPassword was
	  retrieved from LDAP and insufficient privileges were available
	  for reading the attribute.

	* [b0358f7] : Retry LDAP servers quickly after receiving SIGUSR1

	  When nslcd receives the SIGUSR1 signal it will retry connecting
	  to unavailable LDAP servers sooner.

	  This signal can for example be sent when (re)stablishing a
	  network connection.

2013-08-20  Arthur de Jong <arthur@arthurdejong.org>

	* [ebbe8a6] man/nslcd.8.xml, nslcd/nslcd.c: Handle SIGUSR1 by
	  resetting the retry timer

	  This implements and documents handling of the SIGUSR1 signal in
	  nslcd to reset the reconnect_sleeptime and reconnect_retrytime
	  timers to re-check availability of the LDAP server.

	* [8bdb289] nslcd/myldap.c, nslcd/myldap.h: Implement function
	  for resetting reconnect times

	  This implemens a myldap_immediate_reconnect() function that
	  resets the reconnect timer to retry failing connections to the
	  LDAP server upon the next search.

	  This can be used to cut the reconnect_sleeptime and
	  reconnect_retrytime sleeping periodss short if we have some
	  indication that the LDAP server is available again.

	* [d58f163] nslcd/common.h, nslcd/nslcd.c, nslcd/shadow.c: Return
	  partial shadow information to non-root users

	  This also returns everything except the password hash from
	  the shadow database to non-root users (nothing was returned
	  before). This allows non-root users to do PAM authentication in
	  some configurations.

	  On some systems there is a setgid executable that is allowed to
	  read /etc/shadow for authentication by e.g. screensavers. Returning
	  no shadow information will cause pam_unix to deny authorisation
	  in common configurations.

	  See: http://bugs.debian.org/706913

	* [34365b4] nslcd/cfg.c: Add cast to int when logging configuration
	  summary

2013-08-18  Arthur de Jong <arthur@arthurdejong.org>

	* [44a38eb] pam/pam.c: Small fix in NEW_AUTHTOK_REQD handling

	  There is a potential memory leak if the old password is saved
	  multiple times. Furthermore, PAM_NEW_AUTHTOK_REQD is only allowed
	  as a result of the authorisation phase, not the authentication
	  phase so there is no use in checking.

	* [d8637bb] pynslcd/pam.py: Fix rootpwmodpw handling in pynslcd

	* [13d31b7] pynslcd/common.py: Fix not logging passwords in pynslcd
	  (7108b1f)

	* [7e90541] tests/nslcd-test.conf, tests/test.ldif: Update files
	  from test environment

2013-07-29  Arthur de Jong <arthur@arthurdejong.org>

	* [724a75f] utils/getent.py: Improve error and help output of
	  getent command

2013-08-18  Arthur de Jong <arthur@arthurdejong.org>

	* [882f7be] tests/Makefile.am, tests/pylint.rc, tests/test_pylint.sh:
	  Run pylint as a test

	  This runs a somewhat limited pylint run against the source
	  files. It should at least catch some issues.

	* [79209ee] pynslcd/common.py, pynslcd/group.py, pynslcd/pam.py,
	  pynslcd/passwd.py: Rename isvalidname() to is_valid_name()
	  in pynslcd

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

	* [e0491d2] man/Makefile.am: Run xmlto on manual pages as part of
	  the tests

2013-08-18  Arthur de Jong <arthur@arthurdejong.org>

	* [7108b1f] pynslcd/common.py: Do not log passwords in pynslcd

	* [cda6dcd] : Implement an option to run in the foreground

	  This introduces a -n, --nofork option that skips the deamonising
	  step on start-up. This may be required for running nslcd from
	  upstart.

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

	* [1825be6] man/nslcd.8.xml, man/pynslcd.8.xml: Document -n,
	  --nofork option

	* [82bcfd7] pynslcd/pynslcd.py: -n switch for pynslcd

2013-08-17  Caleb Callaway <enlightened.despot@gmail.com>

	* [14b93b9] nslcd/nslcd.c: -n switch for nslcd (prevents process
	  from forking)

2013-08-17  Arthur de Jong <arthur@arthurdejong.org>

	* [8a3f0f5] : Improvements to pynslcd caching functionality

	  This fixes most of the existing caching functionality. Cache
	  expiry, negative hits and entries going away remain to be
	  implemented.

2013-08-16  Arthur de Jong <arthur@arthurdejong.org>

	* [a066bcb] configure.ac, tests/Makefile.am,
	  tests/test_pynslcd_cache.py: Implement tests for caching
	  functionality

2013-08-12  Arthur de Jong <arthur@arthurdejong.org>

	* [d66162a] pynslcd/alias.py, pynslcd/cache.py, pynslcd/group.py,
	  pynslcd/host.py, pynslcd/netgroup.py, pynslcd/network.py,
	  pynslcd/protocol.py, pynslcd/rpc.py, pynslcd/service.py: Use
	  retrieve_by, group_by and group_columns in the cache

	  This removes custom retrieve() functions and Query classes from
	  the database modules and uses retrieve_sql retrieve_by, group_by
	  and group_columns to make a custom retrieval query.

	  In the cache module this completely replaces how the query grouping
	  is done. The Query class is now only used inside the cache and the
	  CnAliasedQuery, RowGrouper and related classed have been removed.

2013-04-23  Arthur de Jong <arthur@arthurdejong.org>

	* [bfe22cc] pynslcd/cache.py: Make Cache a context manager

2013-08-12  Arthur de Jong <arthur@arthurdejong.org>

	* [1b89df5] pynslcd/alias.py, pynslcd/cache.py, pynslcd/group.py,
	  pynslcd/host.py, pynslcd/netgroup.py, pynslcd/network.py,
	  pynslcd/protocol.py, pynslcd/rpc.py, pynslcd/service.py: Give
	  cache tables friendlier names

	  This also defined the tables for netgroup storage.

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

	* [7671276] pynslcd/alias.py, pynslcd/cache.py, pynslcd/group.py,
	  pynslcd/host.py, pynslcd/network.py, pynslcd/protocol.py,
	  pynslcd/rpc.py, pynslcd/service.py: Explicitly define tables
	  used for cache

	  This introduces the tables property in the Cache object that is
	  used to define the used tables.

	  This also fixes the storing of mulit-valued attributes in
	  the cache.

2013-04-16  Arthur de Jong <arthur@arthurdejong.org>

	* [b0b5723] pynslcd/alias.py, pynslcd/cache.py, pynslcd/ether.py,
	  pynslcd/group.py, pynslcd/host.py, pynslcd/netgroup.py,
	  pynslcd/network.py, pynslcd/passwd.py, pynslcd/protocol.py,
	  pynslcd/rpc.py, pynslcd/service.py, pynslcd/shadow.py: Move
	  cache table creation to modules

	  This also moves the creation of a SQLite database connection to
	  a _get_connection() function to ensure the cache is only created
	  when the caches are instantiated.

2013-07-30  Arthur de Jong <arthur@arthurdejong.org>

	* [84d22e6] pynslcd/passwd.py: Fix missing part of d659e83

2013-07-29  Arthur de Jong <arthur@arthurdejong.org>

	* [ec53918] pynslcd/group.py, pynslcd/passwd.py: Use cleaner import
	  and get rid of uid2dn function in pynslcd

	* [d659e83] pynslcd/cfg.py, pynslcd/passwd.py: Handle the nss_min_uid
	  option in pynslcd

	* [7092d40] pynslcd/cfg.py, pynslcd/group.py: Handle the
	  nss_initgroups_ignoreusers option in pynslcd

	* [a0e12e6] pynslcd/cfg.py, pynslcd/pam.py: Fix handling of
	  pam_password_prohibit_message in pynslcd

	* [fa97bcc] pynslcd/Makefile.am, pynslcd/config.py,
	  pynslcd/pynslcd.py: Implement config request handling in pynslcd

	  This allows the PAM module to request the
	  pam_password_prohibit_message option for denying password change.

	* [a3acbec] pynslcd/pam.py: Implement PAM session handling in pynslcd

	  Just like in nslcd this doesn't actually do anything with the
	  session ids except generating them.

2013-07-26  Arthur de Jong <arthur@arthurdejong.org>

	* [4031750] pynslcd/search.py: Properly handle start_tls in pynslcd

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

	* [5d3f681] configure.ac: Have configure show --disable-utils
	  by default

	  Since the utils are automatically built if Python is available
	  --disable is more appropriate a default then --enable.

	* [5adc2ca] tests/test_pycompile.sh: Have test_pycompile not write
	  any pyc files

	  We need to avoid writing pyc files because during make distcheck,
	  the source directory is read-only.

	  This also ensures that the test is skipped if the Python
	  interpreter is not found.

	* [e17730f] README: Dcoumentation updates

	  This fixes a typo, clarifies the section on the LDAP schema
	  values that are supported and updates the differences between
	  nss-pam-ldapd and nss_ldap and pam_ldap.

2013-07-26  Arthur de Jong <arthur@arthurdejong.org>

	* [30ffdb2] tests/Makefile.am, tests/test_pycompile.sh: Test Python
	  syntax on make check

	* [10eec70] : Merge fixes for reconnect_invalidate option

	  The branch accidentally got merged before it was fully tested.

	* [dce98a5] nslcd/cfg.c, nslcd/invalidator.c, pynslcd/invalidator.py,
	  pynslcd/pynslcd.py: Fix errors in invalidator changes

	  This fixes a few typos and an omission in the configuration file
	  parsing code.

	* [7c85202] : Make cache invalidation more generic

	  This changes the nscd_invalidate option into a more generic
	  reconnect_invalidate and also allows clearing the nfsidmap cache.

	* [e1b0399] man/nslcd.conf.5.xml, nslcd/Makefile.am, nslcd/cfg.c,
	  nslcd/cfg.h, nslcd/common.h, nslcd/invalidator.c, nslcd/myldap.c,
	  nslcd/nscd.c, nslcd/nslcd.c, pynslcd/Makefile.am, pynslcd/cfg.py,
	  pynslcd/invalidator.py, pynslcd/nscd.py, pynslcd/pynslcd.py,
	  pynslcd/search.py, tests/Makefile.am: Rename nscd_invalidate
	  option to reconnect_invalidate

	  This also renames the internal nscd module to invalidator for
	  both nslcd and pynslcd. The new invalidator module is now no
	  longer nscd-specific.

	* [6054499] man/nslcd.conf.5.xml, nslcd/attmap.c, nslcd/cfg.c,
	  nslcd/cfg.h, nslcd/nscd.c, pynslcd/cfg.py, pynslcd/nscd.py:
	  Allow invalidating the nfsidmap cache

	  This introduces an nfsidmap value for nscd_invalidate which will
	  cause the nfsidmap -c command to be run.

2013-07-17  Arthur de Jong <arthur@arthurdejong.org>

	* [d2e2e40] pynslcd/nscd.py: Fix nscd cache flushing bug in pynslcd

	  The pynslcd implementation would always clear the passwd nscd
	  cache regardless of the provided map.

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

	* [5b78508] .gitignore, INSTALL, ar-lib, autogen.sh, compile,
	  config.guess, config.sub, configure.ac, depcomp, install-sh,
	  missing, mkinstalldirs, py-compile, test-driver: Upgrade to
	  automake 1.13

2013-05-20  Arthur de Jong <arthur@arthurdejong.org>

	* [ee7b2e9] tests/lookup_shadow.c: Add an explicit cast to int
	  in lookup_shadow

2013-04-14  Arthur de Jong <arthur@arthurdejong.org>

	* [b6f5047] nslcd/nscd.c: Make tests for system call failures a
	  little more robustly

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

	* [97d35f3] pynslcd/pynslcd.py: Ignore errors in opening NSS module

2013-04-12  Arthur de Jong <arthur@arthurdejong.org>

	* [b15dc66] pynslcd/cache.py, pynslcd/cfg.py, pynslcd/group.py,
	  pynslcd/nscd.py, pynslcd/pynslcd.py, pynslcd/search.py,
	  pynslcd/shadow.py, pynslcd/tio.py, pynslcd/usermod.py,
	  utils/chsh.py, utils/getent.py, utils/nslcd.py, utils/users.py:
	  Python style changes

	  This tries to conform more closely to PEP8. Imports have been
	  checked and, if used only once, moved closer to the use to avoid
	  potential import loops. This also includes a few other minor
	  changes, like using __main__ for utility scripts and variable
	  renames to avoid name clashes.

	* [d3c6a66] pynslcd/pam.py: Raise an error with a missing old
	  password on password modification

	* [f45b24d] utils/nslcd.py: Set FD_CLOEXEC on the client socket
	  in utilities

	* [bc35197] pynslcd/pam.py: Fix getting caller's uid on password
	  change (pynslcd)

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

	* [84402e5] utils/Makefile.am: Install utilities in share/nslcd-utils

	* [b5b4239] man/Makefile.am: Fix the way manual pages are installed

	  The :u flag apparently isn't portable across versions of make
	  and automake rules complain if a manual page is added twice to
	  a target.

2013-04-05  Arthur de Jong <arthur@arthurdejong.org>

	* [187c626] ChangeLog, NEWS, TODO, configure.ac,
	  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.0 release

	* [2616f43] pynslcd/Makefile.am: Include the usermod.py file in
	  the distribution

	* [c519729] man/chsh.ldap.1.xml: Fix docbook validation

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

	* [1c31305] configure.ac: Ignore missing Python in initial test

	* [4b01125] nslcd/nslcd.c: Fix comment

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

	* [d7990de] pynslcd/pam.py: Update the shadowLastChange on password
	  change in pynslcd

	* [ea6bff3] pynslcd/pam.py: Implement password modification
	  in pynslcd

	* [62a409c] : Implement used modification functionality

	  This adds user information modification functionality to nslcd
	  and pynslcd and implements a chsh.ldap utility that can be
	  used to change the login shell of a user (similar to the normal
	  chsh command).

	  The user modification functionality should allow for generic
	  modifications of user information. More utility commands to
	  perform modifications remain to be implemented.

	* [012b185] .gitignore, man/Makefile.am, man/chsh.ldap.1.xml,
	  utils/Makefile.am, utils/chsh.py, utils/cmdline.py, utils/nslcd.py,
	  utils/shells.py, utils/users.py: Initial version of a chsh.ldap
	  utility

	* [d0482fb] pynslcd/pynslcd.py, pynslcd/usermod.py: Handle user
	  modification requests in pynslcd

	  Similar to the nslcd implementation, this currently only covers
	  modifying the homeDirectory and loginShell attributes.

	* [f1895f9] nslcd/Makefile.am, nslcd/common.h, nslcd/nslcd.c,
	  nslcd/usermod.c: Handle user modification requests in nslcd

	  This is currently limited to supporting modification of the
	  homeDirectory and loginShell attributes.

	  Modifications as root currently use the rootpwmoddn and rootpwmodpw
	  options.

	* [8fb5eb1] nslcd.h: Define a NSLCD_ACTION_USERMOD request

	  The modification can either be requested by root or by the
	  user itself.

	  Modifications by the user should be done by connecting to the
	  LDAP server with the user-supplied credentials. It is expected
	  that access controls in the LDAP server prevent unwanted
	  modifications. The nslcd process is expected to check whether
	  supplied values are sensible.

	* [aae36cf] pynslcd/pam.py: Rename authentication function and
	  return connection

	* [355c2af] configure.ac: Fix test for absence of Python

	* [f478830] pynslcd/cfg.py: Mark unsupported pynslcd configuration
	  options

	* [2b097f7] configure.ac: Preset default configure values
	  consistently

	* [6ceb1df] configure.ac: Give an error when the Python interpreter
	  is missing

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

	* [a47b20f] configure.ac: Build command-line utilities by default
	  if Python is available

	* [adde1d4] : Implement clearing of nscd cache in pynslcd

	* [a75cfb9] pynslcd/nscd.py, pynslcd/search.py: Detect and handle
	  connection failure and recovery

	  Logs a connection recovery message and run a nscd cache
	  invalidation if configured.

	* [585d388] pynslcd/pynslcd.py: Start the nscd invalidator process
	  if needed

	* [d4c5c96] pynslcd/cfg.py: Parse the nscd_invalidate option

	* [11b1739] pynslcd/Makefile.am, pynslcd/nscd.py: Functionality
	  for clearing the nscd cache in pynslcd

	* [65a65ad] pynslcd/pynslcd.py: Switch to using os.environ instead
	  of os.putenv()

	  The os.putenv() call doesn't update os.environ and Python
	  documentation recommends using os.environ.

	* [46cf240] pynslcd/pam.py: Rename validate_request to validate

	* [7d1e492] pynslcd/pam.py: Also perform authentication search
	  using LDAPSearch class

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

	* [302c2fa] tests/test_nsscmds.sh: Make the NSS tests dependant
	  on the configuration of nsswitch.conf

	* [8790b40] tests/test_myldap.c: Do not rely on printf() being
	  able to print NULL strings

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

	* [932c641] man/nslcd.conf.5.xml: Fix manual page generation

	* [07ca836] nslcd/cfg.h: Fix comment for nss_nested_groups config
	  option

	* [3daa68d] : Implement support for nested groups

	* [642064c] tests/test.ldif, tests/test_nsscmds.sh: Add tests for
	  nested group functionality

	  This also includes some changes to the test directory contents
	  that were for other tests and functionality.

	* [b1b7648] README, man/nslcd.conf.5.xml, nslcd/cfg.c, nslcd/cfg.h,
	  nslcd/group.c, pynslcd/cfg.py, pynslcd/group.py: Implement a
	  nss_nested_groups configuration option

	  This option can be used in both nslcd and pynslcd to enable
	  recursive group member lookups. By default the functionality is
	  disabled. This also updates the documentation.

	* [d6a6e8b] pynslcd/common.py, pynslcd/group.py: Implement support
	  for nested groups in pynslcd

	* [41ba574] nslcd/group.c: Implement support for nested groups
	  in nslcd

	  This differs from the code provided by Steve Hill in that it avoids
	  (recursively) performing parallel LDAP searches by queueing groups
	  and check for extra members per queued group (in the forward
	  lookup) or check for extra parents (for the user to groups lookup).

	  For the reverse lookup handling the NSLCD_HANDLE macro could no
	  longer be used because extra care should be taken to free the
	  sets before returning and two search phases are needed.

2013-03-20  Steve Hill <steve@opendium.com>

	* [08f5301] AUTHORS, nslcd/group.c: Implement a
	  mkfilter_group_bymemberdn() function

	  This was part of a bigger change to implement nested groups,
	  however most of the other parts were re-implemented differently.

	  For the original changes, see:
	  http://lists.arthurdejong.org/nss-pam-ldapd-users/2013/msg00034.html

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

	* [edd119c] tests/test.ldif, tests/test.ldif.gz: Unpack the LDIF
	  file to make diffs clearer

	* [b0785de] nslcd/cfg.h, nslcd/myldap.c: spelling fixes

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

	* [402d3f3] nslcd/service.c: fix service request logging

2013-03-19  Jakub Hrozek <jhrozek@redhat.com>

	* [f21efd6] nss/common.h: NSS: Return TRYAGAIN on zero-length buffer

	  One of our customers was running into a situation where glibc
	  provided a zero buffer, which is a condition that is retriable
	  and the nss module should return NSS_STATUS_TRYAGAIN not
	  NSS_STATUS_UNAVAIL.

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

	* [7926326] nss/shadow.c: fix the text representation of shadow
	  information for nscd on Solaris

	* [83c5788] .gitignore, tests/Makefile.am, tests/lookup_shadow.c:
	  implement a lookup_shadow test command for use on systems that
	  don't allow querying shadow via getent

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

	* [fa27d94] nslcd/cfg.c, nslcd/nscd.c: fix a few compiler warnings

	* [0b5b4d1] configure.ac: guess the value for --with-pam-seclib-dir
	  if it is not specified

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

	* [24c565c] tests/test_pamcmds.sh: small portability fix in
	  test_pamcmds.sh

	* [6a92621] nslcd/service.c: only log protocol name if it is present

	* [f7c6771] compat/ldap_parse_passwordpolicy_control.c, configure.ac:
	  also support systems without bet_get_enum()

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

	* [ba5f39f] pynslcd/pynslcd.py: log hex value of action id to make
	  debugging easier

	* [11ca816] pynslcd/pam.py: ensure consistent naming of DN variables

	* [116d215] pynslcd/attmap.py, pynslcd/group.py,
	  pynslcd/netgroup.py, pynslcd/pam.py, pynslcd/search.py,
	  pynslcd/service.py, pynslcd/shadow.py: clean up imports and use
	  ldap.filter.escape_filter_chars() directly

	* [ac30060] pynslcd/pam.py, pynslcd/pynslcd.py, pynslcd/search.py:
	  move get_connection function to search module as Connection class
	  as subclass of ReconnectLDAPObject to automatically reconnect
	  to the LDAP server

	* [4e60340] pynslcd/Makefile.am, pynslcd/alias.py, pynslcd/common.py,
	  pynslcd/ether.py, pynslcd/group.py, pynslcd/host.py,
	  pynslcd/netgroup.py, pynslcd/network.py, pynslcd/pam.py,
	  pynslcd/passwd.py, pynslcd/protocol.py, pynslcd/rpc.py,
	  pynslcd/search.py, pynslcd/service.py, pynslcd/shadow.py: move
	  Search class to search module

	* [975ee2c] pynslcd/cfg.py: fix default logging configuration
	  setting in pynslcd

	* [8a67c9f] common/tio.c: fix the description of the
	  tio_time_remaining() function

	* [d19f1df] man/nslcd.conf.5.xml: document the nscd_invalidate option

	* [bf64710] nslcd/myldap.c, nslcd/nscd.c, nslcd/nslcd.c: start the
	  nscd invalidator and invalidate the nscd cache after reconnecting
	  to the LDAP server after failure

	* [d413a64] nslcd/cfg.c, nslcd/cfg.h: implement parsing of the
	  nscd_invalidate option

	* [008f8a9] configure.ac, nslcd/Makefile.am, nslcd/common.h,
	  nslcd/nscd.c, tests/Makefile.am: implement functionality to send
	  a cache invalidation signal to nscd

	* [9a6f5b2] nslcd/common.c, nslcd/common.h, nslcd/nslcd.c: move
	  signame() function to common.c to make it available to all modules

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

	* [646dfa8] man/nslcd.conf.5.xml: document the trimming expressions
	  in the nslcd.conf(5) manual page

	* [54a3dba] pynslcd/expr.py: support trimming expressions with
	  full shell glob matching in pynslcd

	* [8655355] tests/test_expr.c: add tests for trimming expressions

2013-01-04  Arthur de Jong <arthur@arthurdejong.org>

	* [6c05b76] common/expr.c: update the trimming expressions code
	  to follow the new coding style

2012-12-03  Thorsten Glaser <t.glaser@tarent.de>

	* [3731964] AUTHORS, common/expr.c: allow trimming expressions
	  with ${foo#bar} syntax in nslcd

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

	* [f56f926] nslcd/myldap.c, nslcd/myldap.h, nslcd/pam.c: return
	  the password policy bind information via PAM

2013-01-04  Arthur de Jong <arthur@arthurdejong.org>

	* [5fce062] compat/Makefile.am, compat/ldap_compat.h,
	  compat/ldap_passwordpolicy_err2txt.c, configure.ac: provide a
	  basic replacement implementation of ldap_passwordpolicy_err2txt()
	  for systems that don't have it

	* [37151df] compat/Makefile.am, compat/ldap_compat.h,
	  compat/ldap_parse_passwordpolicy_control.c, configure.ac: provide
	  a replacement implementation of ldap_parse_passwordpolicy_control()
	  for systems that don't have it

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

	* [1c2ab50] compat/ldap_compat.h, configure.ac, nslcd/myldap.c:
	  request and parse password policy controls when doing user
	  authentication in nslcd

2013-01-18  Arthur de Jong <arthur@arthurdejong.org>

	* [f2c49e6] nslcd/myldap.c: pass the session along to the do_bind()
	  function

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

	* [117327e] configure.ac: add some missing checks to the configure
	  script

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

	* [b4afe7c] nslcd/pam.c: log a more meaningful error in nslcd when
	  trying to authenticate as administrator when rootpwmoddn is not set

	* [31f9098] nslcd/common.h, nslcd/pam.c, nslcd/shadow.c: move
	  update_lastchange() function from shadow to pam code

	* [1a1bb07] utils/getent.py: move parsing to command line arguments
	  to main body

2013-02-28  Arthur de Jong <arthur@arthurdejong.org>

	* [38fb524] TODO: update TODO (setnetgrent() returns an error
	  since r1874)

2013-02-27  Arthur de Jong <arthur@arthurdejong.org>

	* [798820e] man/nslcd.conf.5.xml: include information about when
	  some of the options were added

	* [11283a5] nss/common.c: add missing include statement for NULL
	  definition

2013-02-23  Arthur de Jong <arthur@arthurdejong.org>

	* [12076c7] nslcd/nslcd.c, pynslcd/pynslcd.py: log version
	  information from the NSS module

	* [3155cdf] nss/common.c, nss/exports.freebsd, nss/exports.glibc,
	  nss/exports.solaris: define and export an _nss_ldap_version symbol

	* [61a3fce] pynslcd/ether.py: also search for alternative macAddress
	  representation in pynslcd

2013-02-12  Arthur de Jong <arthur@arthurdejong.org>

	* [a9aea20] nslcd/nslcd.c: extra sanity check to ensure not too
	  many file descriptors are open

2013-02-23  Arthur de Jong <arthur@arthurdejong.org>

	* [bfdf7cd] nslcd.h: clarify NSLCD_ACTION_SERVICE_* request
	  parameter description

	* [1c6d856] man/nslcd.conf.5.xml, nslcd/cfg.c, tests/test_common.c:
	  allow names with one character in default validnames option and
	  allow parentheses (taken from Fedora packages)

	* [d54243a] man/nslcd.conf.5.xml: document the log option

	* [c75599d] pynslcd/cfg.py, pynslcd/pynslcd.py: handle the log
	  configuration option in pynslcd

	* [efca5ca] nslcd/cfg.c, nslcd/log.c, nslcd/log.h, nslcd/nslcd.c:
	  handle the log configuration option in nslcd

	* [22be9b0] nslcd/log.c, nslcd/log.h: implement functions for
	  configuring alternative logging

2013-02-12  Arthur de Jong <arthur@arthurdejong.org>

	* [c12768a] man/getent.ldap.1.xml: fix docbook tag for file name

2013-01-05  Arthur de Jong <arthur@arthurdejong.org>

	* [60f1d85] Makefile.am: generate ChangeLog with git2cl

	* [ba93d8f] ChangeLog, ChangeLog-2012: archive 2012 changelog
	  messages into a year file including the change from Subversion

2013-01-28  Arthur de Jong <arthur@arthurdejong.org>

	* [91440f7] .gitignore, man/Makefile.am, man/getent.ldap.1.xml:
	  add getent.ldap(1) manual page

	* [ded7bd2] utils/Makefile.am, utils/cmdline.py, utils/getent.py,
	  utils/nslcd.py: implement a getent command to query nslcd while
	  bypassing NSS stack

2013-01-26  Arthur de Jong <arthur@arthurdejong.org>

	* [3117668] .gitignore, Makefile.am, configure.ac, utils/Makefile.am:
	  add an --enable-utils option to configure to build command-line
	  utilities

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

	* [7c01898] pynslcd/cache.py, pynslcd/common.py: disable pynslcd
	  cache for now

2013-01-27  Arthur de Jong <arthur@arthurdejong.org>

	* [b9395c8] nslcd.h, nslcd/common.h, nslcd/netgroup.c, nslcd/nslcd.c,
	  pynslcd/netgroup.py: implement a netgroup_all request

2013-01-18  Arthur de Jong <arthur@arthurdejong.org>

	* [0ae8e56] nslcd/nslcd.c: make checking dlsym() result a little
	  safer

	* [fb5d587] compat/ldap_passwd_s.c: fix copyright year

	* [16db596] common/tio.c: restructure timeout calculation in tio
	  to reduce the number of times gettimeofday() is called

	* [b01cd22] nslcd/log.c: use pthreads thread-local storage as
	  fallback mechanism if compiler doesn't provide a keyword for TLS

	* [d86497b] configure.ac, m4/ax_tls.m4, nslcd/log.c, nss/aliases.c,
	  nss/ethers.c, nss/group.c, nss/hosts.c, nss/netgroup.c,
	  nss/networks.c, nss/passwd.c, nss/protocols.c, nss/rpc.c,
	  nss/services.c, nss/shadow.c: use the AX_TLS macro to find
	  correct thread-local storage class compiler directive

	* [fa62cd3] nslcd/cfg.c, nslcd/cfg.h: dump full nslcd configuration
	  at debug level on start-up

2013-01-16  Arthur de Jong <arthur@arthurdejong.org>

	* [2765100] man/Makefile.am: fix the way manual pages are generated
	  and distributed

2013-01-14  Arthur de Jong <arthur@arthurdejong.org>

	* [2caeef4] man/nslcd.conf.5.xml, nslcd/cfg.c, pynslcd/cfg.py,
	  tests/test_cfg.c: support children search scope for systems that
	  have it

	* [4197ec3] pynslcd/cfg.py: fix parsing of scope option in pynslcd

	* [5e0bb05] tests/test_tio.c: support systems without ETIME

	* [b5b6c48] configure.ac, tests/lookup_netgroup.c: check whether
	  setnetgrent() returns int or void (for FreeBSD)

2013-01-12  Arthur de Jong <arthur@arthurdejong.org>

	* [0a5ac8b] nslcd/cfg.c, tests/test_cfg.c: reorganise configuration
	  file parsing code

	* [82b31fe] nslcd/myldap.c: have myldap_get_ranged_values() return
	  a list of values instead of a set

	* [388821a] nslcd/cfg.c, nslcd/group.c, nslcd/passwd.c,
	  nslcd/shadow.c: check result of set_tolist() to ensure that
	  memory allocation problems are logged

	* [cdae946] nslcd/myldap.c: fix memory leak in
	  myldap_get_values_len() when using ranged attributes (very
	  unlikely to occur)

	* [9b11d41] nslcd/myldap.c: fix a problem in memory handling in
	  myldap_get_values_len() if malloc() would fail

	* [2a73fa1] configure.ac: drop -Wcase-qual when using
	  --enable-warnings because it was causing too much noise

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

	* [4689d5f] nslcd/myldap.c: fix typo in comment

2013-01-06  Arthur de Jong <arthur@arthurdejong.org>

	* [eb86f87] pynslcd/pam.py: request and parse password policy
	  controls when doing user authentication in pynslcd

	* [28aeaa4] pam/pam.c: do not recheck the user password in first
	  password phase if it was stored in the authentication phase

	* [ba18be7] nslcd/pam.c: perform search for pam_authz_search on
	  all search bases

2013-01-05  Arthur de Jong <arthur@arthurdejong.org>

	* [65e184d] pynslcd/pam.py: some simplifications in the current
	  pynslcd PAM request handling

	* [8d054c8] nslcd/myldap.c, tests/test_cfg.c: update FIXMEs

	* [086a1a5] nslcd/ether.c: change ethernet address formatting from
	  FIXME to note

	* [c89c41b] pam/pam.c: save the old password if either the
	  authentication or the authorisation response is NEW_AUTHTOK_REQD

	* [33518d5] nslcd/myldap.c: inline most is_valid_...() functions

	* [5242233] compat/ldap_initialize.c: remove not needed define

	* [7a2b63f] common/nslcd-prot.h: log hex values when debugging
	  the protocol

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

	* [82010e2] nslcd/myldap.c, nslcd/myldap.h, nslcd/pam.c: log and
	  return a diagnostic message instead of just the LDAP error on
	  password change failure

	* [2f6f6a2] nslcd/pam.c: retry updating the lastChange attribute
	  with the normal nslcd LDAP connection if the update with the
	  user's connection failed

	* [864c522] pynslcd/pam.py: update pynslcd PAM protocol handling
	  to be in line with r1865