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