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