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