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