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