69b276a712
* src/chpasswd.c: Added fail_exit(). * src/chpasswd.c: Added support for syslog. * src/chpasswd.c: Report failure to unlock files to stderr and syslog. * src/chpasswd.c: Simplify the PAM error handling. * src/chpasswd.c: Report failure during *_close() to syslog. * src/chpasswd.c: Ignore the return value or pam_end().
nekral-guest2008-08-09 23:25:18 +00:00
538db04950
* src/chgpasswd.c: Added fail_exit(). * src/chgpasswd.c: Added support for syslog. * src/chgpasswd.c: Report failure to unlock files to stderr and syslog. * src/chgpasswd.c: Simplify the PAM error handling. * src/chgpasswd.c: Report failure during *_close() to syslog. * src/chgpasswd.c: Ignore the return value or pam_end().
nekral-guest2008-08-09 23:22:00 +00:00
e2b778a38e
* src/userdel.c: Report failure to remove entries from group or gshadow to stderr. * src/userdel.c: Fail in case of failure during the write of a user or group database. Report errors to syslog. * src/userdel.c: Do not unlock non locked files. * src/userdel.c: Report failure to unlock the passwd or shadow file to stderr and syslog.
nekral-guest2008-08-07 08:44:06 +00:00
85bc9c1d1a
* src/pwunconv.c: Report failure to unlock the passwd or shadow file to stderr and syslog.
nekral-guest2008-08-07 08:03:55 +00:00
501ae11f51
* src/usermod.c: Report failure to unlock the passwd or shadow file to stderr and syslog.
nekral-guest2008-08-07 08:03:38 +00:00
eb6cb5311b
* src/newusers.c: Report failure to unlock the passwd or shadow file to stderr and syslog. * src/newusers.c: In case of error when files are open or closed, indicate the failing file. * src/newusers.c: Do not try to unlock the files manually since this is done in fail_exit.
nekral-guest2008-08-07 08:03:13 +00:00
e3a5f66059
* src/chage.c: Report failure to unlock the passwd or shadow file to stderr and syslog.
nekral-guest2008-08-07 08:02:52 +00:00
fd4b6cc52a
* src/pwconv.c: Report failure to unlock the passwd or shadow file to stderr and syslog. * src/pwconv.c: Report failure to chmod the backup file.
nekral-guest2008-08-07 08:02:34 +00:00
93ccc35ff0
* src/grpunconv.c: Report failure to unlock the group or gshadow files to stderr and syslog.
nekral-guest2008-08-07 08:02:13 +00:00
ccc49e8841
* src/chfn.c: Added fail_exit(). Check if the passwd file is locked. Report failures to unlock to stderr and syslog. * src/chfn.c: Is case of failure, use fail_exit() rather than exit(). * src/chfn.c: Ignore the return value of pam_end().
nekral-guest2008-08-07 08:01:44 +00:00
7fc596fb8a
* lib/groupio.c, lib/groupio.h, lib/pwio.c, lib/pwio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h: Added *_dbname() functions to retrieve the name of the databases. * lib/groupio.c, lib/groupio.h, lib/pwio.c, lib/pwio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c, lib/shadowio.h: *_name() functions renamed *setname(). * src/grpck.c, src/pwck.c: Likewise. * lib/groupio.h, lib/pwio.h, lib/sgroupio.h, lib/shadowio.h: Added the name of the arguments to the prototypes. * src/chage, src/chfn.c, src/chgpasswd.c, src/chpasswd.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmod.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/pwunconv.c, src/useradd.c, src/userdel.c, src/usermod.c: Harmonize the erro & syslog messages in case of failure of the *_lock(), *_open(), *_close(), *_unlock(), *_remove() functions. * src/chgpasswd.c, src/chpasswd.c, src/usermod.c: Avoid capitalized messages. * src/chpasswd.c, src/useradd.c, src/usermod.c: Harmonize messages in case of inexistent entries. * src/usermod.c: Harmonize messages in case of already existing entries. * src/newusers.c, src/useradd.c: Simplify PAM error handling. * src/useradd.c: Report failures to unlock files (stderr, syslog, and audit). But do not fail (continue). * src/useradd.c (open_files): Do not report to syslog & audit failures to lock or open the databases. This might be harmless, and the logs were not already informed that a change was requested. * src/usermod.c: It's not the account which is unlocked, but its password.
nekral-guest2008-08-06 15:57:31 +00:00
b0fe7d3a0b
* src/groupadd.c: Only call gr_unlock() and sgr_unlock() in the group or gshadow files were previously locked. * src/groupadd.c: Make sure failures are reported to syslog/audit after the change is mentioned. * src/groupmod.c: Add logging to syslog & audit on lock/unlock failures. * src/groupmod.c: Make sure issues are reported to syslog or audit after the change is mentioned. * src/groupdel.c: Only call gr_unlock() and sgr_unlock() in the group or gshadow files were previously locked. * src/groupdel.c: Simplify the handling of PAM errors.
nekral-guest2008-08-06 15:56:51 +00:00
6461841ccd
* Merge two is_shadowgrp blocks. * Indicate that we continue when *_unlock fail
nekral-guest2008-08-06 15:55:57 +00:00
7eab6d9958
* src/groupadd.c: Harmonize error & syslog messages. * src/groupadd.c: Add logging to syslog in some error cases.
nekral-guest2008-08-06 15:53:30 +00:00
2bf3f0c03c
* src/gpasswd.c: Warn and log to syslog and audit when group or gshadow cannot be unlocked, but do not fail.
nekral-guest2008-08-06 15:52:42 +00:00
538600ef48
* src/chfn.c, src/chsh.c, src/groupdel.c, src/groupmems.c, src/groupmod.c, src/grpck.c, src/login.c, src/logoutd.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/suauth.c, src/useradd.c, src/userdel.c, src/usermod.c, src/vipw.c: Complete the switch from the `' quotation style to ''. Do it also in SYSLOG messages. Quote some parameters. All this permits to merge some messages.
nekral-guest2008-08-06 15:51:52 +00:00
6713942f83
* src/groupmems.c: Only check if the adduser user exists when an user is specified with -a.
nekral-guest2008-07-30 14:11:09 +00:00
c6f5ce280f
* src/groupmems.c: Fix the groupmems' usage message. The -D option is in fact -p.
nekral-guest2008-07-30 00:27:55 +00:00
9aad7a3783
* src/groupmems.c: Replace an if test by an else.
nekral-guest2008-07-27 22:30:47 +00:00
a22551d56b
* src/groupmems.c: Ignore the return value of fputs().
nekral-guest2008-07-27 22:30:39 +00:00
d6f96fa07e
* src/groupmems.c (whoami): Make sure usr and grp are not NULL before dereferencing them.
nekral-guest2008-07-27 22:30:31 +00:00
5a0715fd6c
* src/groupmems.c: Use xstrdup() rather than strdup().
nekral-guest2008-07-27 22:30:22 +00:00
717110d355
* src/groupmems.c: Add parenthesis. * src/groupmems.c: Avoid implicit conversion of pointers / chars to booleans.
nekral-guest2008-07-27 22:30:12 +00:00
d5c6257ac2
* NEWS, src/groupmems.c: Allow everybody to list the users of a group. This information is publicly available in /etc/group. * NEWS, src/groupmems.c: Open /etc/group read only for the -l option.
nekral-guest2008-07-27 02:33:37 +00:00
8f3ee46325
Harmonize error messages and add the prototypes for whoami(), members(), and usage().
nekral-guest2008-07-27 01:47:56 +00:00
aa035f9853
* src/groupmems.c (check_perms): Simplify. Always call pam_end() at the end of the authentication.
nekral-guest2008-07-27 01:41:07 +00:00
b2f5629de8
* src/groupmems.c: Add fail_exit() to remove the group lock file in case of failure. Replace the calls to exit() by fail_exit().
nekral-guest2008-07-27 01:35:08 +00:00
db98798134
* src/groupmems.c: Reduce the number of checks. Isolate the parameters setting and permissions checking.
nekral-guest2008-07-27 01:16:13 +00:00
d4227e75cd
* src/groupmems.c: Add functions process_flags() and check_perms() from code of main(). * src/groupmems.c: Harmonize the failure message in case of PAM failure with the other programs.
nekral-guest2008-07-27 00:59:42 +00:00
44db9db053
* src/groupmems.c: Reuse the functions from libmisc/list.c to deal with user lists. addtogroup() was broken when realloc() move the memory area. * src/groupmems.c: Report failures with the name of the program.
nekral-guest2008-07-27 00:21:42 +00:00
4c2ed7b52e
* src/groupmems.c: EXIT_READ_GROUP changed to EXIT_INVALID_GROUP. * src/groupmems.c: EXIT_INVALID_USERNAME changed to EXIT_INVALID_USER. * src/groupmems.c: Fix typos.
nekral-guest2008-07-27 00:11:25 +00:00
6f571dbfc6
* src/groupmems.c: Really use booleans. * src/groupmems.c: Change isroot() to a macro that returns a boolean.
nekral-guest2008-07-26 16:24:27 +00:00
a363e1c51f
* lib/defines.h: Make sure the booleans are defined before using them.
nekral-guest2008-07-26 16:13:29 +00:00
276e406c0f
* README, NEWS, configure.in, lib/pam_defs.h, src/login.c: Add support for OpenPAM.
nekral-guest2008-07-21 21:14:06 +00:00
7ac0323c7b
* src/chage.c: Ignore the return value of pam_end() before exiting. * src/chage.c: Ignore return values of strftime(), snprintf(), puts(), printf(), and fputs(). * src/chage.c: Check the return value of asctime().
nekral-guest2008-07-11 22:31:43 +00:00
95c78ce92b
* lib/gshadow.c: Avoid assignments in comparison.
nekral-guest2008-07-11 22:23:42 +00:00
22fb4fe019
* src/usermod.c: Do not call usr_update() if it will have no effects. This avoid checking if the user exists in the local passwd file if not necessary, and thus allow to add LDAP users to local groups. (The user is already checked against the system configuration with getpwnam()). Thanks to Dan Kopecek.
nekral-guest2008-07-11 21:50:05 +00:00
62c8e79676
* src/usermod.c: Split update_files() into update_lastlog() and update_faillog(). Report errors (but don't fail) if the file exist, but open(), lseek(), read(), write(), or close() fails. * src/usermod.c: Add brackets and parenthesis. * src/usermod.c: Ignore the return value of pam_end() before exiting. * src/usermod.c: Ignore the return value of strftime(), snprintf(), and puts(). * src/usermod.c: Check the return value of gmtime() and asctime(), and output the raw time_t on failures.
nekral-guest2008-07-11 20:52:44 +00:00
5f9226b14b
* libmisc/utmp.c: Avoid implicit conversion of pointers / chars to booleans. * libmisc/utmp.c: Add brackets and parenthesis. * libmisc/utmp.c: Exit with the EXIT_FAILURE status code in case of failure. * libmisc/utmp.c: Avoid assignments in comparisons. * lib/prototypes.h, libmisc/utmp.c: Change setutmp()'s prototype to return an int because pututline() and pututxline() may fail.
nekral-guest2008-06-17 21:13:30 +00:00
9320075030
* libmisc/audit_help.c: Added one string for translation. * po/POTFILES.in: Added libmisc/audit_help.c, libmisc/find_new_gid.c, libmisc/find_new_uid.c, libmisc/getlong.c, libmisc/getrange.c, libmisc/xgetXXbyYY.c, and libmisc/yesno.c. Removed libmisc/find_new_ids.c
nekral-guest2008-06-17 20:52:19 +00:00
ca032792bd
* src/useradd.c: If the faillog file exist, warn in case of failure when open(), lssek(), write() or close() fails when the new user's faillog entry is reset. * src/useradd.c: Ditto for the lastlog entry.
nekral-guest2008-06-15 22:25:51 +00:00
abb95d5aab
* libmisc/limits.c: Add brackets and parenthesis. * libmisc/limits.c: Avoid implicit conversion of pointers / integers to booleans. * libmisc/limits.c: Ignore the return value of umask(). We will never return to the original umask. * libmisc/limits.c: Avoid multi-statements lines. * libmisc/limits.c: Added default to a switch(). Report invalid limit strings to syslog. * libmisc/limits.c: Ignore the return value of fclose(). /etc/limits is open read-only. * libmisc/limits.c: Ignore the return value of fputs() and sleep(). * libmisc/limits.c: Check the return value of nice() and set_filesize_limit(), and report errors to syslog.
nekral-guest2008-06-15 21:59:41 +00:00
dcd480ffd9
* libmisc/failure.c: Try to close the open file if a failure occured during lseek(), read() or write().
nekral-guest2008-06-15 19:16:34 +00:00
68cdac68cb
* libmisc/log.c: Check return values. If lseek() failed, avoid reading or writing at an unspecified location. Log to syslog in case of failure. * libmisc/log.c: Use the right casts.
nekral-guest2008-06-15 19:15:15 +00:00
e1307ea789
* libmisc/find_new_ids.c, libmisc/find_new_gid.c, libmisc/find_new_uid.c, libmisc/Makefile.am, lib/prototypes.h: Split find_new_ids.c into find_new_gid.c and find_new_uid.c to ease the description of login.defs variables in the different tools.
nekral-guest2008-06-15 18:33:52 +00:00
52fe9f62f6
* libmisc/failure.c: Ignore the return value of strftime() and printf(). * libmisc/failure.c: Fix syslog call. The UID is not available. User the username specified in the utmp/utmpx entry.
nekral-guest2008-06-15 00:01:46 +00:00
f42160862a
* lib/defines.h: Avoid implicit conversion of pointers to booleans. * lib/defines.h: Ignore return values of setlocale() except the first call. * lib/defines.h: Fix a splint observer warning by using an intermediate variable (old_locale).
nekral-guest2008-06-14 23:41:38 +00:00
1b631c42ef
* libmisc/failure.c: Check return values. If lseek() failed, avoid reading or writing at an unspecified location. Log to syslog in case of failure when reading a faillog entry or writing in faillog or btmp. * libmisc/failure.c: Check if the file exist before opening it. * libmisc/failure.c: Log failures of open() and close() when necessary.
nekral-guest2008-06-14 23:38:43 +00:00
0afd6a8312
* lib/prototypes.h: Add the getrange() prototype. * lib/prototypes.h: Fix the valid_field() prototype (does not return an bool). * lib/prototypes.h: Fix the valid() prototype (it does return a bool).
nekral-guest2008-06-14 21:11:19 +00:00
4ac21ca652
* lib/getdef.c: Fix the getdef_ulong() prototype. * lib/getdef.h: Fix the getdef_ulong() prototype.
nekral-guest2008-06-14 21:09:33 +00:00
dbbae8dcd3
* src/lastlog.c: Use getrange to parse the range of users. * src/lastlog.c: umin and umax do not need to be signed long. Use an unsigned long which might be needed to parse a GID or UID. Add the has_umin and has_umax to replace the -1 values. * src/lastlog.c: Cast dates to time_t. * src/lastlog.c: Prefix lastlog errors with "lastlog: ".
nekral-guest2008-06-14 21:06:53 +00:00
eed5fc7179
* libmisc/getlong.c: Reset errno before calling strtol(). Otherwise, errno could be already set to ERANGE.
nekral-guest2008-06-14 21:02:52 +00:00
b8c5483b85
* libmisc/Makefile.am, libmisc/getrange.c: Added function to parse a range (useful for lastlog).
nekral-guest2008-06-14 21:01:11 +00:00
4f12c31e3b
* src/chsh.c: <signal.h> is not needed.
nekral-guest2008-06-14 15:03:58 +00:00
53543b9b6a
* lib/prototypes.h: Define AUDIT_NO_ID to (unsigned int) -1. This value should be used when the ID should not be considered. * lib/prototypes.h: Fix the prototype of do_rlogin() according to earlier changes.
nekral-guest2008-06-13 21:57:47 +00:00
afafd0f683
* lib/shadow.c: Use SHADOW_SP_FLAG_UNSET for the initial value of spwd.sp_flag. * lib/shadow.c: Add brackets. * lib/shadow.c: Avoid implicit conversion of pointers to booleans. * lib/shadow.c: The size argument of fgets is an int, not a size_t.
nekral-guest2008-06-13 21:55:51 +00:00
d65354efcf
* lib/commonio.c: len should be typed ssize_t as it is the return of read(), and is compared to 0. Cast to size_t when necessary.
nekral-guest2008-06-13 21:53:41 +00:00
d3abd86df5
* libmisc/find_new_ids.c: Use getdef_ulong to retrieve UIDs/GIDs from login.defs. Type constants to long integers.
nekral-guest2008-06-13 21:49:57 +00:00
838f39d0fd
* lib/gshadow.c: Use a bool when possible instead of int integers. * lib/gshadow.c: Remove __setsgNIS() -never used). * lib/gshadow.c: Avoid multi-statements lines. * lib/gshadow.c: Avoid assignments in comparisons. * lib/gshadow.c: ptr[nelem] is a string. Initialize it to NULL instead of '\0'. * lib/gshadow.c: Add brackets and parenthesis. * lib/gshadow.c: The size argument of strncpy is a size_t and the size argument of fgets is an int.
nekral-guest2008-06-13 21:45:47 +00:00
92143eb7b9
* lib/sgetspent.c: Use SHADOW_SP_FLAG_UNSET for the initial value of spwd.sp_flag.
nekral-guest2008-06-13 21:36:41 +00:00
c9679b7954
* lib/getdef.h, lib/getdef.c: Add getdef_ulong(). * lib/getdef.c: Added TODOs because of lack of error checking. * lib/getdef.c: The size argument of fgets is an int, not a size_t. * lib/getdef.c: Avoid multi-statements lines.
nekral-guest2008-06-13 21:35:22 +00:00
5fc99a117b
* src/id.c: Make sure malloc receives a size_t. * src/id.c: Use a %lu format and cast group and user IDs to unsigned long integers.
nekral-guest2008-06-13 21:31:23 +00:00
87ba782106
* src/sulogin.c: Ignore the return value of signal().
nekral-guest2008-06-13 21:30:09 +00:00
dd8a09ce8d
* src/groups.c: sys_ngroups is only used when HAVE_GETGROUPS is defined.
nekral-guest2008-06-13 21:29:13 +00:00
ba7dde0168
* src/faillog.c: Ignore return value of time() when use with a non NULL argument. * src/faillog.c: Use a %lu format and cast number of days to unsigned long integers. * src/faillog.c: Cast dates to time_t.
nekral-guest2008-06-13 21:28:11 +00:00
3a03794bb6
* src/login.c: Ignore the return value of signal(). * src/login.c: Use a %lu format and cast group and user IDs to unsigned long integers. * src/login.c: Ignore return value of setlocale(), bindtextdomain(), and textdomain().
nekral-guest2008-06-13 21:25:15 +00:00
fe753e24a3
* src/chage.c: Add the arguments' names in the functions prototypes. * src/chage.c: The ID argument of audit_logger is an unsigned int. Use AUDIT_NO_ID instead of -1. * src/chage.c: print_date() received a time_t. * src/chage.c: Use SHADOW_SP_FLAG_UNSET for the initial value of spwent.sp_flag.
nekral-guest2008-06-13 21:23:09 +00:00
42a4604461
* src/groupadd.c: The ID argument of audit_logger is an unsigned int. Use AUDIT_NO_ID instead of -1. * src/groupadd.c: Cast the parsed GID/UID to a gid_t/uid_t.
nekral-guest2008-06-13 21:19:07 +00:00
a70898fc28
* src/pwck.c: Use a %lu format and cast group and user IDs to unsigned long integers. * src/pwck.c: Cast number of days to a long integer. * src/pwck.c: Use the SCALE macro instead of (24L * 3600L) for the values to be set in /etc/shadow. * src/pwck.c: Use SHADOW_SP_FLAG_UNSET for the initial value of spent.sp_flag.
nekral-guest2008-06-13 21:16:01 +00:00
186eef69dc
* src/passwd.c: Ignore return value of time() when use with a non NULL argument. * src/passwd.c: Cast number of days to a long integer.
nekral-guest2008-06-13 21:09:14 +00:00
c3a380ade8
* src/groupmod.c: The ID argument of audit_logger is an unsigned int. Use AUDIT_NO_ID instead of -1. * src/groupmod.c: Use a %lu format and cast group and user IDs to unsigned long integers. * src/groupmod.c: Cast the parsed GID/UID to a gid_t/uid_t.
nekral-guest2008-06-13 21:08:06 +00:00
936bd6a191
* src/useradd.c: The ID argument of audit_logger is an unsigned int. Use AUDIT_NO_ID instead of -1. * src/useradd.c: Cast the parsed GID/UID to a gid_t/uid_t. * src/useradd.c: The size argument of fgets is an int, not a size_t. * src/useradd.c: Cast number of days to a long integer. * src/useradd.c: Use SHADOW_SP_FLAG_UNSET for the initial value of spent.sp_flag. * src/useradd.c: Use a %lu format and cast group and user IDs to unsigned long integers.
nekral-guest2008-06-13 21:06:04 +00:00
00431d772e
* src/su.c: fork() and waitpid() return a pid_t, not an int. * src/su.c: Add brackets and parenthesis. * src/su.c: Ignore the return value of signal().
nekral-guest2008-06-13 21:02:07 +00:00
a22c7e731a
* src/groupdel.c: The ID argument of audit_logger is an unsigned int. Use AUDIT_NO_ID instead of -1.
nekral-guest2008-06-13 20:59:04 +00:00
398cf8ee6f
* src/expiry.c: Ignore the return value of signal().
nekral-guest2008-06-13 20:57:20 +00:00
e50ff5c7b5
* src/newusers.c: Fix the check for GID/UID validity. * src/newusers.c: Comment why we use both getgrgid() and gr_locate_gid(). * src/newusers.c: Cast the parsed GID/UID to a gid_t/uid_t. * src/newusers.c: Cast the number of days to a long integer. * src/newusers.c: Use SHADOW_SP_FLAG_UNSET for the initial value of spent.sp_flag. * src/newusers.c: The size argument of fgets is an int, not a size_t.
nekral-guest2008-06-13 20:56:44 +00:00
906e8c0001
* src/usermod.c: Cast dates to time_t, and number of days to a long integer. * src/usermod.c: Cast UIDs and GIDs to uid_t and gid_t after checking the ranges. * src/usermod.c: The ID argument of audit_logger is an unsigned int. * src/usermod.c: read() returns a ssize_t. * src/usermod.c: Cast the return value of malloc and make sure it receives a size_t.
nekral-guest2008-06-13 20:40:04 +00:00
2fa4cedb1e
* src/logoutd.c: Ignore return value of time() when use with a non NULL argument.
nekral-guest2008-06-13 20:34:46 +00:00