Imported Upstream version 1.1.6
[platform/upstream/pam.git] / ChangeLog
1 2012-08-17  Thorsten Kukuk  <kukuk@orinoco.thkukuk.de>
2
3         release version 1.1.6.
4         configure.in: Bump version to 1.1.6
5         NEWS: Document changes
6         po/*.po: Regenerate *.po files
7
8 2012-08-16  Thorsten Kukuk  <kukuk@thkukuk.de>
9
10         Small documentation and define fixes.
11         modules/pam_limits/limits.conf.5.xml: Document race of maxlogins [#10]
12         modules/pam_namespace/pam_namespace.h: Define MS_SLAVE if necessary
13         modules/pam_pwhistory/pam_pwhistory.c: Document how the module works
14         modules/pam_unix/pam_unix.8.xml: Document remember option obsoleted by pam_pwhistory [#6]
15
16 2012-08-13  Tomas Mraz  <tmraz@fedoraproject.org>
17
18         Respect PAM_AUTHTOK_TYPE in pam_get_authtok_verify().
19         libpam/pam_get_authtok.c (pam_get_authtok_internal): Set the PAM_AUTHTOK_TYPE
20         item when obtained from module options.
21         (pam_get_authtok_verify): Use the PAM_AUTHTOK_TYPE item when prompting.
22
23 2012-08-09  Tomas Mraz  <tmraz@fedoraproject.org>
24
25         Document limits.d also in the limits.conf manpage.
26         modules/pam_limits/limits.conf.5.xml: Document the limits.d existence.
27
28 2012-07-23  Tomas Mraz  <tmraz@fedoraproject.org>
29
30         New autotools do not create empty directories on install.
31         modules/pam_namespace/Makefile.am: Add install-data-local target to create
32         namespaceddir.
33         modules/pam_sepermit/Makefile.am: Add install-data-local target to create
34         sepermitlockdir.
35
36 2012-07-09  Stevan Bajić  <stevan@bajic.ch>
37
38         RLIMIT_* variables are no longer defined unless you explicitly include.
39         sys/resource.h.
40
41
42         modules/pam_unix/pam_unix_acct.c: Include sys/resource.h.
43
44 2012-06-27  Tomas Mraz  <tmraz@fedoraproject.org>
45
46         pam_umask: correct the documentation of GECOS field parsing.
47         modules/pam_umask/pam_umask.8.xml: Correct the documentation of GECOS field
48         parsing.
49
50 2012-06-22  Tomas Mraz  <tmraz@fedoraproject.org>
51
52         pam_cracklib: Add monotonic character sequence checking.
53         modules/pam_cracklib/pam_cracklib.c (_pam_parse): Parse the maxsequence option.
54         (sequence): New function to check for too long monotonic sequence of characters.
55         (password_check): Call the sequence().
56         modules/pam_cracklib/pam_cracklib.8.xml: Document the maxsequence check.
57
58 2012-06-01  Tomas Mraz  <tmraz@fedoraproject.org>
59
60         pam_timestamp: Fix copy&paste error in manpage.
61         modules/pam_timestamp/pam_timestamp.8.xml: Fix AUTHOR section.
62
63 2012-05-28  Tomas Mraz  <tmraz@fedoraproject.org>
64
65         Pulled new translations from Transifex.
66         po/*.po: Updated translations.
67
68         pam_pwhistory: Always record the old password even when root changes it.
69         modules/pam_pwhistory/pam_pwhistory.c (pam_sm_chauthtok): Use the UID of
70         the process instead of the target user UID (same as in pam_cracklib) to
71         check for root. Always record old password.
72
73 2012-05-24  Tomas Mraz  <tmraz@fedoraproject.org>
74
75         pam_cracklib: Add enforce_for_root option.
76         modules/pam_cracklib/pam_cracklib.c (_pam_parse): Recognize the enforce_for_root option.
77         (pam_sm_chauthtok): Enforce errors for root with the option.
78         modules/pam_cracklib/pam_cracklib.8.xml: Document the enforce_for_root option.
79
80 2012-04-30  Tomas Mraz  <tmraz@fedoraproject.org>
81
82         pam_cracklib: Add maxclassrepeat, gecoscheck checks and remove unused difignore.
83         modules/pam_cracklib/pam_cracklib.c (_pam_parse): Recognize the maxclassrepeat, gecoscheck options. Ignore difignore option.
84         (simple): Add the check for the same class repetition.
85         (usercheck): Refactor into wordcheck().
86         (gecoscheck): New test for words from the GECOS field.
87         (password_check): Call the gecoscheck().
88         (pam_sm_chauthtok): Drop the diff_ignore from options struct.
89         modules/pam_cracklib/pam_cracklib.8.xml: Document the maxclassrepeat and gecoscheck checks, update the documentation of the difok test.
90
91         pam_lastlog: Never lock out the root account.
92         modules/pam_lastlog/pam_lastlog.c (pam_sm_authenticate): Return PAM_SUCCESS if
93         uid==0.
94         modules/pam_lastlog/pam_lastlog.8.xml: Improve documentation.
95
96 2012-04-17  Tomas Mraz  <tmraz@fedoraproject.org>
97
98         pam_lastlog: add possibility to lock out inactive users in auth or account
99         * modules/pam_lastlog/pam_lastlog.8.xml: Document the new functionality and
100         option.
101         * modules/pam_lastlog/pam_lastlog.c: Add the inactive user lock out.
102         (_pam_session_parse): Renamed from _pam_parse.
103         (_pam_auth_parse): New function to parse auth arguments.
104         (_last_login_open): Factor out opening of the lastlog file.
105         (_last_login_read): Factor out opening of the lastlog file.
106         (pam_sm_authenticate): Implement the lockout functionality.
107         (pam_sm_setcred): Just return PAM_SUCCESS.
108         (pam_sm_acct_mgmt): Call pam_sm_authenticate().
109
110 2012-04-11  Paul Wouters  <pwouters@redhat.com>
111
112         Check for crypt() failure returning NULL.
113         * modules/pam_unix/pam_unix_passwd.c (pam_sm_chauthtok): Adjust syslog message.
114         * modules/pam_unix/passverify.c (create_password_hash): Check for crypt()
115         returning NULL.
116
117 2012-02-03  Dmitry V. Levin  <ldv@altlinux.org>
118
119         pam_unix: make configuration consistent in --enable-static-modules mode.
120         In --enable-static-modules mode, it was not possible to use "pam_unix"
121         in PAM config files.  Instead, different names had to be used for each
122         management group: pam_unix_auth, pam_unix_acct, pam_unix_passwd and
123         pam_unix_session.  This change makes pam_unix configuration consistent
124         with other PAM modules.
125
126         * README: Remove the paragraph describing pam_unix distinctions in
127         --enable-static-modules mode.
128         * libpam/pam_static_modules.h (_pam_unix_acct_modstruct,
129         _pam_unix_auth_modstruct, _pam_unix_passwd_modstruct,
130         _pam_unix_session_modstruct): Remove.
131         (_pam_unix_modstruct): New pam_module declaration.
132         * modules/pam_unix/pam_unix_static.h: New file.
133         * modules/pam_unix/pam_unix_static.c: Likewise.
134         * modules/pam_unix/Makefile.am (noinst_HEADERS): Add pam_unix_static.h
135         (pam_unix_la_SOURCES) [STATIC_MODULES]: Add pam_unix_static.c
136         * modules/pam_unix/pam_unix_acct.c [PAM_STATIC]: Include
137         pam_unix_static.h
138         [PAM_STATIC] (_pam_unix_acct_modstruct): Remove.
139         * modules/pam_unix/pam_unix_auth.c [PAM_STATIC]: Include
140         pam_unix_static.h
141         [PAM_STATIC] (_pam_unix_auth_modstruct): Remove.
142         * modules/pam_unix/pam_unix_passwd.c [PAM_STATIC]: Include
143         pam_unix_static.h
144         [PAM_STATIC] (_pam_unix_passwd_modstruct): Remove.
145         * modules/pam_unix/pam_unix_sess.c [PAM_STATIC]: Include
146         pam_unix_static.h
147         [PAM_STATIC] (_pam_unix_session_modstruct): Remove.
148
149         Suggested-by: Matveychikov Ilya <i.matveychikov@securitycode.ru>
150
151 2012-01-27  Dmitry V. Levin  <ldv@altlinux.org>
152
153         Make --disable-cracklib compatible with --enable-static-modules mode.
154         * configure.in: Define HAVE_LIBCRACK when cracklib is enabled.
155         * libpam/pam_static_modules.h (static_modules): Guard the use of
156         _pam_cracklib_modstruct by HAVE_LIBCRACK macro.
157
158 2012-02-10  Tomas Mraz  <tmraz@fedoraproject.org>
159
160         Add missing includes for types used in the pam_modutil.h.
161         * libpam/include/security/pam_modutil.h: Add missing includes for used types.
162
163 2012-01-27  Matveychikov Ilya  <i.matveychikov@securitycode.ru>
164
165         Fix compile time errors in --enable-static-modules mode.
166         * libpam/pam_static_modules.h (_pam_rhosts_auth_modstruct): Remove
167         obsolete declaration.
168         (static_modules): Remove undefined reference to
169         _pam_rhosts_auth_modstruct.
170         * modules/pam_pwhistory/opasswd.h: Rename {save,check}_old_password to
171         {save,check}_old_pass in order to avoid conflicts with pam_unix.
172         * modules/pam_pwhistory/opasswd.c: Likewise.
173         * modules/pam_pwhistory/pam_pwhistory.c: Likewise.
174         * modules/pam_tally2/pam_tally2.c: Rename _pam_tally_modstruct to
175         _pam_tally2_modstruct.
176
177 2012-01-26  Dmitry V. Levin  <ldv@altlinux.org>
178
179         Fix SUBDIRS for --enable-static-modules mode.
180         There is no way to build "modules" subdirectory before "libpam" anyway.
181         In STATIC_MODULES mode, "libpam" subdirectory must be built twice to
182         produce a usable libpam.a without undefined references to multiple
183         _pam_*_modstruct symbols.
184
185         * Makefile.am: Use default SUBDIRS in STATIC_MODULES mode.
186
187 2012-01-26  Matveychikov Ilya  <i.matveychikov@securitycode.ru>
188
189         configure: fix typo in --disable-nis help string.
190         * configure.in: Change '-disable-nis' to '--disable-nis'.
191
192 2012-01-26  Tomas Mraz  <tmraz@fedoraproject.org>
193
194         Do not unmount anything by default in pam_namespace close session call.
195         * modules/pam_namespace/pam_namespace.c (pam_sm_close_session): Recognize
196         the unmount_on_close option and make the default to be to not unmount.
197         * modules/pam_namespace/pam_namespace.h: Rename PAMNS_NO_UNMOUNT_ON_CLOSE to
198         PAMNS_UNMOUNT_ON_CLOSE.
199         * modules/pam_namespace/pam_namespace.8.xml: Document the change.
200
201 2012-01-24  Tomas Mraz  <tmraz@fedoraproject.org>
202
203         Make / mount as rslave instead of bind mounting polydirs.
204         * modules/pam_namespace/pam_namespace.c (protect_dir): Drop the always argument.
205         (check_inst_parent): Drop the always argument from protect_dir().
206         (create_polydir): Likewise.
207         (ns_setup): Likewise and do not mark the polydir with MS_PRIVATE.
208         (setup_namespace): Mark the / with MS_SLAVE|MS_REC.
209         * modules/pam_namespace/pam_namespace.8.xml: Reflect the change in docs.
210
211 2012-01-13  Tomas Mraz  <tmraz@fedoraproject.org>
212
213         Add possibility to match ruser, rhost, and tty in pam_succeed_if.
214         * modules/pam_succeed_if/pam_succeed_if.c (evaluate): Match ruser,
215         rhost, and tty as left operand.
216         * modules/pam_succeed_if/pam_succeed_if.8.xml: Document the new
217         possible left operands.
218
219 2012-01-03  Tomas Mraz  <tmraz@fedoraproject.org>
220
221         Merge branch 'master' of ssh://git.fedorahosted.org/git/linux-pam.
222
223         Fix matching of usernames in the pam_unix remember feature.
224         * modules/pam_unix/pam_unix_passwd.c (check_old_password): Make
225         sure we match only the whole username in opasswd entry.
226         * modules/pam_unix/passverify.c (save_old_password): Likewise make
227         sure we match only the whole username in opasswd entry.
228
229 2011-12-26  Dmitry V. Levin  <ldv@altlinux.org>
230
231         pam_start: fix memory leak on error path.
232         * libpam/pam_start.c (pam_start): If _pam_make_env() or
233         _pam_init_handlers() returned an error, release the memory allocated
234         for pam_conv structure.
235
236         Patch-by: cancel <suntsu@yandex.ru>.
237
238 2011-11-03  Dmitry V. Levin  <ldv@altlinux.org>
239
240         pam_selinux.8.xml: update.
241         * modules/pam_selinux/pam_selinux.8.xml (pam_selinux-cmdsynopsis):
242         Reorder options, add new "restore" option.
243         pam_selinux-description): Rewrite.
244         (pam_selinux-options): Reorder options, describe new "restore" option.
245         (pam_selinux-return_values): Remove PAM_AUTH_ERR, PAM_SESSION_ERR
246         and PAM_BUF_ERR.
247         (pam_selinux-see_also): Remove pam.conf(5).  Add execve(2), tty(4)
248         and selinux(8).
249
250         pam_selinux.c: add "restore" option.
251         * modules/pam_selinux/pam_selinux.c (pam_sm_open_session): Add new
252         "restore" option.
253
254         pam_selinux.c: rewrite using pam_get_data/pam_set_data.
255         * modules/pam_selinux/pam_selinux.c (security_restorelabel_tty,
256         security_label_tty): Remove old functions.
257         (module_data_t): New structure.
258         (free_module_data, cleanup, get_module_data, get_item,
259         set_exec_context, set_file_context, compute_exec_context,
260         compute_tty_context, restore_context, set_context,
261         create_context): New functions.
262         (pam_sm_authenticate, pam_sm_setcred, pam_sm_open_session,
263         pam_sm_close_session): Use them.
264
265 2011-10-28  Dmitry V. Levin  <ldv@altlinux.org>
266
267         Use libpam.la/libpam_misc.la to link with -lpam/-lpam_misc.
268         GNU automake documentation recommends to avoid using -l options in
269         LDADD or LIBADD when referring to libraries built by the package.
270         Instead, it recommends to write the file name of the library explicitly,
271         and use -l option only to list third-party libraries.  As result, the
272         default value of *_DEPENDENCIES will list all local libraries and omit
273         the other ones.
274         * modules/pam_access/Makefile.am (pam_access_la_LIBADD): Replace
275         "-L$(top_builddir)/libpam -lpam" with
276         "$(top_builddir)/libpam/libpam.la", to follow GNU automake
277         recommendations.
278         * modules/pam_cracklib/Makefile.am (pam_cracklib_la_LIBADD): Likewise.
279         * modules/pam_debug/Makefile.am (pam_debug_la_LIBADD): Likewise.
280         * modules/pam_deny/Makefile.am (pam_deny_la_LIBADD): Likewise.
281         * modules/pam_echo/Makefile.am (pam_echo_la_LIBADD): Likewise.
282         * modules/pam_env/Makefile.am (pam_env_la_LIBADD): Likewise.
283         * modules/pam_exec/Makefile.am (pam_exec_la_LIBADD): Likewise.
284         * modules/pam_faildelay/Makefile.am (pam_faildelay_la_LIBADD): Likewise.
285         * modules/pam_filter/Makefile.am (pam_filter_la_LIBADD): Likewise.
286         * modules/pam_filter/upperLOWER/Makefile.am (LDADD): Likewise.
287         * modules/pam_ftp/Makefile.am (pam_ftp_la_LIBADD): Likewise.
288         * modules/pam_group/Makefile.am (pam_group_la_LIBADD): Likewise.
289         * modules/pam_issue/Makefile.am (pam_issue_la_LIBADD): Likewise.
290         * modules/pam_keyinit/Makefile.am (pam_keyinit_la_LIBADD): Likewise.
291         * modules/pam_lastlog/Makefile.am (pam_lastlog_la_LIBADD): Likewise.
292         * modules/pam_limits/Makefile.am (pam_limits_la_LIBADD): Likewise.
293         * modules/pam_listfile/Makefile.am (pam_listfile_la_LIBADD): Likewise.
294         * modules/pam_localuser/Makefile.am (pam_localuser_la_LIBADD): Likewise.
295         * modules/pam_loginuid/Makefile.am (pam_loginuid_la_LIBADD): Likewise.
296         * modules/pam_mail/Makefile.am (pam_mail_la_LIBADD): Likewise.
297         * modules/pam_mkhomedir/Makefile.am (pam_mkhomedir_la_LIBADD,
298         mkhomedir_helper_LDADD): Likewise.
299         * modules/pam_motd/Makefile.am (pam_motd_la_LIBADD): Likewise.
300         * modules/pam_namespace/Makefile.am (pam_namespace_la_LIBADD): Likewise.
301         * modules/pam_nologin/Makefile.am (pam_nologin_la_LIBADD): Likewise.
302         * modules/pam_permit/Makefile.am (pam_permit_la_LIBADD): Likewise.
303         * modules/pam_pwhistory/Makefile.am (pam_pwhistory_la_LIBADD): Likewise.
304         * modules/pam_rhosts/Makefile.am (pam_rhosts_la_LIBADD): Likewise.
305         * modules/pam_rootok/Makefile.am (pam_rootok_la_LIBADD): Likewise.
306         * modules/pam_securetty/Makefile.am (pam_securetty_la_LIBADD): Likewise.
307         * modules/pam_sepermit/Makefile.am (pam_sepermit_la_LIBADD): Likewise.
308         * modules/pam_shells/Makefile.am (pam_shells_la_LIBADD): Likewise.
309         * modules/pam_stress/Makefile.am (pam_stress_la_LIBADD): Likewise.
310         * modules/pam_succeed_if/Makefile.am (pam_succeed_if_la_LIBADD):
311         Likewise.
312         * modules/pam_tally/Makefile.am (pam_tally_la_LIBADD): Likewise.
313         * modules/pam_tally2/Makefile.am (pam_tally2_la_LIBADD,
314         pam_tally2_LDADD): Likewise.
315         * modules/pam_time/Makefile.am (pam_time_la_LIBADD): Likewise.
316         * modules/pam_timestamp/Makefile.am (pam_timestamp_la_LIBADD,
317         pam_timestamp_check_LDADD, hmacfile_LDADD): Likewise.
318         * modules/pam_tty_audit/Makefile.am (pam_tty_audit_la_LIBADD): Likewise.
319         * modules/pam_umask/Makefile.am (pam_umask_la_LIBADD): Likewise.
320         * modules/pam_unix/Makefile.am (pam_unix_la_LIBADD): Likewise.
321         * modules/pam_userdb/Makefile.am (pam_userdb_la_LIBADD): Likewise.
322         * modules/pam_warn/Makefile.am (pam_warn_la_LIBADD): Likewise.
323         * modules/pam_wheel/Makefile.am (pam_wheel_la_LIBADD): Likewise.
324         * modules/pam_xauth/Makefile.am (pam_xauth_la_LIBADD): Likewise.
325         * tests/Makefile.am (LDADD): Likewise.
326         * examples/Makefile.am (LDADD): Replace "-L$(top_builddir)/libpam -lpam"
327         with "$(top_builddir)/libpam/libpam.la", and
328         "-L$(top_builddir)/libpam_misc -lpam_misc" with
329         "$(top_builddir)/libpam_misc/libpam_misc.la", to follow GNU automake
330         recommendations.
331         * xtests/Makefile.am (LDADD): Likewise.
332         * modules/pam_selinux/Makefile.am (pam_selinux_la_LIBADD): Likewise.
333
334         Fix usage of LIBADD, LDADD and LDFLAGS.
335         * modules/pam_selinux/Makefile.am: Rename pam_selinux_check_LDFLAGS to
336         pam_selinux_check_LDADD.
337         * modules/pam_userdb/Makefile.am: Split out pam_userdb_la_LIBADD from
338         AM_LDFLAGS.
339         * modules/pam_warn/Makefile.am: Split out pam_warn_la_LIBADD from
340         AM_LDFLAGS.
341         * modules/pam_wheel/Makefile.am: Split out pam_wheel_la_LIBADD from
342         AM_LDFLAGS.
343         * modules/pam_xauth/Makefile.am: split out pam_xauth_la_LIBADD from
344         AM_LDFLAGS.
345         * xtests/Makefile.am: Rename AM_LDFLAGS to LDADD.
346
347 2011-10-27  Dmitry V. Levin  <ldv@altlinux.org>
348
349         Update .gitignore files.
350         * .gitignore: Add common ignore patterns.
351         * m4/.gitignore: Unignore local m4 files.
352         * dynamic/.gitignore: Unignore Makefile.
353         * libpamc/test/modules/.gitignore: Likewise.
354         * libpamc/test/regress/.gitignore: Likewise.
355         * po/.gitignore: Add Makevars.template.
356         * conf/.gitignore: Remove common ignore patterns.
357         * conf/pam_conv1/.gitignore: Likewise.
358         * doc/.gitignore: Likewise.
359         * doc/specs/.gitignore: Likewise.
360         * doc/specs/formatter/.gitignore: Likewise.
361         * examples/.gitignore: Likewise.
362         * modules/pam_filter/upperLOWER/.gitignore: Likewise.
363         * modules/pam_mkhomedir/.gitignore: Likewise.
364         * modules/pam_selinux/.gitignore: Likewise.
365         * modules/pam_stress/.gitignore: Likewise.
366         * modules/pam_tally/.gitignore: Likewise.
367         * modules/pam_tally2/.gitignore: Likewise.
368         * modules/pam_timestamp/.gitignore: Likewise.
369         * modules/pam_unix/.gitignore: Likewise.
370         * tests/.gitignore: Likewise.
371         * xtests/.gitignore: Likewise.
372         * doc/adg/.gitignore: Remove.
373         * doc/man/.gitignore: Remove.
374         * doc/mwg/.gitignore: Remove.
375         * doc/sag/.gitignore: Remove.
376         * libpamc/.gitignore: Remove.
377         * libpamc/test/.gitignore: Remove.
378         * libpam/.gitignore: Remove.
379         * libpam_misc/.gitignore: Remove.
380         * modules/.gitignore: Remove.
381         * modules/pam_access/.gitignore: Remove.
382         * modules/pam_cracklib/.gitignore: Remove.
383         * modules/pam_debug/.gitignore: Remove.
384         * modules/pam_deny/.gitignore: Remove.
385         * modules/pam_echo/.gitignore: Remove.
386         * modules/pam_env/.gitignore: Remove.
387         * modules/pam_exec/.gitignore: Remove.
388         * modules/pam_faildelay/.gitignore: Remove.
389         * modules/pam_filter/.gitignore: Remove.
390         * modules/pam_ftp/.gitignore: Remove.
391         * modules/pam_group/.gitignore: Remove.
392         * modules/pam_issue/.gitignore: Remove.
393         * modules/pam_keyinit/.gitignore: Remove.
394         * modules/pam_lastlog/.gitignore: Remove.
395         * modules/pam_limits/.gitignore: Remove.
396         * modules/pam_listfile/.gitignore: Remove.
397         * modules/pam_localuser/.gitignore: Remove.
398         * modules/pam_loginuid/.gitignore: Remove.
399         * modules/pam_mail/.gitignore: Remove.
400         * modules/pam_motd/.gitignore: Remove.
401         * modules/pam_namespace/.gitignore: Remove.
402         * modules/pam_nologin/.gitignore: Remove.
403         * modules/pam_permit/.gitignore: Remove.
404         * modules/pam_pwhistory/.gitignore: Remove.
405         * modules/pam_rhosts/.gitignore: Remove.
406         * modules/pam_rootok/.gitignore: Remove.
407         * modules/pam_securetty/.gitignore: Remove.
408         * modules/pam_sepermit/.gitignore: Remove.
409         * modules/pam_shells/.gitignore: Remove.
410         * modules/pam_succeed_if/.gitignore: Remove.
411         * modules/pam_time/.gitignore: Remove.
412         * modules/pam_tty_audit/.gitignore: Remove.
413         * modules/pam_umask/.gitignore: Remove.
414         * modules/pam_userdb/.gitignore: Remove.
415         * modules/pam_warn/.gitignore: Remove.
416         * modules/pam_wheel/.gitignore: Remove.
417         * modules/pam_xauth/.gitignore: Remove.
418
419         Move generated auxiliary files to build-aux directory.
420         * configure.in: Add AC_CONFIG_AUX_DIR([build-aux]).
421
422         Remove generated files.
423         * ABOUT-NLS: Remove.
424         * INSTALL: Remove.
425         * config.rpath: Remove.
426         * install-sh: Remove.
427         * mkinstalldirs: Remove.
428         * Makefile.am (EXTRA_DIST): Remove config.rpath and mkinstalldirs.
429         * .gitignore: Add ABOUT-NLS and INSTALL.
430
431         Create release tarballs using safe ownership and permissions.
432         * Makefile.am: Define and export TAR_OPTIONS.
433
434         Generate ChangeLog from git log.
435         * .gitignore: Add ChangeLog
436         * ChangeLog: Rename to ChangeLog-CVS.
437         * Makefile.am (gen-changelog): New rule.
438         (dist-hook, .PHONY): Depend on it.
439         (EXTRA_DIST): Add ChangeLog-CVS.
440         * README-hacking: New file.
441         * gitlog-to-changelog: Import from gnulib.
442         * autogen.sh: Create empty ChangeLog file to make automake strictness
443         check happy.  Use automated "autoreconf -fiv" instead of manual
444         invocations of various autotools.
445
446         Fix "make distcheck"
447         There is no use to distribute m4 files manually, because automake does
448         the right thing, while manual distribution is not only redundant but
449         also very fragile.
450         * Makefile.am (M4_FILES): Remove.
451         (EXTRA_DIST): Remove M4_FILES.
452
453         Remove modules/pam_timestamp/hmacfile from distribution.
454         * modules/pam_timestamp/Makefile.am (dist_TESTS): Add tst-pam_timestamp.
455         (nodist_TESTS): Add hmacfile.
456         (EXTRA_DIST): Replace TESTS with dist_TESTS.
457
458         Rename all .cvsignore files to .gitignore.
459
460         Fix whitespace issues.
461         Cleanup trailing whitespaces, indentation that uses spaces before tabs,
462         and blank lines at EOF.  Make the project free of warnings reported by
463         git diff --check 4b825dc642cb6eb9a060e54bf8d69288fbee4904 HEAD
464
465
466 See ChangeLog-CVS for earlier changes.