]> granicus.if.org Git - linux-pam/blob - ChangeLog
Relevant BUGIDs:
[linux-pam] / ChangeLog
1 2009-02-27  Tomas Mraz <t8m@centrum.cz>
2
3         * modules/pam_mkhomedir/pam_mkhomedir.c(create_homedir): Replace
4         signal() with sigaction().
5         * modules/pam_namespace/pam_namespace.c(inst_init, cleanup_tmpdirs):
6         Likewise.
7         * modules/pam_unix/pam_unix_acct.c(_unix_run_verify_binary): Likewise.
8         * modules/pam_unix/pam_unix_passwd.c(_unix_run_update_binary):
9         Likewise.
10         * modules/pam_unix/passverify.c(su_sighandler): Likewise.
11         * modules/pam_unix/support.c(_unix_run_helper_binary): Likewise.
12
13         * modules/pam_tally2/Makefile.am: Link the pam_tally2 app to libpam
14         for auxiliary functions.
15         * modules/pam_tally2/pam_tally2.8.xml: Drop non-existing no_reset
16         option. Document new serialize option.
17         * modules/pam_tally2/pam_tally2.c: Add support for the new serialize
18         option.
19         (_cleanup, tally_set_data, tally_get_data): Add tally file handle to
20         tally PAM data. Needed for fcntl() locking.
21         (get_tally): Use low level file access instead of stdio buffered FILE.
22         If serialize option is used lock the tally file access.
23         (set_tally, tally_bump, tally_reset): Use low level file access instead
24         of stdio buffered FILE. Close the file handle only when it is not owned
25         by PAM data.
26         (pam_sm_authenticate, pam_sm_setcred, pam_sm_acct_mgmt): Pass the tally
27         file handle to tally_set_data(). Get it from tally_get_data().
28         (main): Use low level file access instead of stdio buffered FILE.
29
30 2009-02-26  Tomas Mraz <t8m@centrum.cz>
31
32         * xtests/Makefile.am: Add tst-pam_unix4.
33         * xtests/tst-pam_unix4.c: New test for password change
34         and shadow min days limit.
35         * xtests/tst-pam_unix4.pamd: Likewise.
36         * xtests/tst-pam_unix4.sh: Likewise.
37
38         * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Ignore
39         PAM_AUTHTOK_ERR on shadow verification.
40         * modules/pam_unix/passverify.c (check_shadow_expiry): Return
41         PAM_AUTHTOK_ERR if sp_min limit for password change is defied.
42
43 2009-02-26  Timur Birsh <taem@linukz.org>
44
45         * po/LINGUAS: New Kazakh translation.
46         * po/kk.po: New Kazakh translation.
47
48 2009-02-25  Thorsten Kukuk  <kukuk@thkukuk.de>
49
50         * libpam/pam_misc.c (_pam_StrTok): Use unsigned char
51         instead of int. Reported by Marcus Granado.
52         * tests/Makefile.am (TESTS): Add tst-pam_mkargv.
53         * tests/tst-pam_mkargv.c (main): Test case for
54         _pam_mkargv.
55
56         * po/de.po: Update fuzzy translations.
57
58 2009-02-25  Tomas Mraz <t8m@centrum.cz>
59
60         * xtests/access.conf: Add a line for name resolution test case.
61         * xtests/tst-pam_access4.c (main): Set PAM_RHOST for testing the LOCAL
62         keyword. Add a test case for name resolution.
63
64         * modules/pam_access/pam_access.c (from_match): Move name resolution
65         to network_netmask_match().
66         (network_netmask_match): Do a name resolution of the origin only if
67         matching against a real network/netmask.
68
69 2009-02-25  Fabian Affolter <fabian@bernewireless.net>
70
71         * po/de.po: Updated translations.
72
73 2009-02-25  Taylon Silmer Lacerda Silva <taylonsilva@gmail.com>
74
75         * po/pt_BR.po: Updated translations.
76
77 2009-02-25  Domingo Becker <domingobecker@gmail.com>
78
79         * po/es.po: Updated translations.
80
81 2009-02-20  Thorsten Kukuk  <kukuk@thkukuk.de>
82
83         * modules/pam_limits/limits.conf.5.xml: Document that the kernel
84         can refuse values out of range for the local system.
85         * modules/pam_limits/pam_limits.c (setup_limits): Log if setrlimit
86         fails.
87
88 2009-02-18  Thorsten Kukuk  <kukuk@thkukuk.de>
89
90         * libpam/pam_password.c (pam_chauthtok): Make sure applications
91         don't set internal flags.
92
93 2009-02-17  Thorsten Kukuk  <kukuk@thkukuk.de>
94
95         * doc/man/pam_sm_chauthtok.3.xml: Document that sufficient
96         can break the PRELIM_CHECK chain.
97
98         * libpam/pam_dispatch.c: Don't freeze chain for chauthtok
99         [bugzilla.novell.com#470337]
100
101 2009-02-11  Daniel Nylander <po@danielnylander.se>
102
103         * po/sv.po: Updated translations.
104
105 2009-01-29  Thorsten Kukuk  <kukuk@thkukuk.de>
106
107         * doc/man/pam_sm_setcred.3.xml: Document PAM_ESTABLISH_CRED.
108
109 2009-01-19  Tomas Mraz <t8m@centrum.cz>
110
111         * modules/pam_mkhomedir/Makefile.am: Add mkhomedir_helper.
112         * modules/pam_mkhomedir/mkhomedir_helper.8.xml: New file. Manual page
113         for mkhomedir_helper.
114         * modules/pam_mkhomedir/mkhomedir_helper.c: New file. Source
115         for mkhomedir_helper. Most of the code moved from pam_mkhomedir.c.
116         * modules/pam_mkhomedir/pam_mkhomedir.c (_pam_parse): Do not convert umask
117         to integer.
118         (rec_mkdir): Moved to mkhomedir_helper.c.
119         (create_homedir): Just exec the helper.
120         (pam_sm_open_session): Improve logging.
121
122 2009-01-19  Daniel Cabrera <h.daniel.cabrera@gmail.com>
123
124         * po/es.po: Updated translations.
125
126 2009-01-14  Thorsten Kukuk  <kukuk@thkukuk.de>
127
128         * po/de.po: Updated translations.
129
130 2009-01-07  Piotr Drąg <piotrdrag@gmail.com>
131
132         * po/pl.po: Updated translations.
133
134 2008-12-23  Piotr Drąg <piotrdrag@gmail.com>
135
136         * po/pl.po: Updated translations.
137
138 2008-12-18  Thorsten Kukuk  <kukuk@thkukuk.de>
139
140         * modules/pam_pwhistory/pam_pwhistory.c (parse_option): Rename
141         type= option to authtok_type= (because of pam_get_authtok).
142         * modules/pam_pwhistory/pam_pwhistory.8.xml: Likewise.
143
144 2008-12-17  Tomas Mraz <t8m@centrum.cz>
145
146         * modules/pam_tty_audit/pam_tty_audit.c (pam_sm_open_session): Do
147         not abort on unknown option. Avoid double free of old_status.
148         (pam_sm_close_session): Use LOG_DEBUG for restored status message.
149
150         * configure.in: Test for getseuser().
151         * modules/pam_selinux/pam_selinux.c (pam_sm_open_session): Call getseuser()
152         instead of getseuserbyname() if the function is available.
153
154 2008-12-12  Thorsten Kukuk  <kukuk@thkukuk.de>
155
156         * release version 1.0.90
157
158         * libpam_misc/Makefile.am: Increase version number of shared library.
159         * libpamc/Makefile.am: Likewise.
160
161 2008-12-12  Tomas Mraz <t8m@centrum.cz>
162
163         * modules/pam_tally2/pam_tally2.c (get_tally): Test for EACCES
164         instead of EPERM.
165         * modules/pam_tally2/pam_tally2.8.xml: Fix documentation.
166
167 2008-12-10  Thorsten Kukuk  <kukuk@thkukuk.de>
168
169         * doc/man/pam_item_types_ext.inc.xml: Document PAM_AUTHTOK_TYPE.
170         * libpam/pam_end.c (pam_end): Free authtok_type.
171         * tests/tst-pam_get_item.c: Add PAM_AUTHTOK_TYPE
172         as test case.
173         * tests/tst-pam_set_item.c: Likewise.
174         * libpam/pam_start.c (pam_start): Initialize xdisplay,
175         xauth and authtok_type.
176         * libpam/pam_get_authtok.c (pam_get_authtok): Rename "type"
177         to "authtok_type".
178         * modules/pam_cracklib/pam_cracklib.8.xml: Replace "type=" with
179         "authtok_type=".
180         * doc/man/pam_get_authtok.3.xml: Document authtok_type argument.
181         * modules/pam_cracklib/pam_cracklib.c (pam_sm_chauthtok): Set
182         type= argument as PAM_AUTHTOK_TYPE item.
183         * libpam/pam_get_authtok.c (pam_get_authtok): If no type
184         argument given, use PAM_AUTHTOK_TYPE item.
185         * libpam/pam_item.c (pam_get_item): Fetch PAM_AUTHTOK_TYPE item.
186         (pam_set_item): Store PAM_AUTHTOK_TYPE item.
187         * libpam/pam_private.h: Add authtok_type to pam_handle.
188         * libpam/include/security/_pam_types.h (PAM_AUTHTOK_TYPE): New.
189
190 2008-12-03  Thorsten Kukuk  <kukuk@thkukuk.de>
191
192         * modules/pam_access/access.conf.5.xml: Replace
193         2001:4ca0 with 2001:db8:: [bug#2356400].
194
195         * doc/man/Makefile.am: Add pam_get_authtok.3.xml.
196         * doc/man/pam_get_authtok.3.xml: New.
197         * libpam/Makefile.am: Add pam_get_authtok.c.
198         * libpam/libpam.map: Export pam_get_authtok.
199         * libpam/pam_get_authtok.c: New.
200         * libpam/pam_private.h: Add mod_argc and mod_argv to pam_handle.
201         * libpam_include/security/pam_ext.h: Add pam_get_authtok
202         prototype.
203         * modules/pam_cracklib/pam_cracklib.c: Use pam_get_authtok.
204         * modules/pam_pwhistory/pam_pwhistory.c: Likewise.
205         * po/POTFILES.in: Add libpam/pam_get_authtok.c.
206         * xtests/tst-pam_cracklib1.c: Adjust error codes.
207
208         * modules/pam_timestamp/Makefile.am: Remove hmactest.c from
209         EXTRA_DIST.
210
211         * po/*.po: Regenerated.
212
213 2008-12-02  Michael Calmer  <mc@suse.de>
214
215         * modules/pam_limits/limits.conf.5.xml: Document valid values
216         for limits (bnc#448314).
217
218 2008-12-02  Thorsten Kukuk  <kukuk@thkukuk.de>
219
220         * modules/pam_env/pam_env.c: Add support for user specific
221         environment file. Based on a patch from Ubuntu.
222         * modules/pam_env/pam_env.8.xml: Document new options.
223
224 2008-12-02  Olivier Fourdan <ofourdan@redhat.com>
225
226         * modules/pam_filter/pam_filter.c (master): Use /dev/ptmx
227         instead of the old BSD pseudoterminal API.
228         (set_filter): Call grantpt(), unlockpt() and ptsname(). Do not
229         close pseudoterminal handle in filter child.
230         * modules/pam_filter/upperLOWER/upperLOWER.c (main): Use
231         regular read() instead of pam_modutil_read() to allow for
232         short reads.
233
234 2008-12-02  Tomas Mraz <t8m@centrum.cz>
235
236         * modules/pam_timestamp/Makefile.am: Add hmacfile to tests.
237         * modules/pam_timestamp/hmacfile.c: Do not try the short key
238         testvector.
239
240 2008-12-01  Tomas Mraz <t8m@centrum.cz>
241
242         * modules/pam_unix/support.h: Fix masks for cipher algorithm
243         flags.
244
245 2008-12-01  Thorsten Kukuk  <kukuk@thkukuk.de>
246
247         * modules/pam_unix/pam_unix.8.xml: Document blowfish option.
248
249         * configure.in: Check for crypt_gensalt_rn.
250         * modules/pam_unix/pam_unix_passwd.c: Pass pamh to
251         create_password_hash function.
252         * modules/pam_unix/passverify.c (create_password_hash): Add
253         blowfish support.
254         * modules/pam_unix/passverify.h: Adjust create_password_hash
255         prototype.
256         * modules/pam_unix/support.c: Add support for blowfish option.
257         * modules/pam_unix/support.h: Add defines for blowfish option.
258         Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
259
260 2008-12-01  Tomas Mraz <t8m@centrum.cz>
261
262         * modules/pam_access/pam_access.8.xml: Fix description of nodefgroup
263         option.
264
265         * modules/pam_group/pam_group.c (is_same): Fix check for correct
266         string length.
267
268 2008-11-29  Thorsten Kukuk  <kukuk@thkukuk.de>
269
270         * configure.in: Check for xcrypt.h, fix typo in libaudit check.
271         * modules/pam_cracklib/pam_cracklib.c: Include xcrypt.h if
272         available.
273         * modules/pam_unix/bigcrypt.c: Likewise.
274         * modules/pam_unix/passverify.c: Likewise.
275         * modules/pam_userdb/pam_userdb.c: Likewise.
276         Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
277
278         * doc/man/pam_getenv.3.xml: Document that application should
279         not free return value.
280
281         * doc/man/pam.3.xml: Add Note about thread-safeness of libpam
282         functions.
283
284 2008-11-28  Tomas Mraz <t8m@centrum.cz>
285
286         * modules/pam_unix/unix_update.c (set_password): Allow root to change
287         passwords without verification of the old ones.
288
289         * modules/pam_tally2/pam_tally2.c (tally_check): Fix info format
290         to be the same as in pam_tally.
291
292         * configure.in: Add modules/pam_timestamp/Makefile.
293         * doc/sag/Linux-PAM_SAG.xml: Include pam_timestamp.xml.
294         * doc/sag/pam_timestamp.xml: New.
295         * libpam/pam_static_modules.h: Add pam_timestamp static struct.
296         * modules/Makefile.am: Add pam_timestamp directory.
297         * modules/pam_timestamp/Makefile.am: New.
298         * modules/pam_timestamp/README.xml: New.
299         * modules/pam_timestamp/hmacsha1.h: New.
300         * modules/pam_timestamp/sha1.h: New.
301         * modules/pam_timestamp/pam_timestamp.8.xml: New.
302         * modules/pam_timestamp/pam_timestamp_check.8.xml: New.
303         * modules/pam_timestamp/pam_timestamp.c: New.
304         * modules/pam_timestamp/pam_timestamp_check.c: New.
305         * modules/pam_timestamp/hmacfile.c: New.
306         * modules/pam_timestamp/hmacsha1.c: New.
307         * modules/pam_timestamp/sha1.c: New.
308         * modules/pam_timestamp/tst-pam_timestamp: New.
309         * po/POTFILES.in: Add pam_timestamp sources.
310         * po/*.po: Regenerate.
311         * po/cs.po: Updated translations.
312
313 2008-11-25  Thorsten Kukuk  <kukuk@thkukuk.de>
314
315         * modules/pam_pwhistory/opasswd.c (save_old_password): Fix typo.
316
317         * modules/pam_time/pam_time.c (is_same): Fix check
318         of correct string length (debian bug #326407).
319
320 2008-11-24  Thorsten Kukuk  <kukuk@thkukuk.de>
321
322         * xtests/Makefile.am: Add pam_time1 tests.
323         * xtests/tst-pam_time1.c: New test case.
324         * xtests/tst-pam_time1.pamd: New.
325         * xtests/time.conf: New.
326         * xtests/run-xtests.sh: Copy time.conf.
327
328 2008-11-24  Tomas Mraz <t8m@centrum.cz>
329
330         * libpam/pam_handlers.c (_pam_parse_conf_file): '-' at
331         beginning of type token marks silent module.
332         (_pam_load_module): Add handler_type parameter. Do not log
333         module load error if module is silent.
334         (_pam_add_handler): Pass handler_type to _pam_load_module().
335         * libpam/pam_private.h: Add PAM_HT_SILENT_MODULE.
336         * doc/man/pam.conf-syntax.xml: Document the '-' at beginning
337         of type.
338
339         * modules/pam_cracklib/pam_cracklib.c (pam_sm_chauthtok): Fix leaks
340         in error path.
341         * modules/pam_env/pam_env.c (_parse_env_file): Remove superfluous
342         condition.
343         * modules/pam_group/pam_group.c (check_account): Fix leak
344         in error path.
345         * modules/pam_listfile/pam_listfile.c (pam_sm_authenticate): Fix leak
346         in error path.
347         * modules/pam_securetty/pam_securetty.c (securetty_perform_check): Remove
348         superfluous condition.
349         * modules/pam_stress/pam_stress.c (stress_get_password,pam_sm_authenticate):
350         Remove superfluous conditions.
351         (pam_sm_chauthtok): Fix mistaken && for &.
352         * modules/pam_unix/pam_unix_auth.c (pam_sm_authenticate): Remove
353         superfluous condition.
354         All the problems fixed in this commit were found by Steve Grubb.
355
356 2008-11-20  Tomas Mraz <t8m@centrum.cz>
357
358         * modules/pam_sepermit/pam_sepermit.c (sepermit_match): Do not
359         call sepermit_lock() if sense is deny. Do not crash on NULL seuser
360         match.
361         (pam_sm_authenticate): Try to call getseuserbyname() even if
362         SELinux is disabled.
363
364 2008-11-19  Thorsten Kukuk  <kukuk@thkukuk.de>
365
366         * modules/pam_xauth/pam_xauth.c (pam_sm_open_session):
367         Preserve XAUTHLOCALHOSTNAME environment variable.
368
369         * modules/pam_pwhistory/pam_pwhistory.c (pam_sm_chauthtok): Finish
370         implementation of type=STRING option.
371
372         * modules/pam_pwhistory/pam_pwhistory.8.xml: Document
373         "type=STRING" option.
374
375 2008-10-27  Thorsten Kukuk  <kukuk@thkukuk.de>
376
377         * doc/man/pam_setcred.3.xml: Document when credentials
378         should be deleted.
379         * po/ja.po: Fix syntax error.
380         * po/de.po: Update translations.
381         * po/*.po: Regenerate with pam_tally2 added.
382
383 2008-10-23  Taylon Silmer Lacerda Silva <taylonsilva@gmail.com>
384
385         * po/pt_BR.po: Updated translations.
386
387 2008-10-23  Krishna Babu K <kkrothap@redhat.com>
388
389         * po/LINGUAS: New language.
390         * po/te.po: New translation to Telugu.
391
392 2008-10-23  Manoj Kumar Giri <mgiri@redhat.com>
393
394         * po/or.po: Updated translations.
395
396 2008-10-21  Amitakhya Phukan <aphukan@redhat.com>
397
398         * po/as.po: Updated translations.
399
400 2008-10-21  Ondrej Sulek <feonsu@gmail.com>
401
402         * po/sk.po: Updated translations.
403
404 2008-10-21  Terry Chuang <tchuang@redhat.com>
405
406         * po/zh_TW.po: Updated translations.
407
408 2008-10-21  Kiyoto Hashida <khashida@redhat.com>
409
410         * po/ja.po: Updated translations.
411
412 2008-10-21  Francesco Valente <fvalen@redhat.com>
413
414         * po/it.po: Updated translations.
415
416 2008-10-21  Peter van Egdom <p.van.egdom@gmail.com>
417
418         * po/nl.po: Updated translations.
419
420 2008-10-20  Ani Peter <apeter@redhat.com>
421
422         * po/ml.po: Updated translations.
423
424 2008-10-20  Pablo Martin-Gomez <pablo.martin-gomez@laposte.net>
425
426         * po/fr.po: Updated translations.
427
428 2008-10-20  Runa Bhattacharjee <runab@redhat.com>
429
430         * po/bn_IN.po: Updated translations.
431
432 2008-10-20  Shankar Prasad <svenkate@redhat.com>
433
434         * po/kn.po: Updated translations.
435
436 2008-10-20  Leah Liu <lliu@redhat.com>
437
438         * po/zh_CN.po: Updated translations.
439
440 2008-10-20  Ondrej Sulek <feonsu@gmail.com>
441
442         * po/LINGUAS: New language.
443         * po/sk.po: New translation to Slovak.
444
445 2008-10-17  Tomas Mraz <t8m@centrum.cz>
446
447         * configure.in: Add modules/pam_tally2/Makefile.
448         * doc/sag/Linux-PAM_SAG.xml: Include pam_tally2.xml.
449         * doc/sag/pam_tally2.xml: New.
450         * libpam/pam_static_modules.h: Add pam_tally2 static struct.
451         * modules/Makefile.am: Add pam_tally2 directory.
452         * modules/pam_tally2/Makefile.am: New.
453         * modules/pam_tally2/README.xml: New.
454         * modules/pam_tally2/tallylog.h: New.
455         * modules/pam_tally2/pam_tally2.8.xml: New.
456         * modules/pam_tally2/pam_tally2.c: New.
457         * modules/pam_tally2/pam_tally2_app.c: New.
458         * modules/pam_tally2/tst-pam_tally2: New.
459         * po/POTFILES.in: Add pam_tally2 sources.
460
461 2008-10-17  Xavier Queralt Mateu <xqueralt@gmail.com>
462
463         * po/ca.po: Updated translations.
464
465 2008-10-15  Tomas Mraz <t8m@centrum.cz>
466
467         * modules/pam_keyinit/pam_keyinit.c (kill_keyrings): Save the old
468         euid to suid to be able to restore it.
469
470 2008-10-15  Piotr Drąg <piotrdrag@gmail.com>
471
472         * po/pl.po: Updated translations.
473
474 2008-10-13  Tomas Mraz <t8m@centrum.cz>
475
476         * po/LINGUAS: New languages.
477         * po/cs.po: Updated translations.
478
479 2008-10-13  Amitakhya Phukan <aphukan@redhat.com>
480
481         * po/as.po: Updated translations.
482
483 2008-10-13  Shankar Prasad <svenkate@redhat.com>
484
485         * po/kn.po: Updated translations.
486
487 2008-10-13  Sandeep Sheshrao Shedmake <sshedmak@redhat.com>
488
489         * po/mr.po: New translation to Marathi.
490
491 2008-10-13  Runa Bhattacharjee <runab@redhat.com>
492
493         * po/bn_IN.po: Updated translations.
494
495 2008-10-13  Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>
496
497         * po/ms.po: New translation to Malay.
498
499 2008-10-10  Thorsten Kukuk  <kukuk@thkukuk.de>
500
501         * modules/pam_cracklib/pam_cracklib.c (_pam_unix_approve_pass):
502         Remove check for re-used passwords.
503         * modules/pam_cracklib/pam_cracklib.8.xml: Remove documentation
504         of re-used password check.
505
506         * configure.in: add modules/pam_pwhistory/Makefile.
507         * doc/sag/Linux-PAM_SAG.xml: Include pam_pwhistory.xml.
508         * doc/sag/pam_pwhistory.xml: New.
509         * libpam/pam_static_modules.h: Add pam_pwhistory data.
510         * modules/Makefile.am: Add pam_pwhistory directory.
511         * modules/pam_pwhistory/Makefile.am: New.
512         * modules/pam_pwhistory/README.xml: New.
513         * modules/pam_pwhistory/opasswd.c: New.
514         * modules/pam_pwhistory/opasswd.h: New.
515         * modules/pam_pwhistory/pam_pwhistory.8.xml: New.
516         * modules/pam_pwhistory/pam_pwhistory.c: New.
517         * modules/pam_pwhistory/tst-pam_pwhistory: New.
518         * xtests/Makefile.am: New.
519         * xtests/run-xtests.sh: New.
520         * xtests/tst-pam_pwhistory1.c: New.
521         * xtests/tst-pam_pwhistory1.pamd: New.
522         * xtests/tst-pam_pwhistory1.sh: New.
523         * po/POTFILES.in: Add modules/pam_pwhistory/.
524         * po/de.po: Update translations.
525
526 2008-10-02  Thorsten Kukuk  <kukuk@thkukuk.de>
527
528         * po/de.po: Update translations.
529
530 2008-09-30  Manoj Kumar Giri <mgiri@redhat.com>
531
532         * po/or.po: Updated translations.
533
534 2008-09-30  Taylon Silmer Lacerda Silva <taylonsilva@gmail.com>
535
536         * po/pt_BR.po: Updated translations.
537
538 2008-09-30  Tomas Mraz <t8m@centrum.cz>
539
540         * modules/pam_lastlog/pam_lastlog.8.xml: Document new options
541         noupdate and showfailed.
542         * modules/pam_lastlog/pam_lastlog.c(pam_parse): Recognize the new
543         options.
544         (last_login_read): New output parameter lltime. Do not display
545         the last login message if it would be empty.
546         (last_login_date): New output parameter lltime. Do not write the
547         last login info when LASTLOG_UPDATE is not set.
548         (last_login_failed): New function to display the last bad login
549         attempt from btmp.
550         (pam_sm_open_session): Obtain lltime from last_login_date() and
551         call last_login_failed() when appropriate.
552
553         * po/Linux-pam.pot: Updated strings to translate.
554         * po/*.po: Likewise.
555
556 2008-09-29  Thorsten Kukuk  <kukuk@thkukuk.de>
557
558         * modules/pam_echo/pam_echo.8.xml: Fix format error.
559
560 2008-09-25  Tomas Mraz <t8m@centrum.cz>
561
562         * modules/pam_tally/pam_tally.c(get_tally): Fix syslog message.
563         (tally_check): Open faillog read only. Close file descriptor.
564         Fix typos in messages.
565
566 2008-09-25  Thorsten Kukuk  <kukuk@thkukuk.de>
567
568         * modules/pam_mail/pam_mail.c (report_mail): Fix logic of
569         "quiet" option (Patch from Andreas Henriksson <andreas@fatal.se>)
570
571         * modules/pam_mail/pam_mail.8.xml: Fix typo.
572
573 2008-09-23  Tomas Mraz <t8m@centrum.cz>
574
575         * modules/pam_limits/limits.conf.5.xml: Comment that rss limit is
576         ignored.
577
578 2008-09-19  Tomas Mraz <t8m@centrum.cz>
579
580         * modules/pam_cracklib/pam_cracklib.8.xml: Fix description
581         of the palindrome test. Document new options maxrepeat and
582         reject_username.
583         * modules/pam_cracklib/pam_cracklib.c(_pam_parse): Parse
584         the maxrepeat and reject_username options.
585         (password_check): Call the new tests usercheck() and
586         consecutive().
587         (_pam_unix_approve_pass): Pass user name to the password_check().
588
589 2008-09-16  Thorsten Kukuk  <kukuk@thkukuk.de>
590
591         * modules/pam_cracklib/pam_cracklib.8.xml: Fix typo.
592
593         * modules/pam_unix/pam_unix.8.xml: Fix typo.
594
595 2008-09-03  Thorsten Kukuk  <kukuk@thkukuk.de>
596
597         * modules/pam_exec/pam_exec.c: Expose authtok if requested,
598         provide environment variable containing service type.
599         * modules/pam_exec/pam_exec.8.xml: Document new option.
600
601 2008-08-29  Tomas Mraz <t8m@centrum.cz>
602
603         * modules/pam_loginuid/pam_loginuid.c(set_loginuid): Uids
604         are unsigned.
605
606 2008-08-18  Thorsten Kukuk  <kukuk@thkukuk.de>
607
608         * Makefile.am (M4_FILES): Adjust list.
609
610         * modules/pam_access/pam_access.8.xml: Fix module service
611         vs. module type.
612         * modules/pam_cracklib/pam_cracklib.8.xml: Likewise.
613         * modules/pam_debug/pam_debug.8.xml: Likewise.
614         * modules/pam_deny/pam_deny.8.xml: Likewise.
615         * modules/pam_echo/pam_echo.8.xml: Likewise.
616         * modules/pam_env/pam_env.8.xml: Likewise.
617         * modules/pam_exec/pam_exec.8.xml: Likewise.
618         * modules/pam_faildelay/pam_faildelay.8.xml: Likewise.
619         * modules/pam_filter/pam_filter.8.xml: Likewise.
620         * modules/pam_ftp/pam_ftp.8.xml: Likewise.
621         * modules/pam_group/pam_group.8.xml: Likewise.
622         * modules/pam_issue/pam_issue.8.xml: Likewise.
623         * modules/pam_keyinit/pam_keyinit.8.xml: Likewise.
624         * modules/pam_lastlog/pam_lastlog.8.xml: Likewise.
625         * modules/pam_limits/pam_limits.8.xml: Likewise.
626         * modules/pam_listfile/pam_listfile.8.xml: Likewise.
627         * modules/pam_localuser/pam_localuser.8.xml: Likewise.
628         * modules/pam_loginuid/pam_loginuid.8.xml: Likewise.
629         * modules/pam_mail/pam_mail.8.xml: Likewise.
630         * modules/pam_mkhomedir/pam_mkhomedir.8.xml: Likewise.
631         * modules/pam_motd/pam_motd.8.xml: Likewise.
632         * modules/pam_namespace/pam_namespace.8.xml: Likewise.
633         * modules/pam_nologin/pam_nologin.8.xml: Likewise.
634         * modules/pam_permit/pam_permit.8.xml: Likewise.
635         * modules/pam_rhosts/pam_rhosts.8.xml: Likewise.
636         * modules/pam_rootok/pam_rootok.8.xml: Likewise.
637         * modules/pam_securetty/pam_securetty.8.xml: Likewise.
638         * modules/pam_selinux/pam_selinux.8.xml: Likewise.
639         * modules/pam_sepermit/pam_sepermit.8.xml: Likewise.
640         * modules/pam_shells/pam_shells.8.xml: Likewise.
641         * modules/pam_succeed_if/pam_succeed_if.8.xml: Likewise.
642         * modules/pam_tally/pam_tally.8.xml: Likewise.
643         * modules/pam_time/pam_time.8.xml: Likewise.
644         * modules/pam_tty_audit/pam_tty_audit.8.xml: Likewise.
645         * modules/pam_umask/pam_umask.8.xml: Likewise.
646         * modules/pam_unix/pam_unix.8.xml: Likewise.
647         * modules/pam_userdb/pam_userdb.8.xml: Likewise.
648         * modules/pam_warn/pam_warn.8.xml: Likewise.
649         * modules/pam_wheel/pam_wheel.8.xml: Likewise.
650         * modules/pam_xauth/pam_xauth.8.xml: Likewise.
651
652 2008-08-01  Thorsten Kukuk  <kukuk@thkukuk.de>
653
654         * configure.in: Add version for gettext, add search path
655         for m4 directory, fix handling of --disable-* options.
656         Patches from Diego Pettenò <flameeyes@gmail.com>.
657
658         * configure.in: Run autoupdate on it.
659
660         * acincludde.m4: Rename to ...
661         * m4/jh_path_xml_catalog.m4: ... this.
662
663         * m4/*.m4: Remove all autoconf m4 files.
664
665 2008-07-29  Steve Langasek <vorlon@debian.org>
666
667         * modules/pam_cracklib/pam_cracklib.8.xml: correct a typo,
668         "Only he" -> "Only the"
669
670 2008-07-28  Steve Langasek <vorlon@debian.org>
671
672         * libpamc/test/regress/test.libpamc.c: use standard u_int8_t
673         type instead of __u8, as elsewhere.
674         Patch from Roger Leigh <rleigh@debian.org>.
675         * modules/pam_unix/passverify.c: make save_old_password()
676         thread-safe by using pam_modutil_getpwnam() instead of getpwnam()
677         * modules/pam_unix/passverify.c, modules/pam_unix/passverify.h,
678         modules/pam_unix/pam_unix_passwd.c: add pamh argument to
679         save_old_password()
680
681 2008-07-27  Steve Langasek <vorlon@debian.org>
682
683         * modules/pam_*/pam_*.8.xml: fix up the references to pam.d,
684         which is in manpage section 5, not 8.
685         * modules/pam_env/environment, modules/pam_env/pam_env.8.xml:
686         spelling fix, seperate -> separate
687
688 2008-07-26  Steve Langasek <vorlon@debian.org>
689
690         * modules/pam_env/pam_env.c: Fix module to skip over
691         non-alphanumeric variable names, and to handle the case when
692         asked to delete a non-existent variable.
693
694 2008-07-13  Tomas Mraz <t8m@centrum.cz>
695
696         * modules/pam_mail/pam_mail.8.xml: Module supports session and
697         not account service (#1980773).
698
699 2008-07-11  Tomas Mraz <t8m@centrum.cz>
700
701         * modules/pam_unix/pam_unix_acct.c (_unix_run_verify_binary): Do
702         not close the pipe descriptor in borderline case (#2009766).
703         * modules/pam_unix/pam_unix_passwd.c (_unix_run_update_binary):
704         Likewise.
705         * modules/pam_unix/support.c (_unix_run_helper_binary): Likewise.
706         * modules/pam_unix/support.h: Define upper limit of fds we will
707         attempt to close.
708
709         * modules/pam_selinux/pam_selinux.c (config_context): Do not
710         ask for the level if use_current_range is set.
711         (context_from_env): New function to obtain the context from
712         PAM environment variables.
713         (pam_sm_open_session): Call context_from_env() if env_params option
714         is present. use_current_range now modifies behavior of the
715         context_from_env and config_context options.
716         * modules/pam_selinux/pam_selinux.8.xml: Describe the env_params
717         option. Adjust description of use_current_range option.
718
719 2008-07-09  Thorsten Kukuk  <kukuk@thkukuk.de>
720
721         * modules/pam_exec/pam_exec.c (call_exec): Move all variable
722         declaration to begin of a block (#1976310).
723
724         * xtests/tst-pam_group1.c (run_test): Move no_grps declaration
725         to begin of function (#1976310).
726
727         * modules/pam_securetty/pam_securetty.8.xml: Replace
728         PAM_IGNORE with PAM_USER_UNKNOWN (#1994330).
729
730         * modules/pam_tally/pam_tally.c: Add support for silent and
731         no_log_info options.
732         * modules/pam_tally/pam_tally.8.xml: Document silent and
733         no_log_info options.
734
735 2008-07-08  Thorsten Kukuk  <kukuk@thkukuk.de>
736
737         * modules/pam_unix/passverify.c (verify_pwd_hash): Adjust debug
738         statement.
739
740 2008-06-22  Thorsten Kukuk  <kukuk@thkukuk.de>
741
742         * modules/pam_unix/unix_chkpwd.c (main): Fix compiling without
743         audit support.
744
745         * modules/pam_cracklib/pam_cracklib.8.xml: Fix typo in ucredit
746         description (reported by Wayne Pollock <pollock@acm.org>)
747
748 2008-06-19  Tomas Mraz <t8m@centrum.cz>
749
750         * modules/pam_succeed_if/pam_succeed_if.c (pam_sm_authenticate):
751         Detect configuration errors. Fail on incomplete condition.
752
753 2008-05-20  Tomas Mraz <t8m@centrum.cz>
754
755         * configure.in: Work correctly with autoconf-2.62.
756
757 2008-05-19  Tomas Mraz <t8m@centrum.cz>
758
759         * doc/man/pam_getenv.3.xml: Correct the pam_getenv documentation.
760
761         * doc/man/pam_prompt.3.xml: Add missing description.
762
763 2008-05-14  Kjartan Maraas <kmaraas@gnome.org>
764
765         * po/nb.po: Updated translation.
766
767 2008-05-14  Sulyok Péter <peti@sulyok.hu>
768
769         * po/hu.po: Updated translation.
770
771 2008-05-14  Tomas Mraz <t8m@centrum.cz>
772
773         * libpam/pam_modutil_getgrgid.c: Replace hardcoded constant with
774         define PWD_LENGTH_SHIFT.
775         * libpam/pam_modutil_getgrnam.c: Likewise.
776         * libpam/pam_modutil_getpwnam.c: Likewise.
777         * libpam/pam_modutil_getpwuid.c: Likewise.
778         * libpam/pam_modutil_getspnam.c: Likewise.
779         * libpam/pam_modutil_private.h: Adjust values for PWD_ constants.
780
781         * modules/pam_unix/pam_unix_passwd.c(pam_sm_chauthtok): Unset authtok
782         item when password is not approved.
783         * modules/pam_unix/support.c(_unix_read_password): UNIX_USE_FIRST_PASS
784         is always set when UNIX_AUTHTOK is set, change order of conditions.
785
786 2008-05-02  Tomas Mraz <t8m@centrum.cz>
787
788         * modules/pam_selinux/pam_selinux.c(query_response): Add handling
789         for NULL response.
790         (manual_context): Handle failed query_response() properly. Rename
791         variable responses to response which is more correct name.
792         (config_context): Likewise.
793         (pam_sm_open_session): Do not base decision on whether there is a tty.
794
795 2008-04-22  Tomas Mraz <t8m@centrum.cz>
796
797         * modules/pam_selinux/pam_selinux.c(pam_sm_close_sesion): Fix
798         regression from the change from 2008-03-20. setexeccon() must be
799         called also with NULL prev_context.
800
801 2008-04-21  Thorsten Kukuk  <kukuk@thkukuk.de>
802
803         * modules/pam_access/access.conf.5.xml: Document changed behavior
804         of LOCAL keyword.
805         * modules/pam_access/pam_access.c: Add from_remote_host to
806         struct login_info to change behavior of LOCAL keyword: if
807         PAM_RHOST is not set, LOCAL will be true.
808
809 2008-04-18  Tomas Mraz <t8m@centrum.cz>
810
811         * modules/pam_namespace/pam_namespace.c: New functions
812         unprotect_dirs(), cleanup_protect_data(), protect_mount(),
813         protect_dir() to protect directory by bind mount.
814         (cleanup_data): Renamed to cleanup_polydir_data().
815         (parse_create_params): Allow missing specification of mode
816         or owner.
817         (check_inst_parent): Call protect_dir() on the instance parent
818         directory. The directory is created when it doesn't exist.
819         (create_polydir): Protect and make the polydir by protect_dir(),
820         remove potential races.
821         (create_dirs): Renamed to create_instance(), remove call to
822         inst_init().
823         (ns_setup): Call protect_dir() on the polydir if it already exists.
824         Call inst_init() after the polydir is mounted.
825         (setup_namespace): Set the namespace protect data to be cleaned up
826         on pam_close_session()/pam_end().
827         (pam_sm_open_session): Initialize the protect_dirs.
828         (pam_sm_close_session): Cleanup namespace protect data.
829         * modules/pam_namespace/pam_namespace.h: Define struct for the
830         stack of protected dirs.
831         * modules/pam_namespace/pam_namespace.8.xml: Document when the
832         instance init script is called.
833         * modules/pam_namespace/namespace.conf.5.xml: Likewise.
834
835 2008-04-17  Tomas Mraz <t8m@centrum.cz>
836
837         * modules/pam_access/pam_access.c(myhostname): Removed function.
838         (user_match): Supply hostname of the machine to the netgroup_match().
839         Use hostname from the loginfo instead of calling myhostname().
840         (pam_sm_authenticate): Call gethostname() to fill hostname in the
841         loginfo.
842
843         * modules/pam_sepermit/pam_sepermit.c(sepermit_match): Do not try
844         to lock if euid != 0.
845
846 2008-04-16  Tomas Mraz <t8m@centrum.cz>
847
848         * modules/pam_unix/Makefile.am: Link unix_chkpwd with libaudit.
849         * modules/pam_unix/unix_chkpwd.c(_audit_log): New function for audit.
850         (main): Call _audit_log() when appropriate.
851
852         * modules/pam_cracklib/pam_cracklib.c(_pam_parse): Recognize also
853         try_first_pass and use_first_pass options.
854         (pam_sm_chauthtok): Implement the new options.
855
856 2008-04-08  Tomas Mraz <t8m@centrum.cz>
857
858         * modules/pam_xauth/pam_xauth.c(run_coprocess): Avoid multiple
859         calls to sysconf() (based on patch by Sami Farin).
860
861         * libpam/pam_item.c (TRY_SET): Do not set when destination
862         is identical to source.
863         (pam_set_item): Do not overwrite destination when it
864         is identical to source.
865
866 2008-04-07  Miloš Komarčević <kmilos@gmail.com>
867
868         * po/sr.po: New file with translation.
869         * po/sr@latin.po: Likewise.
870         * po/LINGUAS: Add sr and sr@latin.
871
872 2008-04-03  Thorsten Kukuk  <kukuk@thkukuk.de>
873
874         * release version 1.0.0
875
876         * configure.in: Set version number to 1.0.0.
877         * libpam/Makefile.am: Bump patchlevel of libpam.
878         * doc/adg/Linux-PAM_ADG.xml: Update version/date.
879         * doc/mwg/Linux-PAM_MWG.xml: Likewise.
880         * doc/sag/Linux-PAM_SAG.xml: Likewise.
881
882 2008-03-31  Dan Walsh <dwalsh@redhat.com>
883
884         * modules/pam_sepermit/pam_sepermit.c(sepermit_lock): Mark lock fd to
885         be closed on exec.
886
887 2008-03-25  Leah Liu <lliu@redhat.com>
888
889         * po/zh_CN.po: Updated translation.
890
891 2008-03-20  Tomas Mraz <t8m@centrum.cz>
892
893         * modules/pam_namespace/pam_namespace.c(poly_name): Switch to USER
894         method only when appropriate.
895         (setup_namespace): Do not umount when not mounted with RUSER.
896
897         * modules/pam_selinux/pam_selinux.c(pam_sm_close_session): Call
898         freecontext() after the context is logged not before.
899
900 2008-03-18  Canniot Thomas <thomas.canniot@mrtomlinux.org>
901
902         * po/fr.po: Updated translation.
903
904 2008-03-13  Ankit Patel <ankit@redhat.com>
905
906         * po/gu.po: Updated translation.
907
908 2008-03-05  Tomas Mraz <t8m@centrum.cz>
909
910         * modules/pam_cracklib/pam_cracklib.c(pam_sm_chauthtok): Avoid
911         unnecessary x_strdup() of resp.
912         * modules/pam_ftp/pam_ftp(pam_sm_authenticate): Call _pam_overwrite()
913         before dropping password resp.
914
915 2008-03-03  Tomas Mraz <t8m@centrum.cz>
916
917         * modules/pam_selinux/pam_selinux.c: Do not translate syslog messages.
918         * po/Linux-PAM.pot: Update.
919
920         * libpam/pam_item.c(RESET): Rename to TRY_SET, handle strdup failure.
921         (pam_set_item): Use TRY_SET() also for PAM_AUTHTOK and PAM_OLDAUTHTOK.
922         Handle allocation failure for PAM_XAUTHDATA.
923         (pam_get_user): Return error when conversation returns NULL user.
924         Call pam_set_item() instead of RESET().
925
926 2008-02-26  Tomas Mraz <t8m@centrum.cz>
927
928         * modules/pam_unix/Makefile.am: Do not link to cracklib.
929         * modules/pam_unix/pam_unix_passwd.c(_pam_unix_approve_pass):
930         Do not call FascistCheck() from cracklib.
931
932 2008-02-29  Fabian Affolter <fab@fedoraproject.org>
933
934         * po/de.po: Updated translation.
935
936 2008-02-28  Piotr Drąg <piotrdrag@gmail.com>
937
938         * po/pl.po: Updated translation.
939
940 2008-02-26  Tomas Mraz <t8m@centrum.cz>
941
942         * po/LINUGAS: New languages added.
943         * po/es.po: Updated translations.
944         * po/fr.po: Likewise.
945         * po/it.po: Likewise.
946         * po/ja.po: Likewise.
947         * po/nl.po: Likewise.
948         * po/pl.po: Likewise.
949         * po/pt_BR.po: Likewise.
950         * po/ru.po: Likewise.
951         * po/zh_CN.po: Likewise.
952         * po/as.po: New file.
953         * po/gu.po: Likewise.
954         * po/hi.po: Likewise.
955         * po/kn.po: Likewise.
956         * po/ko.po: Likewise.
957         * po/ml.po: Likewise.
958         * po/or.po: Likewise.
959         * po/si.po: Likewise.
960         * po/ta.po: Likewise.
961
962 2008-02-21  Tomas Mraz <t8m@centrum.cz>
963
964         * libpam/pam_audit.c (_pam_audit_writelog): Silence syslog
965         message on non-error return.
966
967         * modules/pam_unix/unix_chkpwd.c (main): Proceed as unprivileged
968         user when checking password of another user.
969         * modules/pam_unix/unix_update.c: Fix comment.
970
971 2008-02-18  Dmitry V. Levin  <ldv@altlinux.org>
972
973         * libpam/pam_handlers.c (_pam_assemble_line): Fix potential
974         buffer overflow.
975         * xtests/tst-pam_assemble_line1.pamd: New test for
976         _pam_assemble_line.
977         * xtests/tst-pam_assemble_line1.sh: New script for
978         tst-pam_assemble_line1.
979         * xtests/Makefile.am (NOSRCTESTS): Add tst-pam_assemble_line1.
980         (EXTRA_DIST): Add tst-pam_assemble_line1.pamd and
981         tst-pam_assemble_line1.sh
982
983         * modules/pam_exec/pam_exec.c (call_exec): Fix asprintf return
984         code check.
985
986 2008-02-13  Thorsten Kukuk  <kukuk@thkukuk.de>
987
988         * release version 0.99.10.0
989
990         * configure.in: set version number.
991
992         * modules/pam_rhosts/Makefile.am: Remove pam_rhosts_auth.
993         * modules/pam_rhosts/pam_rhosts_auth.c: Removed.
994         * modules/pam_rhosts/tst-pam_rhosts_auth: Removed.
995
996         * modules/pam_namespace/Makefile.am (noinst_HEADERS): Add
997         pam_namespace.h.
998
999 2008-02-13  Tomas Mraz  <t8m@centrum.cz>
1000
1001         * modules/pam_namespace/Makefile.am: Add argv_parse files and namespace.d
1002         dir.
1003         * modules/pam_namespace/argv_parse.c: New file.
1004         * modules/pam_namespace/argv_parse.h: New file.
1005         * modules/pam_namespace/namespace.conf.5.xml: Document new features.
1006         * modules/pam_namespace/pam_namespace.8.xml: Likewise.
1007         * modules/pam_namespace/pam_namespace.h: Use SECURECONF_DIR define.
1008         Define NAMESPACE_D_DIR and NAMESPACE_D_GLOB. Define new option flags
1009         and polydir flags.
1010         (polydir_s): Add rdir, replace exclusive with flags, add init_script,
1011         owner, group, and mode.
1012         (instance_data): Add ruser, gid, and ruid.
1013         * modules/pam_namespace/pam_namespace.c: Remove now unused copy_ent().
1014         (add_polydir_entry): Add the entry directly, no copy.
1015         (del_polydir): New function.
1016         (del_polydir_list): Call del_polydir().
1017         (expand_variables, parse_create_params, parse_iscript_params,
1018         parse_method): New functions.
1019         (process_line): Call expand_variables() on polydir and instance prefix.
1020         Call argv_parse() instead of strtok_r(). Allocate struct polydir_s on heap.
1021         (parse_config_file): Parse .conf files from namespace.d dir after
1022         namespace.conf.
1023         (form_context): Call getcon() or get_default_context_with_level() when
1024         appropriate flags are set.
1025         (poly_name): Handle shared polydir flag.
1026         (inst_init): Execute non-default init script when specified.
1027         (create_polydir): New function.
1028         (create_dirs): Remove the code which checks the polydir. Do not call
1029         inst_init() when noinit flag is set.
1030         (ns_setup): Check the polydir and eventually create it if the create flag
1031         is set.
1032         (setup_namespace): Use ruser uid from idata. Set the namespace polydir
1033         pam data only when namespace was set up correctly. Unmount polydir
1034         based on ruser.
1035         (get_user_data): New function.
1036         (pam_sm_open_session): Check for use_current_context and
1037         use_default_context options. Call get_user_data().
1038         (pam_sm_close_session): Call get_user_data().
1039
1040 2008-02-06  Thorsten Kukuk  <kukuk@thkukuk.de>
1041
1042         * po/de.po: Translate some more strings.
1043
1044 2008-02-05  Thorsten Kukuk  <kukuk@thkukuk.de>
1045
1046         * modules/pam_unix/unix_update.c: Remove unused declarations.
1047
1048 2008-02-04  Thorsten Kukuk  <kukuk@thkukuk.de>
1049
1050         * libpam/pam_static_modules.h: Add _pam_sepermit_modstruct.
1051         * modules/pam_sepermit/pam_sepermit.c: Fix typo.
1052         * modules/pam_sepermit/Makefile.am: Install config file only
1053         if we build the module.
1054
1055         * README: Add --disable-pie to configure options for static library.
1056
1057         * doc/man/Makefile.am: Fix building outside of src directory.
1058
1059         * libpam/Makefile.am: Bump version number of libpam.
1060
1061         * modules/Makefile.am: Add pam_sepermit.
1062
1063         * doc/Makefile.am: Fix build out of source directory.
1064
1065         * po/POTFILES.in: Add pam_sepermit.c.
1066
1067         * modules/pam_exec/pam_exec.c: Set PAM environment variables and
1068         add 'quiet' option.
1069         * modules/pam_exec/pam_exec.8.xml: Document new behavior.
1070         Patch from Julien Lecomte <julien@lecomte.at>.
1071
1072 2008-02-01  Tomas Mraz  <t8m@centrum.cz>
1073
1074         * modules/pam_namespace/namespace.conf.5.xml: Add documentation for
1075         tmpfs and tmpdir polyinst and for ~ user list modifier.
1076         * modules/pam_namespace/namespace.init: Add documentation for the
1077         new init parameter. Add home directory initialization script.
1078         * modules/pam_namespace/pam_namespace.8.xml: Document the new
1079         init parameter of the namespace.init script.
1080         * modules/pam_namespace/pam_namespace.c(copy_ent): Copy exclusive flag.
1081         (cleanup_data): New function.
1082         (process_line): Set exclusive flag. Add tmpfs and tmpdir methods.
1083         (ns_override): Change behavior on the exclusive flag.
1084         (poly_name): Process tmpfs and tmpdir methods.
1085         (inst_init): Add flag for new directory initialization.
1086         (create_dirs): Process the tmpdir method, add the new directory
1087         flag.
1088         (ns_setup): Remove unused code. Process the tmpfs method.
1089         (cleanup_tmpdirs): New function.
1090         (setup_namespace): Set data for proper cleanup. Cleanup the tmpdirs
1091         on failures.
1092         (pam_sm_close_session): Instead of parsing the config file again use
1093         the previously set data for cleanup.
1094         * modules/pam_namespace/pam_namespace.h: Add TMPFS and TMPDIR methods
1095         and exclusive flag.
1096
1097 2008-01-29  Tomas Mraz  <t8m@centrum.cz>
1098
1099         * configure.in: Test for setkeycreatecon needs libselinux.
1100         Add new module pam_sepermit.
1101         * modules/Makefile.am: Add new module pam_sepermit.
1102         * modules/pam_sepermit/.cvsignore: New file.
1103         * modules/pam_sepermit/Makefile.am: Likewise.
1104         * modules/pam_sepermit/README.xml: Likewise.
1105         * modules/pam_sepermit/pam_sepermit.8.xml: Likewise.
1106         * modules/pam_sepermit/pam_sepermit.c: Likewise.
1107         * modules/pam_sepermit/sepermit.conf: Likewise.
1108         * modules/pam_sepermit/tst-pam_sepermit: Likewise.
1109         * doc/sag/pam_sepermit.xml: Likewise.
1110
1111         * doc/sag/pam_tty_audit.xml: Add pam_tty_audit to SAG.
1112
1113 2008-01-29  Miloslav Trmac  <mitr@redhat.com>
1114
1115         * modules/pam_tty_audit/README.xml: Add notes section.
1116         * modules/pam_tty_audit/pam_tty_audit.8.xml: Describe patterns
1117         support and open_only option. Add notes.
1118         * modules/pam_tty_audit/pam_tty_audit.c(pam_sm_open_session): Add
1119         support for pattern matching and the open_only option.
1120
1121 2008-01-28  Thorsten Kukuk  <kukuk@thkukuk.de>
1122
1123         * libpam/pam_audit.c: Include pam_modutil_private.h.
1124
1125         * libpam/pam_item.c (pam_set_item): Fix compiler warning.
1126
1127         * libpam/pam_end.c (pam_end): Cast to correct pointer type.
1128         * libpam/include/security/_pam_macros.h (_pam_overwrite_n): Use
1129         unsigned int.
1130
1131         * modules/pam_unix/passverify.c: Fix compiling without SELinux
1132         support.
1133
1134 2008-01-24  Tomas Mraz  <t8m@centrum.cz>
1135
1136         * modules/pam_unix/bigcrypt.c (bigcrypt): Use crypt_r() when
1137         available.
1138         * modules/pam_unix/passverify.c (strip_hpux_aging): New function
1139         to strip HP/UX aging info from password hash.
1140         (verify_pwd_hash): Call strip_hpux_aging(), use crypt_r() when
1141         available.
1142
1143 2008-01-23  Tomas Mraz  <t8m@centrum.cz>
1144
1145         * configure.in: Add test for crypt_r(). Add setting/disabling random
1146         device support.
1147
1148         * modules/pam_unix/Makefile.am: Add unix_update.8 manpage generated from
1149         XML, generate also unix_chkpwd.8 from XML.
1150         * modules/pam_unix/pam_unix_acct.c: Add rounds parameter to _set_ctrl().
1151         * modules/pam_unix/pam_unix_auth.c: Likewise.
1152         * modules/pam_unix/pam_unix_sess.c: Likewise.
1153         * modules/pam_unix/pam_unix_passwd.c: Likewise.
1154         * modules/pam_unix/support.c(_set_ctrl): Likewise.
1155         * modules/pam_unix/support.h: Likewise. Add UNIX_SHA256_PASS,
1156         UNIX_SHA512_PASS, and UNIX_ALGO_ROUNDS ctrls.
1157         (pam_sm_chauthtok): Refactor out new password encryption.
1158         * modules/pam_unix/passverify.c(crypt_make_salt): New function.
1159         (crypt_md5_wrapper): Call crypt_make_salt().
1160         (create_password_hash): New function refactored out of
1161         pam_sm_chauthtok(). Support for new password hashes.
1162         * modules/pam_unix/passverify.h: Drop ascii_to_bin() and bin_to_ascii()
1163         macros. Add prototype for create_password_hash().
1164         * modules/pam_unix/unix_update.8.xml: New file.
1165         * modules/pam_unix/unix_chkpwd.8.xml: Likewise.
1166
1167         * modules/pam_unix/Makefile.am: Add unix_update helper.
1168         * modules/pam_unix/pam_unix_passwd.c: Move functions i64c(),
1169         crypt_md5_wrapper(), save_old_password(), _update_passwd() and
1170         _update_shadow() to passverify.c file. Rename _unix_run_shadow_binary()
1171         to _unix_run_update_binary(), which also verifies old password and
1172         does all writing.
1173         (_do_setpass, pam_sm_chauthtok): lckpwdf()->lock_pwdf(), the same for unlock.
1174         Call _unix_run_update_binary() appropriately.
1175         _update_passwd()->unix_update_passwd(), the same for shadow.
1176         * modules/pam_unix/passverify.c: Add new functions moved from
1177         pam_unix_passwd.c and unix_chkpwd.c.
1178         * modules/pam_unix/passverify.h: Likewise.
1179         * modules/pam_unix/unix_chkpwd.c: Remove SELinux checks. Move
1180         su_sighandler(), setup_signals(), getuidname() to passverify.c.
1181         (main): Remove 'shadow' option. Refactor out read_passwords() and
1182         call it. More strict checking how the binary is called.
1183         * modules/pam_unix/unix_update.c: New helper binary - non-setuid,
1184         called from SELinux confined apps only.
1185
1186         * modules/pam_unix/pam_unix_acct.c (_unix_run_verify_binary): Return
1187         status and daysleft instead of fake shadow entry.
1188         (pam_sm_acct_mgmt): Call _unix_run_verify_binary() appropriately.
1189         * modules/pam_unix/pam_unix_passwd.c (_unix_verify_shadow): Call
1190         get_account_info() and check_shadow_expiry().
1191         * modules/pam_unix/support.h: Adjust _unix_run_verify_binary()
1192         prototype.
1193         * modules/pam_unix/support.c (_unix_run_helper_binary): Remove check
1194         on selinux enabled/disabled.
1195         * modules/pam_unix/unix_chkpwd.c (_verify_account): Rename to
1196         _check_expiry(), now checks shadow expiry info.
1197         (main): Remove check on selinux enabled/disabled. Check shadow
1198         expiry through _check_expiry().
1199
1200         * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Call
1201         get_account_info() and check_shadow_expiry().
1202         * modules/pam_unix/passverify.c: Add get_account_info() to
1203         obtain shadow and passwd entry. Add check_shadow_expiry() to
1204         for shadow password expiry check.
1205         (get_pwd_hash): Call get_account_info().
1206         * modules/pam_unix/passverify.h: Add prototypes for get_account_info()
1207         and check_shadow_expiry().
1208
1209 2008-01-08  Thorsten Kukuk  <kukuk@thkukuk.de>
1210
1211         * doc/man/Makefile.am: Fix manual page dependencies,
1212         add hack for bug in xsl stylestheets.
1213
1214 2008-01-07  Thorsten Kukuk  <kukuk@thkukuk.de>
1215
1216         * po/it.po: Fix typos.
1217         * po/de.po: Few new translations.
1218         * po/POTFILES.in: Add pam_tty_audit.c and passverify.c.
1219         * doc/man/pam_xauth_data.3.xml: Added to CVS.
1220         * doc/man/pam_xauth_data.3: Likewise.
1221         * modules/pam_tty_audit/README: Likewise.
1222         * modules/pam_tty_audit/pam_tty_audit.8: Likewise.
1223         * po/sv.po: Update swedish translation [#1857531].
1224         * modules/pam_succeed_if/pam_succeed_if.8.xml: Fix
1225         cut & paste error [#1863490].
1226
1227 2008-01-02  Petteri Räty  <betelgeuse@gentoo.org>
1228         * modules/pam_limits/limits.conf: document allowed values for
1229         nice.
1230         * modules/pam_limits/limits.conf.5.xml: Likewise.
1231
1232 2007-12-18  Thorsten Kukuk  <kukuk@thkukuk.de>
1233
1234         * README: Document how to run make check with static modules
1235         (SF#1822779).
1236
1237 2007-12-18  Peter Breitenlohner  <peb@mppmu.mpg.de>
1238         * README: Document that "make check" requires a file
1239         /etc/pam.d/other (SF#1822764).
1240
1241 2007-12-12  Eamon Walsh  <ewalsh@tycho.nsa.gov>
1242
1243         * doc/man/pam_item_types_ext.inc.xml: More appropriate wording
1244         for PAM_XDISPLAY doc.
1245
1246 2007-12-07  Tomas Mraz  <t8m@centrum.cz>
1247
1248         * po/cs.po: Updated translations.
1249
1250         * libpam/libpam.map: Add LIBPAM_MODUTIL_1.1 version.
1251         * libpam/pam_audit.c: Add _pam_audit_open() and
1252         pam_modutil_audit_write().
1253         (_pam_auditlog): Call _pam_audit_open().
1254         * libpam/include/security/pam_modutil.h: Add pam_modutil_audit_write().
1255         * modules/pam_access/pam_access.8.xml: Add noaudit option.
1256         Document auditing.
1257         * modules/pam_access/pam_access.c: Move fs, sep, pam_access_debug, and
1258         only_new_group_syntax variables to struct login_info. Add noaudit
1259         member.
1260         (_parse_args): Adjust for the move of variables and add support for
1261         noaudit option.
1262         (group_match): Add debug parameter.
1263         (string_match): Likewise.
1264         (network_netmask_match): Likewise.
1265         (login_access): Adjust for the move of variables. Add nonall_match.
1266         Add call to pam_modutil_audit_write().
1267         (list_match): Adjust for the move of variables.
1268         (user_match): Likewise.
1269         (from_match): Likewise.
1270         (pam_sm_authenticate): Call _parse_args() earlier.
1271         * modules/pam_limits/pam_limits.8.xml: Add noaudit option.
1272         Document auditing.
1273         * modules/pam_limits/pam_limits.c (_pam_parse): Add noaudit option.
1274         (setup_limits): Call pam_modutil_audit_write().
1275         * modules/pam_time/pam_time.8.xml: Add debug and noaudit options.
1276         Document auditing.
1277         * modules/pam_time/pam_time.c: Add option parsing (_pam_parse()).
1278         (check_account): Call _pam_parse(). Call pam_modutil_audit_write()
1279         and pam_syslog() on login denials.
1280
1281 2007-12-07  Luca Bruno  <luca.br@uno.it>
1282
1283         * po/it.po: Updated translations.
1284
1285 2007-12-06  Eamon Walsh  <ewalsh@tycho.nsa.gov>
1286
1287         * libpam/include/security/_pam_macros.h: Add _pam_overwrite_n()
1288         macro.
1289         * libpam/include/security/_pam_types.h: Add PAM_XDISPLAY,
1290         PAM_XAUTHDATA items, pam_xauth_data struct.
1291         * libpam/pam_item.c (pam_set_item, pam_get_item): Handle
1292         PAM_XDISPLAY and PAM_XAUTHDATA items.
1293         * libpam/pam_end.c (pam_end): Destroy the new items.
1294         * libpam/pam_private.h (pam_handle): Add data members for new
1295         items. Add prototype for _pam_memdup.
1296         * libpam/pam_misc.c: Add _pam_memdup.
1297         * doc/man/Makefile.am: Add pam_xauth_data.3. Replace
1298         pam_item_types.inc.xml with pam_item_types_std.inc.xml and
1299         pam_item_types_ext.inc.xml.
1300         * doc/man/pam_get_item.3.xml: Replace pam_item_types.inc.xml
1301         with pam_item_types_std.inc.xml and pam_item_types_ext.inc.xml.
1302         * doc/man/pam_set_item.3.xml: Likewise.
1303         * doc/man/pam_item_types.inc.xml: Removed file.
1304         * doc/man/pam_item_types_ext.inc.xml: New file.
1305         * doc/man/pam_item_types_std.inc.xml: New file.
1306
1307 2007-12-06  Tomas Mraz  <t8m@centrum.cz>
1308
1309         * modules/pam_tty_audit/pam_tty_audit.8.xml: Fix example.
1310
1311 2007-12-05  Miloslav Trmac  <mitr@redhat.com>
1312
1313         * configure.in: Add test for audit_tty_status struct. Add
1314         pam_tty_audit module.
1315         * libpam/pam_static_modules.h: Add pam_tty_audit module.
1316         * modules/pam_tty_audit/Makefile.am: New file.
1317         * modules/pam_tty_audit/README.xml: Likewise.
1318         * modules/pam_tty_audit/pam_tty_audit.8.xml: Likewise.
1319         * modules/pam_tty_audit/pam_tty_audit.c: Likewise.
1320
1321 2007-12-05  Tomas Mraz  <t8m@centrum.cz>
1322
1323         * modules/pam_unix/Makefile.am: Add passverify.h and passverify.c
1324         as first part of pam_unix refactorization.
1325         * modules/pam_unix/pam_unix/pam_unix_acct.c: Include passverify.h.
1326         * modules/pam_unix/pam_unix_passwd.c: Likewise.
1327         * modules/pam_unix/passverify.c: New file with common functions.
1328         * modules/pam_unix/passverify.h: Prototypes for the common functions.
1329         * modules/pam_unix/support.c: Include passverify.h, move
1330         _unix_shadowed() to passverify.c.
1331         (_unix_verify_password): Refactor out verify_pwd_hash() function.
1332         * modules/pam_unix/support.h: Move _unix_shadowed() prototype to
1333         passverify.h
1334         * modules/pam_unix/unix_chkpwd.c: Use _unix_shadowed() and
1335         verify_pwd_hash() from passverify.c.
1336
1337 2007-11-20  Thorsten Kukuk  <kukuk@thkukuk.de>
1338
1339         * modules/pam_unix/Makefile.am (unix_chkpwd_LDADD): Don't link
1340         unix_chkpwd unnecessary against libpam (#1822779).
1341
1342         * modules/pam_tally/pam_tally.c (tally_log): Map
1343         pam_modutil_getpwnam to getpwnam if we don't compile
1344         as module.
1345         * modules/pam_tally/Makefile.am: Don't link pam_tally_app
1346         against libpam (#1822779).
1347
1348 2007-11-06  Thorsten Kukuk  <kukuk@thkukuk.de>
1349
1350         * xtests/tst-pam_group1.c: Include stdlib.h
1351         * xtests/tst-pam_succeed_if1.c: Likewise.
1352         * xtests/tst-pam_limits1.c: Likewise.
1353         * xtests/tst-pam_access1.c: Likewise.
1354         * xtests/tst-pam_access2.c: Likewise.
1355         * xtests/tst-pam_access3.c: Likewise.
1356         * xtests/tst-pam_access4.c: Likewise.
1357         * xtests/tst-pam_unix1.c: Likewise.
1358         * xtests/tst-pam_unix2.c: Likewise.
1359         * xtests/tst-pam_unix3.c: Likewise.
1360         * xtests/tst-pam_cracklib1.c: Likewise.
1361         * xtests/tst-pam_cracklib2.c: Likewise.
1362
1363         * libpam/pam_static_modules.h: Fix name of pam_namespace variable.
1364
1365 2007-11-01  Peter Breitenlohner <peb@mppmu.mpg.de>
1366
1367         * doc/man/pam_conv.3.xml: Correct typo.
1368
1369 2007-10-30  Peter Breitenlohner <peb@mppmu.mpg.de>
1370
1371         * modules/pam_rhosts/pam_rhosts_auth.c (__icheckhost): Correct
1372         misplaced parenthesis.
1373         * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Prevent use of
1374         dngettext() when NLS is disabled.
1375         * modules/pam_exec/pam_exec.c (call_exec): Avoid gcc warning.
1376         * doc/specs/parse_y.y (set_label, new_counter): Break trigraphs to
1377         avoid gcc warning.
1378         * modules/pam_wheel/pam_wheel.c: Remove excessive initializer
1379         elements.
1380
1381         * modules/pam_cracklib/pam_cracklib.8.xml: Correct typo.
1382         * modules/pam_limits/limits.conf.5.xml: Likewise.
1383         * modules/pam_listfile/pam_listfile.8.xml: Likewise.
1384         * modules/pam_xauth/pam_xauth.8.xml: Likewise.
1385
1386         * modules/pam_deny/pam_deny.8.xml: Correct spelling.
1387         * modules/pam_group/pam_group.8.xml: Likewise.
1388         * modules/pam_permit/pam_permit.8.xml: Likewise.
1389         * modules/pam_shells/pam_shells.8.xml: Likewise.
1390         * modules/pam_time/pam_time.8.xml: Likewise.
1391         * modules/pam_warn/pam_warn.8.xml: Likewise.
1392
1393         * tests/tst-dlopen.c: Return 77 in case of static modules, such that
1394         all modules/pam_*/tst-pam_* tests yield SKIP instead of FAIL.
1395         * libpam/Makefile.am (libpam_la_LIBADD): Use "$(shell ls ...)" instead
1396         of "`ls ...`", to allow for static modules.
1397         * libpam/pam_static_modules.h: Make pam_keyinit module depend on
1398         HAVE_KEY_MANAGEMENT; correct name of pam_faildelay pam_module struct.
1399         * modules/pam_faildelay/pam_faildelay.c: Correct name of pam_module
1400         struct.
1401
1402 2007-10-25  Steve Langasek  <vorlon@debian.org>
1403
1404         * modules/pam_tally/pam_tally.c: fix the definition of OPT_AUDIT
1405         to be octal instead of decimal, so that it works properly in a
1406         bit field instead of forcing the "even_deny_root_account" and
1407         "no_reset" options to on.
1408         Patch from Corey Wright <undefined@pobox.com>.
1409
1410 2007-10-19  Tomas Mraz  <t8m@centrum.cz>
1411
1412         * xtests/tst-pam_access1.c: Use different name for user and group.
1413         * xtests/tst-pam_access1.sh: Likewise.
1414         * xtests/tst-pam_access2.c: Likewise.
1415         * xtests/tst-pam_access2.sh: Likewise.
1416         * xtests/tst-pam_access4.c: Likewise.
1417         * xtests/tst-pam_access4.sh: Likewise.
1418         * xtests/group.conf: Likewise.
1419         * xtests/tst-pam_group1.c: Likewise.
1420         * xtests/tst-pam_group1.sh: Likewise.
1421
1422         * libpam/pam_dispatch.c (_pam_dispatch_aux): Save states for substacks,
1423         record substack level, skip over virtual substack modules, implement
1424         evaluation of done, die, reset and jumps in substacks. Also fixes
1425         too far jumps in substacks.
1426         * libpam/pam_end.c (pam_end): Drop substack evaluation states.
1427         * libpam/pam_handlers.c (_pam_parse_conf_file): Add substack level
1428         parameter, instead of must_fail use handler_type needed for virtual
1429         substack modules.
1430         (_pam_load_conf_file): Add substack level parameter.
1431         (_pam_init_handlers): Substack level parameter added to
1432         _pam_parse_conf_file() calls.
1433         (_pam_load_module): New function.
1434         (_pam_add_handler): Refactor code into the _pam_load_module(). Add
1435         support for virtual substack modules.
1436         * libpam/pam_private.h: Rename must_fail to handler_type, add stack_level
1437         to struct handler. Define handler type constants. Add struct
1438         for substack evaluation states. Define constant for maximum
1439         substack level. Add substack states pointer to former state struct.
1440         * libpam/pam_start.c (pam_start): Initialize pointer to substack states.
1441         * doc/man/pam.conf-syntax.xml: Document substack control.
1442         * xtests/Makefile.am: Add new tests for substack evaluation.
1443         * xtests/run_xtests.sh: Support multiple .pamd files in a test.
1444         * xtests/tst-pam_authfail.pamd: New tests for substack evaluation.
1445         * xtests/tst-pam_authsucceed.pamd: Likewise.
1446         * xtests/tst-pam_substack1.pamd: Likewise.
1447         * xtests/tst-pam_substack1a.pamd: Likewise.
1448         * xtests/tst-pam_substack1.sh: Likewise.
1449         * xtests/tst-pam_substack2.pamd: Likewise.
1450         * xtests/tst-pam_substack2a.pamd: Likewise.
1451         * xtests/tst-pam_substack2.sh: Likewise.
1452         * xtests/tst-pam_substack3.pamd: Likewise.
1453         * xtests/tst-pam_substack3a.pamd: Likewise.
1454         * xtests/tst-pam_substack3.sh: Likewise.
1455         * xtests/tst-pam_substack4.pamd: Likewise.
1456         * xtests/tst-pam_substack4a.pamd: Likewise.
1457         * xtests/tst-pam_substack4.sh: Likewise.
1458         * xtests/tst-pam_substack5.pamd: Likewise.
1459         * xtests/tst-pam_substack5a.pamd: Likewise.
1460         * xtests/tst-pam_substack5.sh: Likewise.
1461
1462 2007-10-18  Tomas Mraz  <t8m@centrum.cz>
1463
1464         * xtests/tst-pam_dispatch4.c: Fix comment about the test.
1465         * xtests/tst-pam_dispatch4.pamd: Improve the testcase.
1466         * xtests/tst-pam_cracklib2.c: Make the testcase more robust.
1467
1468 2007-10-12  Thorsten Kukuk  <kukuk@thkukuk.de>
1469
1470         * xtests/Makefile.am: Add tst-pam_dispatch5 sources
1471         * xtests/tst-pam_dispatch5.c: New test for jump too far.
1472         * xtests/tst-pam_dispatch5.pamd: New test configuration.
1473
1474 2007-10-09  Tomas Mraz  <t8m@centrum.cz>
1475
1476         * modules/pam_tally/pam_tally.8.xml: Document audit option
1477         correctly.
1478
1479 2007-10-09  Thorsten Kukuk  <kukuk@thkukuk.de>
1480
1481         * release version 0.99.9.0
1482
1483         * configure.in: Increase vesion number.
1484
1485         * libpam/Makefile.am: Increase release number.
1486         * libpam_misc/Makefile.am: Increase release number.
1487
1488         * po/*.po: Regenerate.
1489
1490 2007-10-08  Thorsten Kukuk  <kukuk@thkukuk.de>
1491
1492         * modules/pam_time/pam_time.c (is_same): Length of strings without
1493         wildcard needs to be the same.
1494         * modules/pam_group/pam_group.c (is_same): Likewise.
1495
1496 2007-10-01  Thorsten Kukuk  <kukuk@thkukuk.de>
1497
1498         * xtests/tst-pam_group1.c: New test case for user compare in pam_group.
1499         * xtests/tst-pam_group1.sh: Script to run test case.
1500         * xtests/tst-pam_group1.pamd: Config for test case.
1501         * xtests/Makefile.am: Add tst-pam_group1 test case.
1502         * xtests/run-xtests.sh: Save/restore group.conf.
1503         * xtests/group.conf: New.
1504
1505         * modules/pam_xauth/pam_xauth.c (pam_sm_open_session): Don't
1506         free arguments used for putenv().
1507
1508         * doc/man/pam_putenv.3.xml: Document that application has to free
1509         the memory.
1510
1511 2007-09-27  Tomas Mraz  <t8m@centrum.cz>
1512
1513         * modules/pam_succeed_if/pam_succeed_if.c (evaluate_inlist): Fix in
1514         operator rhbz #295151.
1515         * modules/pam_namespace/pam_namespace.c (poly_name): Do not try to
1516         get context when SELinux is disabled.
1517
1518 2007-09-27  Thorsten Kukuk  <kukuk@thkukuk.de>
1519
1520         * xtests/tst-pam_succeed_if1.c: New test case for
1521         https://bugzilla.redhat.com/show_bug.cgi?id=295151
1522         * xtests/tst-pam_succeed_if1.sh: Script to run test case.
1523         * xtests/tst-pam_succeed_if1.pamd: Config for test case.
1524         * xtests/Makefile.am: Add tst-pam_succeed_if1 test case.
1525
1526         * xtests/run-xtests.sh: Add support to skip tests.
1527         * xtests/tst-pam_limits1.c: Skip test if RLIMIT_NICE is not
1528         defined.
1529
1530 2007-09-03  Steve Langasek  <vorlon@debian.org>
1531
1532         * modules/pam_limits/pam_limits.c: remove a number of unnecessary
1533         string manipulations, including a strncpy() that was acting on
1534         overlapping memory.
1535
1536         * libpam_misc/misc_conv.c: don't block SIGINT in misc_conv; it's
1537         perfectly valid to allow the user to interrupt at a prompt.  If
1538         an application wants prompts to not be interruptable, the
1539         application should take responsibility for blocking SIGINT.
1540
1541 2007-09-02  Thorsten Kukuk  <kukuk@thkukuk.de>
1542
1543         * examples/Makefile.am: Fix usage of LIBADD, LDADD and LDFLAGS.
1544         * libpam/Makefile.am: Likewise.
1545         * modules/pam_access/Makefile.am: Likewise.
1546         * modules/pam_cracklib/Makefile.am: Likewise.
1547         * modules/pam_debug/Makefile.am: Likewise.
1548         * modules/pam_deny/Makefile.am: Likewise.
1549         * modules/pam_echo/Makefile.am: Likewise.
1550         * modules/pam_env/Makefile.am: Likewise.
1551         * modules/pam_exec/Makefile.am: Likewise.
1552         * modules/pam_faildelay/Makefile.am: Likewise.
1553         * modules/pam_filter/Makefile.am: Likewise.
1554         * modules/pam_filter/upperLOWER/Makefile.am: Likewise.
1555         * modules/pam_ftp/Makefile.am: Likewise.
1556         * modules/pam_group/Makefile.am: Likewise.
1557         * modules/pam_issue/Makefile.am: Likewise.
1558         * modules/pam_keyinit/Makefile.am: Likewise.
1559         * modules/pam_lastlog/Makefile.am: Likewise.
1560         * modules/pam_limits/Makefile.am: Likewise.
1561         * modules/pam_listfile/Makefile.am: Likewise.
1562         * modules/pam_localuser/Makefile.am: Likewise.
1563         * modules/pam_loginuid/Makefile.am: Likewise.
1564         * modules/pam_mail/Makefile.am: Likewise.
1565         * modules/pam_mkhomedir/Makefile.am: Likewise.
1566         * modules/pam_motd/Makefile.am: Likewise.
1567         * modules/pam_namespace/Makefile.am: Likewise.
1568         * modules/pam_nologin/Makefile.am: Likewise.
1569         * modules/pam_permit/Makefile.am: Likewise.
1570         * modules/pam_rhosts/Makefile.am: Likewise.
1571         * modules/pam_rootok/Makefile.am: Likewise.
1572         * modules/pam_securetty/Makefile.am: Likewise.
1573         * modules/pam_selinux/Makefile.am: Likewise.
1574         * modules/pam_shells/Makefile.am: Likewise.
1575         * modules/pam_stress/Makefile.am: Likewise.
1576         * modules/pam_succeed_if/Makefile.am: Likewise.
1577         * modules/pam_tally/Makefile.am: Likewise.
1578         * modules/pam_time/Makefile.am: Likewise.
1579         * modules/pam_umask/Makefile.am: Likewise.
1580         * modules/pam_unix/Makefile.am: Likewise.
1581         * tests/Makefile.am: Likewise.
1582
1583 2007-08-31  Steve Langasek  <vorlon@debian.org>
1584
1585         * modules/pam_group/group.conf: don't use "games" as an example
1586         group, on some distros this is a pre-existing group that it would
1587         be a security hole to give users access to.
1588
1589 2007-08-30  Thorsten Kukuk  <kukuk@thkukuk.de>
1590
1591         * modules/pam_limits/limits.conf.5.xml: Document that maxlogins
1592         is ignored for users with UID 0.
1593
1594 2007-08-30  Steve Langasek  <vorlon@debian.org>
1595
1596         * modules/pam_unix/support.c, modules/pam_unix/unix_chkpwd.c:
1597         A wrong username doesn't need to be logged at LOG_ALERT;
1598         LOG_WARNING should be sufficient.
1599         Patch from Sam Hartman <hartmans@debian.org>.
1600
1601         * modules/pam_cracklib/pam_cracklib.c:
1602         s/CRACKLIB_DICT/CRACKLIB_DICTS/, for consistency with existing
1603         #define in pam_unix
1604
1605 2007-08-29  Steve Langasek  <vorlon@debian.org>
1606
1607         * libpam/pam_modutil_getgrgid.c, libpam/pam_modutil_getgrnam.c,
1608         libpam/pam_modutil_getpwnam.c, libpam/pam_modutil_getpwuid.c,
1609         libpam/pam_modutil_getspnam.c: don't use pthread mutexes in libpam
1610         unnecessarily; this avoids linking problems on non-Linux
1611         platforms.
1612
1613         * modules/pam_listfile/pam_listfile.c, modules/pam_listfile/README,
1614         modules/pam_listfile/pam_listfile.8,
1615         modules/pam_listfile/pam_listfile.8.xml: add a 'quiet' option to
1616         avoid logging errors any time a user is refused service by this
1617         module.
1618
1619 2007-08-29  Thorsten Kukuk  <kukuk@thkukuk.de>
1620
1621         * modules/pam_rhosts/pam_rhosts_auth.c: buflen needs to be size_t.
1622         (__icheckhost): Cast to int32_t to fix limited range error.
1623
1624         * modules/pam_cracklib/pam_cracklib.c: Mark cracklib_dictpath
1625         as const.
1626
1627 2007-08-29  Steve Langasek <vorlon@debian.org>
1628
1629         * modules/pam_rhosts/pam_rhosts_auth.c: getline returns -1 at
1630         EOF, not 0.  Check accordingly to fix an infinite loop.  Thanks
1631         to Stephan Springl <springl-rhosts@bfw-online.de> for catching
1632         this.
1633
1634 2007-08-28  Steve Langasek <vorlon@debian.org>
1635
1636         * configure.in: call AC_CHECK_HEADERS instead of AC_CHECK_HEADER
1637         for crack.h, so we get a HAVE_CRACK_H define.
1638         * modules/pam_cracklib/pam_cracklib.c: don't copy around the
1639         cracklib dictpath into a fixed-width buffer, when we can just
1640         point at the existing strings; and allow users to override the
1641         default cracklib path with -DCRACKLIB_DICT, required for
1642         compatibility with cracklib 2.7.
1643
1644 2007-08-27  Steve Langasek <vorlon@debian.org>
1645
1646         * modules/pam_limits/pam_limits.c: when building on non-Linux
1647         systems, give a warning only, not an error; no one seems to
1648         remember why this error was here in the first place, but leave
1649         something in that might still grab the attention of non-Linux
1650         users.
1651         Patch from Michal Suchanek <hramrach_l@centrum.cz>.
1652         * configure.in, modules/pam_rhosts/pam_rhosts_auth.c: check for
1653         the presence of net/if.h before using, required for Hurd
1654         compatibility.
1655         Patch from Igor Khavkine <i_khavki@alcor.concordia.ca>.
1656         * modules/pam_limits/pam_limits.c: conditionalize the use of
1657         RLIMIT_AS, which is not present on the Hurd.
1658         Patch from Igor Khavkine <i_khavki@alcor.concordia.ca>.
1659         * modules/pam_rhosts/pam_rhosts_auth.c: use getline() instead of
1660         a static buffer when available; fixes the build on systems
1661         without MAXHOSTNAMELEN (i.e., the Hurd).
1662         * modules/pam_xauth/pam_xauth.c: make sure PATH_MAX is defined
1663         before using it.
1664
1665 2007-08-26  Andrew Morgan  <morgan@kernel.org>
1666
1667         * doc/man/pam.conf-syntax.xml
1668         Minor fixes: '\[' -> '\]'.
1669
1670 2007-08-25  Steve Langasek  <vorlon@debian.org>
1671
1672         * doc/man/pam.conf-syntax.xml, doc/man/pam.conf.5:
1673         Document "new" control options conv_again and incomplete, supported
1674         in pam.d's extended syntax.
1675         Patch from Ben Collins <bcollins@debian.org>.
1676
1677 2007-08-15  Tomas Mraz  <t8m@centrum.cz>
1678
1679         * modules/pam_access/pam_access.c (list_match): Add explicit
1680         sptr argument for strtok_r, otherwise the code is not portable.
1681
1682 2007-08-13  Olivier Blin <blino@mandriva.com>
1683
1684         * doc/man/pam.3.xml: Fix typo.
1685         * doc/man/pam.3: Likewise.
1686         * doc/man/pam_end.3.xml: Likewise.
1687         * doc/man/pam_end.3: Likewise.
1688
1689 2007-07-18  Thorsten Kukuk  <kukuk@thkukuk.de>
1690
1691         * release version 0.99.8.1
1692
1693         * libpam/pam_audit.c: Include unistd.h for getuid().
1694         * libpam/Makefile.am: Bump version number.
1695
1696 2007-07-12  Thorsten Kukuk  <kukuk@thkukuk.de>
1697
1698         * libpam/pam_audit.c (_pam_audit_writelog): Don't return
1699         error if application runs as normal user. Fixes regression
1700         introduced with last change.
1701
1702 2007-07-10  Thorsten Kukuk  <kukuk@thkukuk.de>
1703
1704         * configure.in: Add --with-db-uniquename option to support
1705         db libraries and functions with unique name extension.
1706         Patch from Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>.
1707
1708         * modules/pam_limits/pam_limits.c: Include locale.h.
1709
1710 2007-07-06  Thorsten Kukuk  <kukuk@thkukuk.de>
1711
1712         * release version 0.99.8.0
1713
1714         * configure.in: Check for audit_log_acct_message instead of
1715         audit_log_user_message.
1716         * libpam/pam_audit.c: Use audit_log_acct_message.
1717         Based on patch from Mark J Cox <mjc@redhat.com>.
1718         * libpam/Makefile.am: Bump version number of libpam.
1719
1720         * modules/pam_umask/pam_umask.c (set_umask): mode_t is 32bit,
1721         not 64bit.
1722
1723         * xtests/tst-pam_limits1.c: Fix printf arguments.
1724
1725         * po/*.po: Merge po files with latest code changes.
1726
1727 2007-06-26  Thorsten Kukuk  <kukuk@thkukuk.de>
1728
1729         * modules/pam_limits/pam_limits.c (process_limit): Check upper and
1730         lower limit of nice value, fix off-by-one in conversation to rlim_t.
1731         * xtests/Makefile.am: Add new pam_limits test case.
1732         * xtests/limits.conf: New, config file for test case.
1733         * xtests/pam_limits1.c: New, test case for RLIMIT_NICE.
1734         * xtests/pam_limits1.sh: Likewise.
1735         * xtests/pam_limits1.pamd: Likewise.
1736
1737 2007-06-25  Thorsten Kukuk  <kukuk@thkukuk.de>
1738
1739         * modules/pam_access/pam_access.c (list_match): Use saveptr of strtok_r
1740         result for recursive calls.
1741         * xtests/Makefile.am: Add new pam_access test cases.
1742         * xtests/pam_access1.c: New test case.
1743         * xtests/pam_access2.c: Likewise.
1744         * xtests/pam_access3.c: Likewise.
1745         * xtests/pam_access4.c: Likewise.
1746         * xtests/pam_access1.sh: Wrapper to create user accounts.
1747         * xtests/pam_access2.sh: Likewise.
1748         * xtests/pam_access3.sh: Likewise.
1749         * xtests/pam_access4.sh: Likewise.
1750         * xtests/pam_access1.pamd: PAM config file for pam_access tests.
1751         * xtests/pam_access2.pamd: Likewise.
1752         * xtests/pam_access3.pamd: Likewise.
1753         * xtests/pam_access4.pamd: Likewise.
1754         * xtests/access.conf: Config file for pam_access tests.
1755         * xtests/run-tests.sh: Install access.conf into system.
1756
1757 2007-06-22  Thorsten Kukuk  <kukuk@thkukuk.de>
1758
1759         * modules/pam_loginuid/pam_loginuid.c (set_loginuid): Print
1760         better error message if /proc/self/loginuid cannot be opened.
1761
1762         * modules/pam_limits/pam_limits.c (process_limit): Check for
1763         variable overflow after multiplication [bnc#283001].
1764
1765         * modules/pam_access/pam_access.c: Add new syntax for groups
1766         in access.conf to differentiate group names from account names.
1767         Based on patch from Julien Lecomte <julien@famille-lecomte.net>,
1768         solves feature request [#411390].
1769         * modules/pam_access/access.conf: Add example for new group
1770         syntax.
1771         * modules/pam_access/access.conf.5.xml: Document new syntax.
1772
1773 2007-06-20  Thorsten Kukuk  <kukuk@thkukuk.de>
1774
1775         * modules/pam_cracklib/pam_cracklib.8.xml: Document new minclass
1776         option.
1777         * modules/pam_cracklib/pam_cracklib.c: Add support for minimum
1778         character classes [#1688777]. Based on patch from Keith Schincke.
1779
1780         * xtests/tst-pam_cracklib2.c: New, test case for minclass option.
1781         * xtests/tst-pam_cracklib2.pamd: New, PAM config file for test case.
1782         * xtests/Makefile.am: Add new testcase.
1783
1784         * xtests/pam_cracklib.c: Fix comment what this application tests.
1785
1786         * configure.in: Use /lib64 on x86-64, ppc64, s390x, sparc64
1787
1788 2007-06-15  Tomas Mraz  <t8m@centrum.cz>
1789
1790         * modules/pam_selinux/pam_selinux.8.xml: Remove multiple option,
1791         add select_context and use_current_range options.
1792         * modules/pam_selinux/pam_selinux.c (send_audit_message): Added
1793         function for auditing role/level changes.
1794         (query_response): Add default response.
1795         (select_context): Removed.
1796         (manual_context): Query only role and level.
1797         (mls_range_allowed): Added function for range check.
1798         (config_context): Added function for role and level override.
1799         (pam_sm_open_session): Remove multiple option, add select_context
1800         and use_current_range_options. Use getseuserbyname to obtain
1801         SELinux user and level. Audit role/level changes. Call setkeycreatecon
1802         to assign key creation context. Don't fail on errors when SELinux
1803         is not in enforcing mode.
1804         * configure.in: Check for setkeycreatecon().
1805
1806         * modules/pam_namespace/README.xml: Avoid duplication of
1807         documentation.
1808         * modules/pam_namespace/namespace.conf: More real life example
1809         from MLS support.
1810         * modules/pam_namespace/namespace.conf.5.xml: Likewise plus
1811         properly describe how instance directory names are formed.
1812         * modules/pam_namespace/namespace.init: Preserve euid when
1813         called from setuid apps (su, newrole).
1814         * modules/pam_namespace/pam_namespace.8.xml: Added option
1815         no_unmount_on_close.
1816         * modules/pam_namespace/pam_namespace.c (process_line): Polyinst
1817         methods are now user, level and context. Fix crash on unknown
1818         override user in config file.
1819         (ns_override): Add explicit uid parameter.
1820         (form_context): Skip for user method. Implement level based
1821         polyinstantiation.
1822         (poly_name): Initialize contexts. Add level based polyinst,
1823         remove 'both' metod. Use raw contexts for instance names,
1824         truncate long instance names and add hash.
1825         (ns_setup): Hashing moved to poly_name().
1826         (setup_namespace): Handle correctly override users for
1827         su (when unmnt_remnt is used).
1828         (pam_sm_close_session): Added no_unmount_on_close option.
1829         * modules/pam_namespace/pam_namespace.h: Added
1830         no_unmount_on_close_option, level method, limit on instance
1831         directory name length.
1832
1833 2007-05-04  Thorsten Kukuk  <kukuk@suse.de>
1834
1835         * xtests/run-xtests.sh: Use SRCDIR to find PAM config files.
1836         * xtests/Makefile.am: Call run-xtests.sh with srcdir as first
1837         argument.
1838         Based on patch by Bernard Leak <thisisnotapipe@hotmail.com>.
1839
1840 2007-04-30  Thorsten Kukuk  <kukuk@thkukuk.de>
1841
1842         * modules/pam_limits/limits.conf: Address space limit is KB.
1843         * modules/pam_limits/limits.conf.5.xml: Likewise.
1844         Reported by Thomas Vander Stichele <thomas@apestaart.org>.
1845
1846         * modules/pam_mail/pam_mail.c (_do_mail): Remove duplicate
1847         check for PAM_SILENT and don't bail out if it is set [#1706247].
1848
1849 2007-03-29  Tomas Mraz  <t8m@centrum.cz>
1850
1851         * modules/pam_access/pam_access.c (login_access, list_match):
1852         Replace strtok with strtok_r.
1853         * modules/pam_cracklib/pam_cracklib.c (check_old_password):
1854         Likewise.
1855         * modules/pam_ftp/pam_ftp.c (lookup, pam_authenticate):
1856         Likewise.
1857         * modules/pam_unix/pam_unix_passwd.c (check_old_password,
1858         save_old_password): Likewise.
1859
1860         * modules/pam_limits/Makefile.am: Define limits.d dir and install it.
1861         * modules/pam_limits/pam_limits.8.xml: Describe limits.d parsing.
1862         * modules/pam_limits/pam_limits.c (pam_limit_s): Make conf_file ptr.
1863         (pam_parse): conf_file is now ptr.
1864         (pam_sm_open_session): Add parsing files from limits.d subdir using
1865         glob, change pl to pointer.
1866
1867 2007-03-12  Thorsten Kukuk  <kukuk@thkukuk.de>
1868
1869         * po/ar.po: New translation.
1870         * po/ca.po: Likewise.
1871         * po/da.po: Likewise.
1872         * po/ru.po: Likewise.
1873         * po/sv.po: Likewise.
1874         * po/zu.po: Likewise.
1875         * po/LINGUAS: Add ar, ca, da, ru, sv, zu
1876
1877         * po/hu.po: Update translation.
1878
1879 2007-02-21  Tomas Mraz  <t8m@centrum.cz>
1880
1881         * modules/pam_unix/unix_chkpwd.c (_unix_verify_password): Test for
1882         allocation failure in bigcrypt().
1883
1884         * modules/pam_unix/pam_unix_passwd.c (pam_sm_chauthtok): Allow
1885         modification of '*' password by root.
1886
1887 2007-02-06  Tomas Mraz  <t8m@centrum.cz>
1888
1889         * modules/pam_loginuid/pam_loginuid.c (set_loginuid): Remove
1890         debug syslog message when loginuid doesn't exist.
1891
1892 2007-02-01  Tomas Mraz  <t8m@centrum.cz>
1893
1894         * xtests/tst-pam_unix3.c: Fix typos in comments.
1895
1896         * modules/pam_unix/support.c (_unix_verify_password): Explicitly
1897         disallow '!' in the beginning of password hash. Treat only
1898         13 bytes password hash specifically. (Suggested by Solar Designer.)
1899         Fix a warning and test for allocation failure.
1900         * modules/pam_unix/unix_chkpwd.c (_unix_verify_password): Likewise.
1901
1902 2007-01-31  Thorsten Kukuk  <kukuk@thkukuk.de>
1903
1904         * xtests/Makefile.am: Add new pam_unix.so tests
1905         * xtests/run-xtests.sh: Prefer shell scripts (wrapper)
1906         over binaries.
1907         * xtests/tst-pam_cracklib1.c: Fix typo.
1908         * xtests/tst-pam_unix1.c: New, for sucurity fix.
1909         * xtests/tst-pam_unix1.pamd: New.
1910         * xtests/tst-pam_unix1.sh: New.
1911         * xtests/tst-pam_unix2.c: New, for crypt checks.
1912         * xtests/tst-pam_unix2.pamd: New.
1913         * xtests/tst-pam_unix2.sh: New.
1914         * xtests/tst-pam_unix3.c: New, for bigcrypt checks.
1915         * xtests/tst-pam_unix3.pamd: New.
1916         * xtests/tst-pam_unix3.sh: New.
1917
1918 2007-01-23  Thorsten Kukuk  <kukuk@suse.de>
1919
1920         * release 0.99.7.1
1921
1922         * configure.in: Set version number to 0.99.7.1
1923
1924 2007-01-23  Thorsten Kukuk  <kukuk@thukuk.de>
1925             Tomas Mraz  <t8m@centrum.cz>
1926
1927         * modules/pam_unix/support.c (_unix_verify_password): Always
1928         compare full encrypted passwords (CVE-2007-0003).
1929
1930 2007-01-23  Tomas Mraz  <t8m@centrum.cz>
1931
1932         * modules/pam_loginuid/Makefile.am (AM_LDFLAGS): Add LIBAUDIT.
1933
1934         * modules/pam_selinux/Makefile.am (pam_selinux_check_LDFLAGS): Add
1935         AM_LDFLAGS.
1936         (pam_selinux_la_LDFLAGS): Likewise.
1937
1938 2007-01-17  Thorsten Kukuk  <kukuk@thkukuk.de>
1939
1940         * release 0.99.7.0
1941
1942         * configure.in: Set version number to 0.99.7.0
1943
1944         * Makefile.am (M4_FILES): Replace GNU make extension by listing
1945         all m4 files.
1946
1947 2007-01-17  Tomas Mraz  <t8m@centrum.cz>
1948
1949         * po/*.po: Updated strings to translate.
1950         * po/Linux-PAM.pot: Likewise.
1951
1952 2007-01-16  Thorsten Kukuk  <kukuk@thkukuk.de>
1953
1954         * doc/man/pam.conf-syntax.xml: Improve documentation about
1955         sufficient keyword (Patch by Petteri Räty <betelgeuse@gentoo.org>)
1956
1957 2006-12-20  Thorsten Kukuk  <kukuk@thkukuk.de>
1958
1959         * modules/pam_unix/pam_unix_passwd.c (pam_sm_chauthtok): Forbid
1960         only '+' and '-' as first characters for account names.
1961         * modules/pam_unix/pam_unix_auth.c (pam_sm_authenticate): Likewise.
1962
1963 2006-12-18  Thorsten Kukuk  <kukuk@thkukuk.de>
1964
1965         * configure.in: Fix ENOKEY check (specify errno.h as header
1966         file to search in).
1967
1968         * configure.in: Add AM_PROG_CC_C_O.
1969         * libpam/Makefile.am: Add content of AM_LDFLAGS to *_LDFLAGS.
1970         * modules/pam_tally/Makefile.am: Likewise.
1971         * modules/pam_unix/Makefile.am: Likewise.
1972
1973         * modules/pam_stress/pam_stress.c (pam_sm_chauthtok): Fix
1974         localisation of message printed to user.
1975         * po/de.po: Adjust translation.
1976
1977 2006-12-18  Tomas Mraz  <t8m@centrum.cz>
1978
1979         * modules/pam_unix/pam_unix_passwd.c (pam_sm_chauthtok): Localize
1980         message printed to user.
1981
1982         * modules/pam_unix/support.c (_unix_verify_password): Use strncmp
1983         only for bigcrypt result.
1984
1985         * modules/pam_keyinit/pam_keyinit.c (kill_keyrings): Switch to new
1986         egid first, euid next. Revert euid/egid to old euid/egid and not
1987         ruid/rgid.
1988         (pam_sm_open_session): Switch to new rgid first, ruid next.
1989
1990 2006-12-13  Thorsten Kukuk  <kukuk@thkukuk.de>
1991
1992         * modules/pam_localuser/pam_localuser.c: Add support for session
1993         and chauthtok [SF#1606180].
1994         * modules/pam_localuser/pam_localuser.8.xml: Document last change.
1995
1996         * libpam/pam_audit.c (_pam_audit_writelog): Print error message
1997         only once.
1998
1999 2006-12-12  Thorsten Kukuk  <kukuk@thkukuk.de>
2000
2001         * libpam/pam_audit.c (_pam_audit_writelog): Print error
2002         message on failure to syslog.
2003
2004 2006-12-09  Thorsten Kukuk  <kukuk@thkukuk.de>
2005
2006         * modules/pam_umask/pam_umask.c: Use strtoul instead of strtol,
2007         fix overflow detection.
2008
2009 2006-12-06  Thorsten Kukuk  <kukuk@thkukuk.de>
2010
2011         * modules/pam_mkhomedir/pam_mkhomedir.c (rec_mkdir): Fix
2012         handling of left-most path component [SF#1591598].
2013         (create_homedir): Mark user visible messages for translation.
2014         * po/de.po: Adjust german translation for pam_mkhomedir.
2015
2016         * modules/pam_faildelay/pam_faildelay.c: If no argument is
2017         given, try to read FAIL_DELAY from /etc/login.defs.
2018         * modules/pam_faildelay/pam_faildelay.8.xml: Document usage
2019         of /etc/login.defs.
2020
2021 2006-12-04  Tomas Mraz <t8m@centrun.cz>
2022
2023         * po/jp.po: Fixed mistake in Password: message (from
2024         Peng Huang <phuang@redhat.com>).
2025
2026 2006-11-28  Thorsten Kukuk  <kukuk@thkukuk.de>
2027
2028         * po/hu.po: Update hungarian translation (from
2029         Kalman Kemenczy <kkemenczy@novell.com>).
2030
2031         * configure.in: Allow disabling support for cracklib, audit, libdb.
2032
2033         * modules/pam_faildelay/pam_faildelay.8.xml: Correct name of Author.
2034
2035         * configure.in: Remove --enable-docdir (obsolete by --docdir).
2036         * doc/Makefile.am: Don't overwrite htmldir.
2037         * doc/adg/Makefile.am: Use docdir, htmldir and pdfdir.
2038         * doc/mwg/Makefile.am: Likewise.
2039         * doc/sag/Makefile.am: Likewise.
2040         * doc/specs/Makefile.am: Use docdir.
2041
2042         * tests/tst-pam_set_data.c: New test cases for pam_set_data().
2043         * tests/Makefile.am: Add pam_set_data test case.
2044
2045         * libpam/pam_data.c: Add NULL pointer check for module_data_name.
2046         * libpam/Makefile.am: Bump revision of shared library.
2047
2048 2006-11-08  Thorsten Kukuk  <kukuk@thkukuk.de>
2049
2050         * configure.in: Add modules/pam_faildelay/Makefile.
2051         * doc/sag/Linux-PAM_SAG.xml: Include pam_faildelay.xml.
2052         * doc/sag/pam_faildelay.xml: New.
2053         * libpam/pam_static_modules.h: Include static pam_faildelay data.
2054         * modules/Makefile.am: Add pam_faildelay directory.
2055         * modules/pam_faildelay/Makefile.am: New.
2056         * modules/pam_faildelay/README: New, generated from XML file.
2057         * modules/pam_faildelay/README.xml: New.
2058         * modules/pam_faildelay/pam_faildelay.8: New, generated from xml.
2059         * modules/pam_faildelay/pam_faildelay.8.xml: New.
2060         * modules/pam_faildelay/pam_faildelay.c: New.
2061         * modules/pam_faildelay/tst-pam_faildelay: New.
2062
2063         * po/POTFILES.in: Add pam_faildelay.c and pam_loginuid.c.
2064
2065 2006-11-07  Thorsten Kukuk  <kukuk@thkukuk.de>
2066
2067         * modules/pam_cracklib/pam_cracklib.c: PAM_DEBUG_ARG
2068         is a bit mask and not a boolean value (Reported by
2069         Jochen Voss <voss@seehuhn.de>).
2070
2071 2006-10-26  Thorsten Kukuk  <kukuk@thkukuk.de>
2072
2073         * doc/man/pam.3.xml: Add pam_get_user function.
2074
2075         * modules/pam_motd/pam_motd.8.xml: Fix typo.
2076
2077 2006-10-24  Thorsten Kukuk  <kukuk@thkukuk.de>
2078
2079         * modules/pam_namespace/pam_namespace.c: Reserve space for
2080         trailing zero.
2081
2082 2006-10-24  Thorsten Kukuk  <kukuk@thkukuk.de>
2083
2084         * modules/pam_unix/support.c (_unix_verify_password): Try system
2085         crypt() if we don't know the hash alogorithm.
2086         * modules/pam_unix/unix_chkpwd.c (_unix_verify_password): Likewise.
2087
2088 2006-10-13  Tomas Mraz <t8m@centrum.cz>
2089
2090         * doc/mwg/Linux-PAM_MWG.xml: Add id[s] to section[s].
2091         * doc/sag/pam_access.xml: Likewise.
2092         * doc/sag/pam_echo.xml: Likewise.
2093         * doc/sag/pam_env.xml: Likewise.
2094         * doc/sag/pam_exec.xml: Likewise.
2095         * doc/sag/pam_group.xml: Likewise.
2096         * doc/sag/pam_limits.xml: Likewise.
2097         * doc/sag/pam_namespace.xml: Likewise.
2098         * doc/sag/pam_time.xml: Likewise.
2099         * doc/sag/Linux-PAM_SAG.xml: Add id to book.
2100         * doc/adg/Linux-PAM_ADG.xml: Add id to book.
2101         * doc/mwg/Linux-PAM_MWG.xml: Add id to book.
2102
2103
2104 2006-10-07  Thorsten Kukuk  <kukuk@thkukuk.de>
2105
2106         * po/hu.po: Updated hungarian translation (from
2107         Kalman Kemenczy <kkemenczy@novell.com>)
2108
2109 2006-09-20  Thorsten Kukuk  <kukuk@thkukuk.de>
2110
2111         * doc/adg/Makefile.am: Add manual pages as dependency.
2112         * doc/mwg/Makefile.am: Likewise.
2113         * doc/sag/Makefile.am: Likewise.
2114         * doc/sag/Linux-PAM_SAG.xml: Include pam_unix.xml.
2115         * doc/sag/pam_unix.xml: New.
2116         * modules/pam_unix/Makefile.am: Generate pam_unix.8 manual page.
2117         * modules/pam_unix/README.xml: New.
2118         * modules/pam_unix/pam_unix.8.xml: New.
2119         * modules/pam_unix/README: Regenerate from XML.
2120         * modules/pam_unix/pam_unix.8: Generated from XML.
2121
2122 2006-09-09  Dmitry V. Levin  <ldv@altlinux.org>
2123
2124         * modules/pam_wheel/pam_wheel.8.xml: Fix typo.
2125         * modules/pam_wheel/pam_wheel.8: Likewise.
2126         * modules/pam_wheel/README: Likewise.
2127
2128 2006-09-08  Thorsten Kukuk  <kukuk@thkukuk.de>
2129
2130         * po/de.po: Fix typo.
2131
2132 2006-09-06  Thorsten Kukuk  <kukuk@thkukuk.de>
2133
2134         * release version 0.99.6.3
2135
2136 2006-09-01  Thorsten Kukuk  <kukuk@thkukuk.de>
2137
2138         * modules/pam_loginuid/pam_loginuid.8.xml: Fix typo in
2139         config name.
2140
2141 2006-08-31  Thorsten Kukuk  <kukuk@thkukuk.de>
2142
2143         * modules/pam_env/environment: New, dummy environment example
2144         config file.
2145
2146         * modules/pam_namespace/Makefile.am: Don't install
2147         manual page if we don't build module.
2148
2149         * m4/ld-as-needed.m4: Don't set LDFLAGS if check failed.
2150         * m4/ld-O1: Likewise.
2151
2152 2006-08-30  Tomas Mraz  <t8m@centrum.cz>
2153
2154         * modules/pam_access/pam_access.8.xml: All services supported.
2155         * modules/pam_access/pam_access.c (pam_sm_open_session): New.
2156         (pam_sm_close_session): New.
2157         (pam_sm_chauthtok): New.
2158
2159         * modules/pam_access/pam_succeed_if.8.xml: All services supported.
2160         * modules/pam_access/pam_succeed_if.c (pam_sm_setcred): Return
2161         PAM_IGNORE rather than success.
2162         (pam_sm_open_session): New.
2163         (pam_sm_close_session): New.
2164         (pam_sm_chauthtok): New.
2165
2166 2006-08-30  Thorsten Kukuk  <kukuk@thkukuk.de>
2167
2168         * xtests/Makefile.am: Move shell code to execute tests from here ...
2169         * xtests/run-xtests.sh: ... to here.
2170         * xtests/*.c: Include config.h.
2171         * tests/*.c: Likewise.
2172
2173         * modules/pam_namespace/pam_namespace.c: Use pam_modutil_getpwnam()
2174         instead of getpwnam().
2175
2176 2006-08-29  Thorsten Kukuk  <kukuk@thkukuk.de>
2177
2178         * doc/sag/pam_loginuid.xml: New.
2179         * doc/sag/Linux-PAM_SAG.xml: Include pam_loginuid.xml.
2180
2181         * configure.in: Add modules/pam_loginuid/Makefile.
2182         * modules/Makefile.am: Add pam_loginuid sub directory.
2183
2184         * libpam/pam_static_modules.h: Add pam_loginuid.
2185
2186         * modules/pam_loginuid/Makefile.am: New.
2187         * modules/pam_loginuid/tst-pam_loginuid: New.
2188         * modules/pam_loginuid/pam_loginuid.8.xml: New.
2189         * modules/pam_loginuid/pam_loginuid.8: New, generated from XML source.
2190         * modules/pam_loginuid/pam_loginuid.c: New.
2191         * modules/pam_loginuid/README.xml: New.
2192         * modules/pam_loginuid/README: New, generated from XML source.
2193
2194 2006-08-29  Dmitry V. Levin  <ldv@altlinux.org>
2195
2196         * modules/pam_exec/pam_exec.c (call_exec): Add required third
2197         argument to open() call with O_CREAT flag set.
2198
2199 2006-08-28  Thorsten Kukuk  <kukuk@thkukuk.de>
2200
2201         * modules/pam_cracklib/pam_cracklib.c (pam_sm_chauthtok): Remove
2202         duplicate code.
2203
2204 2006-08-24  Thorsten Kukuk  <kukuk@thkukuk.de>
2205
2206         * release version 0.99.6.2
2207
2208         * modules/pam_lastlog/pam_lastlog.c (last_login_date): Create
2209         lastlog file if it does not exist.
2210
2211         * modules/pam_cracklib/pam_cracklib.c (pam_sm_chauthtok): Check
2212         for error from getting second token.
2213         * xtests/Makefile.am: Add tst-pam_cracklib1
2214         * xtests/tst-pam_cracklib1.c: New, check for pam_cracklib seg.fault.
2215         * xtests/tst-pam_cracklib1.pamd: New, config for cracklib test.
2216
2217 2006-08-24  Thorsten Kukuk  <kukuk@thkukuk.de>
2218
2219         * xtests/tst-pam_dispatch4.c: New test.
2220         * xtests/tst-pam_dispatch4.pamd: PAM config for new test.
2221
2222 2006-08-09  Thorsten Kukuk  <kukuk@thkukuk.de>
2223
2224         * release version 0.99.6.1
2225
2226 2006-08-09  David Howells  <dhowells@redhat.com>
2227
2228         * modules/pam_keyinit/pam_keyinit.c (kill_keyrings): Set real uid
2229         to user's before revoking.
2230         (pam_sm_open_session): Remember the uid.
2231
2232 2006-08-06  Thorsten Kukuk  <kukuk@thkukuk.de>
2233
2234         * modules/pam_umask/pam_umask.c (setup_limits_from_gecos):
2235         Add error handling.
2236         * modules/pam_umask/pam_umask.8.xml: Document silent option.
2237
2238         * xtests/Makefile.am: Fix includes for bootstrapping.
2239         Reported by Greg Schafer <gschafer@zip.com.au>.
2240
2241 2006-08-05  Thorsten Kukuk  <kukuk@thkukuk.de>
2242
2243         * release version 0.99.6.0
2244
2245         * modules/pam_limits/pam_limits.c (pam_sm_open_session): Use
2246         pam_modutil_getpwnam instead of getpwnam.
2247
2248         * modules/pam_succeed_if/pam_succeed_if.c (evaluate): Cast
2249         svc variable to char pointer for snprintf.
2250
2251         * configure.in: Generate xtests/Makefile.
2252         * Makefile.am (SUBDIRS): Add xtests.
2253         * README: Document make check and make xtests.
2254         * xtests/Makefile.am: New.
2255         * xtests/tst-pam_dispatch1.pamd: New.
2256         * xtests/tst-pam_dispatch2.pamd: New.
2257         * xtests/tst-pam_dispatch3.pamd: New.
2258         * xtests/tst-pam_dispatch1.c: New.
2259         * xtests/tst-pam_dispatch2.c: New.
2260         * xtests/tst-pam_dispatch3.c: New.
2261
2262 2006-08-04 Ray Strode  <rstrode@redhat.com>
2263
2264         * modules/pam_succeed_if/pam_succeed_if.c (pam_sm_authenticate):
2265         Return PAM_USER_UNKNOWN instead of PAM_SERVICE_ERR where appropriate.
2266
2267 2006-08-03  David Howells  <dhowells@redhat.com>
2268
2269         * modules/pam_keyinit/pam_keyinit.c: Debug should be off by default.
2270         (init_keyrings): Properly handle multiple invocations of the module.
2271         (kill_keyrings, pam_sm_open_session, pam_sm_close_session): Likewise.
2272
2273 2006-08-03  Tomas Mraz  <t8m@centrum.cz>
2274
2275         * modules/pam_succeed_if/pam_succeed_if.c (evaluate_inlist):
2276         New function for list matching.
2277         (evaluate_notinlist): Likewise.
2278         (evaluate): Add service value match, list matching.
2279         * modules/pam_succeed_if/pam_succeed_if.8.xml: Document the
2280         features.
2281
2282         * modules/pam_selinux/pam_selinux.c (security_label_tty): Don't log
2283         relabelling error when the tty device doesn't exist (ENOENT).
2284
2285 2006-08-01  Thorsten Kukuk  <kukuk@thkukuk.de>
2286
2287         * doc/man/pam_fail_delay.3.xml: Fix some Bugs and enhance
2288         rationale about when this function should be used and when not.
2289
2290         * doc/index.html: Cleanup to look prettier.
2291
2292 2006-08-01  Thorsten Kukuk  <kukuk@thkukuk.de>
2293
2294         * libpam/Makefile.am: Bump patchlevel of libpam.
2295         * libpam/pam_dispatch.c (_pam_dispatch_aux): If [return=die]
2296         or [return=bad] is used, don't return PAM_IGNORE. Based on
2297         patch by Tomas Mraz <t8m@centrum.cz>, [BRC#196859].
2298
2299 2006-07-28  Thorsten Kukuk  <kukuk@thkukuk.de>
2300
2301         * ABOUT-NLS: Upgrade to gettext-0.15.
2302         * config.rpath: Likewise.
2303         * m4/gettext.m4: Upgrade to gettext-0.15.
2304         * m4/inttypes-h.m4: New file, from gettext-0.15.
2305         * m4/inttypes-pri.m4: Upgrade to gettext-0.15.
2306         * m4/lib-link.m4: Upgrade to gettext-0.15.
2307         * m4/lib-prefix.m4: Upgrade to gettext-0.15.
2308         * m4/lock.m4: New file, from gettext-0.15.
2309         * m4/longdouble.m4: Upgrade to gettext-0.15.
2310         * m4/nls.m4: Upgrade to gettext-0.15.
2311         * m4/po.m4: Upgrade to gettext-0.15.
2312         * m4/size_max.m4: Upgrade to gettext-0.15.
2313         * m4/visibility.m4: New file, from gettext-0.15.
2314         * po/Makefile.in.in: Upgrade to gettext-0.15.
2315
2316 2006-07-24  David Quigley   <dpquigl@tycho.nsa.gov>
2317
2318         * modules/pam_namespace/Makefile.am: Add pam_namespace.h.
2319         * modules/pam_namespace/pam_namespace.c: Move includes and
2320         data structure definitions from here ...
2321         * modules/pam_namespace/pam_namespace.h: ... here. New file.
2322
2323         * modules/pam_namespace/pam_namespace.c: Move large sections
2324         of code into new functions.
2325
2326 2006-07-24  Thorsten Kukuk  <kukuk@thkukuk.de>
2327
2328         * doc/adg/Makefile.am: Add uninstall and distclean rules.
2329         * doc/mwg/Makefile.am: Likewise.
2330         * doc/sag/Makefile.am: Likewise.
2331
2332 2006-07-08  Daniel Richard G.  <skunk@iskunk.org>
2333
2334         * conf/pam_conv1/Makefile.am: Fix rules for lex and yacc files.
2335         * conf/pam_conv1/pam_conv.lex: Rename to ...
2336         * conf/pam_conv1/pam_conv_l.l: ... this.
2337         * conf/pam_conv1/pam_conv.y: Rename to ...
2338         * conf/pam_conv1/pam_conv_y.y: ... this.
2339         * configure.in: Add AC_HELP_STRING()s to various AC_ARG_ENABLE()
2340         calls.
2341         * doc/Makefile.am: Fix rule to install index.html.
2342         * doc/adg/Makefile.am: Fix test usage.
2343         * doc/mwg/Makefile.am: Likewise.
2344         * doc/sag/Makefile.am: Likewise.
2345         * doc/specs/Makefile.am: Fix rules for lex and yacc files.
2346         * specs/parse.lex: Rename to ...
2347         * doc/specs/parse_l.l: ... this.
2348         * doc/specs/parse.y: Rename to ...
2349         * doc/specs/parse_y.y: ... this.
2350         * libpam/pam_account.c: Fix #if vs. #ifdef.
2351         * libpam/pam_audit.c: Likewise.
2352         * libpam/pam_auth.c: Likewise.
2353         * libpam/pam_password.c: Likewise.
2354         * libpam/pam_private.h: Likewise.
2355         * libpam/pam_session.c: Likewise.
2356         * libpam/pam_start.c: Likewise.
2357         * libpam/pam_static.c: Fix "empty sourcefile" warning.
2358         * modules/pam_limits/pam_limits.c: Check for __linux, too.
2359         * modules/pam_userdb/Makefile.am: Don't run test if no
2360         libdb available.
2361         * tests/tst-dlopen.c: Include config.h.
2362
2363 2006-07-03  Dan Yefimov
2364
2365         * configure.in: Fixed have_key_syscalls test.
2366
2367         * modules/pam_access/pam_access.c (from_match): Fixed IPv4 network
2368         match, removed AI_ADDRCONFIG flag.
2369
2370 2006-06-30  Tomas Mraz  <t8m@centrum.cz>
2371
2372         * modules/pam_namespace/Makefile.am(EXTRA_DIST): Add namespace.init.
2373
2374 2006-06-29  Thorsten Kukuk  <kukuk@thkukuk.de>
2375
2376         * doc/Makefile.am (releasedocs): Fix directory layout.
2377         * doc/adg/Makefile.am: Likewise.
2378         * doc/mwg/Makefile.am: Likewise.
2379         * doc/sag/Makefile.am: Likewise.
2380
2381 2006-06-28  Thorsten Kukuk  <kukuk@thkukuk.de>
2382
2383         * doc/sag: System Administrator Guide as XML source.
2384         * doc/sag/Makefile.am: New.
2385         * doc/sag/Linux-PAM_SAG.xml: New, main XML document.
2386         * doc/sag/pam_*.xml: New, wrapper to include module documentation.
2387
2388         * doc/adg: Application Developers Guide as XML source.
2389         * doc/adg/Makefile.am: New.
2390         * doc/adg/Linux-PAM_ADG.xml: New, main XML document.
2391         * doc/adg/pam_*.xml: New, wrappers to include manual pages.
2392
2393         * doc/mwg: Application Developers Guide as XML source.
2394         * doc/mwg/Makefile.am: New.
2395         * doc/mwg/Linux-PAM_MWG.xml: New, main XML document.
2396         * doc/mwg/pam_*.xml: New, wrappers to include manual pages.
2397
2398         * doc/CREDITS: Removed.
2399         * doc/NOTES: Removed.
2400         * doc/pam_appl.sgml: Removed.
2401         * doc/pam_modules.sgml: Removed.
2402         * doc/pam_source.sgml: Removed.
2403         * doc/figs/pam_orient.txt: Removed.
2404         * doc/figs: Removed.
2405
2406         * configure.in: Remove checks for sgml2* progrs, add sag, adg
2407         and mwg Makefiles.
2408
2409         * doc/Makefile.am: Remove references to sgml, add sag, adg and mwg
2410         directories.
2411         * doc/modules: Remove directory.
2412         * doc/html: Remove directory.
2413         * doc/ps: Remove directory.
2414         * doc/pdf: Remove directory.
2415         * doc/txts: Remove directory.
2416         * doc/index.html: Moved from html directory to here.
2417
2418 2006-06-28  Thorsten Kukuk  <kukuk@thkukuk.de>
2419
2420         * release version 0.99.5.0
2421
2422         * bump version number to 0.99.5.0
2423
2424         * modules/pam_rhosts/pam_rhosts.c: New module, replaces
2425         pam_rhosts_auth.so.
2426         * modules/pam_rhosts/pam_rhosts.8.xml: New.
2427         * modules/pam_rhosts/pam_rhosts.8: New, generated from XML source.
2428         * modules/pam_rhosts/tst-pam_rhosts: New.
2429         * modules/pam_rhosts/Makefile.am: Add pam_rhosts, generate
2430         manual page and README.
2431         * modules/pam_rhosts/README.xml: New.
2432         * modules/pam_rhosts/reADME: Regenerated from XML source.
2433
2434         * doc/man/pam_sm_acct_mgmt.3.xml: Adjust syntax for module
2435         writers guide.
2436         * doc/man/pam_sm_authenticate.3.xml: Likewise.
2437         * doc/man/pam_sm_chauthtok.3.xml: Likewise.
2438         * doc/man/pam_sm_close_session.3.xml: Likewise.
2439         * doc/man/pam_sm_open_session.3.xml: Likewise.
2440         * doc/man/pam_sm_setcred.3.xml: Likewise.
2441
2442         * po/POTFILES.in: Add new source files.
2443
2444         * libpam/pam_static_modules.h: Add new modules.
2445
2446         * modules/pam_keyinit.c: Add _pam_keyinit_modstruct.
2447
2448         * modules/pam_keyinit/Makefile.am (EXTRA_DIST): Add XML
2449         files and manual page.
2450
2451 2006-06-27  Thorsten Kukuk <kukuk@thkukuk.de>
2452
2453         * configure.in: Allow disabling of SELinux support, check for
2454         rootok_af.
2455
2456 2006-06-27  Tomas Mraz <t8m@centrum.cz>
2457
2458         * modules/pam_namespace/pam_namespace.c: New module
2459         originally written by Janak Desai.
2460         * modules/pam_namespace/Makefile.am: New.
2461         * modules/pam_namespace/README: New.
2462         * modules/pam_namespace/md5.c: New.
2463         * modules/pam_namespace/md5.h: New.
2464         * modules/pam_namespace/namespace.conf: New.
2465         * modules/pam_namespace/namespace.conf.5: New.
2466         * modules/pam_namespace/namespace.conf.5.xml: New.
2467         * modules/pam_namespace/namespace.init: New.
2468         * modules/pam_namespace/pam_namespace.8: New.
2469         * modules/pam_namespace/pam_namespace.8.xml: New.
2470         * modules/pam_namespace/tst-pam_namespace: New.
2471         * modules/Makefile.am: Added pam_namespace.
2472         * configure.in: Added pam_namespace, test for unshare
2473         library call.
2474
2475 2006-06-27  David Howells <dhowells@redhat.com>
2476
2477         * modules/pam_keyinit/pam_keyinit.c: New module.
2478         * modules/pam_keyinit/pam_keyinit.8: New.
2479         * modules/pam_keyinit/pam_keyinit.8.xml: New.
2480         * modules/pam_keyinit/README: New.
2481         * modules/pam_keyinit/README.xml: New.
2482         * modules/pam_keyinit/Makefile.am: New.
2483         * modules/pam_keyinit/tst-pam_keyinit: New.
2484         * modules/Makefile.am: Added pam_keyinit.
2485         * configure.in: Added test for the key mgmt syscall.
2486
2487 2006-06-27  Thorsten Kukuk <kukuk@thkukuk.de>
2488
2489         * m4/libprelude.m4: Sync with upstream.
2490
2491 2006-06-27  Tomas Mraz <t8m@centrum.cz>
2492
2493         * modules/pam_unix/pam_unix_acct.c (_unix_run_verify_binary):
2494         signal() fails with SIG_ERR return
2495         * modules/pam_unix/pam_unix_passwd.c(_unix_run_shadow_binary):
2496         Likewise.
2497         * modules/pam_unix/support.c(_unix_run_helper_binary):
2498         Likewise.
2499
2500 2006-06-25  Thorsten Kukuk  <kukuk@thkukuk.de>
2501
2502         * doc/man/misc_conv.3.xml: New.
2503         * doc/man/misc_conv.3: New.
2504         * doc/man/pam_misc_paste_env.3.xml: New.
2505         * doc/man/pam_misc_paste_env.3: New.
2506         * doc/man/pam_misc_drop_env.3.xml: New.
2507         * doc/man/pam_misc_drop_env.3: New.
2508         * doc/man/pam_misc_setenv.3.xml: New.
2509         * doc/man/pam_misc_setenv.3: New.
2510         * doc/man/Makefile.am: Add new manual pages.
2511
2512         * doc/man/pam_acct_mgmt.3.xml: Fix syntax for inclusion
2513         in Applicatoin Developer Guide.
2514         * doc/man/pam_authenticate.3.xml: Likewise
2515         * doc/man/pam_chauthtok.3.xml: Likewise
2516         * doc/man/pam_close_session.3.xml: Likewise
2517         * doc/man/pam_conv.3.xml: Likewise
2518         * doc/man/pam_end.3.xml: Likewise
2519         * doc/man/pam_fail_delay.3.xml: Likewise
2520         * doc/man/pam_getenv.3.xml: Likewise
2521         * doc/man/pam_getenvlist.3.xml: Likewise
2522         * doc/man/pam_open_session.3.xml: Likewise
2523         * doc/man/pam_putenv.3.xml: Likewise
2524         * doc/man/pam_setcred.3.xml: Likewise
2525         * doc/man/pam_start.3.xml: Likewise
2526         * doc/man/pam_strerror.3.xml: Likewise
2527
2528         * doc/man/pam_acct_mgmt.3: Regenerate from XML source.
2529         * doc/man/pam_authenticate.3: Likewise
2530         * doc/man/pam_chauthtok.3: Likewise
2531         * doc/man/pam_close_session.3: Likewise
2532         * doc/man/pam_conv.3: Likewise
2533         * doc/man/pam_end.3: Likewise
2534         * doc/man/pam_fail_delay.3: Likewise
2535         * doc/man/pam_getenv.3: Likewise
2536         * doc/man/pam_getenvlist.3: Likewise
2537         * doc/man/pam_open_session.3: Likewise
2538         * doc/man/pam_putenv.3: Likewise
2539         * doc/man/pam_setcred.3: Likewise
2540         * doc/man/pam_sm_close_session.3: Likewise
2541         * doc/man/pam_start.3: Likewise
2542         * doc/man/pam_strerror.3: Likewise
2543         * doc/man/pam_syslog.3: Likewise
2544         * doc/man/PAM.8: Likewise
2545
2546 2006-06-24  Thorsten Kukuk  <kukuk@thkukuk.de>
2547
2548         * modules/pam_limits/pam_limits.c (setup_limits): Don't
2549         reset priority for root.
2550
2551 2006-06-23  Thorsten Kukuk  <kukuk@thkukuk.de>
2552
2553         * modules/pam_access/access.conf.5.xml: Fix syntax for SAG.
2554         * modules/pam_access/pam_access.8.xml: Likewise.
2555         * modules/pam_deny/pam_deny.8.xml: Likewise.
2556         * modules/pam_echo/pam_echo.8.xml: Likewise.
2557         * modules/pam_env/pam_env.8.xml: Likewise.
2558         * modules/pam_env/pam_env.conf.5.xml: Likewise.
2559         * modules/pam_group/group.conf.5.xml: Likewise.
2560         * modules/pam_group/pam_group.8.xml: Likewise.
2561         * modules/pam_limits/limits.conf.5.xml: Likewise.
2562         * modules/pam_listfile/pam_listfile.8.xml: Likewise.
2563         * modules/pam_succeed_if/pam_succeed_if.8.xml: Likewise.
2564         * modules/pam_time/pam_time.8.xml: Likewise.
2565         * modules/pam_time/time.conf.5.xml: Likewise.
2566
2567         * modules/pam_access/access.conf.5: Regenerate.
2568         * modules/pam_access/pam_access.8: Likewise.
2569         * modules/pam_deny/pam_deny.8: Likewise.
2570         * modules/pam_echo/README: Likewise.
2571         * modules/pam_echo/pam_echo.8: Likewise.
2572         * modules/pam_env/pam_env.8: Likewise.
2573         * modules/pam_env/pam_env.conf.5: Likewise.
2574         * modules/pam_group/README: Likewise.
2575         * modules/pam_group/group.conf.5: Likewise.
2576         * modules/pam_group/pam_group.8: Likewise.
2577         * modules/pam_limits/limits.conf.5: Likewise.
2578         * modules/pam_listfile/README: Likewise.
2579         * modules/pam_listfile/pam_listfile.8: Likewise.
2580         * modules/pam_succeed_if/pam_succeed_if.8: Likewise.
2581         * modules/pam_time/pam_time.8: Likewise.
2582         * modules/pam_time/time.conf.5: Likewise.
2583
2584         * doc/man/Makefile.am: Add pam.conf-desc.xml, pam.conf-dir.xml
2585         and pam.conf-syntax.xml.
2586         * doc/man/pam.conf.5.xml: Split into different pieces for SAG.
2587         * doc/man/pam.conf.5: Regenerated.
2588         * doc/man/pam.conf-desc.xml: New.
2589         * doc/man/pam.conf-dir.xml: New.
2590         * doc/man/pam.conf-syntax.xml: New.
2591
2592 2006-06-21  Thorsten Kukuk  <kukuk@thkukuk.de>
2593
2594         * modules/pam_selinux/Makefile.am: Fix "make dist" if libselinux
2595         is not installed.
2596
2597         * modules/pam_issue/pam_issue.8.xml: Fix listing of escapes.
2598         * modules/pam_issue/pam_issue.8: Regenerate.
2599
2600 2006-06-20  Thorsten Kukuk  <kukuk@thkukuk.de>
2601
2602         * configure.in: Remove unused check for libcap.
2603
2604         * m4/ld-as-needed.m4: New.
2605         * m4/ld-O1.m4: New.
2606         * configure.in: Call PAM_LD_AS_NEEDED and PAM_LD_O1,
2607         require docbook version 4.4.
2608
2609 2006-06-19  Thorsten Kukuk  <kukuk@thkukuk.de>
2610
2611         * doc/man/pam.8.xml: Syntax cleanup.
2612         * doc/pam/PAM.8: Regenerated from xml source.
2613         * man/pam_sm_chauthtok.3: New.
2614         * man/pam_sm_chauthtok.3.xml: New.
2615         * man/pam_sm_close_session.3: New.
2616         * man/pam_sm_close_session.3.xml: New.
2617         * man/pam_sm_open_session.3: New.
2618         * man/pam_sm_open_session.3.xml: New.
2619         * man/pam_sm_authenticate.3: New.
2620         * man/pam_sm_authenticate.3.xml: New.
2621         * man/pam_sm_setcred.3: New.
2622         * man/pam_sm_setcred.3.xml: New.
2623         * man/Makefile.am: Add new pam_sm_* manual pages.
2624
2625         * specs/Makefile.am: Fix rule to generate draft.
2626
2627 2006-06-18  Thorsten Kukuk  <kukuk@thkukuk.de>
2628
2629         * modules/pam_tally/Makefile.am: Include Make.xml.rules.
2630         * modules/pam_tally/pam_tally.8.xml: New.
2631         * modules/pam_tally/pam_tally.8: New, generated from xml file.
2632         * modules/pam_tally/README.xml: New.
2633         * modules/pam_tally/README: Regenerated from xml file.
2634
2635         * modules/pam_selinux/Makefile.am: Include Make.xml.rules.
2636         * modules/pam_selinux/pam_selinux.8.xml: New.
2637         * modules/pam_selinux/pam_selinux.8: Regenerated from xml file.
2638         * modules/pam_selinux/README.xml: New.
2639         * modules/pam_selinux/README: Regenerated from xml file.
2640
2641 2006-06-17  Thorsten Kukuk  <kukuk@thkukuk.de>
2642
2643         * modules/pam_debug/Makefile.am: Include Make.xml.rules.
2644         * modules/pam_debug/pam_debug.8.xml: New.
2645         * modules/pam_debug/pam_debug.8: New, generated from xml file.
2646         * modules/pam_debug/README.xml: New.
2647         * modules/pam_debug/README: Regenerated from xml file.
2648
2649         * examples/vpass.c: UID is unsigned on Linux.
2650         * modules/pam_exec/pam_exec.c: Likewise.
2651         * modules/pam_unix/pam_unix_acct.c: Likewise.
2652         * modules/pam_unix/pam_unix_sess.c: Likewise.
2653
2654         * modules/pam_succeed_if/pam_succeed_if.8.xml: Fix syntax error.
2655         * modules/pam_succeed_if/pam_succeed_if.8: Regenerated.
2656         * modules/pam_succeed_if/README: Regenerated.
2657
2658         * modules/pam_limits/Makefile.am: Include Make.xml.rules.
2659         * modules/pam_limits/limits.conf.5: New, generated from xml file.
2660         * modules/pam_limits/limits.conf.5.xml: New.
2661         * modules/pam_limits/pam_limits.8: New, generated from xml file.
2662         * modules/pam_limits/pam_limits.8.xml: New.
2663         * modules/pam_limits/README.xml: New.
2664         * modules/pam_limits/README: Regenerated from README.xml.
2665
2666 2006-06-16  Thorsten Kukuk  <kukuk@thkukuk.de>
2667
2668         * modules/pam_unix/pam_unix_passwd.c (save_old_password): UIDs
2669         are unsigned on Linux, don't truncate them.
2670         (_do_setpass): err is of type clnt_stat, not int.
2671
2672         * modules/pam_lastlog/pam_lastlog.c (last_login_read): Don't
2673         truncate UID for syslog output.
2674
2675         * modules/pam_time/pam_time.c: Replace type boolean with int.
2676         * modules/pam_group/pam_group.c: Likewise.
2677
2678 2006-06-15  Thorsten Kukuk  <kukuk@thkukuk.de>
2679
2680         * modules/pam_unix/bigcrypt.h: New.
2681         * modules/pam_unix/Makefile.am: Add bigcrypt.h.
2682         * modules/pam_unix/bigcrypt.c: Include bigcrypt.h.
2683         * modules/pam_unix/support.c: Include bigcrypt.h, remove
2684         own prototype.
2685         * modules/pam_unix/bigcrypt_main.c: Include bigcrypt.h, remove
2686         own prototype.
2687         * modules/pam_unix/pam_unix_passwd.c: Include bigcrypt.h, remove
2688         own prototype.
2689
2690         * modules/pam_time/pam_time.c (logic_member): Remove unused
2691         variable len.
2692
2693         * modules/pam_group/pam_group.c (logic_field): Accept
2694         colon in tty name. [#1428276].
2695         (logic_member): Remove unused variable len.
2696         (check_account): Fix usage of err variable in debug code.
2697
2698         * modules/pam_time/pam_time.c (logic_field): Likewise.
2699
2700         * configure.in: Add special exceptions for icc: different
2701         compiler warnings, no PIE support.
2702
2703 2006-06-14  Thorsten Kukuk  <kukuk@thkukuk.de>
2704
2705         * libpam/pam_misc.c (_pam_strdup): Use strlen and strcpy.
2706
2707         * configure.in: Remove --enable-memory-debug, add option
2708         to disable prelude if installed.
2709
2710         * modules/pam_tally/pam_tally.c: Remove MEMORY_DEBUG
2711         * modules/pam_filter/upperLOWER/upperLOWER.c: Likewise.
2712         * modules/pam_unix/unix_chkpwd.c: Likewise.
2713         * libpam/include/security/_pam_types.h: Likewise.
2714         * libpam/libpam.map: Remove LIBPAM_MALLOC_DEBUG export.
2715         * libpam/pam_malloc.c: Remove file.
2716         * libpam/Makefile.am: Remove pam_malloc.c and pam_malloc.h.
2717
2718         * libpam/pam_handlers.c (extract_modulename): Use _pam_strdup
2719         instead of strdup.
2720
2721         * libpam/pam_private.h: Remove _pam_strCMP.
2722         * libpam/pam_misc.c: Likewise.
2723         * libpam/pam_handlers.c: Replaced _pam_strCMP with strcasecmp.
2724
2725 2006-06-12  Thorsten Kukuk  <kukuk@thkukuk.de>
2726
2727         * modules/pam_tally/Makefile.am (AM_LDFLAGS): Remove flags
2728         for modules from main application.
2729
2730 2006-06-09  Thorsten Kukuk  <kukuk@thkukuk.de>
2731
2732         * modules/pam_time/Makefile.am: Include Make.xml.rules.
2733         * modules/pam_time/time.conf.5: New, generated from xml file.
2734         * modules/pam_time/time.conf.5.xml: New.
2735         * modules/pam_time/pam_time.8: New, generated from xml file.
2736         * modules/pam_time/pam_time.8.xml: New.
2737         * modules/pam_time/README.xml: New.
2738         * modules/pam_time/README: Regenerated from README.xml.
2739
2740         * modules/pam_wheel/Makefile.am: Include Make.xml.rules.
2741         * modules/pam_wheel/pam_wheel.8.xml: New.
2742         * modules/pam_wheel/pam_wheel.8: New, generated from xml file.
2743         * modules/pam_wheel/README.xml: New.
2744         * modules/pam_wheel/README: Regenerated from xml file.
2745
2746         * modules/pam_xauth/Makefile.am: Include Make.xml.rules.
2747         * modules/pam_xauth/pam_xauth.8.xml: New.
2748         * modules/pam_xauth/pam_xauth.8: Regenerated from xml file.
2749         * modules/pam_xauth/README.xml: New.
2750         * modules/pam_xauth/README: Regenerated from xml file.
2751
2752         * modules/pam_deny/pam_deny.8.xml: Fix syntax errors.
2753         * modules/pam_deny/pam_deny.8: Regenerate from xml file.
2754         * modules/pam_deny/README: Likewise.
2755
2756         * modules/pam_warn/Makefile.am: Include Make.xml.rules.
2757         * modules/pam_warn/pam_warn.8.xml: New.
2758         * modules/pam_warn/pam_warn.8: New, generated from xml file.
2759         * modules/pam_warn/README.xml: New.
2760         * modules/pam_warn/README: Regenerated from xml file.
2761
2762         * modules/pam_userdb/Makefile.am: Include Make.xml.rules.
2763         * modules/pam_userdb/pam_userdb.8.xml: New.
2764         * modules/pam_userdb/pam_userdb.8: New, generated from xml file.
2765         * modules/pam_userdb/README.xml: New.
2766         * modules/pam_userdb/README: Regenerated from xml file.
2767
2768 2006-06-06  Thorsten Kukuk  <kukuk@thkukuk.de>
2769
2770         * modules/pam_shells/Makefile.am: Include Make.xml.rules.
2771         * modules/pam_shells/pam_shells.8.xml: New.
2772         * modules/pam_shells/pam_shells.8: New, generated from xml file.
2773         * modules/pam_shells/README.xml: New.
2774         * modules/pam_shells/README: Regenerated from xml file.
2775
2776         * libpam/include/security/pam_malloc.h: Add missing license
2777         informations.
2778
2779         * libpam/include/security/pam_ext.h: Add brackets for C++.
2780         * libpam/include/security/pam_modutil.h: Likewise.
2781
2782         * libpam/include/security/pam_modules.h: Document where to
2783         find the copyright/license informations.
2784
2785         * libpam/include/security/pam_appl.h: Move _pam_compat.h
2786         include inside of brackets.
2787
2788 2006-06-04  Thorsten Kukuk  <kukuk@thkukuk.de>
2789
2790         * modules/pam_securetty/Makefile.am: Include Make.xml.rules.
2791         * modules/pam_securetty/pam_securetty.8.xml: New.
2792         * modules/pam_securetty/pam_securetty.8: Regenerated from xml file.
2793         * modules/pam_securetty/README.xml: New.
2794         * modules/pam_securetty/README: Regenerated from xml file.
2795
2796         * modules/pam_rootok/Makefile.am: Include Make.xml.rules.
2797         * modules/pam_rootok/pam_rootok.8.xml: New.
2798         * modules/pam_rootok/pam_rootok.8: New, generated from xml file.
2799         * modules/pam_rootok/README.xml: New.
2800         * modules/pam_rootok/README: Regenerated from xml file.
2801
2802         * modules/pam_permit/Makefile.am: Include Make.xml.rules.
2803         * modules/pam_permit/pam_permit.8.xml: New.
2804         * modules/pam_permit/pam_permit.8: New, generated from xml file.
2805         * modules/pam_permit/README.xml: New.
2806         * modules/pam_permit/README: Regenerated from xml file.
2807
2808         * modules/pam_nologin/Makefile.am: Include Make.xml.rules.
2809         * modules/pam_nologin/pam_nologin.8.xml: New.
2810         * modules/pam_nologin/pam_nologin.8: Regenerated from xml file.
2811         * modules/pam_nologin/README.xml: New.
2812         * modules/pam_nologin/README: Regenerated from xml file.
2813
2814 2006-06-03  Thorsten Kukuk  <kukuk@thkukuk.de>
2815
2816         * modules/pam_motd/Makefile.am: Include Make.xml.rules.
2817         * modules/pam_motd/pam_motd.8.xml: New.
2818         * modules/pam_motd/pam_motd.8: New, generated from xml file.
2819         * modules/pam_motd/README.xml: New.
2820         * modules/pam_motd/README: New, generated from xml file.
2821
2822 2006-06-02  Thorsten Kukuk  <kukuk@thkukuk.de>
2823
2824         * modules/pam_mail/Makefile.am: Include Make.xml.rules.
2825         * modules/pam_mail/pam_mail.8.xml: New.
2826         * modules/pam_mail/pam_mail.8: New, generated from xml file.
2827         * modules/pam_mail/README.xml: New.
2828         * modules/pam_mail/README: Regenerated from xml file.
2829
2830         * modules/pam_localuser/Makefile.am: Include Make.xml.rules.
2831         * modules/pam_localuser/pam_localuser.8.xml: New.
2832         * modules/pam_localuser/pam_localuser.8: New, generated from xml file.
2833         * modules/pam_localuser/README.xml: New.
2834         * modules/pam_localuser/README: Regenerated from xml file.
2835
2836         * doc/man/PAM.8: Regenerate with DocBook XSL Stylesheets v1.70.1.
2837         * doc/man/pam.3: Likewise.
2838         * doc/man/pam.conf.5: Likewise.
2839         * doc/man/pam_acct_mgmt.3: Likewise.
2840         * doc/man/pam_authenticate.3: Likewise.
2841         * doc/man/pam_chauthtok.3: Likewise.
2842         * doc/man/pam_close_session.3: Likewise.
2843         * doc/man/pam_conv.3: Likewise.
2844         * doc/man/pam_end.3: Likewise.
2845         * doc/man/pam_error.3: Likewise.
2846         * doc/man/pam_fail_delay.3: Likewise.
2847         * doc/man/pam_get_data.3: Likewise.
2848         * doc/man/pam_get_item.3: Likewise.
2849         * doc/man/pam_get_user.3: Likewise.
2850         * doc/man/pam_getenv.3: Likewise.
2851         * doc/man/pam_getenvlist.3: Likewise.
2852         * doc/man/pam_info.3: Likewise.
2853         * doc/man/pam_open_session.3: Likewise.
2854         * doc/man/pam_prompt.3: Likewise.
2855         * doc/man/pam_putenv.3: Likewise.
2856         * doc/man/pam_set_data.3: Likewise.
2857         * doc/man/pam_set_item.3: Likewise.
2858         * doc/man/pam_setcred.3: Likewise.
2859         * doc/man/pam_sm_acct_mgmt.3: Likewise.
2860         * doc/man/pam_start.3: Likewise.
2861         * doc/man/pam_strerror.3: Likewise.
2862         * doc/man/pam_syslog.3: Likewise.
2863         * modules/pam_access/access.conf.5: Likewise.
2864         * modules/pam_access/pam_access.8: Likewise.
2865         * modules/pam_cracklib/pam_cracklib.8: Likewise.
2866         * modules/pam_deny/pam_deny.8: Likewise.
2867         * modules/pam_echo/pam_echo.8: Likewise.
2868         * modules/pam_env/pam_env.8: Likewise.
2869         * modules/pam_env/pam_env.conf.5: Likewise.
2870         * modules/pam_exec/pam_exec.8: Likewise.
2871         * modules/pam_filter/pam_filter.8: Likewise.
2872         * modules/pam_ftp/pam_ftp.8: Likewise.
2873         * modules/pam_group/group.conf.5: Likewise.
2874         * modules/pam_group/pam_group.8: Likewise.
2875         * modules/pam_issue/pam_issue.8: Likewise.
2876         * modules/pam_lastlog/pam_lastlog.8: Likewise.
2877         * modules/pam_mkhomedir/pam_mkhomedir.8: Likewise.
2878         * modules/pam_succeed_if/pam_succeed_if.8: Likewise.
2879         * modules/pam_umask/pam_umask.8: Likewise.
2880
2881         * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Use
2882         dngettext if available [#1427738].
2883         * configure.in: Check for dngettext [#1427738].
2884         * po/*.po: Update to dngettext usage.
2885
2886         * modules/pam_listfile/Makefile.am: Include Make.xml.rules.
2887         * modules/pam_listfile/pam_listfile.8.xml: New.
2888         * modules/pam_listfile/pam_listfile.8: New, generated from xml file.
2889         * modules/pam_listfile/README.xml: New.
2890         * modules/pam_listfile/README: Regenerated from xml file.
2891
2892 2006-06-01  Thorsten Kukuk  <kukuk@thkukuk.de>
2893
2894         * modules/pam_lastlog/Makefile.am: Include Make.xml.rules.
2895         * modules/pam_lastlog/pam_lastlog.8.xml: New.
2896         * modules/pam_lastlog/pam_lastlog.8: New, generated from xml file.
2897         * modules/pam_lastlog/README.xml: New.
2898         * modules/pam_lastlog/README: Regenerated from xml file.
2899
2900         * modules/pam_group/Makefile.am: Include Make.xml.rules.
2901         * modules/pam_group/group.conf.5.xml: New.
2902         * modules/pam_group/group.conf.5: New, generated from xml file.
2903         * modules/pam_group/pam_group.8.xml: New.
2904         * modules/pam_group/pam_group.8: New, generated from xml file.
2905         * modules/pam_group/README.xml: New.
2906         * modules/pam_group/README: Regenerated from xml file.
2907
2908         * modules/pam_ftp/Makefile.am: Include Make.xml.rules.
2909         * modules/pam_ftp/pam_ftp.8.xml: New.
2910         * modules/pam_ftp/pam_ftp.8: New, generated from xml file.
2911         * modules/pam_ftp/README.xml: New.
2912         * modules/pam_ftp/README: Regenerated from xml file.
2913
2914         * modules/pam_issue/Makefile.am: Include Make.xml.rules.
2915         * modules/pam_issue/pam_issue.8.xml: New.
2916         * modules/pam_issue/pam_issue.8: New, generated from xml file.
2917         * modules/pam_issue/README.xml: New.
2918         * modules/pam_issue/README: Regenerated from xml file.
2919
2920         * modules/pam_filter/Makefile.am: Include Make.xml.rules.
2921         * modules/pam_filter/pam_filter.8.xml: New.
2922         * modules/pam_filter/pam_filter.8: New, generated from xml file.
2923         * modules/pam_filter/README.xml: New.
2924         * modules/pam_filter/README: Regenerated from xml file.
2925
2926 2006-05-30  Thorsten Kukuk  <kukuk@thkukuk.de>
2927
2928         * modules/pam_mkhomedir/pam_mkhomedir.8.xml: Fix umask and skel
2929         directory documentation.
2930
2931         * modules/pam_umask/Makefile.am: Include Make.xml.rules.
2932         * modules/pam_umask/pam_umask.8.xml: New.
2933         * modules/pam_umask/pam_umask.8: New, generated from xml file.
2934         * modules/pam_umask/README.xml: New.
2935         * modules/pam_umask/README: Regenerated from xml file.
2936
2937 2006-05-29  Thorsten Kukuk  <kukuk@thkukuk.de>
2938
2939         * modules/pam_mkhomedir/Makefile.am: Include Make.xml.rules.
2940         * modules/pam_mkhomedir/pam_mkhomedir.8.xml: New.
2941         * modules/pam_mkhomedir/pam_mkhomedir.8: New, generated from xml file.
2942         * modules/pam_mkhomedir/README.xml: New.
2943         * modules/pam_mkhomedir/README: Regenerated from xml file.
2944
2945 2006-05-23  Thorsten Kukuk  <kukuk@thkukuk.de>
2946
2947         * modules/pam_echo/pam_echo.c (pam_echo): Use pam_modutil_read()
2948         instead of read().
2949
2950 2006-05-22  Thorsten Kukuk  <kukuk@thkukuk.de>
2951
2952         * modules/pam_listfile/pam_listfile.c (pam_sm_authenticate):
2953         Fix memory leaks, [#1490956] found by Coverity.
2954
2955         * modules/pam_tally/pam_tally.c (pam_get_uid): Check return
2956         value of pam_get_user().
2957         (tally_get_data): Check if oldtime is not NULL.
2958         [#1489818] found by Coverity.
2959
2960         * modules/pam_mkhomedir/pam_mkhomedir.c (create_homedir): Don't
2961         ignore return value of stat(). [#1489808] found by Coverity.
2962
2963         * modules/pam_mail/pam_mail.c (get_folder): Fix a potential
2964         NULL pointer dereference. [#1489792] found by Coverity.
2965
2966         * libpam/Makefile.am: bump release number of libpam.so.
2967         * libpam/pam_misc.c (_pam_mkargv): Fix memory leak,
2968         [#1489804] found by Coverity.
2969
2970         * modules/pam_echo/pam_echo.c (replace_and_print): Initialize
2971         str, [#1489658] found by Coverity.
2972
2973         * modules/pam_cracklib/pam_cracklib.c (_pam_unix_approve_pass): Fix
2974         a potential NULL pointer dereference.
2975         (pam_sm_chauthtok): Remove dead code.
2976         [#1489634] found by Coverity.
2977
2978 2006-05-04  Thorsten Kukuk  <kukuk@thkukuk.de>
2979
2980         * configure.in: Check for fseeko.
2981         * modules/pam_tally/pam_tally.c: Use fseeko if available
2982         (Based on patch by IBM).
2983
2984 2006-05-04  Thorsten Kukuk  <kukuk@thkukuk.de>
2985
2986         * release version 0.99.4.0
2987
2988         * libpam/pam_strerror.c: Unify error messages.
2989
2990         * po/zh_TW.po: Adjust for last pam_strerror changes.
2991         * po/zh_CN.po: Likewise.
2992         * po/uk.po: Likewise.
2993         * po/tr.po: Likewise.
2994         * po/pt.po: Likewise.
2995         * po/pt_BR.po: Likewise.
2996         * po/pl.po: Likewise.
2997         * po/ja.po: Likewise.
2998         * po/nl.po: Likewise.
2999         * po/nb.po: Likewise.
3000         * po/it.po: Likewise.
3001         * po/hu.po: Likewise.
3002         * po/fr.po: Likewise.
3003         * po/fi.po: Likewise.
3004         * po/es.po: Likewise.
3005         * po/de.po: Likewise.
3006         * po/cs.po: Likewise.
3007
3008         * doc/man/pam.3.xml: New.
3009         * doc/man/pam.3. New, generated from XML file.
3010
3011         * doc/man/pam_sm_acct_mgmt.3.xml: New.
3012         * doc/man/pam_sm_acct_mgmt.3: New, generated from XML file.
3013
3014         * doc/man/*.xml: Fix encoding and use always UTF-8, regenerate
3015         all manual pages.
3016
3017         * doc/pam_modules.sgml (PAM_NEW_AUTHTOKEN_REQD): Fix typo.
3018
3019 2006-05-02  Thorsten Kukuk  <kukuk@thkukuk.de>
3020
3021         * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Use
3022         different strings for plural or not [#1427738]
3023
3024         * po/*.po: Adjust for pam_unix.so translation fix.
3025
3026         * modules/pam_tally/pam_tally.c: Always close file handle
3027         in error case, don't close it depending on *TALLY value [#1478180]
3028
3029 2006-04-21  Thorsten Kukuk  <kukuk@thkukuk.de>
3030
3031         * po/fr.po: Updated.
3032
3033 2006-04-11  Thorsten Kukuk  <kukuk@thkukuk.de>
3034
3035         * po/km.po: Updated.
3036
3037 2006-03-27  Thorsten Kukuk  <kukuk@thkukuk.de>
3038
3039         * po/LINGUAS: Add uk.
3040
3041         * po/uk.po: New.
3042         * po/cs.po: Updated.
3043         * po/po/es.po: Updated.
3044         * po/fi.po: Updated.
3045         * po/fr.po: Updated.
3046         * po/hu.po: Updated.
3047         * po/it.po: Updated.
3048         * po/ja.po: Updated.
3049         * po/nb.po: Updated.
3050         * po/pl.po: Updated.
3051         * po/pt.po: Updated.
3052         * po/pt_BR.po: Updated.
3053         * po/zh_CN.po: Updated.
3054         * po/zh_TW.po: Updated.
3055
3056 2006-03-21  Thorsten Kukuk  <kukuk@thkukuk.de>
3057
3058         * configure.in: Remove ALL_LINGUAS.
3059         * po/LINGUAS: New.
3060         * po/tr.po: New (from Ismail Donmez <ismail@pardus.org.tr>).
3061
3062 2006-03-13  Thorsten Kukuk  <kukuk@thkukuk.de>
3063
3064         * doc/man/pam_error.3.xml: New.
3065         * doc/man/pam_error.3: New, generated from XML file.
3066         * doc/man/pam_verror.3: New, generated from XML file.
3067         * doc/man/Makefile.am: Add pam_error.3 and pam_verror.3.
3068
3069         * modules/pam_lastlog/Makefile.am: Fix typo.
3070
3071         * modules/pam_lastlog/pam_lastlog.c: Move comment for
3072         translators in right line.
3073         * po/*.po: Update po files with comment for translator.
3074
3075 2006-03-12  Thorsten Kukuk  <kukuk@thkukuk.de>
3076
3077         * doc/man/Makefile.am: Add new manual pages.
3078
3079         * doc/man/pam.conf.5.xml: Replace link with content
3080         of PAM admin guide.
3081         * doc/man/pam.conf.5: Regenerated from XML file.
3082
3083         * doc/man/pam_info.3.xml: New.
3084         * doc/man/pam_info.3: New, generated from XML file.
3085         * doc/man/pam_vinfo.3: New, generated from XML file.
3086
3087         * doc/man/pam_conv.3.xml: New.
3088         * doc/man/pam_conv.3: New, generated from XML file.
3089
3090         * doc/man/pam_putenv.3.xml: New.
3091         * doc/man/pam_putenv.3: New, generated from XML file.
3092
3093         * doc/man/pam_getenv.3.xml: New.
3094         * doc/man/pam_getenv.3: New, generated from XML file.
3095
3096         * doc/man/pam_getenvlist.3.xml: New.
3097         * doc/man/pam_getenvlist.3: New, generated from XML file.
3098
3099         * libpam/pam_item.c (pam_get_user): Check for valid pamh before
3100         using it.
3101
3102         * configure.in: create tests/Makefile
3103         * Makefile.am (SUBDIRS): Add tests
3104         * tests/Makefile.am: New.
3105         * tests/tst-dlopen.c: New.
3106         * tests/tst-pam_acct_mgmt.c: New.
3107         * tests/tst-pam_authenticate.c: New.
3108         * tests/tst-pam_chauthtok.c: New.
3109         * tests/tst-pam_close_session.c: New.
3110         * tests/tst-pam_end.c: New.
3111         * tests/tst-pam_fail_delay.c: New.
3112         * tests/tst-pam_getenvlist.c: New.
3113         * tests/tst-pam_get_item.c: New.
3114         * tests/tst-pam_open_session.c: New.
3115         * tests/tst-pam_setcred.c: New.
3116         * tests/tst-pam_set_item.c: New.
3117         * tests/tst-pam_start.c: New.
3118         * tests/tst-pam_get_user.c: New.
3119
3120         * modules/pam_access/Makefile.am: Add rules for make check
3121         * modules/pam_access/tst-pam_access: New
3122         * modules/pam_cracklib/Makefile.am: Add rules for make check
3123         * modules/pam_cracklib/tst-pam_cracklib: New
3124         * modules/pam_debug/Makefile.am: Add rules for make check
3125         * modules/pam_debug/tst-pam_debug: New
3126         * modules/pam_deny/Makefile.am: Add rules for make check
3127         * modules/pam_deny/tst-pam_deny: New
3128         * modules/pam_echo/Makefile.am: Add rules for make check
3129         * modules/pam_echo/tst-pam_echo: New
3130         * modules/pam_env/Makefile.am: Add rules for make check
3131         * modules/pam_env/tst-pam_env: New
3132         * modules/pam_exec/Makefile.am: Add rules for make check
3133         * modules/pam_exec/tst-pam_exec: New
3134         * modules/pam_filter/Makefile.am: Add rules for make check
3135         * modules/pam_filter/tst-pam_filter: New
3136         * modules/pam_ftp/Makefile.am: Add rules for make check
3137         * modules/pam_ftp/tst-pam_ftp: New
3138         * modules/pam_group/Makefile.am: Add rules for make check
3139         * modules/pam_group/tst-pam_group: New
3140         * modules/pam_issue/Makefile.am: Add rules for make check
3141         * modules/pam_issue/tst-pam_issue: New
3142         * modules/pam_lastlog/Makefile.am: Add rules for make check
3143         * modules/pam_lastlog/tst-pam_lastlog: New
3144         * modules/pam_limits/Makefile.am: Add rules for make check
3145         * modules/pam_limits/tst-pam_limits: New
3146         * modules/pam_listfile/Makefile.am: Add rules for make check
3147         * modules/pam_listfile/tst-pam_listfile: New
3148         * modules/pam_localuser/Makefile.am: Add rules for make check
3149         * modules/pam_localuser/tst-pam_localuser: New
3150         * modules/pam_mail/Makefile.am: Add rules for make check
3151         * modules/pam_mail/tst-pam_mail: New
3152         * modules/pam_mkhomedir/Makefile.am: Add rules for make check
3153         * modules/pam_mkhomedir/tst-pam_mkhomedir: New
3154         * modules/pam_motd/Makefile.am: Add rules for make check
3155         * modules/pam_motd/tst-pam_motd: New
3156         * modules/pam_nologin/Makefile.am: Add rules for make check
3157         * modules/pam_nologin/tst-pam_nologin: New
3158         * modules/pam_permit/Makefile.am: Add rules for make check
3159         * modules/pam_permit/tst-pam_permit: New
3160         * modules/pam_rhosts/Makefile.am: Add rules for make check
3161         * modules/pam_rhosts/tst-pam_rhosts: New
3162         * modules/pam_rootok/Makefile.am: Add rules for make check
3163         * modules/pam_rootok/tst-pam_rootok: New
3164         * modules/pam_securetty/Makefile.am: Add rules for make check
3165         * modules/pam_securetty/tst-pam_securetty: New
3166         * modules/pam_selinux/Makefile.am: Add rules for make check
3167         * modules/pam_selinux/tst-pam_selinux: New
3168         * modules/pam_shells/Makefile.am: Add rules for make check
3169         * modules/pam_shells/tst-pam_shells: New
3170         * modules/pam_stress/Makefile.am: Add rules for make check
3171         * modules/pam_stress/tst-pam_stress: New
3172         * modules/pam_succeed_if/Makefile.am: Add rules for make check
3173         * modules/pam_succeed_if/tst-pam_succeed_if: New
3174         * modules/pam_tally/Makefile.am: Add rules for make check
3175         * modules/pam_tally/tst-pam_tally: New
3176         * modules/pam_time/Makefile.am: Add rules for make check
3177         * modules/pam_time/tst-pam_time: New
3178         * modules/pam_umask/Makefile.am: Add rules for make check
3179         * modules/pam_umask/tst-pam_umask: New
3180         * modules/pam_unix/Makefile.am: Add rules for make check
3181         * modules/pam_unix/tst-pam_unix: New
3182         * modules/pam_userdb/Makefile.am: Add rules for make check
3183         * modules/pam_userdb/tst-pam_userdb: New
3184         * modules/pam_warn/Makefile.am: Add rules for make check
3185         * modules/pam_warn/tst-pam_warn: New
3186         * modules/pam_wheel/Makefile.am: Add rules for make check
3187         * modules/pam_wheel/tst-pam_wheel: New
3188         * modules/pam_xauth/Makefile.am: Add rules for make check
3189         * modules/pam_xauth/tst-pam_xauth: New
3190
3191 2006-03-11  Thorsten Kukuk  <kukuk@thkukuk.de>
3192
3193         * doc/man/pam_fail_delay.3.xml: New.
3194         * doc/man/pam_fail_delay.3: New, generated from xml.
3195         * doc/man/pam_prompt.3.xml: New.
3196         * doc/man/pam_prompt.3: New, generated from xml.
3197         * doc/man/pam_syslog.3.xml: New.
3198         * doc/man/pam_syslog.3: New, generated from xml.
3199         * doc/man/pam_vprompt.3: New, generated from xml.
3200         * doc/man/pam_vsyslog.3: New, generated from xml.
3201
3202 2006-02-24  Thorsten Kukuk  <kukuk@thkukuk.de>
3203
3204         * po/km.po: Update Khmer translation.
3205
3206 2006-02-24  Thorsten Kukuk  <kukuk@thkukuk.de>
3207
3208         * modules/pam_succeed_if/pam_succeed_if.8.xml: New, based on
3209         version from #1425487.
3210         * modules/pam_succeed_if/pam_succeed_if.8: Regenerated from xml.
3211         * modules/pam_succeed_if/Makefile.am: Include XML rules.
3212         * modules/pam_succeed_if/README.xml: New.
3213         * modules/pam_succeed_if/README: Regenerated from xml.
3214         * modules/pam_succeed_if/pam_succeed_if.c: Fix comment about
3215         return values.
3216
3217 2006-02-22  Thorsten Kukuk  <kukuk@thkukuk.de>
3218
3219         * configure.in: Fix check for incomplete libaudit installations
3220         (Patch from Ruediger Oertel <ro@suse.de>).
3221
3222         * modules/pam_lastlog/pam_lastlog.c (last_login_write): Initialize
3223         correct last_login field [#1427401].
3224
3225         * modules/pam_lastlog/pam_lastlog.c (last_login_read): Mark strftime
3226         format string for translation to allow reorder [#1428269].
3227         * po/*.po: Update with last pam_lastlog change.
3228
3229
3230 2006-02-17  Thorsten Kukuk  <kukuk@thkukuk.de>
3231
3232         * doc/man/Makefile.am: Add new manual pages.
3233         * doc/man/pam_end.3: Regenerated from xml file.
3234         * doc/man/pam_end.3.xml: Document freeing of item data.
3235         * doc/man/pam_get_user.3: New.
3236         * doc/man/pam_get_user.3.xml: New.
3237         * modules/pam_access/access.conf.5.xml: Fix typos.
3238         * modules/pam_env/Makefile.am: Add new manual pages.
3239         * modules/pam_env/README: Regenerate from xml file.
3240         * modules/pam_env/README.xml: New.
3241         * modules/pam_env/pam_env.8: New.
3242         * modules/pam_env/pam_env.8.xml: New.
3243         * modules/pam_env/pam_env.conf.5: New.
3244         * modules/pam_env/pam_env.conf.5.xml New.
3245
3246 2006-02-14  Thorsten Kukuk  <kukuk@thkukuk.de>
3247
3248         * po/fi.po: Updated translations.
3249         * po/pl.po: Likewise.
3250         * po/km.po: New translation.
3251         * configure.in: Add km as new language.
3252
3253 2006-02-13  Thorsten Kukuk  <kukuk@thkukuk.de>
3254
3255         * modules/pam_echo/pam_echo.8.xml: New.
3256         * modules/pam_echo/pam_echo.8: Regenerated from xml file.
3257         * modules/pam_echo/Makefile.am: Include Make.xml.rules.
3258         * modules/pam_echo/pam_echo.c: Fix return value.
3259
3260         * doc/modules/pam_chroot.sgml: Remove obsolete sgml file.
3261
3262 2006-02-12  Thorsten Kukuk  <kukuk@thkukuk.de>
3263
3264         * configure.in: Add doc/man/Makefile.
3265         * Make.xml.rules: Enable xincludes for manual pages.
3266         * doc/Makefile.am (EXRA_DIST): Remove manual pages.
3267         (SUBDIR): Add man subdirectory.
3268         * doc/man/Makefile.am: New.
3269         * doc/man/pam_acct_mgmt.3: New.
3270         * doc/man/pam_acct_mgmt.3.xml: New.
3271         * doc/man/pam_get_data.3: New.
3272         * doc/man/pam_get_data.3.xml: New.
3273         * doc/man/pam_set_data.3: New.
3274         * doc/man/pam_set_data.3.xml: New.
3275         * doc/man/pam.8.xml: New.
3276         * doc/man/pam.8: Regenerated from xml file.
3277         * doc/man/pam_authenticate.3.xml: New.
3278         * doc/man/pam_authenticate.3: Regenerated from xml file.
3279         * doc/man/pam_chauthtok.3.xml: New.
3280         * doc/man/pam_chauthtok.3: Regenerated from xml file.
3281         * doc/man/pam_close_session.3.xml: New.
3282         * doc/man/pam_close_session.3: Regenerated from xml file.
3283         * doc/man/pam_end.3.xml: New.
3284         * doc/man/pam_end.3: Regenerated from xml file.
3285         * doc/man/pam_fail_delay.3.xml: New.
3286         * doc/man/pam_fail_delay.3: Regenerated from xml file.
3287         * doc/man/pam_get_item.3.xml: New.
3288         * doc/man/pam_get_item.3: Regenerated from xml file.
3289         * doc/man/pam_item_types.inc.xml: New.
3290         * doc/man/pam_open_session.3.xml: New.
3291         * doc/man/pam_open_session.3: Regenerated from xml file.
3292         * doc/man/pam_set_item.3.xml: New.
3293         * doc/man/pam_set_item.3: Regenerated from xml file.
3294         * doc/man/pam_setcred.3.xml: New.
3295         * doc/man/pam_setcred.3: Regenerated from xml file.
3296         * doc/man/pam_start.3.xml: New.
3297         * doc/man/pam_start.3: Regenerated from xml file.
3298         * doc/man/pam_strerror.3.xml: New.
3299         * doc/man/pam_strerror.3: Regenerated from xml file.
3300         * doc/man/template-man: Removed.
3301
3302 2006-02-10  Thorsten Kukuk  <kukuk@thkukuk.de>
3303
3304         * configure.in: Remove pam_pwdb support.
3305         * modules/Makefile.am: remove pam_pwdb.
3306         * modules/pam_pwdb: Remove complete directory.
3307         * libpam/Makefile.am: Remove LIBPWDB references.
3308         * libpam/pam_static_modules.h: Remove pam_pwdb references.
3309         * doc/modules/pam_pwdb.sgml: Removed.
3310         * po/POTFILES.in: Remove modules/pam_pwdb/*.c entries.
3311         * doc/pam_source.sgml: Remove references to libpwdb.
3312         * doc/modules/pam_limits.sgml: Remove wrong reference to libpwdb.
3313         * doc/modules/pam_group.sgml: Likewise.
3314         * doc/modules/pam_cracklib.sgml: Replace pam_pwdb with pam_unix.
3315         * doc/modules/pam_userdb.sgml: Likewise.
3316         * modules/pam_cracklib/pam_cracklib.8.xml: Replace pam_pwdb
3317         with pam_unix.
3318         * modules/pam_mkhomedir/pam_mkhomedir.c: Likewise.
3319         * modules/pam_group/pam_group.c: Remove dead code for libpwdb.
3320
3321         * modules/pam_access/Makefile.am: Fix EXTRA_DIST.
3322         * modules/pam_cracklib/Makefile.am: Likewise.
3323         * modules/pam_deny/Makefile.am: Likewise.
3324         * modules/pam_exec/Makefile.am: Likewise.
3325
3326 2006-02-07  Thorsten Kukuk  <kukuk@thkukuk.de>
3327
3328         * configure.in: Check for text browser.
3329         * Make.xml.rules: Add rule to generate README from README.xml.
3330
3331         * modules/pam_access/Makefile.am: Include Make.xml.rules.
3332         * modules/pam_access/README: Regenerated from README.xml.
3333         * modules/pam_access/README.xml: New.
3334         * modules/pam_access/access.conf: Extended by new examples.
3335         * modules/pam_access/access.conf.5: New, generated from xml file.
3336         * modules/pam_access/access.conf.5.xml: New.
3337         * modules/pam_access/pam_access.8: New, generated from xml file.
3338         * modules/pam_access/pam_access.8.xml: New.
3339         * modules/pam_access/pam_access.c: Add rules for IPv6 and
3340         netmasks.
3341         Based on patch from Mike Becher <Mike.Becher@lrz-muenchen.de>.
3342
3343         * modules/pam_deny/Makefile.am: Include Make.xml.rules.
3344         * modules/pam_deny/pam_deny.8.xml: New.
3345         * modules/pam_deny/pam_deny.8: New, generated from xml file.
3346         * modules/pam_deny/README.xml: New.
3347         * modules/pam_deny/README: Regenerated from xml file.
3348
3349         * modules/pam_cracklib/Makefile.am: Include Make.xml.rules.
3350         * modules/pam_cracklib/pam_cracklib.8.xml: New.
3351         * modules/pam_cracklib/pam_cracklib.8: New, generated from xml file.
3352         * modules/pam_cracklib/README.xml: New.
3353         * modules/pam_cracklib/README: Regenerated from xml file.
3354
3355         * modules/pam_exec/Makefile.am: Add rule to generate README.
3356         * modules/pam_exec/README: Regenerated from xml file.
3357         * modules/pam_exec/pam_exec.8: Regenerated from xml file.
3358         * modules/pam_exec/pam_exec.8.xml: Syntax files.
3359
3360 2006-02-06  Thorsten Kukuk  <kukuk@thkukuk.de>
3361
3362         * po/nl.po: New.
3363         * po/pt.po: Update translations.
3364         * configure.in: Add nl as new language.
3365
3366 2006-01-30  Thorsten Kukuk  <kukuk@thkukuk.de>
3367
3368         * modules/pam_exec/pam_exec.8.xml: Fix syntax of Return Value section.
3369         * modules/pam_exec/Makefile.am: Include Make.xml.rules.
3370
3371         * Make.xml.rules: New.
3372
3373         * Makefile.am (EXTRA_DIST): Add Make.xml.rules.
3374
3375 2006-01-27  Thorsten Kukuk  <kukuk@thkukuk.de>
3376
3377         * configure.in: Prefer libdb over libndbm, fix check for
3378         libcrack and remove not needed BACKUP_LIBS.
3379
3380 2006-01-24  Thorsten Kukuk  <kukuk@thkukuk.de>
3381
3382         * modules/pam_debug/pam_debug.c: Fix name of pam_module struct.
3383
3384         * po/de.po: Fix one translation.
3385
3386         * configure.in: Add modules/pam_exec.
3387         * modules/Makefile.am: Add pam_exec subdirectory.
3388         * modules/pam_exec/README: New.
3389         * modules/pam_exec/Makefile.am: New.
3390         * modules/pam_exec/pam_exec.8: New.
3391         * modules/pam_exec/pam_exec.c: New.
3392         * modules/pam_exec/pam_exec.8.xml: New.
3393         * po/POTFILES.in: Add modules/pam_exec/pam_exec.c.
3394         * po/*.po: Merge new pam_exec strings.
3395
3396         * libpam/pam_static_modules.h: New.
3397         * Makefile.am: Reorder subdirectories for static modules.
3398         * configure.in: Add --enable-static-modules option.
3399         * libpam/Makefile.am: Define WITH_SELINUX and WITH_PWDB if
3400         necessary, add pam_static_modules.h, link against all PAM
3401         module object files if STATIC_MODULES is defined.
3402         * libpam/pam_static.c: Remove old _static_module* includes,
3403         include pam_static_modules.h.
3404
3405         * configure.in: Add checks for xsltproc, xmllint and docbook
3406         xsl stylesheet.
3407         * m4/jh_path_xml_catalog.m4: New.
3408
3409 2006-01-22  Thorsten Kukuk  <kukuk@thkukuk.de>
3410
3411         * modules/pam_succeed_if/pam_succeed_if.c: Add support for
3412         static modules.
3413         * modules/pam_xauth/pam_xauth.c: Likewise.
3414
3415         * libpam/pam_static.c (_pam_open_static_handler): Add pamh
3416         as argument.
3417         * libpam/pam_private.h: Adjust prototype.
3418         * libpam/pam_handlers.c (_pam_add_handler): Add pamh to
3419         _pam_open_static_handler call.
3420
3421         * configure.in: Don't define PAM_DYNAMIC.
3422         * libpam/pam_handlers.c: Get ride of PAM_DYNAMIC, don't
3423         include pam_dynamic.h
3424         * libpam/pam_dynamic.c: Don't include pam_dynamic.h,
3425         exclude functions if we compile with PAM_STATIC.
3426         * libpam/pam_dynamic.h: Remove.
3427         * libpam/pam_private.h: Add function prototypes from pam_dynamic.h.
3428         * libpam/Makefile.am: Bump version number of libpam, remove
3429         pam_dynamic.h.
3430
3431 2006-01-21  Thorsten Kukuk  <kukuk@thkukuk.de>
3432
3433         * modules/pam_listfile/pam_listfile.c: Add support for session
3434         and password management.
3435
3436 2006-01-19  Thorsten Kukuk  <kukuk@thkukuk.de>
3437
3438         * doc/specs/Makefile.am (spec): Add padout to fix parallel
3439         build (Reported by Andreas Haumer <andreas@xss.co.at>).
3440
3441 2006-01-15  Thorsten Kukuk  <kukuk@thkukuk.de>
3442
3443         * modules/pam_echo/pam_echo.c: Define HOST_NAME_MAX if not
3444         already defined.
3445
3446 2006-01-13  Thorsten Kukuk  <kukuk@thkukuk.de>
3447
3448         * release version 0.99.3.0
3449
3450         * libpam_misc/misc_conv.c (misc_conv): Fix strict aliasing
3451         error.
3452
3453         * modules/pam_umask/pam_umask.c (search_key): Don't ignore
3454         EOF/error return value from fgets().
3455
3456         * configure.in: Check for getline and getdelim
3457
3458         * po/fi.po: Add new translations.
3459         * po/de.po: Likewise.
3460         * po/es.po: Likewise.
3461         * po/fr.po: Likewise.
3462         * po/it.po: Likewise.
3463         * po/ja.po: Likewise.
3464         * po/pt_BR.po: Likewise.
3465         * po/zh_CH.po: Likewise.
3466         * po/zh_TW.po: Likewise.
3467
3468 2006-01-13  Dmitry V. Levin  <ldv@altlinux.org>
3469
3470         * libpam/pam_audit.c (_pam_auditlog): Replace strerror(errno)
3471         call with %m specifier.
3472
3473 2006-01-12  Thorsten Kukuk  <kukuk@thkukuk.de>
3474
3475         * configure.in: Add check for -fpie/-pie
3476         * modules/pam_filter/upperLOWER/Makefile.am: Compile/link
3477         upperLOWER with -fpie/-pie if supported.
3478         * modules/pam_unix/Makefile.am: Compile/link unix_chkpwd
3479         with -fpie/-pie if supported.
3480
3481 2006-01-12  Steve Grubb  <sgrubb@redhat.com>
3482
3483         * configure.in: Add check for audit library.
3484         * libpam/Makefile.am (libpam_la_LDFLAGS): Add LIBAUDIT.
3485         (libpam_la_SOURCES): Add pam_audit.c.
3486         * libpam/pam_account.c (pam_acct_mgmt): Add _pam_auditlog() call.
3487         * libpam/pam_auth.c (pam_authenticate), (pam_setcred): Likewise.
3488         * libpam/pam_password.c (pam_chauthtok):  Likewise.
3489         * libpam/pam_session.c (pam_open_session),
3490         (pam_close_session): Likewise.
3491         * libpam/pam_private.h: Add audit_state member to pam_handle,
3492         declare _pam_auditlog and _pam_audit_end.
3493         * libpam/pam_start.c (pam_start): Initialize audit_state.
3494         * libpam/pam_audit.c: New file with _pam_auditlog and _pam_audit_end
3495         implementation.
3496         * libpam/pam_end.c (pam_end): Add _pam_audit_end() call.
3497         * NEWS: Note about added auditing.
3498
3499 2006-01-11  Thorsten Kukuk  <kukuk@thkukuk.de>
3500
3501         * libpam/Makefile.am (AM_CFLAGS): Define LIBPAM_COMPILE.
3502
3503         * libpam/include/security/_pam_types.h: Don't define PAM_NONNULL
3504         if we compile libpam itself.
3505
3506         * po/hu.po: Update with new translations.
3507
3508 2006-01-08  Thorsten Kukuk  <kukuk@thkukuk.de>
3509
3510         * modules/pam_cracklib/pam_cracklib.c: Use PAM_AUTHTOK_RECOVERY_ERR
3511         instead of PAM_AUTHTOK_RECOVER_ERR.
3512         * modules/pam_pwdb/support.-c: Likewise.
3513         * modules/pam_unix/support.c: Likewise.
3514         * modules/pam_userdb/pam_userdb.c (pam_sm_authenticate): Likewise.
3515         * libpam/pam_strerror.c (pam_strerror): Likewise.
3516
3517         * libpam/include/security/_pam_compat.h: Define
3518         PAM_AUTHTOK_RECOVER_ERR for backward compatibility.
3519
3520         * libpam/include/security/_pam_types.h: Rename
3521         PAM_AUTHTOK_RECOVER_ERR to PAM_AUTHTOK_RECOVERY_ERR.
3522
3523 2006-01-05  Thorsten Kukuk  <kukuk@thkukuk.de>
3524
3525         * libpam/include/security/_pam_types.h: Remove nonnull attribute
3526         from third paramter (item) of pam_get_item.
3527         * libpam/Makefile.am: Bump version number of shared library.
3528
3529 2005-12-21  Tomas Mraz <t8m@centrum.cz>
3530
3531         * modules/pam_succeed_if/pam_succeed_if.c (evaluate_ingroup),
3532         (evaluate_notingroup): Simplified.
3533         (evaluate_innetgr), (evaluate_notinnetgr): New functions.
3534         (evaluate): Added calls to evaluate_(not)innetgr().
3535         * modules/pam_succeed_if/README: Documented netgroup matching.
3536         * NEWS: Mentioned the added netgroup matching support.
3537
3538 2005-12-20  Thorsten Kukuk  <kukuk@thkukuk.de>
3539
3540         * modules/pam_lastlog/pam_lastlog.c (last_login_read): Use
3541         strftime instead of ctime.
3542
3543         * po/de.po: Fix typo.
3544
3545 2005-12-19  Thorsten Kukuk  <kukuk@thkukuk.de>
3546
3547         * libpam/pam_syslog.c: Define LOG_AUTHPRIV as LOG_AUTH on Solaris.
3548         Reported by Charles_H_Bedford@nbc.gov.
3549
3550         * modules/pam_time/pam_time.c (check_account): Implement
3551         support for netgroups.
3552
3553         * modules/pam_time/time.conf: Document usage of netgroups.
3554
3555 2005-12-16  Thorsten Kukuk  <kukuk@thkukuk.de>
3556
3557         * modules/pam_group/pam_group.c (check_account): Implement
3558         support for netgroups.
3559
3560         * modules/pam_group/group.conf: Add all documentation to this
3561         example config file and don't reference to outdated configs.
3562
3563         * modules/pam_group/README: New.
3564
3565         * modules/pam_group/Makefile.am: Add README to EXTRADIST.
3566
3567 2005-12-15  Thorsten Kukuk  <kukuk@suse.de>
3568
3569         * modules/pam_lastlog/pam_lastlog.c (last_login_read): Don't report an
3570         error if user logins the first time.
3571
3572         * modules/pam_lastlog/README: New.
3573
3574         * modules/pam_lastlog/Makefile.am: Add README to EXTRADIST.
3575
3576 2005-12-14  Thorsten Kukuk  <kukuk@suse.de>
3577
3578         * modules/pam_deny/pam_deny.c: Fix comment.
3579
3580         * doc/pam_appl.sgml: Fix typo.
3581
3582         Reported by Russell Bateman <russ@windofkeltia.com>
3583
3584 2005-12-12  Thorsten Kukuk  <kukuk@thkukuk.de>
3585
3586         * release version 0.99.2.1
3587
3588         * po/de.po: Remove new fuzzy entry
3589
3590         * NEWS: Add 0.99.2.1 changes
3591
3592         * configure.in: bump version number to 0.99.2.1
3593
3594 2005-12-12  Dmitry V. Levin  <ldv@altlinux.org>
3595
3596         Cleanup pam_syslog messages.
3597
3598         * modules/pam_env/pam_env.c (_expand_arg): Fix compiler warning.
3599         * modules/pam_filter/pam_filter.c (set_filter): Append %m
3600         specifier to pam_syslog messages where appropriate.
3601         * modules/pam_group/pam_group.c (read_field): Likewise.
3602         * modules/pam_mkhomedir/pam_mkhomedir.c (make_remark): Remove.
3603         (create_homedir): Do not use make_remark() wrapper, call
3604         pam_info() directly.  Call pam_syslog() right after failed
3605         operation and append %m specifier to pam_syslog messages where
3606         appropriate.
3607         * modules/pam_rhosts/pam_rhosts_auth.c (pam_iruserok): Replace
3608         sequence of malloc(), strcpy() and strcat() calls with asprintf().
3609         Append %m specifier to pam_syslog messages where appropriate.
3610         * modules/pam_securetty/pam_securetty.c (securetty_perform_check):
3611         Append %m specifier to pam_syslog messages where appropriate.
3612         * modules/pam_shells/pam_shells.c (perform_check): Likewise.
3613
3614 2005-12-12  Tomas Mraz  <t8m@centrum.cz>
3615
3616         * modules/pam_mail/pam_mail.c (report_mail): Fixed typo in string.
3617         * po/Linux-PAM.pot: Likewise.
3618         * po/de.po: Likewise.
3619         * po/es.po: Likewise.
3620         * po/fi.po: Likewise.
3621         * po/fr.po: Likewise.
3622         * po/hu.po: Likewise.
3623         * po/it.po: Likewise.
3624         * po/ja.po: Likewise.
3625         * po/nb.po: Likewise.
3626         * po/pa.po: Likewise.
3627         * po/pl.po: Likewise.
3628         * po/pt.po: Likewise.
3629         * po/pt_BR.po: Likewise.
3630         * po/zh_CN.po: Likewise.
3631         * po/zh_TW.po: Likewise.
3632         * po/de.po: Add new translation, fixed typo in string.
3633
3634 2005-12-12  Mike Becher  <Mike.Becher@lrz-muenchen.de>
3635
3636         * doc/Makefile.am: Fixed install of PS, PDF, TXT and HTML files.
3637
3638 2005-12-12  Thorsten Kukuk  <kukuk@suse.de>
3639
3640         * modules/pam_mail/README: Document "quiet" and "standard"
3641         options.
3642
3643 2005-12-07  Thorsten Kukuk  <kukuk@suse.de>
3644
3645         * modules/pam_mail/pam_mail.c: Modify assembling of output
3646         for easier translation.
3647
3648         * po/de.po: Translate new pam_mail messages.
3649
3650
3651 2005-11-24  Thorsten Kukuk  <kukuk@thkukuk.de>
3652
3653         * po/de.po: Add new translation, fix wrong format specifier.
3654         * po/cs.po: Fix wrong format specifier.
3655         * po/es.po: Likewise.
3656         * po/fi.po: Likewise.
3657         * po/fr.po: Likewise.
3658         * po/hu.po: Likewise.
3659         * po/it.po: Likewise.
3660         * po/ja.po: Likewise.
3661         * po/nb.po: Likewise.
3662         * po/pa.po: Likewise.
3663         * po/pl.po: Likewise.
3664         * po/pt.po: Likewise.
3665         * po/pt_BR.po: Likewise.
3666         * po/zh_CN.po: Likewise.
3667         * po/zh_TW.po: Likewise.
3668
3669 2005-11-24  Dmitry V. Levin  <ldv@altlinux.org>
3670
3671         * config.h.in: Remove generated file.
3672         * .cvsignore: Add config.h.in.
3673
3674         * configure.in: Do not check for strerror.
3675         * libpam_misc/misc_conv.c (read_string): Replace strerror()
3676         call with %m specifier.
3677         * libpamc/pamc_converse.c (pamc_converse): Likewise.
3678         * modules/pam_echo/pam_echo.c (pam_echo): Likewise.
3679         * modules/pam_localuser/pam_localuser.c (pam_sm_authenticate):
3680         Likewise.
3681         * modules/pam_selinux/pam_selinux.c (security_label_tty):
3682         Likewise.
3683         (security_restorelabel_tty, security_label_tty): Append %m
3684         specifier where appropriate.
3685         * modules/pam_selinux/pam_selinux_check.c (main): Replace
3686         strerror() call with %m specifier.
3687         * modules/pam_unix/pam_unix_passwd.c (save_old_password,
3688         _update_passwd, _update_shadow): Likewise.
3689         * modules/pam_unix/support.c (_unix_run_helper_binary): Likewise.
3690         * modules/pam_unix/unix_chkpwd.c (_update_shadow): Likewise.
3691         * po/Linux-PAM.pot: Update strings from pam_selinux.
3692         * po/cs.po: Likewise.
3693         * po/de.po: Likewise.
3694         * po/es.po: Likewise.
3695         * po/fi.po: Likewise.
3696         * po/fr.po: Likewise.
3697         * po/hu.po: Likewise.
3698         * po/it.po: Likewise.
3699         * po/ja.po: Likewise.
3700         * po/nb.po: Likewise.
3701         * po/pa.po: Likewise.
3702         * po/pl.po: Likewise.
3703         * po/pt.po: Likewise.
3704         * po/pt_BR.po: Likewise.
3705         * po/zh_CN.po: Likewise.
3706         * po/zh_TW.po: Likewise.
3707
3708 2005-11-23  Thorsten Kukuk  <kukuk@suse.de>
3709
3710         * modules/pam_xauth/pam_xauth.c (pam_sm_open_session): Introduce
3711         new variable to fix compiler warning.
3712
3713         * libpam/pam_modutil_getlogin.c (pam_modutil_getlogin): PAM_TTY
3714         don't need to start with /dev/.
3715
3716 2005-11-21  Thorsten Kukuk  <kukuk@thkukuk.de>
3717
3718         * release version 0.99.2.0
3719
3720         * libpam_misc/Makefile.am: Increase release number (for change
3721         from 2005-11-09)
3722
3723         * NEWS: Adjust for 0.99.2.0
3724
3725 2005-11-17  Thorsten Kukuk  <kukuk@thkukuk.de>
3726
3727         * libpam/include/security/_pam_compat.h: Fix wrong #ifdef nesting.
3728         Redefine PAM_CHANGE_EXPIRED_AUTHTOK [#604380]
3729
3730 2005-11-16  Thorsten Kukuk  <kukuk@thkukuk.de>
3731
3732         * libpam/pam_handlers.c: Replace code for all dlopen variants with
3733         a generic wrapper.
3734         * libpam/pam_dynamic.c: Implement generic wrapper for dlopen.
3735         * libpam/pam_dynamic.h: Provide prototypes.
3736         For Mac OS X support [#534205]
3737
3738 2005-11-09  Tomas Mraz <t8m@centrum.cz>
3739
3740         * modules/pam_access/pam_access.c (pam_sm_acct_mgmt): Parse correctly
3741         full path tty name.
3742         * modules/pam_time/pam_time.c (pam_sm_acct_mgmt): Parse correctly
3743         full path tty name. Allow unset tty.
3744         (logic_member): Allow matching ':' in tty name.
3745         * modules/pam_group/pam_group.c (pam_sm_acct_mgmt): Parse correctly
3746         full path tty name. Allow unset tty.
3747         (logic_member): Allow matching ':' in tty name.
3748
3749         * libpam_misc/misc_conv.c (read_string): Read only up to EOL if stdin
3750         is not terminal.
3751
3752 2005-11-07  Thorsten Kukuk  <kukuk@thkukuk.de>
3753
3754         * modules/pam_unix/pam_unix_passwd.c (_unix_verify_shadow): Use
3755         correct variable names.
3756
3757 2005-11-06  Steve Langasek <vorlon@debian.org>
3758
3759         * modules/pam_env/pam_env.c: don't treat a missing
3760         /etc/environment as a fatal error when attempting to read it,
3761         and try to read this file by default; this restores the behavior
3762         from Linux-PAM 0.76.
3763
3764 2005-11-02  Tomas Mraz <t8m@centrum.cz>
3765
3766         * modules/pam_unix/support.c (_unix_getpwnam): Fix typo [#1224807]
3767         by ohyajapn.
3768
3769         * modules/pam_unix/pam_unix_passwd.c (_unix_verify_shadow): Change the
3770         logic when comparing dates to handle corner cases better [#1245888].
3771
3772 2005-10-31  Thorsten Kukuk  <kukuk@suse.de>
3773
3774         * modules/pam_filter/pam_filter.c: Use XCASE only if defined
3775         [#624214]
3776
3777 2005-10-27  Thorsten Kukuk  <kukuk@suse.de>
3778
3779         * doc/man/pam.8: Fix wording for authentication chapter [#1197444]
3780
3781 2005-10-26  Tomas Mraz  <t8m@centrum.cz>
3782
3783         * modules/pam_unix/pam_unix_acct.c (_unix_run_verify_binary),
3784         modules/pam_unix/pam_unix_passwd.c (_unix_run_shadow_binary),
3785         modules/pam_unix/support.c (_unix_run_shadow_binary_): Set real
3786         uid to 0 before executing the helper if SELinux is enabled.
3787         * modules/pam_unix/unix_chkpwd.c (main): Disable user check only
3788         if real uid is 0 (CVE-2005-2977). Log failed password check attempt.
3789
3790
3791 2005-10-20  Tomas Mraz  <t8m@centrum.cz>
3792
3793         * configure.in: Added check for xauth binary and --with-xauth option.
3794         * config.h.in: Added configurable PAM_PATH_XAUTH.
3795         * modules/pam_xauth/README,
3796         modules/pam_xauth/pam_xauth.8: Document where xauth is looked for.
3797         * modules/pam_xauth/pam_xauth.c (pam_sm_open_session): Implement
3798         searching xauth binary on multiple places.
3799         (run_coprocess): Don't use execvp as it can be a security risk.
3800
3801 2005-10-04  Steve Langasek  <vorlon@debian.org>
3802
3803         * libpam/include/security/pam_malloc.h,
3804         libpam/include/security/pam_modules.h: Declare public header
3805         files extern "C" so that they are C++-safe.
3806
3807 2005-10-02  Dmitry V. Levin  <ldv@altlinux.org>
3808             Steve Langasek  <vorlon@debian.org>
3809
3810         Cleanup gratuitous use of strdup().
3811         Fix "missing argument" checks.
3812
3813         * modules/pam_env/pam_env.c (_pam_parse): Add const qualifier
3814         to conffile and envfile arguments.  Do not use x_strdup() for
3815         conffile and envfile initialization.  Fix "missing argument"
3816         checks.
3817         (_parse_config_file): Take conffile argument of type "const char *"
3818         instead of "char **".  Do not free conffile.
3819         (_parse_env_file): Take env_file argument of type "const char *"
3820         instead of "char **".  Do not free env_file.
3821         (pam_sm_setcred): Add const qualifier to conf_file and env_file.
3822         Pass conf_file and env_file to _parse_config_file() and
3823         _parse_env_file() by value.
3824         (pam_sm_open_session): Likewise.
3825
3826         * modules/pam_ftp/pam_ftp.c (_pam_parse): Add const qualifier to
3827         users argument.  Do not use x_strdup() for users initialization.
3828         (lookup):  Add const qualifier to list argument.
3829         (pam_sm_authenticate): Add const qualifier to users argument.
3830
3831         * modules/pam_mail/pam_mail.c (_pam_parse): Add const qualifier
3832         to maildir argument.  Do not use x_strdup() for maildir
3833         initialization.  Fix "missing argument" check.
3834         (get_folder): Take path_mail argument of type "const char *"
3835         instead of "char **".  Do not free path_mail.
3836         (_do_mail): Add const qualifier to path_mail argument.
3837         Pass path_mail to get_folder() by value.
3838
3839         * modules/pam_motd/pam_motd.c: Include <syslog.h>.
3840         (pam_sm_open_session): Add const qualifier to motd_path.
3841         Do not use x_strdup() for motd_path initialization.  Do not
3842         free motd_path.  Fix "missing argument" check.  Add "unknown
3843         option" warning.
3844
3845         * modules/pam_userdb/pam_userdb.c (_pam_parse): Add const
3846         qualifier to database and cryptmode arguments.  Fix "missing
3847         argument" checks.
3848         (pam_sm_authenticate): Add const qualifier to database and cryptmode.
3849         (pam_sm_acct_mgmt): Likewise.
3850
3851 2005-10-01  Steve Langasek  <vorlon@debian.org>
3852
3853         * modules/pam_userdb/pam_userdb.c: spelling fix in log message.
3854
3855 2005-09-30  Steve Langasek  <vorlon@debian.org>
3856
3857         * modules/pam_userdb/pam_userdb.c: Fix memory leak due to
3858         gratuitous use of strdup().
3859
3860 2005-09-27  Thorsten Kukuk  <kukuk@thkukuk.de>
3861
3862         * release 0.99.1.0
3863
3864         * doc/specs/Makefile.am (install-data-local): Install
3865         rfc and draft.
3866         (all): Copy rfc if we build outside of source directory.
3867
3868 2005-09-27  Thorsten Kukuk  <kukuk@suse.de>
3869
3870         * NEWS: Document removal of pam_radius.
3871         * autogen.sh: Make configure script executeable.
3872
3873         * conv/pam_conv1/Makefile (EXTRA_DIST): Removed lex.yy.c
3874         (lex.yy.c): Fixed out of tree build.
3875
3876         * conv/pam_conv1/pam_conv.y: Fix main prototype.
3877
3878         * README: Adjust.
3879
3880         * po/POTFILES.in: Remove files not distributed by tar archive
3881         and not containing strings for translation.
3882
3883 2005-09-26  Tomas Mraz  <t8m@centrum.cz>
3884
3885         * NEWS: Add a few missing entries from CHANGELOG.
3886
3887         * AUTHORS: Fixed entries for Toady and me.
3888
3889         * Makefile.am (M4_FILES): Fixed out of tree build.
3890         * doc/specs/Makefile.am (EXTRA_DIST): Removed lex.yy.c
3891         (spec, lex.yy.c): Fixed out of tree build.
3892
3893         * modules/pam_userdb/README: Document try_first_pass and
3894         use_first_pass options, remove use_authtok option.
3895
3896
3897 2005-09-26  Dmitry V. Levin  <ldv@altlinux.org>
3898
3899         * NEWS: Mention changes in pam_lastlog.
3900
3901 2005-09-26  Thorsten Kukuk  <kukuk@suse.de>
3902
3903         * NEWS: New file.
3904         * autogen.sh: Don't generate NEWS file.
3905         * CHANGELOG: Document it as obsolete.
3906
3907 2005-09-26  Tomas Mraz  <t8m@centrum.cz>
3908
3909         * modules/pam_unix/pam_unix_acct.c (_unix_run_verify_binary):
3910         _log_err() -> pam_syslog()
3911         (pam_sm_acct_mgmt): _log_err() -> pam_syslog(), fix warning.
3912         * modules/pam_unix/pam_unix_auth.c (pam_sm_authenticate):
3913         _log_err() -> pam_syslog()
3914         * modules/pam_unix/pam_unix_passwd.c: removed obsolete ifdef
3915         (getNISserver, _unix_run_shadow_binary, _update_passwd,
3916         _update_shadow, _do_setpass, _pam_unix_approve_pass,
3917         pam_sm_chauthtok): _log_err() -> pam_syslog()
3918         * modules/pam_unix/pam_unix_sess.c: removed obsolete ifdef
3919         (pam_sm_open_session, pam_sm_close_session):
3920         _log_err() -> pam_syslog()
3921         * modules/pam_unix/support.c (_log_err, converse): removed
3922         (_make_remark): use pam_prompt() instead of converse()
3923         (_set_ctrl, _cleanup_failures, _unix_run_helper_binary,
3924         _unix_verify_password, _unix_read_password):
3925         _log_err() -> pam_syslog()
3926         _cleanup(), _unix_cleanup(): Silence unused param warnings.
3927         (_cleanup_failures, _unix_verify_password, _unix_getpwnam,
3928         _unix_run_helper_binary): Silence incorrect type warnings.
3929         (_unix_read_password): Use multiple pam_prompt() and pam_info() calls
3930         instead of converse().
3931         * modules/pam_unix/support.h (_log_err): removed
3932         * modules/pam_unix/unix_chkpwd.c (_log_err): LOG_AUTH -> LOG_AUTHPRIV
3933
3934 2005-09-26  Thorsten Kukuk  <kukuk@suse.de>
3935
3936         * configure.in: Add doc/specs/Makefile.
3937         * Makefile.am: Add releasedocs rule.
3938         * doc/Makefile.am: Add specs subdir, remove files from specs
3939         directory, add rfc86.0.txt to releasedocs.
3940         * doc/specs/Makefile.am: New file.
3941         * doc/specs/formatter/parse.y: move from here ...
3942         * doc/specs/parse.y: ... here.
3943         * doc/specs/formatter/parse.lex: move from here ...
3944         * doc/specs/parse.lex: ... here.
3945
3946         * modules/pam_mail/pam_mail.c: Mark missing strings for translation
3947         * po/Linux-PAM.pot: Add new strings from pam_mail
3948         * po/cs.po: Likewise.
3949         * po/de.po: Likewise.
3950         * po/es.po: Likewise.
3951         * po/fi.po: Likewise.
3952         * po/fr.po: Likewise.
3953         * po/hu.po: Likewise.
3954         * po/it.po: Likewise.
3955         * po/ja.po: Likewise.
3956         * po/nb.po: Likewise.
3957         * po/pa.po: Likewise.
3958         * po/pl.po: Likewise.
3959         * po/pt.po: Likewise.
3960         * po/pt_BR.po: Likewise.
3961         * po/zh_CN.po: Likewise.
3962         * po/zh_TW.po: Likewise.
3963
3964 2005-09-23  Tomas Mraz  <t8m@centrum.cz>
3965
3966         * modules/pam_access/pam_access.c (from_match): Support NULL from.
3967         (string_match): Support NULL string, add NONE keyword matching it.
3968         (pam_sm_acct_mgmt): Don't fail when ttyname returns NULL.
3969         * modules/pam_access/access.conf: NONE keyword description
3970         * modules/pam_access/README: NONE keyword description
3971
3972 2005-09-22  Dmitry V. Levin  <ldv@altlinux.org>
3973
3974         * modules/pam_xauth/pam_xauth.c: (check_acl, pam_sm_open_session,
3975         pam_sm_close_session): Strip redundant "pam_xauth: " prefix from
3976         text of log messages.
3977         (pam_sm_open_session): Replace sequence of malloc(), strcpy()
3978         and strcat() calls with asprintf().  Replace syslog() calls
3979         with pam_syslog().
3980
3981         * modules/pam_nologin/pam_nologin.c (parse_args): Use strncmp()
3982         instead of memcmp() for string comparison.
3983
3984 2005-09-21  Dmitry V. Levin  <ldv@altlinux.org>
3985
3986         * modules/pam_nologin/pam_nologin.c: Include <syslog.h>.
3987         (parse_args): Add pam_handle_t* argument.  Log unrecognized
3988         options.
3989         (perform_check): Log pam_get_user() and malloc() failures.
3990         (pam_sm_authenticate, pam_sm_setcred, pam_sm_acct_mgmt):
3991         Pass pam_handle_t* to parse_args().
3992
3993         * modules/pam_mail/pam_mail.c: Include <errno.h>.
3994         Remove YOUR_MAIL_VERBOSE_FORMAT, YOUR_MAIL_STANDARD_FORMAT and
3995         NO_MAIL_STANDARD_FORMAT macros.
3996         (parse_args, get_folder): Cleanup error messages.
3997         (get_folder): Fix leak of the path_mail variable in case of
3998         pam_get_user() failure.  Cleanup memory management.
3999         (get_mail_status): Add pam_handle_t* argument.  Fix leaks of
4000         namelist variable.  Cleanup memory management.  Log memory
4001         allocation failures.  Remove 250-byte limit on Maildir pathname.
4002         (report_mail): Mark text messages for translation.
4003         (_do_mail): Cleanup memory management.  Pass pam_handle_t*
4004         to get_mail_status().
4005
4006         * po/Linux-PAM.pot: Update with new strings from pam_mail for
4007         translation.
4008         * po/cs.po: Likewise.
4009         * po/de.po: Likewise.
4010         * po/es.po: Likewise.
4011         * po/fi.po: Likewise.
4012         * po/fr.po: Likewise.
4013         * po/hu.po: Likewise.
4014         * po/it.po: Likewise.
4015         * po/ja.po: Likewise.
4016         * po/nb.po: Likewise.
4017         * po/pa.po: Likewise.
4018         * po/pl.po: Likewise.
4019         * po/pt.po: Likewise.
4020         * po/pt_BR.po: Likewise.
4021         * po/zh_CN.po: Likewise.
4022         * po/zh_TW.po: Likewise.
4023
4024 2005-09-20  Thorsten Kukuk  <kukuk@suse.de>
4025
4026         * configure.in: Add finish translation.
4027         * po/fi.po: New.
4028
4029         * acinclude.m4: remove libprelude macros.
4030         * m4/libprelude.m4: New.
4031
4032         * Makefile.am (EXTRA_DIST): make sure we include all m4 macros.
4033
4034         * libpamc/Makefile.am (EXTRA_DIST): Add License.
4035
4036 See CHANGELOG for earlier changes.