~xnox/ubuntu/quantal/shadow/clear-locks

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook
  • Date: 2009-05-05 09:45:21 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20090505094521-wpk2wn3q7957tlah
Tags: 1:4.1.3.1-1ubuntu1
* Merge from debian unstable, remaining changes:
  - Ubuntu specific:
    + debian/login.defs: use SHA512 by default for password crypt routine.
  - debian/patches/stdout-encrypted-password.patch: chpasswd can report
    password hashes on stdout (debian bug 505640).
  - debian/login.pam: Enable SELinux support (debian bug 527106).
  - debian/securetty.linux: support Freescale MX-series (debian bug 527095).
* Add debian/patches/300_lastlog_failure: fixed upstream (debian bug 524873).
* Drop debian/patches/593_omit_lastchange_field_if_clock_is_misset: fixed
  upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2009-04-15  Nicolas François  <nicolas.francois@centraliens.net>
 
2
 
 
3
        * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated.
 
4
        * po/*.po, man/po/*.po: Updated PO files.
 
5
        * configure.in: Updated version number.
 
6
 
 
7
2009-04-15  Peter Vrabec <pvrabec@redhat.com>
 
8
 
 
9
        * NEWS, src/userdel.c: Fixed SE Linux support. semanage should be
 
10
        called at the end.
 
11
        * src/useradd.c: Always call selinux_update_mapping() (i.e.
 
12
        semanage), not only when -Z is used.
 
13
 
 
14
2009-04-15  Peter Vrabec <pvrabec@redhat.com>
 
15
 
 
16
        * NEWS, srclib/getlong.c: Fix parsing of octal numbers.
 
17
 
 
18
2009-04-15  Nicolas François  <nicolas.francois@centraliens.net>
 
19
 
 
20
        * NEWS, src/login.c: Fix segfault when no user is provided on the
 
21
        command line.
 
22
 
 
23
2009-04-15  Nicolas François  <nicolas.francois@centraliens.net>
 
24
 
 
25
        * README, libmisc/system.c: Was contributed by Dan Walsh.
 
26
 
 
27
2009-04-15  Nicolas François  <nicolas.francois@centraliens.net>
 
28
 
 
29
        * NEW, src/vipw.c: SE Linux: Set the default context to the
 
30
        context of the file being edited. This ensures that the backup
 
31
        file inherit from the file's context.
 
32
 
 
33
2009-04-14  Nicolas François  <nicolas.francois@centraliens.net>
 
34
 
 
35
        * man/usermod.8.xml: There are no default values for --inactive
 
36
        and --gid. If the options are no provided, the original values are
 
37
        not changed.
 
38
 
 
39
2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>
 
40
 
 
41
        * po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated.
 
42
        * po/*.po, man/po/*.po: Updated PO files.
 
43
 
 
44
2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>
 
45
 
 
46
        * src/su.c: If there are no root account, or if the root account
 
47
        has an UID != 0, default to the first UID 0 account.
 
48
 
 
49
2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>
 
50
 
 
51
        * src/login.c: Restore the echoctl, echoke, onclr flags to the
 
52
        terminal termio flags. Reset echoprt, noflsh, tostop. This
 
53
        behavior seems to have change by mistake in earlier releases
 
54
        (4.0.8, for no obvious reason).
 
55
 
 
56
2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>
 
57
 
 
58
        * src/login.c: Fix the count of failures before login exits in
 
59
        case of PAM enabled configurations.
 
60
 
 
61
2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>
 
62
 
 
63
        * man/passwd.1.xml: Document that passwd uses PAM to authenticate
 
64
        and change passwords on PAM-enabled builds.
 
65
 
 
66
2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>
 
67
 
 
68
        * src/newusers.c: Add more information to the mkdir and chown
 
69
        failure messages.
 
70
 
 
71
2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>
 
72
 
 
73
        * man/po/fr.po: Updated some login.defs entries. Thanks to
 
74
        Belkacem Abbas.
 
75
 
 
76
2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>
 
77
 
 
78
        * man/login.defs.d/MAX_MEMBERS_PER_GROUP.xml,
 
79
        man/login.defs.d/CONSOLE_GROUPS.xml: Fix typos.
 
80
 
 
81
2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>
 
82
 
 
83
        * man/es/Makefile.am: Disable the distribution of Spanish
 
84
        manpages. They are outdated. Please contact
 
85
        pkg-shadow-devel@lists.alioth.debian.org if you wish to provide
 
86
        updates.
 
87
 
 
88
2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>
 
89
 
 
90
        * src/usermod.c, src/useraddd.c: Fix the usage string so that it
 
91
        does not change depending on the configure option. Use a format.
 
92
 
 
93
2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>
 
94
 
 
95
        * src/gpasswd.c: Fix the usage of the unused macro.
 
96
 
 
97
2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>
 
98
 
 
99
        * lib/prototypes.h, libmisc/age.c, src/expiry.c, src/login.c: A
 
100
        shadow entry is now sufficient for agecheck. Remove the first
 
101
        passwd entry parameter.
 
102
 
 
103
2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>
 
104
 
 
105
        * src/useradd.c, src/usermod.c: Only call selinux_update_mapping()
 
106
        if Zflg is set.
 
107
        * src/userdel.c: Rename argv to args to avoid nameclash with the
 
108
        main() parameters.
 
109
 
 
110
2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>
 
111
 
 
112
        * libmisc/getgr_nam_gid.c: Added support for NULL argument.
 
113
        * libmisc/chowntty.c: Reuse getgr_nam_gid(), and get rid of atol().
 
114
 
 
115
2009-04-11  Peter Vrabec  <pvrabec@redhat.com>
 
116
 
 
117
        * libmisc/find_new_gid.c, libmisc/find_new_uid.c: For system
 
118
        accounts, return the first unused ID, starting from the max value.
 
119
        This could be useful later to increase the static IDs range.
 
120
 
 
121
2009-04-11  Peter Vrabec  <pvrabec@redhat.com>
 
122
 
 
123
        * NEWS, src/useradd.c, man/useradd.8.xml: add -Z option to map
 
124
        SELinux user for user's login.
 
125
        * NEWS, src/usermod.c, man/usermod.8.xml: Likewise.
 
126
        * libmisc/system.c, libmisc/Makefile.am, lib/prototypes.h: Added
 
127
        safe_system(). Used to run semanage.
 
128
        * lib/prototypes.h, libmisc/copydir.c: Make a
 
129
        selinux_file_context() an extern function.
 
130
        * libmisc/copydir.c: Reset SELinux to create files with default
 
131
        contexts at the end of copy_tree().
 
132
        * NEWS, src/userdel.c: Delete the SELinux user mapping for user's
 
133
        login.
 
134
 
 
135
2009-04-11  Peter Vrabec  <pvrabec@redhat.com>
 
136
 
 
137
        * src/useradd.c (get_defaults): Close the default file after the
 
138
        default values were read.
 
139
 
 
140
2009-04-11  Christian Perrier  <bubulle@debian.org>
 
141
 
 
142
        * po/sk.po: Slovak translation updated. Thanks to Ivan Masár
 
143
 
 
144
2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>
 
145
 
 
146
        * lib/Makefile.am, lib/prototypes.h: Added sgetspent.c.
 
147
 
 
148
2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>
 
149
 
 
150
        * po/POTFILES.in: Added missing files. Sorted.
 
151
 
 
152
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
153
 
 
154
        * lib/getdef.c: Use getlong instead of strtol/strtoul.
 
155
        * libmisc/getlong, lib/getlong.c, libmisc/Makefile.am,
 
156
        lib/Makefile.am: getlong.c moved from libmisc/ to lib/.
 
157
 
 
158
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
159
 
 
160
        * lib/shadow.c: Replace strtol() by getlong(). Also detect more
 
161
        issues in a numerical shadow entry field.
 
162
 
 
163
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
164
 
 
165
        * lib/sgetspent.c: Only compile ifndef HAVE_SGETSPENT
 
166
 
 
167
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
168
 
 
169
        * lib/sgetspent.c: Replace strtol() by getlong(). Also detect more
 
170
        issues in a numerical shadow entry field.
 
171
 
 
172
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
173
 
 
174
        * src/chage.c: More strtol() replaced by getlong().
 
175
        * src/chage.c: expdays renamed to expdate. It is a date, even if
 
176
        expressed in a number of days since Jan 1, 1970.
 
177
        * src/chage.c: Likewise: lastday renamed to lstchgdate. Also fix
 
178
        the --lastday documentation.
 
179
 
 
180
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
181
 
 
182
        * lib/prototypes.h: pwd_to_spwd() should be declared if USE_PAM is
 
183
        NOT defined.
 
184
 
 
185
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
186
 
 
187
        * src/passwd.c: Replace getnumber() by getlong(). This permits to
 
188
        get rid of another strtol().
 
189
 
 
190
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
191
 
 
192
        * libmisc/getlong.c: Include both <stdlib.h> and <errno.h> needed
 
193
        for strtol and errno, and do not include "defines.h" (not needed).
 
194
 
 
195
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
196
 
 
197
        * src/useradd.c, src/usermod.c, libmisc/getgr_nam_gid.c,
 
198
        libmisc/Makefile.am, lib/prototypes.h: Moved getgr_nam_gid() from
 
199
        src/useradd.c and src/usermod.c to libmisc/getgr_nam_gid.c.
 
200
 
 
201
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
202
 
 
203
        * src/useradd.c: Re-indent.
 
204
        * src/useradd.c: Use getlong instead of get_number.
 
205
        * src/useradd.c: Get rid of strtol.
 
206
        * src/useradd.c: Provide better warning in case a default GROUP or
 
207
        INACTIVE value is not valid in /etc/default/useradd.
 
208
 
 
209
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
210
 
 
211
        * src/usermod.c: Re-indent.
 
212
        * src/usermod.c: Specifying a inactivity value < -1 is not valid.
 
213
 
 
214
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
215
 
 
216
        * configure.in: Prepare the next 4.1.3 release.
 
217
        * po/*.po, man/po/*.po: Updated PO files.
 
218
 
 
219
2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>
 
220
 
 
221
        * lib/prototypes.h, libmisc/addgrps.c: restrict add_groups() to
 
222
        ifndef USE_PAM.
 
223
        * lib/prototypes.h: Remove the declaration of add_cons_grps(). The
 
224
        function does not exist.
 
225
        * libmisc/setugid.c libmisc/age.c (setup_uid_gid): is_console is
 
226
        never set ifndef USE_PAM. Change the prototype of setup_uid_gid()
 
227
        when USE_PAM is not defined. This permits to remove add_groups
 
228
        from PAM builds.  setup_uid_gid is already subject to
 
229
        HAVE_INITGROUPS.
 
230
        * libmisc/pwd2spwd.c (pwd_to_spwd): pwd_to_spwd() is not used in
 
231
        PAM builds.
 
232
 
 
233
2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>
 
234
 
 
235
        * src/passwd.c: do_update_age is only used ifndef USE_PAM. Make it
 
236
        more explicit.
 
237
 
 
238
2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>
 
239
 
 
240
        * src/useradd.c: Set errno to 0 before calling strtol.
 
241
 
 
242
2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>
 
243
 
 
244
        * libmisc/isexpired.c: If there are no shadow entry, there is no
 
245
        need to convert the password entry to a shadow entry. The password
 
246
        is valid.
 
247
 
 
248
2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>
 
249
 
 
250
        * man/usermod.8.xml: Split some paragraphs into smaller units.
 
251
 
 
252
2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>
 
253
 
 
254
        * man/shadow.5.xml: Rewrote to mention the meaning of special
 
255
        values.
 
256
 
 
257
2009-04-04  Nicolas François  <nicolas.francois@centraliens.net>
 
258
 
 
259
        * libmisc/pwd2spwd.c, src/chpasswd.c, src/newusers.c,
 
260
        src/passwd.c, src/pwck.c, src/pwconv.c, src/useradd.c,
 
261
        src/usermod.c: On Jan 01, 1970, do not set the sp_lstchg field to
 
262
        0 (which means that the password shall be changed during the next
 
263
        login), but use -1 (password aging disabled).
 
264
        * src/passwd.c: Do not check sp_min if sp_lstchg is null or -1.
 
265
 
 
266
2009-04-04  Nicolas François  <nicolas.francois@centraliens.net>
 
267
 
 
268
        * src/chage.c: When no shadow entry exist, the default sp_lstchg
 
269
        value should be -1 (no aging) rather than 0 (password must be
 
270
        changed).
 
271
        * src/chage.c: For password expiration and inactivity, indicate
 
272
        that the password must be changed when sp_lstchg is null rather
 
273
        than indicating that expiration and inactivity are not enabled.
 
274
 
 
275
2009-04-04  Nicolas François  <nicolas.francois@centraliens.net>
 
276
 
 
277
        * libmisc/isexpired.c: Document the isexpired return value.
 
278
 
 
279
2009-04-04  Nicolas François  <nicolas.francois@centraliens.net>
 
280
 
 
281
        * libmisc/age.c: Return a specific message when sp_lstchg is null.
 
282
 
 
283
2009-03-21  Nicolas François  <nicolas.francois@centraliens.net>
 
284
 
 
285
        * lib/sgetpwent.c, lib/sgetgrent.c: Use get_uid and get_gid to
 
286
        validate the UIDs or GIDs instead of atoi/strtol.
 
287
 
 
288
2009-03-21  Nicolas François  <nicolas.francois@centraliens.net>
 
289
 
 
290
        * libmisc/get_gid.c, libmisc/get_uid.c, libmisc/Makefile.am,
 
291
        lib/get_gid.c, lib/get_uid.c, lib/Makefile.am: get_uid.c and
 
292
        get_gid.c moved from libmisc/ to lib/.
 
293
 
 
294
2009-03-21  Nicolas François  <nicolas.francois@centraliens.net>
 
295
 
 
296
        * src/grpck.c (check_members): When a member is removed, do not
 
297
        increase the index.
 
298
        * src/grpck.c: Fix typo in messages and comments.
 
299
 
 
300
2009-03-21  Nicolas François  <nicolas.francois@centraliens.net>
 
301
 
 
302
        * lib/commonio.c: Call fsync before closing the backup file. This
 
303
        ensures that the backup file is flushed to the storage medium.
 
304
        * src/useradd.c: Likewise for the default file, faillog, lastlog,
 
305
        and mail spool.
 
306
        * src/usermod.c: Likewise for the faillog and lastlog file.
 
307
        * src/vipw.c: Likewise for the backup file.
 
308
        * libmisc/sulog.c: Likewise for the su log.
 
309
 
 
310
2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>
 
311
 
 
312
        * src/groupmod.c: Embed gshadow related cleanup in #ifdef
 
313
        SHADOWGRP.
 
314
 
 
315
2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>
 
316
 
 
317
        * src/usermod.c: get_number() replaced by getlong().
 
318
        * src/usermod.c: When the user is renamed, make sure we do not
 
319
        override an user with the same name (in passwd or shadow).
 
320
 
 
321
2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>
 
322
 
 
323
        * src/gpasswd.c: log_gpasswd_success_gshadow is in the cleanup
 
324
        stack only when the shadow group file is present.
 
325
 
 
326
2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>
 
327
 
 
328
        * NEWS, src/userdel.c: Make sure the user exists in the shadow
 
329
        database before calling spw_remove().
 
330
        * NEWS, src/userdel.c: When the user's group is removed, make sure
 
331
        the group is in the gshadow database before calling sgr_remove().
 
332
        * src/userdel.c: Improve warning's wording.
 
333
 
 
334
2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>
 
335
 
 
336
        * libmisc/cleanup.c: Fix del_cleanup. The arguments were not
 
337
        desynchronized with the cleanup functions.
 
338
        * libmisc/cleanup.c: cleanup_function_args is an array of void
 
339
        pointer, not strings.
 
340
 
 
341
2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>
 
342
 
 
343
        * libmisc/find_new_gid.c: Fix find_new_gid() the current group
 
344
        database was not taken into account.
 
345
 
 
346
2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>
 
347
 
 
348
        * libmisc/addgrps.c: Fix compilation warnings.
 
349
 
 
350
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
351
 
 
352
        * man/po/Makefile.in.in: xml2po cannot exclude one entity for
 
353
        expansion. Make sure config.xml does not exist when the POT file
 
354
        is created in order to keep the configurations in the POT file
 
355
        * man/generate_translations.mak: make sure config.xml does not
 
356
        exist neither when the translated XML is generated. Add the
 
357
        missing %config; (strip out by xml2po). and make sure config.xml
 
358
        is present when the translated manpage is generated.
 
359
        * man/generate_mans.mak: config.xml is needed for the generation
 
360
        of manpages (already in the .deps for the English manpages, but
 
361
        needed for the translations).
 
362
        * man/Makefile.am: Added missing CREATE_HOME.xml.
 
363
 
 
364
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
365
 
 
366
        * etc/login.defs: Added note for PAM enabled configurations.
 
367
 
 
368
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
369
 
 
370
        * man/Makefile.am: Compute the dependencies for building the
 
371
        manpages.
 
372
        * man/generate_mans.deps: Added Makefile dependency rules.
 
373
 
 
374
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
375
 
 
376
        * libmisc/addgrps.c: Fix warnings.
 
377
 
 
378
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
379
 
 
380
        * man/po/fr.po: Added missing space.
 
381
 
 
382
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
383
 
 
384
        * man/lastlog.8.xml: Document that there might be entries, for
 
385
        deleted users, that are not displayed.
 
386
 
 
387
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
388
 
 
389
        * man/chgpasswd.8.xml, man/chpasswd.8.xml: Fix the man page in
 
390
        case SHA crypt is not supported.
 
391
 
 
392
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
393
 
 
394
        * man/vipw.8.xml: MAX_MEMBERS_PER_GROUP is not used by vipw and
 
395
        vigr.
 
396
 
 
397
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
398
 
 
399
        * man/login.defs.5.xml: Indicate that sg uses the same variables
 
400
        as newgrp.
 
401
        * man/login.defs.5.xml: vipw does not use any variable.
 
402
        * man/login.defs.5.xml: In PAM enabled configurations, login still
 
403
        uses some login.defs variables.
 
404
 
 
405
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
406
 
 
407
        * man/usermod.8.xml: use a <replaceable> instead of a
 
408
        <emphasis remap='I'>.
 
409
 
 
410
2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>
 
411
 
 
412
        * man/newusers.8.xml: Document the behavior of newusers for each
 
413
        field.
 
414
        * man/newusers.8.xml: Do not add the note on PAM on non-PAM
 
415
        enabled configurations.
 
416
 
 
417
2009-03-13  Nicolas François  <nicolas.francois@centraliens.net>
 
418
 
 
419
        * src/newusers.c: Make sure the SHA related variables are not
 
420
        compiled when disabled at configuration time.
 
421
        * src/newusers.c: Added FIXME
 
422
        * src/chpasswd.c: Make sure the SHA related variables is not
 
423
        compiled when disabled at configuration time.
 
424
        * src/chgpasswd.c: Make sure the SHA related variables is not
 
425
        compiled when disabled at configuration time.
 
426
        * src/chgpasswd.c: Fix the test for getlong() failure.
 
427
        * src/useradd.c, man/useradd.8.xml: Added long name for the -l
 
428
        option: --no-log-init.
 
429
        * src/faillog.c: Added support for the specification of a range of
 
430
        users with -u.
 
431
        * src/faillog.c: Do not call print_one() for users which do not
 
432
        exist.
 
433
        * src/faillog.c: Make sure the user's entry is not outside the
 
434
        faillog file and initialize the faillog structure in that case.
 
435
        * src/faillog.c: Move print_one() closer to print().
 
436
        * src/faillog.c: reset(), setmax(), set_locktime() can also change
 
437
        entries of user which do not exist.
 
438
        * src/faillog.c: reset(), setmax() and set_locktime() shall not
 
439
        create entries for users which have no entries if the value has to
 
440
        be set to 0.
 
441
        * src/faillog.c: reset(), setmax() and set_locktime(): better
 
442
        handling of users whose entry is outside the faillog file.
 
443
        * src/faillog.c: Improved option handling. Options can now be
 
444
        specified in any order.
 
445
        * src/faillog.c: Improved warnings when options are not
 
446
        compatible or when the faillog cannot be open with the right mode.
 
447
        * src/faillog.c: Only fstat the faillog file once.
 
448
        * man/faillog.8.xml: Improved documentation.
 
449
 
 
450
2009-03-13  Nicolas François  <nicolas.francois@centraliens.net>
 
451
 
 
452
        * src/gpasswd.c: Remove the documentation of options from the
 
453
        main() documentation. It will always be outdated here.
 
454
 
 
455
2009-03-13  Nicolas François  <nicolas.francois@centraliens.net>
 
456
 
 
457
        * src/lastlog.c: lastlog variable renamed to ll to avoid name
 
458
        clash with the structure.
 
459
        * src/lastlog.c: check the offset in print_one() so that it is
 
460
        used for the display of one entry or a set of entries.
 
461
        * src/lastlog.c: Do not loop over the whole user database when -u
 
462
        is used with a single user.
 
463
        * src/lastlog.c: Check the size of the lastlog file so that we
 
464
        can identify failures to read.
 
465
 
 
466
2009-03-13  Mike Frysinger  <vapier@gentoo.org>
 
467
 
 
468
        * libmisc/salt.c: Removed l64a prototype. The libc declaration is
 
469
        non static, but the internal definition is static.
 
470
 
 
471
2009-03-09  Nicolas François  <nicolas.francois@centraliens.net>
 
472
 
 
473
        * src/gpasswd.c: log_gpasswd_success_gshadow only exists ifdef
 
474
        SHADOWGRP.
 
475
 
 
476
2009-03-08  Nicolas François  <nicolas.francois@centraliens.net>
 
477
 
 
478
        * libmisc/getlong.c: Make sure the getlong argument is not empty.
 
479
        * libmisc/get_gid.c, libmisc/get_uid.c, libmisc/Makefile.am,
 
480
        lib/prototypes.h: Added get_uid() and get_gid() to parse user and
 
481
        group IDs.
 
482
        * NEWS, src/grpck.c, src/pwck.c: Issue a warning if an ID is set
 
483
        to -1.
 
484
        * NEWS, src/newusers.c, src/usermod.c, src/useradd.c,
 
485
        src/groupmod.c, src/groupadd.c: Make sure no user or group are
 
486
        created with an ID set to -1.
 
487
 
 
488
2009-03-07  Nicolas François  <nicolas.francois@centraliens.net>
 
489
 
 
490
        * contrib/adduser-old.c, contrib/adduser.c: Do not use the target
 
491
        of snprintf in one of the format's parameters.
 
492
 
 
493
2009-03-07  Nicolas François  <nicolas.francois@centraliens.net>
 
494
 
 
495
        * man/groupmems.8.xml: groupmems does not create new user.
 
496
 
 
497
2009-03-03  Nicolas François  <nicolas.francois@centraliens.net>
 
498
 
 
499
        * NEWS, po/LINGUAS, po/kk.po: Added Kazakh translation. Thanks to
 
500
        Timur Birsh <taem@linukz.org>.
 
501
 
 
502
2009-02-22  Nicolas François  <nicolas.francois@centraliens.net>
 
503
 
 
504
        * libmisc/find_new_gid.c, libmisc/find_new_uid.c: Avoid calling
 
505
        getgrent()/getpwent() after they return NULL. This caused LDAP to
 
506
        return at the beginning of the group/user entries.
 
507
 
 
508
2009-01-27  Nicolas François  <nicolas.francois@centraliens.net>
 
509
 
 
510
        * man/nologin.8.xml: Fix typo (HYSTORY -> HISTORY).
 
511
 
 
512
2009-01-26  Nicolas François  <nicolas.francois@centraliens.net>
 
513
 
 
514
        * NEWS, src/gpasswd.c: Only report success to audit and syslog
 
515
        when the changes are committed to the system. Do not log failure
 
516
        for on-memory changes to audit or syslog. Make sure failures and
 
517
        inconsistencies will be reported in case of unexpected failures
 
518
        (e.g. malloc failures). Only specify an audit message if it is not
 
519
        implicitly implied by the type argument. Removed fail_exit
 
520
        (replaced by atexit(do_cleanups)). Log failures in case of
 
521
        permission denied.
 
522
 
 
523
2009-01-19  Nicolas François  <nicolas.francois@centraliens.net>
 
524
 
 
525
        * man/login.defs.d/UMASK.xml: Indicate how UMASK is used and
 
526
        limitations.
 
527
        * man/limits.5.xml: Remove space before an end of tag.
 
528
        * man/useradd.8.xml, man/login.defs.d/CREATE_HOME.xml,
 
529
        man/login.defs.5.xml: Document the CREATE_HOME variable.
 
530
        * etc/login.defs: Improve the documentation of UMASK.
 
531
 
 
532
2009-01-06  Sebastian Rick Rijkers  <srrijkers@gmail.com>
 
533
 
 
534
        * NEWS, src/su.c: Preserve COLORTERM in addition to TERM when su
 
535
        is called with the -l option.
 
536
 
 
537
2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>
 
538
 
 
539
        * libmisc/chkname.c: Use a bool when possible instead of integers.
 
540
        * libmisc/chkname.c: Add brackets and parenthesis.
 
541
 
 
542
2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>
 
543
 
 
544
        * man/groupadd.8.xml, configure.in, man/config.xml.in: Use the
 
545
        real group name length limit in the documentation.
 
546
 
 
547
2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>
 
548
 
 
549
        * src/Makefile.am: Only link with the needed library. When
 
550
        compiled with PAM support, chfn, chsh, login, newgrp, passwd, and
 
551
        su do not need the libcrypt library.
 
552
 
 
553
2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>
 
554
 
 
555
        * libmisc/cleanup_group.c: Fix compilation when compiled without
 
556
        shadow group support.
 
557
 
 
558
2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>
 
559
 
 
560
        * src/groupdel.c: Remove the fail_exit () declaration.
 
561
 
 
562
2008-12-22  Nicolas François  <nicolas.francois@centraliens.net>
 
563
 
 
564
        * src/gpasswd.c: Fix the support for usernames with arbitrary
 
565
        length.
 
566
 
 
567
2008-12-22  Nicolas François  <nicolas.francois@centraliens.net>
 
568
 
 
569
        * src/groupadd.c, src/groupdel.c, src/groupmod.c: Re-indent.
 
570
        * src/groupmod.c: Do not add the command synopsis to the main ()
 
571
        documentation. This avoids outdated information.
 
572
        * libmisc/chkname.c: Remove outdated comments.
 
573
 
 
574
2008-12-22  Nicolas François  <nicolas.francois@centraliens.net>
 
575
 
 
576
        * libmisc/audit_help.c: Added audit_logger_message() to log
 
577
        messages not related to an account.
 
578
        * lib/prototypes.h, libmisc/cleanup.c, libmisc/cleanup_group.c,
 
579
        libmisc/cleanup_user.c, libmisc/Makefile.am: Added stack of
 
580
        cleanup functions to be executed on exit.
 
581
        * NEWS, src/groupadd.c, src/groupdel.c, src/groupmod.c: Only
 
582
        report success to audit and syslog when the changes are committed
 
583
        to the system. Do not log failure for on-memory changes to audit
 
584
        or syslog. Make sure failures and inconsistencies will be reported
 
585
        in case of unexpected failures (e.g. malloc failures). Only
 
586
        specify an audit message if it is not implicitly implied by the
 
587
        type argument. Removed fail_exit (replaced by atexit(do_cleanups)).
 
588
 
 
589
2008-12-15  Nicolas François  <nicolas.francois@centraliens.net>
 
590
 
 
591
        * NEWS, src/gpasswd.c: Added support usernames with arbitrary
 
592
        length.
 
593
 
 
594
2008-11-27  Mike Frysinger  <vapier@gentoo.org>
 
595
 
 
596
        * configure.in: Fix the "$enable_acct_tools_setuid" = "yes" test.
 
597
 
 
598
2008-11-27  Mike Frysinger  <vapier@gentoo.org>
 
599
 
 
600
        * NEWS, configure.in, libmisc/chkname.c: make group max length a
 
601
        configure option.  The configure behavior encoded is:
 
602
        <no option> -> default of 16 (like today);
 
603
        --with-group-name-max-length -> default of 16;
 
604
        --without-group-name-max-length -> no max length;
 
605
        --with-group-name-max-length=n > max is set to n.
 
606
 
 
607
2008-11-23  Nicolas François  <nicolas.francois@centraliens.net>
 
608
 
 
609
        * src/su.c: (!USE_PAM) Provide visible information indicating that
 
610
        su was denied.
 
611
 
 
612
2008-11-23  Nicolas François  <nicolas.francois@centraliens.net>
 
613
 
 
614
        * man/su.1.xml: Fix the su synopsis. username is referenced in the
 
615
        manpage, not LOGIN.
 
616
        * man/ja/login.1: Fix the path of the utmp and wtmp files.
 
617
 
 
618
2008-11-23  Nicolas François  <nicolas.francois@centraliens.net>
 
619
 
 
620
        * libmisc/chowntty.c: Improve the logs for fchown and fchmod
 
621
        failures.
 
622
        * libmisc/chowntty.c: Only closelog() when failure cause an exit.
 
623
 
 
624
2008-11-23  Nicolas François  <nicolas.francois@centraliens.net>
 
625
 
 
626
        * NEWS, libmisc/chowntty.c: Fix a race condition that could lead to
 
627
        gaining ownership or changing mode of arbitrary files.
 
628
        * NEWS, libmisc/chowntty.c, libmisc/utmp.c: is_my_tty() moved from
 
629
        utmp.c to chowntty.c. checkutmp() now only uses an existing utmp
 
630
        entry if the pid matches and ut_line matches with the current tty.
 
631
        This fixes a possible DOS when entries can be forged in the utmp
 
632
        file.
 
633
        * libmisc/chowntty.c, src/login.c, lib/prototypes.h: Remove the
 
634
        tty argument from chown_tty. chown_tty always changes stdin and
 
635
        does not need this argument anymore.
 
636
 
 
637
2008-10-11  Nicolas François  <nicolas.francois@centraliens.net>
 
638
 
 
639
        * man/gshadow.5.xml, man/shadow.5.xml, man/passwd.5.xml,
 
640
        man/grpck.8.xml: Sorted SEE ALSO references.
 
641
        * man/gshadow.5.xml: Added reference to grpck(8) and grpconv(8).
 
642
        * man/pwck.8.xml: Added reference to grpck(8).
 
643
        * man/shadow.5.xml: Added reference to pwck(8).
 
644
        * man/passwd.5.xml: Added reference to pwck(8).
 
645
        * man/grpck.8.xml: Added reference to pwck(8).
 
646
 
 
647
2008-10-11  Nicolas François  <nicolas.francois@centraliens.net>
 
648
 
 
649
        * man/*.xml, man/login.defs.d/*.xml: Added copyright and licence
 
650
        header.
 
651
 
 
652
2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
653
 
 
654
        * src/login.c: Always check the return value of the pam_* APIs.
 
655
 
 
656
2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
657
 
 
658
        * src/login.c: Use a dynamic buffer for usernames.
 
659
        * src/login.c: Copy the name of the user authenticated by PAM to
 
660
        username. This simplify later logging (avoid USE_PAM
 
661
        conditional).
 
662
        * src/login.c: Check that no username is specified with -r.
 
663
        * src/login.c: Make sure a username is specified with -f.
 
664
        * src/login.c: Explicitly tag the end of the #ifdef RLOGIN
 
665
        sections.
 
666
        * src/login.c: Erase the username later since it it used for the
 
667
        fake password check (in case of empty password).
 
668
        * src/login.c, man/login.1.xml: the username is not an optional
 
669
        parameter of -f. Fix the getopt optstring, remove the parsing of
 
670
        username in the -f processing block, and remove unnecessary checks
 
671
        (username cannot be parsed twice anymore), better documentation of
 
672
        the synopsis.
 
673
 
 
674
2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
675
 
 
676
        * src/login.c: Existence of pam_user was already checked. pwd was
 
677
        already copied to pwent. Remove duplicated code.
 
678
 
 
679
2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
680
 
 
681
        * src/login.c: check_flags() renamed process_flags(). All flag
 
682
        processing blocs moved to process_flags().
 
683
 
 
684
2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
685
 
 
686
        * src/logoutd.c, src/userdel.c: Re-indent. This helps pmccabe.
 
687
 
 
688
2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
689
 
 
690
        * src/login.c: Add missing closing }. This was probably never
 
691
        noticed because UT_ADDR is never defined.
 
692
        * src/login.c: Re-indent.
 
693
 
 
694
2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
695
 
 
696
        * src/login.c: Do not mix USE_PAM and !USE_PAM code.
 
697
 
 
698
2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
699
 
 
700
        * src/login.c: Use failent_user to log to audit. username is the
 
701
        caller, not the user login tries to authenticate.
 
702
        * src/login.c: Use pwd->pw_name instead of pwd->pw_uid. This might
 
703
        be more precise (name must be unique, uid might not be).
 
704
 
 
705
2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
706
 
 
707
        * man/passwd.1.xml: passwd cannot change the full name of the
 
708
        user, the user's login shell; but it can change the account or
 
709
        password validity period. Thanks to Reuben Thomas.
 
710
 
 
711
2008-09-14  Nicolas François  <nicolas.francois@centraliens.net>
 
712
 
 
713
        * src/useradd.c: Added missing declaration of Mflg.
 
714
        * src/pwck.c: Only unlock files if they were locked before (e.g.
 
715
        not in read-only mode).
 
716
        * src/pwck.c: Quote the username in error messages (harmonization
 
717
        with other messages).
 
718
        * libmisc/find_new_gid.c: Fixed typo (s/grp->gr_gid/group_id/).
 
719
        * libmisc/find_new_gid.c: Likewise.
 
720
 
 
721
2008-09-13  Nicolas François  <nicolas.francois@centraliens.net>
 
722
 
 
723
        * libmisc/setugid.c, src/login_nopam.c, src/suauth.c,
 
724
        lib/getdef.c: Replace the %m format string by strerror(). This
 
725
        avoids errno to be reset between the system call error and the
 
726
        report function.
 
727
 
 
728
2008-09-13  Nicolas François  <nicolas.francois@centraliens.net>
 
729
 
 
730
        * lib/commonio.c: Ignore the return value of umask() when the mask
 
731
        is set to the old value.
 
732
 
 
733
2008-09-11  Nicolas François  <nicolas.francois@centraliens.net>
 
734
 
 
735
        * NEWS, etc/login.defs: New CREATE_HOME variable to tell useradd
 
736
        to create a home directory for new users.
 
737
        * src/useradd.c, man/useradd.8.xml: New -M/--no-create-home option
 
738
        and CREATE_HOME usage. System accounts are not impacted by
 
739
        CREATE_HOME.
 
740
        * man/useradd.8.xml: Indicate that a new group is created by
 
741
        default.
 
742
        * src/useradd.c: Removed TODO item (moved to the TODO file).
 
743
 
 
744
2008-09-11  Miroslav Kuře  <kurem@debian.cz>
 
745
 
 
746
        * po/cs.po: Updated Czech translation.
 
747
 
 
748
2008-09-11  Nicolas François  <nicolas.francois@centraliens.net>
 
749
 
 
750
        * man/login.defs.d/USERGROUPS_ENAB.xml: Fix typo: new <para> tag
 
751
        before the previous one is closed. This caused a missng
 
752
        explanation for USERGROUPS_ENAB.
 
753
 
 
754
2008-09-11  Nicolas François  <nicolas.francois@centraliens.net>
 
755
 
 
756
        * man/groupadd.8.xml: Remove the list of (short) options from the
 
757
        SYNOPSIS. Replaced with [options] for consistency with other tools
 
758
        and maintainability.
 
759
 
 
760
2008-09-07  Nicolas François  <nicolas.francois@centraliens.net>
 
761
 
 
762
        From RedHat's patch shadow-4.1.2-sysAccountDownhill.patch
 
763
        Thanks to Peter Vrabec.
 
764
        * NEWS, libmisc/find_new_gid.c, libmisc/find_new_uid.c: Build an
 
765
        index of used IDs to avoid a database request for each id in the
 
766
        allowed range (when the highest allowed ID is already used).
 
767
        This speedups the addition of users or groups when the highest
 
768
        allowed ID is already used. The additional memory usage of the
 
769
        tools should be acceptable when UID_MAX/SYS_UID_MAX are set to a
 
770
        reasonable number.
 
771
 
 
772
2008-09-07  Nicolas François  <nicolas.francois@centraliens.net>
 
773
 
 
774
        * configure.in: Fix the dependency of ACCT_TOOLS_SETUID on
 
775
        USE_PAM. Build failed with --without-libpam.
 
776
 
 
777
2008-09-07  Nicolas François  <nicolas.francois@centraliens.net>
 
778
 
 
779
        * libmisc/copydir.c, configure.in: Check for the presence of
 
780
        st_mtim and st_mtimensec, as for st_atim and st_atimensec.
 
781
        * libmisc/copydir.c: Call utimes() after closing the file.
 
782
 
 
783
2008-09-07  Nicolas François  <nicolas.francois@centraliens.net>
 
784
 
 
785
        * src/gpasswd.c: Document the long options in the usage.
 
786
 
 
787
2008-09-06  Nicolas François  <nicolas.francois@centraliens.net>
 
788
 
 
789
        * NEWS: Added configure --enable-account-tools-setuid (default) /
 
790
        --disable-account-tools-setuid options. This permits to disable
 
791
        the PAM authentication of the caller for chage, chgpasswd,
 
792
        chpasswd, groupadd, groupdel, groupmod, newusers, useradd,
 
793
        userdel, and usermod.  This authentication is not necessary when
 
794
        these tools are not installed setuid root.
 
795
        * configure.in: Added option --enable-account-tools-setuid to
 
796
        enable/disable the usage of PAM to authenticate the callers of
 
797
        account management tools: chage, chgpasswd, chpasswd, groupadd,
 
798
        groupdel, groupmod, useradd, userdel, usermod.
 
799
        * src/Makefile.am: Do not link the above tools with libpam if
 
800
        account-tools-setuid is disabled.
 
801
        * src/userdel.c, src/newusers.c, src/chpasswd.c, src/usermod.c,
 
802
        src/groupdel.c, src/chgpasswd.c, src/useradd.c, src/groupmod.c,
 
803
        src/groupadd.c, src/chage.c: Implement ACCT_TOOLS_SETUID
 
804
        (--enable-account-tools-setuid).
 
805
        * etc/pam.d/Makefile.am: Install the pam service file for the
 
806
        above tools only when needed.
 
807
 
 
808
2008-09-06  Nicolas François  <nicolas.francois@centraliens.net>
 
809
 
 
810
        * libmisc/tz.c: tz() is only used when USE_PAM is not defined.
 
811
        * lib/prototypes.h: Indicate functions whose presence depends on
 
812
        the USE_PAM flag.
 
813
 
 
814
2008-09-06  Nicolas François  <nicolas.francois@centraliens.net>
 
815
 
 
816
        * src/groupmems.c: Call open_files() and close_files().
 
817
        * src/groupmems.c: Always call check_perms(), which takes care of
 
818
        checking if --list is used.
 
819
 
 
820
2008-09-06  Nicolas François  <nicolas.francois@centraliens.net>
 
821
 
 
822
        * libmisc/obscure.c: Compare characters to '\0', not NULL.
 
823
 
 
824
2008-09-06  Nicolas François  <nicolas.francois@centraliens.net>
 
825
 
 
826
        * lib/defines.h: Do not include <config.h>. This complicate
 
827
        undefining some configuration macros when the file is included
 
828
        multiple times.
 
829
        * libmisc/xgetXXbyYY.c, libmisc/xgetpwnam.c, libmisc/xgetpwuid.c,
 
830
        libmisc/xgetgrgid.c, libmisc/xgetgrnam.c, libmisc/xgetspnam.c:
 
831
        Include <config.h> from teh compiled C file, not the included
 
832
        getXXbyYY.c.
 
833
 
 
834
2008-09-06  Nicolas François  <nicolas.francois@centraliens.net>
 
835
 
 
836
        * src/userdel.c, src/newusers.c, src/chpasswd.c, src/chfn.c,
 
837
        src/groupmems.c, src/usermod.c, src/groupdel.c, src/chgpasswd.c,
 
838
        src/useradd.c, src/groupmod.c, src/groupadd.c, src/chage.c,
 
839
        src/chsh.c: Simplify the PAM error handling. Do not keep the pamh
 
840
        handle, but terminate the PAM transaction as soon as possible if
 
841
        there are no PAM session opened. If the username cannot be
 
842
        determined, report it as such (not a PAM authentication failure).
 
843
        * src/useradd.c, src/userdel.c, src/usermod.c: It is no more
 
844
        needed to initialize retval to PAM_SUCCESS.
 
845
 
 
846
2008-09-06  Nicolas François  <nicolas.francois@centraliens.net>
 
847
 
 
848
        * src/newgrp.c, src/userdel.c, src/grpck.c, src/gpasswd.c,
 
849
        src/newusers.c, src/pwconv.c, src/chpasswd.c, src/logoutd.c,
 
850
        src/chfn.c, src/groupmems.c, src/usermod.c, src/pwunconv.c,
 
851
        src/expiry.c, src/groupdel.c, src/chgpasswd.c, src/useradd.c,
 
852
        src/su.c, src/groupmod.c, src/passwd.c, src/pwck.c,
 
853
        src/groupadd.c, src/chage.c, src/login.c, src/grpconv.c,
 
854
        src/groups.c, src/grpunconv.c, src/chsh.c: Prog is now global (not
 
855
        static to the file) so that it can be used by the helper functions
 
856
        of libmisc.
 
857
        * lib/prototypes.h: Added extern char *Prog.
 
858
        * libmisc/find_new_gid.c, libmisc/find_new_uid.c: Indicate the
 
859
        program name with the warning.
 
860
 
 
861
2008-09-05  Nicolas François  <nicolas.francois@centraliens.net>
 
862
 
 
863
        * configure.in: Check if AUDIT_ADD_USER, AUDIT_DEL_USER,
 
864
        AUDIT_ADD_GROUP, and AUDIT_DEL_GROUP are defined in <libaudit.h>.
 
865
 
 
866
2008-09-04  Nicolas François  <nicolas.francois@centraliens.net>
 
867
 
 
868
        * src/useradd.c: Fix comment of lflg: it is also used for faillog.
 
869
 
 
870
2008-09-04  Nicolas François  <nicolas.francois@centraliens.net>
 
871
 
 
872
        * NEWS, src/groupmems.c, man/groupmems.8.xml: Document the long
 
873
        options.
 
874
 
 
875
2008-09-03  Nicolas François  <nicolas.francois@centraliens.net>
 
876
 
 
877
        * lib/prototypes.h, libmisc/audit_help.c: Define new type
 
878
        shadow_audit_result for the result argument of audit_logger().
 
879
        This permits stronger type checking and a better readability of
 
880
        the results (SHADOW_AUDIT_FAILURE/SHADOW_AUDIT_SUCCESS constants).
 
881
        * src/groupadd.c, src/groupdel.c, src/useradd.c, src/userdel.c:
 
882
        Use the SHADOW_AUDIT_FAILURE/SHADOW_AUDIT_SUCCESS results instead
 
883
        of 0 or 1 in audit_logger().
 
884
 
 
885
2008-09-03  Nicolas François  <nicolas.francois@centraliens.net>
 
886
 
 
887
        * src/userdel.c: Log failures to remove the mailbox to syslog and
 
888
        audit.
 
889
        * src/userdel.c: Log successful removal of home directory to audit
 
890
        only in case of success.
 
891
        * src/userdel.c: Move the audit log of failure to remove the home
 
892
        directory before the call to function that may exit.
 
893
        * src/userdel.c: Document that errors is only used to count errors
 
894
        during the removal of the home directory.
 
895
 
 
896
2008-09-03  Nicolas François  <nicolas.francois@centraliens.net>
 
897
 
 
898
        * src/useradd.c: Log errors to syslog in grp_update() since
 
899
        changes have started to be reported to syslog.
 
900
        * src/userdel.c: Fix some result parameters sent to
 
901
        audit_logger().
 
902
 
 
903
2008-09-02  Nicolas François  <nicolas.francois@centraliens.net>
 
904
 
 
905
        * NEWS: Following changes from a patch contributed by Steve Grubb
 
906
        <sgrubb@redhat.com>
 
907
        * src/groupadd.c: Log to audit with type AUDIT_ADD_GROUP instead
 
908
        of AUDIT_USER_CHAUTHTOK.
 
909
        * src/groupdel.c: Log to audit with type AUDIT_DEL_GROUP instead 
 
910
        of AUDIT_USER_CHAUTHTOK.
 
911
        * src/useradd.c: Log to audit with type AUDIT_ADD_USER /
 
912
        AUDIT_ADD_GROUP / AUDIT_USYS_CONFIG instead of
 
913
        AUDIT_USER_CHAUTHTOK.
 
914
        * src/useradd.c: Add missing logs to audit.
 
915
        * src/userdel.c: Log to audit with type AUDIT_DEL_USER /
 
916
        AUDIT_DEL_GROUP instead of AUDIT_USER_CHAUTHTOK.
 
917
        * src/userdel.c: Add missing logs to audit.
 
918
 
 
919
2008-08-31  Nicolas François  <nicolas.francois@centraliens.net>
 
920
 
 
921
        * src/groupmems.c: Remove duplicated gr_open().
 
922
 
 
923
2008-08-30  Nicolas François  <nicolas.francois@centraliens.net>
 
924
 
 
925
        * man/useradd.8.xml: Document the /etc/default/useradd variables.
 
926
        * man/useradd.8.xml: Fix the documentation of the GROUP variable
 
927
        (and -g/--gid option).
 
928
        * man/useradd.8.xml: Document that -o is only valid with -u
 
929
 
 
930
2008-08-29  Nicolas François  <nicolas.francois@centraliens.net>
 
931
 
 
932
        * shadow.spec.in: Fix the source (new FTP).
 
933
 
 
934
2008-08-29  Nicolas François  <nicolas.francois@centraliens.net>
 
935
 
 
936
        * src/su.c: Add brackets and parenthesis.
 
937
        * src/su.c: Avoid implicit conversion of pointers to booleans.
 
938
 
 
939
2008-08-29  Nicolas François  <nicolas.francois@centraliens.net>
 
940
 
 
941
        * libmisc/list.c: Remove historical comment.
 
942
        * libmisc/list.c: Added assertions for non NULL parameters.
 
943
 
 
944
2008-08-29  Nicolas François  <nicolas.francois@centraliens.net>
 
945
 
 
946
        * src/pwconv.c, src/pwunconv.c: Fail if unexpected parameters are
 
947
        provided.
 
948
 
 
949
2008-08-29  Nicolas François  <nicolas.francois@centraliens.net>
 
950
 
 
951
        * src/passwd.c: Add brackets and parenthesis.
 
952
        * src/passwd.c: Avoid implicit conversion of pointers to booleans.
 
953
        * src/passwd.c: Avoid assignments in comparisons.
 
954
 
 
955
2008-08-29  Nicolas François  <nicolas.francois@centraliens.net>
 
956
 
 
957
        * NEWS, src/groupmems.c, man/groupmems.8.xml: Added support for
 
958
        shadow groups.
 
959
        * src/groupmems.c: Use fail_exit() instead of exit().
 
960
 
 
961
2008-08-29  Nicolas François  <nicolas.francois@centraliens.net>
 
962
 
 
963
        * src/groupmems.c: The grp structure returned by gr_locate is a
 
964
        const. Duplicate this structure before working on it.
 
965
        * src/groupmems.c: Do not fail and do not display warnings if a
 
966
        close failure happens with the --list option. (Files are opened
 
967
        read-only).
 
968
        * src/groupmems.c: Avoid mixed declarations and code.
 
969
 
 
970
2008-08-29  Nicolas François  <nicolas.francois@centraliens.net>
 
971
 
 
972
        * src/gpasswd.c: Replace the 'valid' variable by is_valid to avoid
 
973
        clashes with the valid() function.
 
974
 
 
975
2008-08-29  Nicolas François  <nicolas.francois@centraliens.net>
 
976
 
 
977
        * libmisc/obscure.c: Add brackets and parenthesis.
 
978
        * libmisc/obscure.c: Avoid implicit conversion of pointers / chars to
 
979
        booleans.
 
980
        * libmisc/obscure.c: Simplify the list of if.
 
981
 
 
982
2008-08-28  Nicolas François  <nicolas.francois@centraliens.net>
 
983
 
 
984
        * src/passwd.c: Fix a typo in the Usage string.
 
985
 
 
986
2008-08-28  Nicolas François  <nicolas.francois@centraliens.net>
 
987
 
 
988
        * src/grpconv.c, src/groups.c: Name the parameters in the
 
989
        prototypes of the static functions.
 
990
        * src/grpconv.c, src/grpunconv.c, src/logoutd.c: Fail if
 
991
        unexpected parameters are provided.
 
992
        * src/grpconv.c, src/grpunconv.c: Indicate that argc is not used
 
993
        in the no SHADOWGRP version.
 
994
 
 
995
2008-08-28  Nicolas François  <nicolas.francois@centraliens.net>
 
996
 
 
997
        * src/chgpasswd.c, src/chpasswd.c: Removed variable ok, which is
 
998
        no more used.
 
999
 
 
1000
2008-08-28  Nicolas François  <nicolas.francois@centraliens.net>
 
1001
 
 
1002
        * src/chage.c: Fix the format for long integers (from %ul to %lu).
 
1003
 
 
1004
2008-08-28  Nicolas François  <nicolas.francois@centraliens.net>
 
1005
 
 
1006
        * libmisc/utmp.c: Mark the line and host arguments of setutmp() as
 
1007
        not used in the __linux__ version.
 
1008
 
 
1009
2008-08-28  Nicolas François  <nicolas.francois@centraliens.net>
 
1010
 
 
1011
        * lib/nscd.c: Avoid redefinition of _GNU_SOURCE.
 
1012
 
 
1013
2008-08-28  Nicolas François  <nicolas.francois@centraliens.net>
 
1014
 
 
1015
        * configure.in: Indentation fix.
 
1016
        * configure.in, src/login.c: Do not use HAVE_PAM_FAIL_DELAY, but
 
1017
        HAS_PAM_FAIL_DELAY, to avoid a redefinition with Linux PAM.
 
1018
 
 
1019
2008-08-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1020
 
 
1021
        * src/groupmems.c: Added functions add_user(), remove_user(), and
 
1022
        purge_members() to ease the support of gshadow.
 
1023
 
 
1024
2008-08-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1025
 
 
1026
        * src/expiry.c: Use Basename for Prog.
 
1027
        * src/expiry.c: Added missing OPENLOG.
 
1028
 
 
1029
2008-08-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1030
 
 
1031
        * lib/nscd.c: Make sure the file is not empty when configured
 
1032
        without nscd support.
 
1033
 
 
1034
2008-08-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1035
 
 
1036
        * configure.in: Remove the USE_NSCD AM_CONDITIONAL (USE_NSCD is
 
1037
        not used in any Makefile.am).
 
1038
        * configure.in: Make sure posix_spawn is present when configured
 
1039
        with nscd support.
 
1040
 
 
1041
2008-08-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1042
 
 
1043
        * lib/groupmem.c, lib/pwmem.c, lib/shadowmem.c: Added brackets and
 
1044
        parenthesis.
 
1045
        * lib/groupmem.c, lib/pwmem.c, lib/shadowmem.c: Avoid assignments
 
1046
        in comparisons.
 
1047
 
 
1048
2008-08-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1049
 
 
1050
        * libmisc/mail.c: Added brackets and parenthesis.
 
1051
        * libmisc/mail.c: Avoid assignments in comparisons.
 
1052
 
 
1053
2008-08-26  Tobias Poschwatta  <tp@fonz.de>
 
1054
 
 
1055
        * NEWS: Added support for uclibc.
 
1056
        * configure.in, libmisc/copydir.c: futimes() and lutimes() are not
 
1057
        standard. Check if they are implemented before using them. Do not
 
1058
        set the time of links if lutimes() does not exist, and use
 
1059
        utimes() as a replacement for futimes().
 
1060
        * configure.in, lib/nscd.h, lib/nscd.c: Added --with-nscd and
 
1061
        --without-nscd flags to support systems without nscd.
 
1062
        * lib/groupio.h, lib/prototypes.h, lib/pwio.h, lib/sgetgrent.c:
 
1063
        Include <sys/types.h> before <pwd.h> and <grp.h>. It is necessary
 
1064
        for the definition of uid_t and gid_t.
 
1065
        * lib/pwmem.c: do not include <pwd.h>, "pwio.h" is sufficient
 
1066
        here.
 
1067
        * configure.in: Check if the stat structure has a st_atim or
 
1068
        st_atimensec field.
 
1069
        * libmisc/copydir.c: Conditionally use the stat's st_atim and
 
1070
        st_atimensec fields.
 
1071
 
 
1072
2008-08-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1073
 
 
1074
        * src/groupmems.c: Handle the options alphabetically.
 
1075
 
 
1076
2008-08-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1077
 
 
1078
        * src/groupmems.c: When removing an user, check if deluser is on
 
1079
        the list, not adduser. This fixes a segmentation fault for every
 
1080
        call of groupmems -d.
 
1081
        * libmisc/list.c: Add assertions to help identifying these issues.
 
1082
        * libmisc/list.c: Avoid implicit conversion of pointers to
 
1083
        booleans.
 
1084
 
 
1085
2008-08-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1086
 
 
1087
        * NEWS, src/groupmems.c: Use the "groupmems" PAM service name
 
1088
        instead of "groupmod".
 
1089
 
 
1090
2008-08-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1091
 
 
1092
        * src/chfn.c: Merge some translated messages.
 
1093
        * src/groupmems.c, src/groupadd.c, src/gpasswd.c, src/chsh.c,
 
1094
        src/chfn.c: Harmonize *_update() failure messages.
 
1095
        * src/groupmems.c: Harmonize gr_close() failure messages.
 
1096
        * src/newgrp.c: Harmonize "unknown GID" messages.
 
1097
        * src/newusers.c: Move the pwd declaration to a inner block scope.
 
1098
 
 
1099
2008-08-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1100
 
 
1101
        * src/useradd.c: Harmonize some error messages.
 
1102
        * src/userdel.c: Add log to syslog when the mail file could not be
 
1103
        removed.
 
1104
        * src/userdel.c: Give more context an error message (merge with
 
1105
        perror()).
 
1106
        * src/usermod.c: Harmonize some error messages.
 
1107
 
 
1108
2008-08-25  Nicolas François  <nicolas.francois@centraliens.net>
 
1109
 
 
1110
        * src/groupmems.c: Check the return value of gr_update().
 
1111
        * src/chage.c, src/chfn.c, src/chgpasswd.c, src/chpasswd.c,
 
1112
        src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupmems.c,
 
1113
        src/groupmod.c, src/grpck.c, src/grpconv.c, src/grpunconv.c,
 
1114
        src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c,
 
1115
        src/useradd.c, src/userdel.c, src/usermod.c: Harmonize the error
 
1116
        message sent to stderr in case of *_update () failure.
 
1117
        * src/chage.c, src/chsh.c, src/groupadd.c, src/passwd.c: Do not
 
1118
        log to syslog when pw_update() or spw_update() fail.
 
1119
        * src/newusers.c: Do not log specific error message to stderr when
 
1120
        sgr_update() fails.
 
1121
        * src/pwconv.c: Remove duplicated definition of Prog.
 
1122
 
 
1123
2008-08-25  Nicolas François  <nicolas.francois@centraliens.net>
 
1124
 
 
1125
        * src/chfn.c, src/chsh.c, src/expiry.c, src/gpasswd.c,
 
1126
        src/newgrp.c, src/passwd.c, src/su.c: Use the same stderr and
 
1127
        syslog warnings when the username cannot be determined.
 
1128
        * src/newgrp.c: Reuse the same stderr message for groups which do
 
1129
        not exist in the system.
 
1130
 
 
1131
2008-08-21  Nicolas François  <nicolas.francois@centraliens.net>
 
1132
 
 
1133
        * src/usermod.c: Log errors while *_close to syslog.
 
1134
 
 
1135
2008-08-21  Nicolas François  <nicolas.francois@centraliens.net>
 
1136
 
 
1137
        * src/grpconv.c: Use Basename for the definition of Prog. Prog
 
1138
        needs a file visibility.
 
1139
        * src/grpunconv.c: Likewise.
 
1140
 
 
1141
2008-08-20  Nicolas François  <nicolas.francois@centraliens.net>
 
1142
 
 
1143
        * src/chfn.c: Do not exit on pw_unlock failures.
 
1144
        * src/grpconv.c, src/grpunconv.c, src/pwconv.c, src/pwunconv.c,
 
1145
        src/vipw.c: Open syslog with the right identification name.
 
1146
        * src/vipw.c: Log unlock errors to syslog.
 
1147
        * src/vipw.c: Log edits to syslog.
 
1148
        * src/chage.c, src/chfn.c, src/chsh.c, src/gpasswd.c,
 
1149
        src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpconv.c,
 
1150
        src/grpunconv.c, src/passwd.c, src/pwck.c, src/pwunconv.c,
 
1151
        src/useradd.c, src/usermod.c: Harmonize the syslog levels. Failure
 
1152
        to close or unlock are errors. Failure to open files are warnings.
 
1153
 
 
1154
2008-08-20  Nicolas François  <nicolas.francois@centraliens.net>
 
1155
 
 
1156
        * src/newusers.c: Open syslog with the right identification name.
 
1157
        * src/newusers.c: Mark the files as locked only if they are really
 
1158
        locked (i.e. if shadow is not enabled, the files are not locked).
 
1159
 
 
1160
2008-08-20  Nicolas François  <nicolas.francois@centraliens.net>
 
1161
 
 
1162
        * NEWS, src/gpasswd.c: Use getopt_long instead of getopt. Added
 
1163
        support for long options --add (-a), --delete (-d),
 
1164
        --remove-password (-r), --restrict (-R), --administrators (-A),
 
1165
        and --members (-M) 
 
1166
        * man/gpasswd.1.xml: Document the new long options.
 
1167
        * src/gpasswd.c: The sgrp structure is only used if SHADOWGRP is
 
1168
        defined.
 
1169
 
 
1170
2008-08-18  Nicolas François  <nicolas.francois@centraliens.net>
 
1171
 
 
1172
        * src/grpck.c: Added function fail_exit(). Check failure to unlock
 
1173
        files. Report errors to stderr and syslog, but continue.
 
1174
        * src/grpconv.c: Check failure to unlock files. Report errors to
 
1175
        stderr and syslog, but continue.
 
1176
 
 
1177
2008-08-18  Nicolas François  <nicolas.francois@centraliens.net>
 
1178
 
 
1179
        * src/passwd.c: Check failure to unlock files. Report errors to
 
1180
        stderr and syslog, but continue.
 
1181
 
 
1182
2008-08-17  Nicolas François  <nicolas.francois@centraliens.net>
 
1183
 
 
1184
        * src/chfn.c, src/chgpasswd.c, src/chpasswd.c, src/gpasswd.c,
 
1185
        src/groupadd.c, src/groupdel.c, src/groupmems.c, src/groupmod.c,
 
1186
        src/grpconv.c, src/grpunconv.c, src/newusers.c, src/pwconv.c,
 
1187
        src/pwunconv.c, src/useradd.c, src/userdel.c: Harmonize the name
 
1188
        of the variables keeping the lock status, to match the shadow
 
1189
        library prefixes.
 
1190
 
 
1191
2008-08-17  Nicolas François  <nicolas.francois@centraliens.net>
 
1192
 
 
1193
        * src/chage.c, src/chgpasswd.c, src/chpasswd.c, src/chsh.c,
 
1194
        src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c,
 
1195
        src/groupmod.c, src/grpck.c, src/grpconv.c, src/grpunconv.c,
 
1196
        src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c,
 
1197
        src/pwunconv.c, src/useradd.c, src/userdel.c, src/usermod.c: In
 
1198
        case of a lock failure, indicate to the user that she can try
 
1199
        again later. Do not log to syslog.
 
1200
 
 
1201
2008-08-17  Nicolas François  <nicolas.francois@centraliens.net>
 
1202
 
 
1203
        * NEWS, src/passwd.c: For compatibility with other passwd version,
 
1204
        the --lock an --unlock options do not lock or unlock the user
 
1205
        account anymore.  They only lock or unlock the user's password.
 
1206
        * man/passwd.1.xml: Document above change. Document how an account
 
1207
        can be locked and what a password lock means.
 
1208
 
 
1209
2008-08-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1210
 
 
1211
        * man/groupadd.8.xml: Fix the regular expression for group policy.
 
1212
        The final $ character is optional.
 
1213
        * man/groupadd.8.xml: Likewise.
 
1214
        * man/groupadd.8.xml: Indicate the maximum size of usernames.
 
1215
 
 
1216
2008-08-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1217
 
 
1218
        * man/po/pl.po: Fix typo in the Polish translation (see
 
1219
        http://bugs.debian.org/491460)
 
1220
 
 
1221
2008-08-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1222
 
 
1223
        * man/pl/Makefile.am: Do not build the Polish translation of
 
1224
        login.1 and su.1 (not enough translated). See
 
1225
        http://bugs.debian.org/491460
 
1226
 
 
1227
2008-08-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1228
 
 
1229
        * man/shadow.5.xml: Fix typo. The password must be changed before
 
1230
        the maximum number of days, not after.
 
1231
 
 
1232
2008-08-09  Nicolas François  <nicolas.francois@centraliens.net>
 
1233
 
 
1234
        * src/groupmems.c: Harmonize the unlock failure messages.
 
1235
 
 
1236
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1237
 
 
1238
        * src/pwck.c: Added fail_exit().
 
1239
        * src/pwck.c: Report failure to unlock files to stderr and
 
1240
        syslog.
 
1241
        * src/pwck.c: Report failure to sort to stderr, and exit with
 
1242
        E_CANTSORT.
 
1243
        * man/pwck.8.xml: Document return code 6 (E_CANTSORT).
 
1244
 
 
1245
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1246
 
 
1247
        * src/vipw.c: Report failures to remove files to stderr.
 
1248
        * src/vipw.c: Report failures to unlock files to stderr.
 
1249
 
 
1250
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1251
 
 
1252
        * NEWS, src/groupmems.c: Added syslog support.
 
1253
        * src/groupmems.c: members() renamed display_members() to
 
1254
        avoid name clash with its members argument.
 
1255
        * src/groupmems.c: Report failure to unlock to syslog.
 
1256
        * src/groupmems.c: Harmonize error messages.
 
1257
        * src/groupmems.c: Report failures to write the new group file to
 
1258
        syslog (gr_close() failure).
 
1259
        * src/groupmems.c: Don't use fail_exit for non-failure exit.
 
1260
 
 
1261
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1262
 
 
1263
        * src/chsh.c: Added fail_exit().
 
1264
        * src/chsh.c: Use fail_exit() instead of exit(), this avoid
 
1265
        calling closelog() every times.
 
1266
        * src/chsh.c: Ignore the return value or pam_end().
 
1267
        * src/chsh.c: Simplify the PAM error handling.
 
1268
        * src/chsh.c: Report failure to unlock files to stderr and
 
1269
        syslog.
 
1270
 
 
1271
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1272
 
 
1273
        * src/chpasswd.c: Added fail_exit().
 
1274
        * src/chpasswd.c: Added support for syslog.
 
1275
        * src/chpasswd.c: Report failure to unlock files to stderr and
 
1276
        syslog.
 
1277
        * src/chpasswd.c: Simplify the PAM error handling.
 
1278
        * src/chpasswd.c: Report failure during *_close() to syslog.
 
1279
        * src/chpasswd.c: Ignore the return value or pam_end().
 
1280
 
 
1281
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1282
 
 
1283
        * src/chgpasswd.c: Added fail_exit().
 
1284
        * src/chgpasswd.c: Added support for syslog.
 
1285
        * src/chgpasswd.c: Report failure to unlock files to stderr and
 
1286
        syslog.
 
1287
        * src/chgpasswd.c: Simplify the PAM error handling.
 
1288
        * src/chgpasswd.c: Report failure during *_close() to syslog.
 
1289
        * src/chgpasswd.c: Ignore the return value or pam_end().
 
1290
 
 
1291
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1292
 
 
1293
        * src/userdel.c: Report failure to remove entries from group or
 
1294
        gshadow to stderr.
 
1295
        * src/userdel.c: Fail in case of failure during the write of a
 
1296
        user or group database. Report errors to syslog.
 
1297
        * src/userdel.c: Do not unlock non locked files.
 
1298
        * src/userdel.c: Report failure to unlock the passwd or shadow
 
1299
        file to stderr and syslog.
 
1300
 
 
1301
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1302
 
 
1303
        * src/pwunconv.c: Report failure to unlock the passwd or shadow
 
1304
        file to stderr and syslog.
 
1305
 
 
1306
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1307
 
 
1308
        * src/usermod.c: Report failure to unlock files to stderr and
 
1309
        syslog.
 
1310
 
 
1311
2008-08-07  Nicolas François  <nicolas.francois@centraliens.net>
 
1312
 
 
1313
        * src/newusers.c: Report failure to unlock files to stderr and
 
1314
        syslog.
 
1315
        * src/newusers.c: In case of error when files are open or closed,
 
1316
        indicate the failing file.
 
1317
        * src/newusers.c: Do not try to unlock the files manually since
 
1318
        this is done in fail_exit.
 
1319
 
 
1320
2008-08-06  Nicolas François  <nicolas.francois@centraliens.net>
 
1321
 
 
1322
        * src/chage.c: Report failure to unlock the passwd or shadow file
 
1323
        to stderr and syslog.
 
1324
 
 
1325
2008-08-06  Nicolas François  <nicolas.francois@centraliens.net>
 
1326
 
 
1327
        * src/pwconv.c: Report failure to unlock the passwd or shadow file
 
1328
        to stderr and syslog.
 
1329
        * src/pwconv.c: Report failure to chmod the backup file.
 
1330
 
 
1331
2008-08-06  Nicolas François  <nicolas.francois@centraliens.net>
 
1332
 
 
1333
        * src/grpunconv.c: Report failure to unlock the group or gshadow
 
1334
        files to stderr and syslog.
 
1335
 
 
1336
2008-08-06  Nicolas François  <nicolas.francois@centraliens.net>
 
1337
 
 
1338
        * src/chfn.c: Added fail_exit(). Check if the passwd file is
 
1339
        locked. Report failures to unlock to stderr and syslog.
 
1340
        * src/chfn.c: Is case of failure, use fail_exit() rather than
 
1341
        exit().
 
1342
        * src/chfn.c: Ignore the return value of pam_end().
 
1343
 
 
1344
2008-08-06  Nicolas François  <nicolas.francois@centraliens.net>
 
1345
 
 
1346
        * lib/groupio.c, lib/groupio.h, lib/pwio.c, lib/pwio.h,
 
1347
        lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h:
 
1348
        Added *_dbname() functions to retrieve the name of the databases.
 
1349
        * lib/groupio.c, lib/groupio.h, lib/pwio.c, lib/pwio.h,
 
1350
        lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h:
 
1351
        *_name() functions renamed *setname().
 
1352
        * src/grpck.c, src/pwck.c: Likewise.
 
1353
        * lib/groupio.h, lib/pwio.h, lib/sgroupio.h, lib/shadowio.h: Added
 
1354
        the name of the arguments to the prototypes.
 
1355
        * src/chage, src/chfn.c, src/chgpasswd.c, src/chpasswd.c,
 
1356
        src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c,
 
1357
        src/groupmod.c, src/grpck.c, src/grpconv.c, src/grpunconv.c,
 
1358
        src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c,
 
1359
        src/pwunconv.c, src/useradd.c, src/userdel.c, src/usermod.c:
 
1360
        Harmonize the erro & syslog messages in case of failure of the
 
1361
        *_lock(), *_open(), *_close(), *_unlock(), *_remove() functions.
 
1362
        * src/chgpasswd.c, src/chpasswd.c, src/usermod.c: Avoid
 
1363
        capitalized messages.
 
1364
        * src/chpasswd.c, src/useradd.c, src/usermod.c: Harmonize messages
 
1365
        in case of inexistent entries.
 
1366
        * src/usermod.c:  Harmonize messages in case of already existing
 
1367
        entries.
 
1368
        * src/newusers.c, src/useradd.c: Simplify PAM error handling.
 
1369
        * src/useradd.c: Report failures to unlock files (stderr, syslog,
 
1370
        and audit). But do not fail (continue).
 
1371
        * src/useradd.c (open_files): Do not report to syslog & audit
 
1372
        failures to lock or open the databases. This might be harmless,
 
1373
        and the logs were not already informed that a change was
 
1374
        requested.
 
1375
        * src/usermod.c: It's not the account which is unlocked, but its
 
1376
        password.
 
1377
 
 
1378
2008-08-02  Nicolas François  <nicolas.francois@centraliens.net>
 
1379
 
 
1380
        * src/groupadd.c: Harmonize error & syslog messages.
 
1381
        * src/groupadd.c: Add logging to syslog & audit on lock/unlock
 
1382
        failures.
 
1383
        * src/groupadd.c: Only call gr_unlock() and sgr_unlock() in the
 
1384
        group or gshadow files were previously locked.
 
1385
        * src/groupadd.c: Make sure failures are reported to syslog/audit
 
1386
        after the change is mentioned.
 
1387
        * src/groupmod.c: Harmonize error & syslog messages.
 
1388
        * src/groupmod.c: Add logging to syslog & audit on lock/unlock
 
1389
        failures.
 
1390
        * src/groupmod.c: Make sure issues are reported to syslog or audit
 
1391
        after the change is mentioned.
 
1392
        * src/groupdel.c: Harmonize error & syslog messages.
 
1393
        * src/groupdel.c: Add logging to syslog & audit on lock/unlock
 
1394
        failures.
 
1395
        * src/groupdel.c: Only call gr_unlock() and sgr_unlock() in the
 
1396
        group or gshadow files were previously locked.
 
1397
        * src/groupdel.c: Simplify the handling of PAM errors.
 
1398
 
 
1399
2008-08-01  Nicolas François  <nicolas.francois@centraliens.net>
 
1400
 
 
1401
        * src/gpasswd.c: Harmonize error & syslog messages.
 
1402
        * src/gpasswd.c: Warn and log to syslog and audit when group or
 
1403
        gshadow cannot be unlocked, but do not fail.
 
1404
 
 
1405
2008-08-01  Nicolas François  <nicolas.francois@centraliens.net>
 
1406
 
 
1407
        * src/chfn.c, src/chsh.c, src/groupdel.c, src/groupmems.c,
 
1408
        src/groupmod.c, src/grpck.c, src/login.c, src/logoutd.c,
 
1409
        src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c,
 
1410
        src/suauth.c, src/useradd.c, src/userdel.c, src/usermod.c,
 
1411
        src/vipw.c: Complete the switch from the `' quotation style to ''.
 
1412
        Do it also in SYSLOG messages. Quote some parameters. All this
 
1413
        permits to merge some messages.
 
1414
 
 
1415
2008-07-30  Lukáš Kuklínek  <lkukline@redhat.com>
 
1416
 
 
1417
        * src/groupmems.c: Only check if the adduser user exists when an
 
1418
        user is specified with -a.
 
1419
 
 
1420
2008-07-30  Nicolas François  <nicolas.francois@centraliens.net>
 
1421
 
 
1422
        * src/groupmems.c: Fix the groupmems' usage message. The -D option
 
1423
        is in fact -p.
 
1424
 
 
1425
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1426
 
 
1427
        * src/groupmems.c: Replace an if test by an else.
 
1428
 
 
1429
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1430
 
 
1431
        * src/groupmems.c: Ignore the return value of fputs().
 
1432
 
 
1433
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1434
 
 
1435
        * src/groupmems.c (whoami): Make sure usr and grp are not NULL
 
1436
        before dereferencing them.
 
1437
 
 
1438
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1439
 
 
1440
        * src/groupmems.c: Use xstrdup() rather than strdup().
 
1441
 
 
1442
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1443
 
 
1444
        * src/groupmems.c: Add parenthesis.
 
1445
        * src/groupmems.c: Avoid implicit conversion of pointers / chars to
 
1446
        booleans.
 
1447
 
 
1448
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1449
 
 
1450
        * NEWS, src/groupmems.c: Allow everybody to list the users of a group.
 
1451
        This information is publicly available in /etc/group.
 
1452
        * NEWS, src/groupmems.c: Open /etc/group read only for the -l option.
 
1453
 
 
1454
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1455
 
 
1456
        * man/groupmems.8.xml: Sort options alphabetically.
 
1457
 
 
1458
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1459
 
 
1460
        * src/groupmems.c (check_perms): Simplify. Always call pam_end()
 
1461
        at the end of the authentication.
 
1462
 
 
1463
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1464
 
 
1465
        * src/groupmems.c: Add fail_exit() to remove the group lock file
 
1466
        in case of failure. Replace the calls to exit() by fail_exit().
 
1467
 
 
1468
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1469
 
 
1470
        * src/groupmems.c: Reduce the number of checks. Isolate the
 
1471
        parameters setting and permissions checking.
 
1472
 
 
1473
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1474
 
 
1475
        * src/groupmems.c: Add functions process_flags() and check_perms()
 
1476
        from code of main().
 
1477
        * src/groupmems.c: Harmonize the failure message in case of PAM
 
1478
        failure with the other programs.
 
1479
 
 
1480
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1481
 
 
1482
        * src/groupmems.c: Remove isgroup(), which always returns TRUE.
 
1483
 
 
1484
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1485
 
 
1486
        * src/groupmems.c: Reuse the functions from libmisc/list.c to deal
 
1487
        with user lists. addtogroup() was broken when realloc() move the
 
1488
        memory area.
 
1489
        * src/groupmems.c: Report failures with the name of the program.
 
1490
 
 
1491
2008-07-27  Nicolas François  <nicolas.francois@centraliens.net>
 
1492
 
 
1493
        * src/groupmems.c: EXIT_READ_GROUP changed to EXIT_INVALID_GROUP.
 
1494
        * src/groupmems.c: EXIT_INVALID_USERNAME changed to EXIT_INVALID_USER.
 
1495
 
 
1496
2008-07-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1497
 
 
1498
        * src/groupmems.c: Really use booleans.
 
1499
        * src/groupmems.c: Change isroot() to a macro that returns a
 
1500
        boolean.
 
1501
 
 
1502
2008-07-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1503
 
 
1504
        * lib/defines.h: Make sure the booleans are defined before using
 
1505
        them.
 
1506
 
 
1507
2008-07-26  Nicolas François  <nicolas.francois@centraliens.net>
 
1508
 
 
1509
        * src/groupmems.c: Added Prog global variable to indicate the name
 
1510
        of the program in error messages.
 
1511
 
 
1512
2008-07-22  Lukáš Kuklínek  <lkukline@redhat.com>
 
1513
 
 
1514
        * NEWS, src/groupmems.c: Check if the user added to group actually
 
1515
        exist. RedHat bug #455603
 
1516
        * NEWS, src/groupmems.c: Check if the group exists in the group
 
1517
        local database (/etc/group). RedHat bug #456088
 
1518
 
 
1519
2008-07-22  Nicolas François  <nicolas.francois@centraliens.net>
 
1520
 
 
1521
        * lib/prototypes.h: Fix getrange prototype.
 
1522
 
 
1523
2008-07-21  Seraphim Mellos  <mellos@ceid.upatras.gr>
 
1524
 
 
1525
        * README, NEWS, configure.in, lib/pam_defs.h, src/login.c: Add
 
1526
        support for OpenPAM.
 
1527
 
 
1528
2008-07-12  Nicolas François  <nicolas.francois@centraliens.net>
 
1529
 
 
1530
        * src/chage.c: Ignore the return value of pam_end() before exiting.
 
1531
        * src/chage.c: Ignore return values of strftime(), snprintf(),
 
1532
        puts(), printf(), and fputs().
 
1533
        * src/chage.c: Check the return value of asctime().
 
1534
 
 
1535
2008-07-12  Nicolas François  <nicolas.francois@centraliens.net>
 
1536
 
 
1537
        * lib/gshadow.c: Avoid assignments in comparison.
 
1538
 
 
1539
2008-07-12  Nicolas François  <nicolas.francois@centraliens.net>
 
1540
 
 
1541
        * ChangeLog, NEWS, src/login.c: Re-inject the changes from 4.1.2.1.
 
1542
 
 
1543
2008-07-11  Nicolas François  <nicolas.francois@centraliens.net>
 
1544
 
 
1545
        * src/usermod.c: Do not call usr_update() if it will have no
 
1546
        effects. This avoid checking if the user exists in the local passwd
 
1547
        file if not necessary, and thus allow to add LDAP users to local
 
1548
        groups. (The user is already checked against the system
 
1549
        configuration with getpwnam()). Thanks to Dan Kopecek.
 
1550
 
 
1551
2008-07-11  Nicolas François  <nicolas.francois@centraliens.net>
 
1552
 
 
1553
        * src/usermod.c: Split update_files() into update_lastlog() and
 
1554
        update_faillog(). Report errors (but don't fail) if the file
 
1555
        exist, but open(), lseek(), read(), write(), or close() fails.
 
1556
        * src/usermod.c: Add brackets and parenthesis.
 
1557
        * src/usermod.c: Ignore the return value of pam_end() before
 
1558
        exiting.
 
1559
        * src/usermod.c: Ignore the return value of strftime(),
 
1560
        snprintf(), and puts().
 
1561
        * src/usermod.c: Check the return value of gmtime() and asctime(),
 
1562
        and output the raw time_t on failures.
 
1563
 
 
1564
2008-07-11  Nicolas François  <nicolas.francois@centraliens.net>
 
1565
 
 
1566
        * libmisc/setugid.c: Add brackets.
 
1567
 
 
1568
2008-06-17  Nicolas François  <nicolas.francois@centraliens.net>
 
1569
 
 
1570
        * libmisc/env.c: Avoid implicit conversion of pointers / chars to
 
1571
        booleans.
 
1572
        * libmisc/env.c: Add brackets and parenthesis.
 
1573
        * libmisc/env.c: Ignore the return value of puts() and fputs().
 
1574
        * libmisc/env.c: Avoid multi-statements lines.
 
1575
 
 
1576
2008-06-17  Nicolas François  <nicolas.francois@centraliens.net>
 
1577
 
 
1578
        * libmisc/utmp.c: Avoid implicit conversion of pointers / chars to
 
1579
        booleans.
 
1580
        * libmisc/utmp.c: Add brackets and parenthesis.
 
1581
        * libmisc/utmp.c: Exit with the EXIT_FAILURE status code in case
 
1582
        of failure.
 
1583
        * libmisc/utmp.c: Avoid assignments in comparisons.
 
1584
        * lib/prototypes.h, libmisc/utmp.c: Change setutmp()'s prototype
 
1585
        to return an int because pututline() and pututxline() may fail.
 
1586
 
 
1587
2008-06-17  Nicolas François  <nicolas.francois@centraliens.net>
 
1588
 
 
1589
        * libmisc/audit_help.c: Added one string for translation.
 
1590
        * po/POTFILES.in: Added libmisc/audit_help.c,
 
1591
        libmisc/find_new_gid.c, libmisc/find_new_uid.c, libmisc/getlong.c,
 
1592
        libmisc/getrange.c, libmisc/xgetXXbyYY.c, and libmisc/yesno.c.
 
1593
        Removed libmisc/find_new_ids.c
 
1594
 
 
1595
2008-06-16  Nicolas François  <nicolas.francois@centraliens.net>
 
1596
 
 
1597
        * src/useradd.c: If the faillog file exist, warn in case of
 
1598
        failure when open(), lssek(), write() or close() fails when the
 
1599
        new user's faillog entry is reset.
 
1600
        * src/useradd.c: Ditto for the lastlog entry.
 
1601
 
 
1602
2008-06-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1603
 
 
1604
        * libmisc/limits.c: Add brackets and parenthesis.
 
1605
        * libmisc/limits.c: Avoid implicit conversion of pointers /
 
1606
        integers to booleans.
 
1607
        * libmisc/limits.c: Ignore the return value of umask(). We will
 
1608
        never return to the original umask.
 
1609
        * libmisc/limits.c: Avoid multi-statements lines.
 
1610
        * libmisc/limits.c: Added default to a switch(). Report invalid
 
1611
        limit strings to syslog.
 
1612
        * libmisc/limits.c: Ignore the return value of fclose().
 
1613
        /etc/limits is open read-only.
 
1614
        * libmisc/limits.c: Ignore the return value of fputs() and
 
1615
        sleep().
 
1616
        * libmisc/limits.c: Check the return value of nice() and
 
1617
        set_filesize_limit(), and report errors to syslog.
 
1618
 
 
1619
2008-06-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1620
 
 
1621
        * libmisc/ulimit.c, lib/prototypes.h: Return failures of
 
1622
        set_filesize_limit(). Change the prototype to return an int
 
1623
        instead of void.
 
1624
 
 
1625
2008-06-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1626
 
 
1627
        * libmisc/failure.c: Try to close the open file if a failure
 
1628
        occured during lseek(), read() or write().
 
1629
 
 
1630
2008-06-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1631
 
 
1632
        * libmisc/log.c: Check return values. If lseek() failed, avoid
 
1633
        reading or writing at an unspecified location. Log to syslog in
 
1634
        case of failure.
 
1635
        * libmisc/log.c: Use the right casts.
 
1636
 
 
1637
2008-06-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1638
 
 
1639
        * libmisc/find_new_ids.c, libmisc/find_new_gid.c,
 
1640
        libmisc/find_new_uid.c, libmisc/Makefile.am, lib/prototypes.h:
 
1641
        Split find_new_ids.c into find_new_gid.c and find_new_uid.c to
 
1642
        ease the description of login.defs variables in the different
 
1643
        tools.
 
1644
 
 
1645
2008-06-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1646
 
 
1647
        * libmisc/failure.c: Ignore the return value of strftime() and
 
1648
        printf().
 
1649
        * libmisc/failure.c: Fix syslog call. The UID is not available.
 
1650
        User the username specified in the utmp/utmpx entry.
 
1651
 
 
1652
2008-06-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1653
 
 
1654
        * lib/defines.h: Avoid implicit conversion of pointers to
 
1655
        booleans.
 
1656
        * lib/defines.h: Ignore return values of setlocale() except the
 
1657
        first call.
 
1658
        * lib/defines.h: Fix a splint observer warning by using an
 
1659
        intermediate variable (old_locale).
 
1660
 
 
1661
2008-06-15  Nicolas François  <nicolas.francois@centraliens.net>
 
1662
 
 
1663
        * libmisc/failure.c: Check return values. If lseek() failed, avoid
 
1664
        reading or writing at an unspecified location. Log to syslog in
 
1665
        case of failure when reading a faillog entry or writing in
 
1666
        faillog or btmp.
 
1667
        * libmisc/failure.c: Check if the file exist before opening it.
 
1668
        * libmisc/failure.c: Log failures of open() and close() when
 
1669
        necessary.
 
1670
 
 
1671
2008-06-14  Nicolas François  <nicolas.francois@centraliens.net>
 
1672
 
 
1673
        * lib/prototypes.h: Add the getrange() prototype.
 
1674
        * lib/prototypes.h: Fix the valid_field() prototype (does not
 
1675
        return an bool).
 
1676
        * lib/prototypes.h: Fix the valid() prototype (it does return a
 
1677
        bool).
 
1678
 
 
1679
2008-06-14  Nicolas François  <nicolas.francois@centraliens.net>
 
1680
 
 
1681
        * lib/getdef.c: Fix the getdef_ulong() prototype.
 
1682
        * lib/getdef.h: Fix the getdef_ulong() prototype.
 
1683
 
 
1684
2008-06-14  Nicolas François  <nicolas.francois@centraliens.net>
 
1685
 
 
1686
        * src/lastlog.c: Use getrange to parse the range of users.
 
1687
        * src/lastlog.c: umin and umax do not need to be signed long. Use
 
1688
        an unsigned long which might be needed to parse a GID or UID. Add
 
1689
        the has_umin and has_umax to replace the -1 values.
 
1690
        * src/lastlog.c: Cast dates to time_t.
 
1691
        * src/lastlog.c: Prefix lastlog errors with "lastlog: ".
 
1692
 
 
1693
2008-06-14  Nicolas François  <nicolas.francois@centraliens.net>
 
1694
 
 
1695
        * libmisc/getlong.c: Reset errno before calling strtol().
 
1696
        Otherwise, errno could be already set to ERANGE.
 
1697
 
 
1698
2008-06-14  Nicolas François  <nicolas.francois@centraliens.net>
 
1699
 
 
1700
        * libmisc/Makefile.am, libmisc/getrange.c: Added function to parse
 
1701
        a range (useful for lastlog).
 
1702
 
 
1703
2008-06-14  Nicolas François  <nicolas.francois@centraliens.net>
 
1704
 
 
1705
        * src/chsh.c: <signal.h> is not needed.
 
1706
 
 
1707
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1708
 
 
1709
        * lib/prototypes.h: Define AUDIT_NO_ID to (unsigned int) -1. This
 
1710
        value should be used when the ID should not be considered.
 
1711
        * lib/prototypes.h: Fix the prototype of do_rlogin() according to
 
1712
        earlier changes.
 
1713
 
 
1714
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1715
 
 
1716
        * lib/shadow.c: Use SHADOW_SP_FLAG_UNSET for the initial
 
1717
        value of spwd.sp_flag.
 
1718
        * lib/shadow.c: Add brackets.
 
1719
        * lib/shadow.c: Avoid implicit conversion of pointers to
 
1720
        booleans.
 
1721
        * lib/shadow.c: The size argument of fgets is an int, not a
 
1722
        size_t.
 
1723
 
 
1724
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1725
 
 
1726
        * lib/commonio.c: len should be typed ssize_t as it is the return
 
1727
        of read(), and is compared to 0. Cast to size_t when necessary.
 
1728
 
 
1729
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1730
 
 
1731
        * libmisc/find_new_ids.c: Use getdef_ulong to retrieve UIDs/GIDs
 
1732
        from login.defs. Type constants to long integers.
 
1733
 
 
1734
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1735
 
 
1736
        * lib/gshadow.c: Use a bool when possible instead of int integers.
 
1737
        * lib/gshadow.c: Remove __setsgNIS() -never used).
 
1738
        * lib/gshadow.c: Avoid multi-statements lines.
 
1739
        * lib/gshadow.c: Avoid assignments in comparisons.
 
1740
        * lib/gshadow.c: ptr[nelem] is a string. Initialize it to NULL
 
1741
        instead of '\0'.
 
1742
        * lib/gshadow.c: Add brackets and parenthesis.
 
1743
        * lib/gshadow.c: The size argument of strncpy is a size_t and the
 
1744
        size argument of fgets is an int.
 
1745
 
 
1746
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1747
 
 
1748
        * lib/groupio.c: Add brackets.
 
1749
        * lib/groupio.c: Make sure malloc receives a size_t.
 
1750
        * lib/groupio.c: Avoid multi-statements lines.
 
1751
 
 
1752
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1753
 
 
1754
        * lib/sgetspent.c: Use SHADOW_SP_FLAG_UNSET for the initial
 
1755
        value of spwd.sp_flag.
 
1756
 
 
1757
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1758
 
 
1759
        * lib/getdef.h, lib/getdef.c: Add getdef_ulong().
 
1760
        * lib/getdef.c: Added TODOs because of lack of error checking.
 
1761
        * lib/getdef.c: The size argument of fgets is an int, not a
 
1762
        size_t.
 
1763
        * lib/getdef.c: Avoid multi-statements lines.
 
1764
 
 
1765
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1766
 
 
1767
        * src/id.c: Make sure malloc receives a size_t.
 
1768
        * src/id.c: Use a %lu format and cast group and user IDs to
 
1769
        unsigned long integers.
 
1770
 
 
1771
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1772
 
 
1773
        * src/sulogin.c: Ignore the return value of signal().
 
1774
 
 
1775
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1776
 
 
1777
        * src/groups.c: sys_ngroups is only used when HAVE_GETGROUPS is
 
1778
        defined.
 
1779
 
 
1780
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1781
 
 
1782
        * src/faillog.c: Ignore return value of time() when use with a
 
1783
        non NULL argument.
 
1784
        * src/faillog.c: Use a %lu format and cast number of days to
 
1785
        unsigned long integers.
 
1786
        * src/faillog.c: Cast dates to time_t.
 
1787
 
 
1788
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1789
 
 
1790
        * src/login.c: Ignore the return value of signal().
 
1791
        * src/login.c: Use a %lu format and cast group and user IDs to
 
1792
        unsigned long integers.
 
1793
        * src/login.c: Ignore return value of setlocale(),
 
1794
        bindtextdomain(), and textdomain().
 
1795
 
 
1796
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1797
 
 
1798
        * src/chage.c: Add the arguments' names in the functions
 
1799
        prototypes.
 
1800
        * src/chage.c: The ID argument of audit_logger is an unsigned
 
1801
        int. Use AUDIT_NO_ID instead of -1.
 
1802
        * src/chage.c: print_date() received a time_t.
 
1803
        * src/chage.c: Use SHADOW_SP_FLAG_UNSET for the initial
 
1804
        value of spwent.sp_flag.
 
1805
 
 
1806
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1807
 
 
1808
        * src/groupadd.c: The ID argument of audit_logger is an unsigned
 
1809
        int. Use AUDIT_NO_ID instead of -1.
 
1810
        * src/groupadd.c: Cast the parsed GID/UID to a gid_t/uid_t.
 
1811
 
 
1812
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1813
 
 
1814
        * src/pwck.c: Use a %lu format and cast group and user IDs to
 
1815
        unsigned long integers.
 
1816
        * src/pwck.c: Cast number of days to a long integer.
 
1817
        * src/pwck.c: Use the SCALE macro instead of (24L * 3600L)
 
1818
        for the values to be set in /etc/shadow.
 
1819
        * src/pwck.c: Use SHADOW_SP_FLAG_UNSET for the initial
 
1820
        value of spent.sp_flag.
 
1821
 
 
1822
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1823
 
 
1824
        * src/passwd.c: Ignore return value of time() when use with a
 
1825
        non NULL argument.
 
1826
        * src/passwd.c: Cast number of days to a long integer.
 
1827
 
 
1828
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1829
 
 
1830
        * src/groupmod.c: The ID argument of audit_logger is an unsigned
 
1831
        int. Use AUDIT_NO_ID instead of -1.
 
1832
        * src/groupmod.c:  Use a %lu format and cast group and user IDs to
 
1833
        unsigned long integers.
 
1834
        * src/groupmod.c: Cast the parsed GID/UID to a gid_t/uid_t.
 
1835
 
 
1836
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1837
 
 
1838
        * src/useradd.c: The ID argument of audit_logger is an unsigned
 
1839
        int. Use AUDIT_NO_ID instead of -1.
 
1840
        * src/useradd.c: Cast the parsed GID/UID to a gid_t/uid_t.
 
1841
        * src/useradd.c: The size argument of fgets is an int, not a
 
1842
        size_t.
 
1843
        * src/useradd.c: Cast number of days to a long integer.
 
1844
        * src/useradd.c: Use SHADOW_SP_FLAG_UNSET for the initial
 
1845
        value of spent.sp_flag.
 
1846
        * src/useradd.c: Use a %lu format and cast group and user IDs to
 
1847
        unsigned long integers.
 
1848
 
 
1849
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1850
 
 
1851
        * src/su.c: fork() and waitpid() return a pid_t, not an int.
 
1852
        * src/su.c: Add brackets and parenthesis.
 
1853
        * src/su.c: Ignore the return value of signal().
 
1854
 
 
1855
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1856
 
 
1857
        * src/groupdel.c: The ID argument of audit_logger is an unsigned
 
1858
        int. Use AUDIT_NO_ID instead of -1.
 
1859
 
 
1860
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1861
 
 
1862
        * src/expiry.c: Ignore the return value of signal().
 
1863
 
 
1864
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1865
 
 
1866
        * src/newusers.c: Fix the check for GID/UID validity.
 
1867
        * src/newusers.c: Comment why we use both getgrgid() and
 
1868
        gr_locate_gid().
 
1869
        * src/newusers.c: Cast the parsed GID/UID to a gid_t/uid_t.
 
1870
        * src/newusers.c: Cast the number of days to a long integer.
 
1871
        * src/newusers.c: Use SHADOW_SP_FLAG_UNSET for the initial
 
1872
        value of spent.sp_flag.
 
1873
        * src/newusers.c: The size argument of fgets is an int, not a
 
1874
        size_t.
 
1875
 
 
1876
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1877
 
 
1878
        * src/usermod.c: Cast dates to time_t, and number of days to a
 
1879
        long integer.
 
1880
        * src/usermod.c: Cast UIDs and GIDs to uid_t and gid_t after
 
1881
        checking the ranges.
 
1882
        * src/usermod.c: The ID argument of audit_logger is an unsigned
 
1883
        int.
 
1884
        * src/usermod.c: read() returns a ssize_t.
 
1885
        * src/usermod.c: Cast the return value of malloc and make sure it
 
1886
        receives a size_t.
 
1887
 
 
1888
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1889
 
 
1890
        * src/logoutd.c: Ignore return value of time() when use with a
 
1891
        non NULL argument.
 
1892
 
 
1893
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1894
 
 
1895
        * src/pwconv.c: Use SHADOW_SP_FLAG_UNSET for the initial
 
1896
        value of sp.sp_flag.
 
1897
        * src/pwconv.c: Cast number of days to a long integer.
 
1898
 
 
1899
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1900
 
 
1901
        * src/gpasswd.c: The ID argument of audit_logger is an unsigned
 
1902
        int.
 
1903
        * src/gpasswd.c: Ignore the return value of signal(). The signal
 
1904
        handlers are only changed for the last steps of gpasswd, and there
 
1905
        is no need to restore them.
 
1906
 
 
1907
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1908
 
 
1909
        * src/userdel.c: The ID argument of audit_logger is an unsigned
 
1910
        int.
 
1911
        * src/userdel.c: fork() and wait() return a pid_t, not an int.
 
1912
 
 
1913
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1914
 
 
1915
        * src/newgrp.c: Use a %lu format and cast group and user IDs to
 
1916
        unsigned long integers.
 
1917
        * src/newgrp.c: The ID argument of audit_logger is an unsigned
 
1918
        int.
 
1919
        * src/newgrp.c: Ignore the return value of signal() (the signal
 
1920
        handlers are assumed to be the default one and are restored
 
1921
        later).
 
1922
        * src/newgrp.c: Do not checl if a pid_t is < 0, check if equal
 
1923
        to (pid_t)-1.
 
1924
 
 
1925
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1926
 
 
1927
        * libmisc/isexpired.c: Cast number of days to a long integer.
 
1928
        * libmisc/isexpired.c: Add brackets and parenthesis.
 
1929
 
 
1930
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1931
 
 
1932
        * libmisc/copydir.c: Do not specify a size of arrays in the
 
1933
        prototypes.
 
1934
        * libmisc/copydir.c: Use a size_t for the length of strings.
 
1935
        * libmisc/copydir.c: Cast the return value of malloc().
 
1936
        * libmisc/copydir.c: The size argument of write() is a size_t.
 
1937
 
 
1938
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1939
 
 
1940
        * libmisc/pwd2spwd.c: Cast number of days to a long integer.
 
1941
        * libmisc/pwd2spwd.c: Use SHADOW_SP_FLAG_UNSET for the initial
 
1942
        value of sp.sp_flag.
 
1943
 
 
1944
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1945
 
 
1946
        * lib/defines.h: Include <config.h> since it uses the macro that
 
1947
        might be defined in this header file.
 
1948
        * lib/defines.h: Prefer checking if HAVE_LOCALE_H or ENABLE_NLS
 
1949
        are defined (rather than set to non 0).
 
1950
        * lib/defines.h: The dummy implementations of bindtextdomain() and
 
1951
        textdomain() should return a pointer. Return NULL instead of
 
1952
        /* empty */
 
1953
        * lib/defines.h: Define SHADOW_SP_FLAG_UNSET, to be used for the
 
1954
        initialization of sp_flag field of the shadow structures.
 
1955
        * lib/defines.h: Define LC_ALL, needed even if HAVE_LOCALE_H is
 
1956
        not defined.
 
1957
 
 
1958
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1959
 
 
1960
        * libmisc/sulog.c: Ignore the return value of umask() when the
 
1961
        mask is restored.
 
1962
        * libmisc/sulog.c: Add brackets.
 
1963
        * libmisc/sulog.c: Ignore return value of time() when use with a
 
1964
        non NULL argument.
 
1965
 
 
1966
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1967
 
 
1968
        * libmisc/log.c: Avoid assignments in comparisons.
 
1969
        * libmisc/log.c: Add brackets and parenthesis.
 
1970
        * libmisc/log.c: read() returns a ssize_t (note size_t).
 
1971
        * libmisc/log.c: Avoid implicit conversion of pointers to
 
1972
        booleans.
 
1973
        * libmisc/log.c: Ignore return value of time() when use with a
 
1974
        non NULL argument.
 
1975
 
 
1976
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1977
 
 
1978
        * libmisc/strtoday.c: Avoid implicit conversion of pointers to
 
1979
        booleans.
 
1980
        * libmisc/strtoday.c: Add brackets and parenthesis.
 
1981
 
 
1982
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1983
 
 
1984
        * libmisc/salt.c: Use a size_t for the size of strings instead of
 
1985
        unsigned int.
 
1986
        * libmisc/salt.c: Add brackets and parenthesis.
 
1987
        * libmisc/salt.c: Avoid assignments in comparisons.
 
1988
 
 
1989
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
1990
 
 
1991
        * libmisc/age.c: fork() and wait() return a pid_t, not an int.
 
1992
        * libmisc/age.c: Avoid implicit conversion of pointers to
 
1993
        booleans.
 
1994
        * libmisc/age.c: Avoid assignments in comparisons.
 
1995
        * libmisc/age.c: Ignore the return value of printf(), puts(),
 
1996
        fputs() and fflush().
 
1997
        * libmisc/age.c: Add brackets and parenthesis.
 
1998
        * libmisc/age.c: Cast the return value of time() to long and
 
1999
        converted to a date.
 
2000
 
 
2001
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
2002
 
 
2003
        * libmisc/rlogin.c: The size argument of read() is a size_t.
 
2004
        Propagate this time to the callers (the get_remote_string() and
 
2005
        do_rlogin() functions).
 
2006
        * libmisc/rlogin.c: Add brackets and parenthesis.
 
2007
        * libmisc/rlogin.c: Avoid multi-statements lines.
 
2008
        * libmisc/rlogin.c: Avoid assignments in comparisons.
 
2009
        * libmisc/rlogin.c: Avoid implicit conversion of pointers to
 
2010
        booleans.
 
2011
 
 
2012
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
2013
 
 
2014
        * libmisc/failure.c: Avoid assignments in comparisons.
 
2015
        * libmisc/failure.c: read() returns a ssize_t.
 
2016
        * libmisc/failure.c: Add brackets and parenthesis.
 
2017
        * libmisc/failure.c: Ignore return value of time() when use with a
 
2018
        non NULL argument.
 
2019
 
 
2020
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
2021
 
 
2022
        * libmisc/chowntty.c: Avoid assignments in comparisons.
 
2023
        * libmisc/chowntty.c: Avoid implicit conversion of pointers to
 
2024
        booleans.
 
2025
        * libmisc/chowntty.c: Add brackets and parenthesis.
 
2026
 
 
2027
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
2028
 
 
2029
        * libmisc/audit_help.c: Add brackets.
 
2030
 
 
2031
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
2032
 
 
2033
        * libmisc/addgrps.c: Avoid implicit conversion of pointers to
 
2034
        booleans.
 
2035
        * libmisc/addgrps.c: Add brackets.
 
2036
 
 
2037
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
2038
 
 
2039
        * libmisc/utmp.c: Avoid implicit conversion of pointers to
 
2040
        booleans.
 
2041
 
 
2042
2008-06-13  Nicolas François  <nicolas.francois@centraliens.net>
 
2043
 
 
2044
        * libmisc/console.c, libmisc/hushed.c, libmisc/yesno.c,
 
2045
        libmisc/loginprompt.c, libmisc/ttytype.c, libmisc/tz.c,
 
2046
        src/login_nopam.c, src/chpasswd.c, src/chgpasswd.c, lib/port.c:
 
2047
        The size argument of fgets is an int, not a size_t.
 
2048
        * libmisc/loginprompt.c: Ignore the return value from signal()
 
2049
        when the signal handlers are restored.
 
2050
        * src/chpasswd.c: Cast the return value of time() to a long
 
2051
        integer.
 
2052
        * src/chpasswd.c: Use the SCALE macro instead of (24L * 3600L)
 
2053
        for the values to be set in /etc/shadow.
 
2054
 
 
2055
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2056
 
 
2057
        * src/pwck.c: Use a bool when possible instead of int integers.
 
2058
        * src/pwck.c: Avoid implicit conversion of integers to booleans.
 
2059
 
 
2060
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2061
 
 
2062
        * src/su.c: Use a bool when possible instead of int integers.
 
2063
        * src/su.c: Add brackets and parenthesis.
 
2064
        * src/su.c: Avoid implicit conversion of pointers / integers
 
2065
        / chars to booleans.
 
2066
        * src/su.c: Ignore the return value of pam_end() before
 
2067
        exiting.
 
2068
        * src/su.c: Avoid assignments in comparisons.
 
2069
        * src/su.c: Avoid multi-statements lines.
 
2070
 
 
2071
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2072
 
 
2073
        * lib/prototypes.h, libmisc/valid.c: Change the prototype of
 
2074
        valid() to return a bool.
 
2075
        * libmisc/valid.c: Add parenthesis.
 
2076
 
 
2077
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2078
 
 
2079
        * lib/commonio.c: Add brackets and parenthesis.
 
2080
        * lib/commonio.c: Check the result of fgets().
 
2081
        * lib/commonio.c: Avoid implicit conversion of pointers to
 
2082
        booleans.
 
2083
 
 
2084
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2085
 
 
2086
        * lib/prototypes.h: Fix the prototypes to match earlier changes.
 
2087
 
 
2088
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2089
 
 
2090
        * lib/nscd.c: Include defines.h.
 
2091
        * lib/nscd.c: Always warn when the nscd cache cannot be flushed.
 
2092
        * lib/nscd.c: Avoid assignments in comparisons.
 
2093
        * lib/nscd.c: Ignore the return value of fputs() when printing
 
2094
        errors.
 
2095
 
 
2096
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2097
 
 
2098
        * lib/port.c: Add brackets and parenthesis.
 
2099
        * lib/port.c: Change isttytime() prototype to return a bool.
 
2100
        * lib/port.c: Ignore the return value of fclose () (file open
 
2101
        read-only).
 
2102
        * lib/port.c: Avoid multi-statements lines.
 
2103
 
 
2104
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2105
 
 
2106
        * src/id.c: Ignore the return value of fputs(), puts(), putchar(),
 
2107
        and printf().
 
2108
        * src/id.c: Ignore return value of setlocale(),
 
2109
        bindtextdomain(), and textdomain().
 
2110
        * src/id.c: Add brackets and parenthesis.
 
2111
        * src/id.c: Avoid implicit conversion of pointers / integers
 
2112
        to booleans.
 
2113
 
 
2114
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2115
 
 
2116
        * src/chsh.c: Use a bool when possible instead of int integers.
 
2117
        * src/chsh.c: restricted_shell() renamed is_restricted_shell().
 
2118
        check_shell() renamed shell_is_listed().
 
2119
        * src/chsh.c: Ignore return value of setlocale(),
 
2120
        bindtextdomain(), and textdomain().
 
2121
        * src/chsh.c: Avoid implicit conversion of pointers / integers
 
2122
        to booleans.
 
2123
        * src/chsh.c: Ignore the return value of pam_end() before
 
2124
        exiting.
 
2125
 
 
2126
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2127
 
 
2128
        * src/grpunconv.c: Use a bool when possible instead of int
 
2129
        integers.
 
2130
        * src/grpunconv.c: Add brackets and parenthesis.
 
2131
        * src/grpunconv.c: Ignore return value of setlocale(),
 
2132
        bindtextdomain(), and textdomain().
 
2133
        * src/grpunconv.c: Avoid implicit conversion of pointers / integers
 
2134
        to booleans.
 
2135
 
 
2136
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2137
 
 
2138
        * src/sulogin.c: Ignore return value of setlocale(),
 
2139
        bindtextdomain(), and textdomain().
 
2140
        * src/sulogin.c: Avoid implicit conversion of pointers / integers
 
2141
        / chars to booleans.
 
2142
        * src/sulogin.c: Avoid assignments in comparisons.
 
2143
        * src/sulogin.c: Ignore the return value of alarm().
 
2144
 
 
2145
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2146
 
 
2147
        * src/groups.c: Use a bool when possible instead of int integers.
 
2148
        * src/groups.c: Add brackets and parenthesis.
 
2149
        * src/groups.c: Avoid implicit conversion of pointers / integers
 
2150
        to booleans.
 
2151
        * src/groups.c: Avoid assignments in comparisons.
 
2152
        * src/groups.c: Ignore the return value of putchar(), printf()
 
2153
        * src/groups.c: Ignore return value of setlocale(),
 
2154
        bindtextdomain(), and textdomain().
 
2155
 
 
2156
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2157
 
 
2158
        * src/grpconv.c: Use a bool when possible instead of int integers.
 
2159
        * src/grpconv.c: Add brackets and parenthesis.
 
2160
        * src/grpconv.c: Ignore return value of setlocale(),
 
2161
        bindtextdomain(), and textdomain().
 
2162
        * src/grpconv.c: Avoid implicit conversion of pointers / integers
 
2163
        to booleans.
 
2164
 
 
2165
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2166
 
 
2167
        * src/faillog.c: Use a bool when possible instead of int integers.
 
2168
        * src/faillog.c: Avoid implicit conversion of pointers / integers
 
2169
        / chars to booleans.
 
2170
        * src/faillog.c: Ignore return value of setlocale(),
 
2171
        bindtextdomain(), and textdomain().
 
2172
        * src/faillog.c: Add brackets and parenthesis.
 
2173
 
 
2174
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2175
 
 
2176
        * src/login.c: Avoid multi-statements lines.
 
2177
        * src/login.c: Ignore the return value of pam_end() before
 
2178
        exiting.
 
2179
        * src/login.c: Use a bool when possible instead of int integers.
 
2180
        * src/login.c: Add brackets and parenthesis.
 
2181
        * src/login.c: Ignore the return values of fflush(), putchar(), puts().
 
2182
        * src/login.c: Ignore the return value of fclose() for read-only
 
2183
        files.
 
2184
        * src/login.c: Avoid assignments in comparisons.
 
2185
        * src/login.c: Ignore return value of setlocale(),
 
2186
        bindtextdomain(), and textdomain().
 
2187
        * src/login.c: Avoid implicit conversion of pointers / integers
 
2188
        / chars to booleans.
 
2189
 
 
2190
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2191
 
 
2192
        * src/chage.c: Use a bool when possible instead of int integers.
 
2193
        * src/chage.c: Ignore return value of setlocale(),
 
2194
        bindtextdomain(), and textdomain().
 
2195
 
 
2196
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2197
 
 
2198
        * src/groupadd.c: Use a bool when possible instead of int
 
2199
        integers.
 
2200
        * src/groupadd.c: Add brackets and parenthesis.
 
2201
        * src/groupadd.c: Avoid implicit conversion of pointers / integers
 
2202
        / chars to booleans.
 
2203
        * src/groupadd.c: Ignore return value of setlocale(),
 
2204
        bindtextdomain(), and textdomain().
 
2205
        * src/groupadd.c: Ignore the return value of pam_end() before
 
2206
        exiting.
 
2207
 
 
2208
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2209
 
 
2210
        * src/pwck.c: Use a bool when possible instead of int integers.
 
2211
        * src/pwck.c: Ignore return value of setlocale(),
 
2212
        bindtextdomain(), and textdomain().
 
2213
 
 
2214
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2215
 
 
2216
        * src/passwd.c: Use a bool when possible instead of int integers.
 
2217
        * src/passwd.c: Avoid assignments in comparisons.
 
2218
        * src/passwd.c: Add brackets and parenthesis.
 
2219
        * src/passwd.c: Avoid implicit conversion of pointers / integers /
 
2220
        chars to booleans.
 
2221
        * src/passwd.c: Move the "context_t c" declaration at the
 
2222
        beginning check_selinux_access.
 
2223
        * src/passwd.c: Ignore return value of setlocale(),
 
2224
        bindtextdomain(), and textdomain().
 
2225
 
 
2226
2008-06-10  Nicolas François  <nicolas.francois@centraliens.net>
 
2227
 
 
2228
        * src/groupmod.c: Use a bool when possible instead of int
 
2229
        integers.
 
2230
        * src/groupmod.c: Avoid assignments in comparisons.
 
2231
        * src/groupmod.c: Add brackets and parenthesis.
 
2232
        * src/groupmod.c: Avoid implicit conversion of pointers / integers
 
2233
        / chars to booleans.
 
2234
        * src/groupmod.c: Use a %lu format to print GIDs, and cast the GID
 
2235
        to (unsigned long int).
 
2236
        * src/groupmod.c: Ignore return value of setlocale(),
 
2237
        bindtextdomain(), and textdomain().
 
2238
        * src/groupmod.c: Ignore the return value of pam_end() before
 
2239
        exiting.
 
2240
 
 
2241
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2242
 
 
2243
        * src/su.c: Ignore return value of setlocale(),
 
2244
        bindtextdomain(), and textdomain().
 
2245
 
 
2246
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2247
 
 
2248
        * src/useradd.c: Use a bool when possible instead of int integers.
 
2249
        * src/useradd.c: Avoid implicit conversion of pointers / integers
 
2250
        / chars to booleans.
 
2251
        * src/useradd.c: Add brackets and parenthesis.
 
2252
        * src/useradd.c: Avoid assignments in comparisons.
 
2253
        * src/useradd.c: Ignore the return value of fclose() for read-only
 
2254
        files.
 
2255
        * src/useradd.c: Ignore the return value of fflush() before
 
2256
        closing the files.
 
2257
        * src/useradd.c: Avoid multi-statements lines.
 
2258
        * src/useradd.c: Ignore return value of setlocale(),
 
2259
        bindtextdomain(), and textdomain().
 
2260
        * src/useradd.c: Ignore the return value of pam_end() before
 
2261
        exiting.
 
2262
 
 
2263
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2264
 
 
2265
        * src/vipw.c: Use a bool when possible instead of int integers.
 
2266
        * src/vipw.c: Ignore the return value of umask(), when the mask is
 
2267
        set again to the old value.
 
2268
        * src/vipw.c: Avoid implicit conversion of pointers / integers to
 
2269
        booleans.
 
2270
        * src/vipw.c: Add brackets and parenthesis.
 
2271
        * src/vipw.c: Avoid assignments in comparisons.
 
2272
        * src/vipw.c: Ignore return value of setlocale(),
 
2273
        bindtextdomain(), and textdomain().
 
2274
        * src/vipw.c: Add missing termination of the longopts parameter
 
2275
        for getopt_long().
 
2276
 
 
2277
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2278
 
 
2279
        * src/chgpasswd.c: Use a bool when possible instead of int
 
2280
        integers.
 
2281
        * src/chgpasswd.c: Ignore return value of setlocale(),
 
2282
        bindtextdomain(), and textdomain().
 
2283
        * src/chgpasswd.c: Avoid implicit conversion of integers to
 
2284
        booleans.
 
2285
 
 
2286
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2287
 
 
2288
        * src/groupdel.c: Use a bool when possible instead of int
 
2289
        integers.
 
2290
        * src/groupdel.c: Avoid implicit conversion of pointers / integers to
 
2291
        booleans.
 
2292
        * src/groupdel.c: Avoid assignments in comparisons.
 
2293
        * src/groupdel.c: Ignore the return value of pam_end() before
 
2294
        exiting.
 
2295
        * src/groupdel.c: Ignore return value of setlocale(),
 
2296
        bindtextdomain(), and textdomain().
 
2297
 
 
2298
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2299
 
 
2300
        * src/expiry.c: Ignore return value of setlocale(),
 
2301
        bindtextdomain(), and textdomain().
 
2302
        * src/expiry.c: Add brackets and parenthesis.
 
2303
        * src/expiry.c: Avoid assignments in comparisons.
 
2304
        * src/expiry.c: Avoid implicit conversion of pointers to booleans.
 
2305
 
 
2306
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2307
 
 
2308
        * src/pwunconv.c: Use a bool when possible instead of int
 
2309
        integers.
 
2310
        * src/pwunconv.c: Add brackets and parenthesis.
 
2311
        * src/pwunconv.c: Ignore return value of setlocale(),
 
2312
        bindtextdomain(), and textdomain().
 
2313
        * src/pwunconv.c: Avoid implicit conversion of pointers / integers
 
2314
        / chars to booleans.
 
2315
        * src/pwunconv.c: Avoid assignments in comparisons.
 
2316
 
 
2317
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2318
 
 
2319
        * src/usermod.c: Use a bool when possible instead of int integers.
 
2320
        * src/usermod.c: Add brackets and parenthesis.
 
2321
        * src/usermod.c: Avoid implicit conversion of pointers / integers
 
2322
        / chars to booleans.
 
2323
        * src/usermod.c: Avoid assignments in comparisons.
 
2324
        * src/usermod.c: Ignore return value of setlocale(),
 
2325
        bindtextdomain(), and textdomain().
 
2326
        * src/usermod.c: Ignore the return value of pam_end() before
 
2327
        exiting.
 
2328
 
 
2329
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2330
 
 
2331
        * src/groupmems.c: Move the declaration of option_index and
 
2332
        long_options before the blocks of code.
 
2333
        * src/groupmems.c: Ignore return value of setlocale(),
 
2334
        bindtextdomain(), and textdomain().
 
2335
        * src/groupmems.c: Ignore the return value of pam_end() before
 
2336
        exiting.
 
2337
 
 
2338
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2339
 
 
2340
        * src/chfn.c: Use a bool when possible instead of int integers.
 
2341
        * src/chfn.c: Avoid implicit conversion of integers / chars to
 
2342
        booleans.
 
2343
        * src/chfn.c: Ignore return value of setlocale(),
 
2344
        bindtextdomain(), and textdomain().
 
2345
 
 
2346
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2347
 
 
2348
        * src/logoutd.c: Use a bool when possible instead of int integers.
 
2349
        * src/logoutd.c: Avoid implicit conversion of pointers / integers
 
2350
        / chars to booleans.
 
2351
        * src/logoutd.c: Ignore return value of setlocale(),
 
2352
        bindtextdomain(), and textdomain().
 
2353
        * src/logoutd.c: Add brackets and parenthesis.
 
2354
 
 
2355
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2356
 
 
2357
        * src/chpasswd.c: Use a bool when possible instead of int
 
2358
        integers.
 
2359
        * src/chpasswd.c: Avoid implicit conversion of pointers / integers
 
2360
        / chars to booleans.
 
2361
        * src/chpasswd.c: Ignore return value of setlocale(),
 
2362
        bindtextdomain(), and textdomain().
 
2363
 
 
2364
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2365
 
 
2366
        * src/pwconv.c: Use a bool when possible instead of int integers.
 
2367
        * src/pwconv.c: Add brackets and parenthesis.
 
2368
        * src/pwconv.c: Ignore return value of setlocale(),
 
2369
        bindtextdomain(), and textdomain().
 
2370
        * src/pwconv.c: Avoid implicit conversion of pointers / integers /
 
2371
        chars to booleans.
 
2372
 
 
2373
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2374
 
 
2375
        * NEWS, src/newusers.c: Implement the -r, --system option.
 
2376
        * src/newusers.c: Use a bool when possible instead of int
 
2377
        integers.
 
2378
        * src/newusers.c: Avoid implicit conversion of pointers / integers
 
2379
        / chars to booleans.
 
2380
        * src/newusers.c: Ignore the return value of pam_end() before
 
2381
        exiting.
 
2382
        * src/newusers.c: Ignore return value of setlocale(),
 
2383
        bindtextdomain(), and textdomain().
 
2384
        * src/newusers.c: Avoid multi-statements lines.
 
2385
        * src/newusers.c: Add brackets and parenthesis.
 
2386
 
 
2387
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2388
 
 
2389
        * src/gpasswd.c: Use a bool when possible instead of int integers.
 
2390
        * src/gpasswd.c: Avoid implicit conversion of pointers / integers
 
2391
        / chars to booleans.
 
2392
        * src/gpasswd.c: Ignore the return value of putchar() and fflush()
 
2393
        before exiting.
 
2394
        * src/gpasswd.c: check_list() renamed is_valid_user_list(), and
 
2395
        return a bool.
 
2396
        * src/gpasswd.c: Ignore return value of setlocale(),
 
2397
        bindtextdomain(), and textdomain().
 
2398
 
 
2399
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2400
 
 
2401
        * src/grpck.c: Use a bool when possible instead of int integers.
 
2402
        * src/grpck.c: Ignore return value of setlocale(),
 
2403
        bindtextdomain(), and textdomain().
 
2404
 
 
2405
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2406
 
 
2407
        * src/lastlog.c: Use a bool when possible instead of int integers.
 
2408
        * src/lastlog.c: Avoid implicit conversion of pointers / integers
 
2409
        / chars to booleans.
 
2410
        * src/lastlog.c: Add brackets and parenthesis.
 
2411
        * src/lastlog.c: Ignore return value of setlocale(),
 
2412
        bindtextdomain(), and textdomain().
 
2413
 
 
2414
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2415
 
 
2416
        * src/userdel.c: Use a bool for the is_shadow_pwd, is_shadow_grp,
 
2417
        deleted_user_group, was_member, was_admin, and the
 
2418
        options' flags.
 
2419
        * src/userdel.c: Change path_prefix() prototype to return a bool.
 
2420
        * src/userdel.c: Ignore return value of setlocale(),
 
2421
        bindtextdomain(), and textdomain().
 
2422
        * src/userdel.c: Ignore the return value from pam_end() since we
 
2423
        are exiting anyway just afterwards.
 
2424
        * src/userdel.c: Avoid implicit conversion of pointers /
 
2425
        integers / chars to booleans.
 
2426
        * src/userdel.c: Add brackets and parenthesis.
 
2427
        * src/userdel.c: Avoid assignments in comparisons.
 
2428
        * src/userdel.c: Do not ignore the return value of the *_unlock()
 
2429
        functions.
 
2430
 
 
2431
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2432
 
 
2433
        * src/login_nopam.c: Do not use the YES and NO macros. Use the
 
2434
        booleans true and false instead. Change the prototypes of
 
2435
        list_match(), user_match(), from_match(), and string_match()
 
2436
        accordingly. Also use booleans internally.
 
2437
        * src/login_nopam.c: Add brackets and parenthesis.
 
2438
        * src/login_nopam.c: Avoid implicit conversion of pointers /
 
2439
        integers / chars to booleans.
 
2440
        * src/login_nopam.c: Avoid assignments in comparisons.
 
2441
 
 
2442
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2443
 
 
2444
        * src/newgrp.c: Use a bool for is_newgrp, notfound, needspasswd,
 
2445
        initflag, and cflag.
 
2446
        * src/newgrp.c: Add brackets and parenthesis.
 
2447
        * src/newgrp.c: Avoid implicit conversion of pointers / integers /
 
2448
        chars to booleans.
 
2449
        * src/newgrp.c: Avoid multi-statements lines.
 
2450
        * src/newgrp.c: Ignore return value of setlocale(),
 
2451
        bindtextdomain(), and textdomain().
 
2452
        * src/newgrp.c: Avoid assignments in comparisons.
 
2453
 
 
2454
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2455
 
 
2456
        * libmisc/list.c: Change is_on_list() prototype to return a bool.
 
2457
 
 
2458
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2459
 
 
2460
        * libmisc/find_new_ids.c: Change find_new_uid() and find_new_gid()
 
2461
        prototypes to use a bool for their first argument (sys_user /
 
2462
        sys_group).
 
2463
 
 
2464
2008-06-09  Nicolas François  <nicolas.francois@centraliens.net>
 
2465
 
 
2466
        * libmisc/console.c: Change is_listed() prototype to return a bool.
 
2467
        The default parameter should also be a bool.
 
2468
        * libmisc/console.c: Add brackets and parenthesis.
 
2469
        * libmisc/console.c: Avoid assignments in comparisons.
 
2470
        * libmisc/console.c: Change console() prototype to return a bool.
 
2471
 
 
2472
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2473
 
 
2474
        * lib/sgetspent.c: Add brackets and parenthesis.
 
2475
        * lib/sgetspent.c: Avoid assignments in comparisons.
 
2476
        * lib/sgetspent.c: Avoid implicit conversion of pointers / chars
 
2477
        to booleans.
 
2478
        * lib/sgetspent.c: Avoid multi-statements lines.
 
2479
 
 
2480
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2481
 
 
2482
        * lib/sgetpwent.c: Avoid implicit conversion of pointers / chars to
 
2483
        booleans.
 
2484
        * lib/sgetpwent.c: Add brackets and parenthesis.
 
2485
        * lib/sgetpwent.c: Return NULL instead of 0.
 
2486
        * lib/sgetpwent.c: Do not check twice if fields[2] and fields[3]
 
2487
        are not empty.
 
2488
        * lib/sgetpwent.c: Avoid assignments in comparisons.
 
2489
 
 
2490
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2491
 
 
2492
        * libmisc/getdate.y: abbrev is a bool.
 
2493
        * libmisc/getdate.y: Avoid implicit conversion of pointers / chars /
 
2494
        integers to booleans.
 
2495
 
 
2496
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2497
 
 
2498
        * lib/prototypes.h: Fix prototypes according to earlier changes
 
2499
        (usage of the bool type).
 
2500
        * lib/prototypes.h: Add the arguments' name to the prototypes.
 
2501
 
 
2502
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2503
 
 
2504
        * lib/groupio.h: Add protection against multiple inclusions.
 
2505
 
 
2506
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2507
 
 
2508
        * lib/pwio.h: Add protection against multiple inclusions.
 
2509
        * lib/pwio.c: The changed, isopen, locked, and readonly fields
 
2510
        of the db are booleans.
 
2511
 
 
2512
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2513
 
 
2514
        * lib/shadowio.h, lib/shadowio.c: spw_file_present returns a bool.
 
2515
        * lib/shadowio.h: Add protection against multiple inclusions.
 
2516
        * lib/shadowio.c: The changed, isopen, locked, and readonly fields
 
2517
        of the db are booleans.
 
2518
 
 
2519
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2520
 
 
2521
        * lib/sgroupio.c: Avoid assignments in comparisons.
 
2522
        * lib/sgroupio.c: Add brackets.
 
2523
        * lib/sgroupio.c: Avoid implicit conversion of pointers / integers
 
2524
        to booleans.
 
2525
        * lib/sgroupio.c: The changed, isopen, locked, and readonly fields
 
2526
        of the db are booleans.
 
2527
        * lib/sgroupio.h, lib/sgroupio.c: sgr_file_present returns a bool.
 
2528
        * lib/sgroupio.h: Add protection against multiple inclusions.
 
2529
 
 
2530
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2531
 
 
2532
        * lib/gshadow.c: nis_used and nis_bound are booleans.
 
2533
        * lib/gshadow.c: Avoid implicit conversion of pointers / integers
 
2534
        to booleans.
 
2535
        * lib/gshadow.c: Avoid assignments in comparisons.
 
2536
        * lib/gshadow.c: Add brackets.
 
2537
 
 
2538
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2539
 
 
2540
        * lib/groupio.c: The changed, isopen, locked, and readonly fields
 
2541
        of the db are booleans.
 
2542
        * lib/groupio.h: Add protection against multiple inclusion.
 
2543
 
 
2544
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2545
 
 
2546
        * lib/sgetgrent.c: Avoid implicit conversion of pointers / chars
 
2547
        to booleans.
 
2548
        * lib/sgetgrent.c: Avoid assignments in comparisons.
 
2549
        * lib/sgetgrent.c: Add brackets.
 
2550
 
 
2551
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2552
 
 
2553
        * lib/encrypt.c: Avoid implicit conversion of pointers to
 
2554
        booleans.
 
2555
        * lib/encrypt.c: Add parenthesis.
 
2556
 
 
2557
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2558
 
 
2559
        * lib/port.c: Avoid implicit conversion of pointers / integers /
 
2560
        chars to booleans.
 
2561
        * lib/port.c: Avoid multiple statement on the same line.
 
2562
        * lib/port.c: Add brackets and parenthesis.
 
2563
        * lib/port.c: Avoid assignments in comparisons.
 
2564
        * lib/port.c: Fix typo comparision -> comparison (in comment).
 
2565
 
 
2566
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2567
 
 
2568
        * lib/fputsx.c: Add brackets.
 
2569
        * lib/fputsx.c: Avoid assignments in comparisons.
 
2570
        * lib/fputsx.c: Avoid implicit conversion of pointers / integers /
 
2571
        chars to booleans.
 
2572
 
 
2573
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2574
 
 
2575
        * lib/commonio.h: commonio_entry.changed, commonio_db.changed,
 
2576
        commonio_db.isopen, commonio_db.locked, and commonio_db.readonly
 
2577
        are no booleans.
 
2578
        * lib/commonio.h: Include defines.h to get the definition of bool.
 
2579
        * lib/commonio.h: commonio_present returns a bool
 
2580
        * lib/commonio.c: Implement above changes.
 
2581
        * lib/commonio.c: add argument names in prototypes.
 
2582
        * lib/commonio.c: name_is_nis returns a bool.
 
2583
        * lib/commonio.c: nscd_need_reload is a bool.
 
2584
        * lib/commonio.c: Improve types (use size_t / pid_t when needed
 
2585
        instead of int).
 
2586
        * lib/commonio.c: Avoid assignments in comparisons.
 
2587
        * lib/commonio.c: Add brackets and parenthesis.
 
2588
        * lib/commonio.c: Avoid implicit conversion of pointers / integers
 
2589
        to booleans
 
2590
        * lib/commonio.c: The return values of utime is not checked on
 
2591
        purpose.
 
2592
 
 
2593
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2594
 
 
2595
        * libmisc/isexpired.c: ARGSUSED is no more needed (shadow is
 
2596
        always supported).
 
2597
        * libmisc/isexpired.c: Avoid implicit conversion of pointers to
 
2598
        booleans.
 
2599
        * libmisc/isexpired.c: Add brackets and parenthesis.
 
2600
 
 
2601
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2602
 
 
2603
        * libmisc/sulog.c (sulog): The success argument is a bool.
 
2604
        * libmisc/sulog.c: The return values of fflush is not checked on
 
2605
        purpose.
 
2606
        * libmisc/sulog.c: Indicate that some return values should be
 
2607
        checked.
 
2608
 
 
2609
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2610
 
 
2611
        * libmisc/ttytype.c: Avoid implicit conversion of pointers /
 
2612
        integers to booleans.
 
2613
        * libmisc/ttytype.c: Avoid assignments in comparisons.
 
2614
        * libmisc/ttytype.c: Add brackets and parenthesis.
 
2615
        * libmisc/ttytype.c: The return values of fclose is not checked on
 
2616
        purpose.
 
2617
 
 
2618
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2619
 
 
2620
        * libmisc/mail.c: Avoid implicit conversion of pointers to
 
2621
        booleans.
 
2622
        * libmisc/mail.c: Avoid assignments in comparisons.
 
2623
 
 
2624
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2625
 
 
2626
        * libmisc/loginprompt.c: Avoid implicit conversion of pointers /
 
2627
        chars to booleans.
 
2628
        * libmisc/loginprompt.c: Add brackets.
 
2629
        * libmisc/loginprompt.c: Avoid assignments in comparisons.
 
2630
        * libmisc/loginprompt.c: The return values of fclose and fflush
 
2631
        are not checked on purpose.
 
2632
 
 
2633
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2634
 
 
2635
        * libmisc/setupenv.c: Avoid implicit conversion of chars to
 
2636
        booleans.
 
2637
 
 
2638
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2639
 
 
2640
        * libmisc/copydir.c: selinux_checked, selinux_enabled, and set_orig
 
2641
        are now booleans.
 
2642
 
 
2643
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2644
 
 
2645
        * libmisc/setugid.c (setup_uid_gid): The is_console argument is now
 
2646
        a bool.
 
2647
        * libmisc/setugid.c: Avoid implicit conversion of integers /
 
2648
        pointers to booleans.
 
2649
        * libmisc/setugid.c: Add brackets.
 
2650
 
 
2651
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2652
 
 
2653
        * libmisc/pam_pass.c (do_pam_passwd): The silent and
 
2654
        change_expired are no booleans instead of int.
 
2655
        * libmisc/pam_pass.c: The return value of pam_end is not checked
 
2656
        on purpose.
 
2657
 
 
2658
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2659
 
 
2660
        * libmisc/getlong.c: Avoid implicit conversion of pointers / chars
 
2661
        to booleans.
 
2662
        * libmisc/getlong.c: Add brackets.
 
2663
 
 
2664
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2665
 
 
2666
        * libmisc/valid.c: Avoid implicit conversion of pointers / chars
 
2667
        to booleans.
 
2668
        * libmisc/valid.c: Add brackets.
 
2669
 
 
2670
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2671
 
 
2672
        * libmisc/yesno.c: yes_or_no returns a bool instead of int.
 
2673
        * libmisc/yesno.c: Avoid implicit conversion of pointers to
 
2674
        booleans.
 
2675
        * libmisc/yesno.c: The return value of fflush is not checked
 
2676
        on purpose.
 
2677
 
 
2678
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2679
 
 
2680
        * libmisc/age.c: Avoid implicit conversion of integers to
 
2681
        booleans.
 
2682
 
 
2683
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2684
 
 
2685
        * libmisc/rlogin.c: Avoid assignments in comparisons.
 
2686
        * libmisc/rlogin.c: Avoid implicit conversion of integers to
 
2687
        booleans.
 
2688
        * libmisc/rlogin.c: Add brackets.
 
2689
 
 
2690
2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2691
 
 
2692
        * libmisc/failure.c (failcheck): The failed argument is a bool.
 
2693
        * libmisc/failure.h: Likewise.
 
2694
        * libmisc/failure.c (too_many_failures): too_many_failures returns
 
2695
        a bool.
 
2696
        * libmisc/failure.c: Add notes about unchecked return values.
 
2697
        * libmisc/failure.c: Avoid assignments in comparisons.
 
2698
        * libmisc/failure.c: Add brackets.
 
2699
 
 
2700
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2701
 
 
2702
        * libmisc/myname.c: Avoid assignments in comparisons.
 
2703
        * libmisc/myname.c: Avoid implicit conversion of pointers / chars
 
2704
        to booleans.
 
2705
        * libmisc/myname.c: Add brackets.
 
2706
 
 
2707
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2708
 
 
2709
        * libmisc/utmp.c (checkutmp): Change picky argument's type to
 
2710
        bool.
 
2711
        * libmisc/utmp.c: Use bool when possible (found_utmpx,
 
2712
        found_utmp).
 
2713
        * libmisc/utmp.c: Add note about unchecked return values.
 
2714
 
 
2715
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2716
 
 
2717
        * libmisc/addgrps.c: Change type of added to bool.
 
2718
        * libmisc/addgrps.c: Avoid implicit conversion of pointers to
 
2719
        booleans.
 
2720
 
 
2721
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2722
 
 
2723
        * libmisc/hushed.c: hushed returns a bool instead of int.
 
2724
        * libmisc/hushed.c: Avoid assignments in comparisons.
 
2725
        * libmisc/hushed.c (hushed): Change type of found to bool.
 
2726
        * libmisc/hushed.c: Add brackets.
 
2727
        * libmisc/hushed.c: Always check if the user or the shell is in
 
2728
        the file. Do not check the first character of the line first. This
 
2729
        is simpler and match better with the HUSHLOGIN_FILE documentation.
 
2730
 
 
2731
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2732
 
 
2733
        * lib/getdef.h, lib/getdef.c: getdef_bool returns a bool instead
 
2734
        of int.
 
2735
        * lib/getdef.c: Change typo of def_loaded to bool.
 
2736
        * lib/getdef.c: Add brackets.
 
2737
        * lib/getdef.c: Avoid assignments in comparisons.
 
2738
 
 
2739
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2740
 
 
2741
        * libmisc/chowntty.c: is_my_tty returns a bool.
 
2742
        * libmisc/chowntty.c: Avoid implicit conversion of integers to
 
2743
        booleans.
 
2744
        * libmisc/chowntty.c: Add brackets.
 
2745
 
 
2746
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2747
 
 
2748
        * libmisc/chowndir.c: Avoid assignment in comparisons, implicit
 
2749
        comparison of integers to booleans.
 
2750
        * libmisc/chowndir.c: The return value of closedir is not checked
 
2751
        on purpose.
 
2752
        * libmisc/chowndir.c: Add brackets.
 
2753
 
 
2754
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2755
 
 
2756
        * libmisc/chkname.h, libmisc/chkname.c: check_group_name (resp.
 
2757
        check_user_name) renamed to is_valid_user_name (resp.
 
2758
        is_valid_group_name). is_valid_user_name and is_valid_group_name
 
2759
        return a bool.
 
2760
        * src/grpck.c, src/newusers.c, src/usermod.c, src/useradd.c,
 
2761
        src/groupmod.c, src/pwck.c, src/groupadd.c: Use is_valid_user_name
 
2762
        and is_valid_group_name, following above change.
 
2763
        * libmisc/chkname.c: Avoid implicit conversion of chars to
 
2764
        booleans. Add brackets and parenthesis.
 
2765
 
 
2766
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2767
 
 
2768
        * libmisc/xmalloc.c: Avoid implicit conversion of integers /
 
2769
        pointers to booleans.
 
2770
        * libmisc/xgetXXbyYY.c: Likewise.
 
2771
 
 
2772
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2773
 
 
2774
        * configure.in, lib/defines.h: Allow usage of booleans in the
 
2775
        source.
 
2776
 
 
2777
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2778
 
 
2779
        * configure.in: Allow --disable-man and --enable-man=no.
 
2780
 
 
2781
2008-06-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2782
 
 
2783
        Prepare the 4.1.2.1 release
 
2784
        * NEWS: set the release date.
 
2785
        * man/po/*.po, po/*.po: Updated PO files.
 
2786
        * configure.in: Set the version to 4.1.2.1.
 
2787
 
 
2788
2008-06-26  Nicolas François  <nicolas.francois@centraliens.net>
 
2789
 
 
2790
        * NEWS, src/login.c: Fix an "audit log injection" vulnerability in
 
2791
        login. This is similar to CVE-2008-1926 (util-linux-ng's login).
 
2792
        This vulnerability makes it easier for attackers to hide
 
2793
        activities by modifying portions of log events, e.g. by appending
 
2794
        an addr= statement to the login name.
 
2795
        * lib/prototypes.h: Added definition of AUDIT_NO_ID.
 
2796
 
 
2797
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2798
 
 
2799
        Prepare the 4.1.2 release
 
2800
        * NEWS: set the release date.
 
2801
        * man/po/*.po, po/*.po: Updated PO files.
 
2802
        * configure.in: Set the version to 4.1.2.
 
2803
 
 
2804
2008-05-25  Nicolas François  <nicolas.francois@centraliens.net>
 
2805
 
 
2806
        * po/Makevars, man/po/Makefile.in.in: Run msgmerge with
 
2807
        --previous. (This requires gettext >= 0.16)
 
2808
 
 
2809
2008-05-24  Nicolas François  <nicolas.francois@centraliens.net>
 
2810
 
 
2811
        * libmisc/copydir.c (remove_tree): As we always use remove_tree
 
2812
        followed by rmdir to remove the directory itself, delete also the
 
2813
        root directory in remove_tree.
 
2814
        * src/userdel.c, src/usermod.c: Do not call rmdir after
 
2815
        remove_tree.
 
2816
 
 
2817
2008-05-24  Nicolas François  <nicolas.francois@centraliens.net>
 
2818
 
 
2819
        * libmisc/copydir.c (remove_tree): Make sure unlink is successful
 
2820
        when removing files.
 
2821
 
 
2822
2008-05-24  Nicolas François  <nicolas.francois@centraliens.net>
 
2823
 
 
2824
        * libmisc/pwdcheck.c: Simply passwd_check since it's never used
 
2825
        when configured with PAM support.
 
2826
 
 
2827
2008-05-24  Nicolas François  <nicolas.francois@centraliens.net>
 
2828
 
 
2829
        Fix compiler warnings:
 
2830
        * libmisc/audit_help.c: Include prototypes.h to get the prototype
 
2831
        of audit_help_open.
 
2832
        * libmisc/salt.c: Use booleans instead of negating integers.
 
2833
        * src/passwd.c: Declare the check_selinux_access prototype and
 
2834
        avoid name clashes (change_user -> changed_user; change_uid ->
 
2835
        changed_uid; access -> requested_access)
 
2836
        * libmisc/list.c: Avoid assignments in comparisons, assignments
 
2837
        with post increments (x++), use of integers as booleans, and
 
2838
        explicitly mark blocks with brackets.
 
2839
        * libmisc/fields.c: Likewise.
 
2840
        * libmisc/copydir.c: Likewise.
 
2841
        * libmisc/fields.c: Add comments.
 
2842
        * libmisc/copydir.c: Mark function whose return value is not
 
2843
        checked as such.
 
2844
 
 
2845
2008-05-23  Nicolas François  <nicolas.francois@centraliens.net>
 
2846
 
 
2847
        * libmisc/pam_pass.c: Use fputs rather than fprintf for constant
 
2848
        strings.
 
2849
 
 
2850
2008-05-21  Nicolas François  <nicolas.francois@centraliens.net>
 
2851
 
 
2852
        * man/login.1.xml: Indicate that login should be executed with
 
2853
        "exec login" if called from a shell.
 
2854
 
 
2855
2008-05-21  Nicolas François  <nicolas.francois@centraliens.net>
 
2856
 
 
2857
        * man/passwd.1.xml: Remove the advices for the choice of a good
 
2858
        password (they are debatable). Point to
 
2859
        http://en.wikipedia.org/wiki/Password_strength instead.
 
2860
 
 
2861
2008-05-20  Nicolas François  <nicolas.francois@centraliens.net>
 
2862
 
 
2863
        * NEWS, libmisc/salt.c (SHA_salt_size): Seed the RNG, and fix a
 
2864
        overflow. These caused the SHA salt size to always be 8 bytes,
 
2865
        instead of being in the 8-16 range. Thanks to Peter Vrabec
 
2866
        pvrabec@redhat.com for noticing.
 
2867
        * NEWS, libmisc/salt.c (SHA_salt_rounds): Seed the RNG with
 
2868
        seedRNG instead of srand, and fix the same overflow. This caused
 
2869
        the number of rounds to always be the smallest one.
 
2870
 
 
2871
2008-05-20  Nicolas François  <nicolas.francois@centraliens.net>
 
2872
 
 
2873
        * man/newusers.8.xml man/groupmems.8.xml man/groupdel.8.xml
 
2874
        man/useradd.8.xml man/groupadd.8.xml man/newgrp.1.xml man/sg.1.xml
 
2875
        man/chgpasswd.8.xml man/groupmod.8.xml: Tag the section which
 
2876
        require --enable-shadowgrp accordingly.
 
2877
 
 
2878
2008-05-19  Nicolas François  <nicolas.francois@centraliens.net>
 
2879
 
 
2880
        * man/login.defs.5.xml: SHA_CRYPT_MAX_ROUNDS and
 
2881
        SHA_CRYPT_MIN_ROUNDS can only exist if configured with
 
2882
        --with-sha-crypt.
 
2883
 
 
2884
2008-05-19  Nicolas François  <nicolas.francois@centraliens.net>
 
2885
 
 
2886
        * NEWS, man/useradd.8.xml: Document the -k, --skel option, and
 
2887
        update the -m, --create-home documentation.
 
2888
 
 
2889
2008-05-19  Nicolas François  <nicolas.francois@centraliens.net>
 
2890
 
 
2891
        * man/useradd.8.xml: Sort options.
 
2892
 
 
2893
2008-05-19  Nicolas François  <nicolas.francois@centraliens.net>
 
2894
 
 
2895
        * lib/getdef.c: SHA_CRYPT_MAX_ROUNDS and SHA_CRYPT_MIN_ROUNDS can
 
2896
        only exist if configured with --with-sha-crypt.
 
2897
        * man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml: Likewise.
 
2898
 
 
2899
2008-05-19  Nicolas François  <nicolas.francois@centraliens.net>
 
2900
 
 
2901
        * libmisc/salt.c: Document the section closed by #endif
 
2902
 
 
2903
2008-05-19  Nicolas François  <nicolas.francois@centraliens.net>
 
2904
 
 
2905
        * src/useradd.c: Fix formatting.
 
2906
 
 
2907
2008-05-19  Nicolas François  <nicolas.francois@centraliens.net>
 
2908
 
 
2909
        * NEWS, man/useradd.8.xml: Document the -r, --system option.
 
2910
        * NEWS, man/groupadd.8.xml: Document the -r, --system option.
 
2911
        * NEWS, man/newusers.8.xml: Document the -r, --system option.
 
2912
        * NEWS, man/newusers.8.xml: Document the -c, --crypt-method and
 
2913
        -s, --sha-rounds options.
 
2914
 
 
2915
2008-05-18  Nicolas François  <nicolas.francois@centraliens.net>
 
2916
 
 
2917
        Import Debian patch 487_passwd_chauthtok_failed_message
 
2918
        * libmisc/pam_pass.c: Be more verbose and indicate that the
 
2919
        password was not changed when pam_chauthtok fails (in addition to
 
2920
        the PAM error, which may not be comprehensible for the users).
 
2921
 
 
2922
2008-05-18  Nicolas François  <nicolas.francois@centraliens.net>
 
2923
 
 
2924
        Import Debian patch 434_login_stop_checking_args_after--
 
2925
        * NEWS, src/login.c (check_flags): Stop checking the arguments
 
2926
        after --. The later options will be sent to the shell, and do not
 
2927
        need to be checked.
 
2928
 
 
2929
2008-05-18  Nicolas François  <nicolas.francois@centraliens.net>
 
2930
 
 
2931
        * src/vipw.c, src/su.c, src/newgrp.c: Harmonize the children's
 
2932
        SIGSTOP handling. Raise the signal which stopped the child instead
 
2933
        of always SIGSTOP.
 
2934
 
 
2935
2008-05-18  Nicolas François  <nicolas.francois@centraliens.net>
 
2936
 
 
2937
        Import Debian patch 406_vipw_resume_properly.
 
2938
        Thanks to Dean Gaudet.
 
2939
        * NEWS, src/vipw.c: Resume properly after ^Z.
 
2940
 
 
2941
2008-04-27  Nicolas François  <nicolas.francois@centraliens.net>
 
2942
 
 
2943
        * lib/getdef.c, lib/lockpw.c, lib/utent.c, lib/sgetgrent.c,
 
2944
        lib/getdef.h, lib/pwauth.c, lib/sgetspent.c, lib/pwauth.h,
 
2945
        lib/port.c, lib/encrypt.c, lib/groupio.c, lib/shadowmem.c,
 
2946
        lib/port.h, lib/groupio.h, lib/groupmem.c, lib/exitcodes.h,
 
2947
        lib/gshadow.c, lib/gshadow_.h, lib/sgroupio.c, lib/sgroupio.h,
 
2948
        lib/shadowio.c, lib/pwio.c, lib/sgetpwent.c, lib/commonio.c,
 
2949
        lib/faillog.h, lib/shadowio.h, lib/pwio.h, lib/pam_defs.h,
 
2950
        lib/pwmem.c, lib/commonio.h, lib/shadow.c, lib/fputsx.c,
 
2951
        lib/prototypes.h, libmisc/xmalloc.c, libmisc/limits.c,
 
2952
        libmisc/entry.c, libmisc/console.c, libmisc/ulimit.c,
 
2953
        libmisc/xgetXXbyYY.c, libmisc/chkname.c, libmisc/pwd2spwd.c,
 
2954
        libmisc/xgetpwnam.c, libmisc/basename.c, libmisc/chkname.h,
 
2955
        libmisc/chowndir.c, libmisc/audit_help.c, libmisc/chowntty.c,
 
2956
        libmisc/hushed.c, libmisc/xgetpwuid.c, libmisc/getdate.h,
 
2957
        libmisc/addgrps.c, libmisc/xgetgrgid.c, libmisc/utmp.c,
 
2958
        libmisc/myname.c, libmisc/failure.c, libmisc/find_new_ids.c,
 
2959
        libmisc/env.c, libmisc/rlogin.c, libmisc/age.c, libmisc/failure.h,
 
2960
        libmisc/xgetgrnam.c, libmisc/yesno.c, libmisc/valid.c,
 
2961
        libmisc/getlong.c, libmisc/obscure.c, libmisc/pam_pass.c,
 
2962
        libmisc/motd.c, libmisc/salt.c, libmisc/setugid.c,
 
2963
        libmisc/fields.c, libmisc/xgetspnam.c, libmisc/shell.c,
 
2964
        libmisc/copydir.c, libmisc/setupenv.c, libmisc/strtoday.c,
 
2965
        libmisc/loginprompt.c, libmisc/list.c, libmisc/pwd_init.c,
 
2966
        libmisc/log.c, libmisc/mail.c, libmisc/ttytype.c,
 
2967
        libmisc/pwdcheck.c, libmisc/sub.c, libmisc/sulog.c,
 
2968
        libmisc/isexpired.c, libmisc/tz.c, src/newgrp.c, src/userdel.c,
 
2969
        src/lastlog.c, src/grpck.c, src/gpasswd.c, src/newusers.c,
 
2970
        src/pwconv.c, src/chpasswd.c, src/logoutd.c, src/chfn.c,
 
2971
        src/groupmems.c, src/usermod.c, src/pwunconv.c, src/expiry.c,
 
2972
        src/groupdel.c, src/chgpasswd.c, src/vipw.c, src/useradd.c,
 
2973
        src/su.c, src/groupmod.c, src/passwd.c, src/pwck.c,
 
2974
        src/groupadd.c, src/nologin.c, src/chage.c, src/login.c,
 
2975
        src/suauth.c, src/faillog.c, src/grpconv.c, src/groups.c,
 
2976
        src/sulogin.c, src/grpunconv.c, src/chsh.c, src/id.c: Make sure
 
2977
        every source files are distributed with a copyright and license.
 
2978
        Files with no license use the default 3-clauses BSD license. The
 
2979
        copyright were mostly not recorded; they were updated according to
 
2980
        the Changelog. "Julianne Frances Haugh and contributors" changed
 
2981
        to "copyright holders and contributors".
 
2982
 
 
2983
2008-04-27  Nicolas François  <nicolas.francois@centraliens.net>
 
2984
 
 
2985
        * NEWS, libmisc/sulog.c: If the SULOG_FILE does not exist when an
 
2986
        su session is logged, make sure the file is created with group
 
2987
        root, instead of using the group of the caller.
 
2988
 
 
2989
2008-04-27  Nicolas François  <nicolas.francois@centraliens.net>
 
2990
 
 
2991
        * NEWS, libmisc/fields.c, src/chfn.c, man/chfn.1.xml: Allow
 
2992
        non-US-ASCII characters in the GECOS fields ("name", "room
 
2993
        number", and "other info" fields).
 
2994
 
 
2995
2008-04-17  Nicolas François  <nicolas.francois@centraliens.net>
 
2996
 
 
2997
        * NEWS, src/newgrp.c: Fix compilation failure when compiled with
 
2998
        audit support. Thanks to Mike Frysinger for reporting it.
 
2999
 
 
3000
2008-04-16  Nicolas François  <nicolas.francois@centraliens.net>
 
3001
 
 
3002
        Ensure that getpwent() is used in setpwent(), getpwent(),
 
3003
        endpwend() sequences (ditto for getgrent(), getspent(), and
 
3004
        getsgent()). The only real (minor) issue was in login, which kept
 
3005
        the passwd file open.
 
3006
        * libmisc/entry.c: Remove unneeded setspent() and endspent() (only
 
3007
        getspnam is called in the middle).
 
3008
        * libmisc/find_new_ids.c: Make sure to close the password and
 
3009
        group files with endpwent() and endgrent().
 
3010
        * libmisc/pwdcheck.c: Remove unneeded endspent() (only getspnam()
 
3011
        is called before).
 
3012
        * src/lastlog.c, src/passwd.c, src/groupmod.c, src/faillog.c,
 
3013
        src/groups.c: Make sure to close
 
3014
        the password file with endpwent().
 
3015
        * src/login.c: Remove unneeded setpwent() (only xgetpwnam is
 
3016
        called before).
 
3017
        * src/login.c, src/newgrp.c: Fix typos in comments.
 
3018
 
 
3019
2008-04-16  Nicolas François  <nicolas.francois@centraliens.net>
 
3020
 
 
3021
        * NEWS, configure.in: Fix the detection of the audit, pam, and
 
3022
        selinux. Fail if the feature is requested but the library (or
 
3023
        header file) could not be found. If nothing is specified, enable
 
3024
        the feature only if we can find the library (or header file).
 
3025
        * configure.in: Document --with-selinux as "yes if found" rather
 
3026
        than "autodetected" for consistency with other options.
 
3027
 
 
3028
2008-04-04  Mark Rosenstand  <mark@borkware.net>
 
3029
 
 
3030
        * NEWS, etc/pam.d/Makefile.am: Add chfn, chsh, and userdel to
 
3031
        $(pamd_files). Remove the duplicate useradd. And sort
 
3032
        alphabetically.
 
3033
 
 
3034
2008-04-04  Nicolas François  <nicolas.francois@centraliens.net>
 
3035
 
 
3036
        * NEWS: Prepare next release, 4.1.2.
 
3037
 
1
3038
2008-04-02  Nicolas François  <nicolas.francois@centraliens.net>
2
3039
 
3
3040
        * NEWS, configure.in: Prepare release 4.1.1