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