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