Fix some compilation warnings:
* src/login.c: "dereferencing type-punned pointer will break strict-aliasing rules", add a variable indirection: ptr_pam_user. * lib/commonio.c: do not initialize the sb stat structure. * lib/pwio.c, lib/shadowio.c, lib/sgroupio.c, lib/groupio.c: initialize the security context if WITH_SELINUX. * lib/nscd.c: The service argument is not const (used in the exec* parameters). This matches with the prototype definition. * src/groupmems.c: Avoid ++i when i is also used in the same line. * src/newusers.c: i is positive every time it is compared. Add cast to unsigned int. * src/nologin.c: Use a main() prototype with no arguments. * libmisc/getdate.y: Initialize the type and value fields of the terminating entry for each TABLE. * libmisc/tz.c: Use "TZ=CST6CDT" as the default timezone.
This commit is contained in:
parent
d16cc1ea89
commit
39e5c0a1ab
18
ChangeLog
18
ChangeLog
@ -1,3 +1,21 @@
|
|||||||
|
2007-11-19 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
Fix some compilation warnings:
|
||||||
|
* src/login.c: "dereferencing type-punned pointer will break
|
||||||
|
strict-aliasing rules", add a variable indirection: ptr_pam_user.
|
||||||
|
* lib/commonio.c: do not initialize the sb stat structure.
|
||||||
|
* lib/pwio.c, lib/shadowio.c, lib/sgroupio.c, lib/groupio.c:
|
||||||
|
initialize the security context if WITH_SELINUX.
|
||||||
|
* lib/nscd.c: The service argument is not const (used in the exec*
|
||||||
|
parameters). This matches with the prototype definition.
|
||||||
|
* src/groupmems.c: Avoid ++i when i is also used in the same line.
|
||||||
|
* src/newusers.c: i is positive every time it is compared. Add
|
||||||
|
cast to unsigned int.
|
||||||
|
* src/nologin.c: Use a main() prototype with no arguments.
|
||||||
|
* libmisc/getdate.y: Initialize the type and value fields of the
|
||||||
|
terminating entry for each TABLE.
|
||||||
|
* libmisc/tz.c: Use "TZ=CST6CDT" as the default timezone.
|
||||||
|
|
||||||
2007-11-19 Nicolas François <nicolas.francois@centraliens.net>
|
2007-11-19 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* man/pl/Makefile.am: Add getspnam.3 to EXTRA_DIST since it is
|
* man/pl/Makefile.am: Add getspnam.3 to EXTRA_DIST since it is
|
||||||
|
@ -53,7 +53,7 @@ int lrename (const char *old, const char *new)
|
|||||||
int res;
|
int res;
|
||||||
|
|
||||||
#if defined(S_ISLNK)
|
#if defined(S_ISLNK)
|
||||||
struct stat sb = { 0 };
|
struct stat sb;
|
||||||
if (lstat (new, &sb) == 0 && S_ISLNK (sb.st_mode)) {
|
if (lstat (new, &sb) == 0 && S_ISLNK (sb.st_mode)) {
|
||||||
if (realpath (new, resolved_path) == NULL) {
|
if (realpath (new, resolved_path) == NULL) {
|
||||||
perror ("realpath in lrename()");
|
perror ("realpath in lrename()");
|
||||||
|
@ -63,6 +63,9 @@ static struct commonio_db group_db = {
|
|||||||
GROUP_FILE, /* filename */
|
GROUP_FILE, /* filename */
|
||||||
&group_ops, /* ops */
|
&group_ops, /* ops */
|
||||||
NULL, /* fp */
|
NULL, /* fp */
|
||||||
|
#ifdef WITH_SELINUX
|
||||||
|
NULL, /* scontext */
|
||||||
|
#endif
|
||||||
NULL, /* head */
|
NULL, /* head */
|
||||||
NULL, /* tail */
|
NULL, /* tail */
|
||||||
NULL, /* cursor */
|
NULL, /* cursor */
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
/*
|
/*
|
||||||
* nscd_flush_cache - flush specified service buffer in nscd cache
|
* nscd_flush_cache - flush specified service buffer in nscd cache
|
||||||
*/
|
*/
|
||||||
int nscd_flush_cache (const char *service)
|
int nscd_flush_cache (char *service)
|
||||||
{
|
{
|
||||||
pid_t pid, termpid;
|
pid_t pid, termpid;
|
||||||
int err, status;
|
int err, status;
|
||||||
|
@ -64,6 +64,9 @@ static struct commonio_db passwd_db = {
|
|||||||
PASSWD_FILE, /* filename */
|
PASSWD_FILE, /* filename */
|
||||||
&passwd_ops, /* ops */
|
&passwd_ops, /* ops */
|
||||||
NULL, /* fp */
|
NULL, /* fp */
|
||||||
|
#ifdef WITH_SELINUX
|
||||||
|
NULL, /* scontext */
|
||||||
|
#endif
|
||||||
NULL, /* head */
|
NULL, /* head */
|
||||||
NULL, /* tail */
|
NULL, /* tail */
|
||||||
NULL, /* cursor */
|
NULL, /* cursor */
|
||||||
|
@ -107,6 +107,9 @@ static struct commonio_db gshadow_db = {
|
|||||||
SGROUP_FILE, /* filename */
|
SGROUP_FILE, /* filename */
|
||||||
&gshadow_ops, /* ops */
|
&gshadow_ops, /* ops */
|
||||||
NULL, /* fp */
|
NULL, /* fp */
|
||||||
|
#ifdef WITH_SELINUX
|
||||||
|
NULL, /* scontext */
|
||||||
|
#endif
|
||||||
NULL, /* head */
|
NULL, /* head */
|
||||||
NULL, /* tail */
|
NULL, /* tail */
|
||||||
NULL, /* cursor */
|
NULL, /* cursor */
|
||||||
|
@ -61,6 +61,9 @@ static struct commonio_db shadow_db = {
|
|||||||
SHADOW_FILE, /* filename */
|
SHADOW_FILE, /* filename */
|
||||||
&shadow_ops, /* ops */
|
&shadow_ops, /* ops */
|
||||||
NULL, /* fp */
|
NULL, /* fp */
|
||||||
|
#ifdef WITH_SELINUX
|
||||||
|
NULL, /* scontext */
|
||||||
|
#endif
|
||||||
NULL, /* head */
|
NULL, /* head */
|
||||||
NULL, /* tail */
|
NULL, /* tail */
|
||||||
NULL, /* cursor */
|
NULL, /* cursor */
|
||||||
|
@ -464,7 +464,7 @@ static TABLE const MonthDayTable[] = {
|
|||||||
{ "thurs", tDAY, 4 },
|
{ "thurs", tDAY, 4 },
|
||||||
{ "friday", tDAY, 5 },
|
{ "friday", tDAY, 5 },
|
||||||
{ "saturday", tDAY, 6 },
|
{ "saturday", tDAY, 6 },
|
||||||
{ NULL }
|
{ NULL, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Time units table. */
|
/* Time units table. */
|
||||||
@ -479,7 +479,7 @@ static TABLE const UnitsTable[] = {
|
|||||||
{ "min", tMINUTE_UNIT, 1 },
|
{ "min", tMINUTE_UNIT, 1 },
|
||||||
{ "second", tSEC_UNIT, 1 },
|
{ "second", tSEC_UNIT, 1 },
|
||||||
{ "sec", tSEC_UNIT, 1 },
|
{ "sec", tSEC_UNIT, 1 },
|
||||||
{ NULL }
|
{ NULL, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Assorted relative-time words. */
|
/* Assorted relative-time words. */
|
||||||
@ -504,7 +504,7 @@ static TABLE const OtherTable[] = {
|
|||||||
{ "eleventh", tUNUMBER, 11 },
|
{ "eleventh", tUNUMBER, 11 },
|
||||||
{ "twelfth", tUNUMBER, 12 },
|
{ "twelfth", tUNUMBER, 12 },
|
||||||
{ "ago", tAGO, 1 },
|
{ "ago", tAGO, 1 },
|
||||||
{ NULL }
|
{ NULL, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
/* The timezone table. */
|
/* The timezone table. */
|
||||||
@ -559,7 +559,7 @@ static TABLE const TimezoneTable[] = {
|
|||||||
{ "nzst", tZONE, -HOUR (12) }, /* New Zealand Standard */
|
{ "nzst", tZONE, -HOUR (12) }, /* New Zealand Standard */
|
||||||
{ "nzdt", tDAYZONE, -HOUR (12) }, /* New Zealand Daylight */
|
{ "nzdt", tDAYZONE, -HOUR (12) }, /* New Zealand Daylight */
|
||||||
{ "idle", tZONE, -HOUR (12) }, /* International Date Line East */
|
{ "idle", tZONE, -HOUR (12) }, /* International Date Line East */
|
||||||
{ NULL }
|
{ NULL, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Military timezone table. */
|
/* Military timezone table. */
|
||||||
@ -589,7 +589,7 @@ static TABLE const MilitaryTable[] = {
|
|||||||
{ "x", tZONE, HOUR (-11) },
|
{ "x", tZONE, HOUR (-11) },
|
||||||
{ "y", tZONE, HOUR (-12) },
|
{ "y", tZONE, HOUR (-12) },
|
||||||
{ "z", tZONE, HOUR ( 0) },
|
{ "z", tZONE, HOUR ( 0) },
|
||||||
{ NULL }
|
{ NULL, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ char *tz (const char *fname)
|
|||||||
{
|
{
|
||||||
FILE *fp = 0;
|
FILE *fp = 0;
|
||||||
static char tzbuf[BUFSIZ];
|
static char tzbuf[BUFSIZ];
|
||||||
const char *def_tz;
|
const char *def_tz = "TZ=CST6CDT";
|
||||||
|
|
||||||
if ((fp = fopen (fname, "r")) == NULL ||
|
if ((fp = fopen (fname, "r")) == NULL ||
|
||||||
fgets (tzbuf, sizeof (tzbuf), fp) == NULL) {
|
fgets (tzbuf, sizeof (tzbuf), fp) == NULL) {
|
||||||
|
@ -126,7 +126,8 @@ static void rmfromgroup (char *user, char **members)
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (found && NULL != members[i]) {
|
while (found && NULL != members[i]) {
|
||||||
members[i] = members[++i];
|
members[i] = members[i+1];
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!found) {
|
if (!found) {
|
||||||
|
@ -348,6 +348,7 @@ int main (int argc, char **argv)
|
|||||||
int retcode;
|
int retcode;
|
||||||
pid_t child;
|
pid_t child;
|
||||||
char *pam_user;
|
char *pam_user;
|
||||||
|
char **ptr_pam_user = &pam_user;
|
||||||
#else
|
#else
|
||||||
struct spwd *spwd = NULL;
|
struct spwd *spwd = NULL;
|
||||||
#endif
|
#endif
|
||||||
@ -620,7 +621,7 @@ int main (int argc, char **argv)
|
|||||||
/* if we didn't get a user on the command line,
|
/* if we didn't get a user on the command line,
|
||||||
set it to NULL */
|
set it to NULL */
|
||||||
pam_get_item (pamh, PAM_USER,
|
pam_get_item (pamh, PAM_USER,
|
||||||
(const void **) &pam_user);
|
(const void **)ptr_pam_user);
|
||||||
if (pam_user[0] == '\0')
|
if (pam_user[0] == '\0')
|
||||||
pam_set_item (pamh, PAM_USER, NULL);
|
pam_set_item (pamh, PAM_USER, NULL);
|
||||||
|
|
||||||
@ -644,7 +645,7 @@ int main (int argc, char **argv)
|
|||||||
retcode = pam_authenticate (pamh, 0);
|
retcode = pam_authenticate (pamh, 0);
|
||||||
|
|
||||||
pam_get_item (pamh, PAM_USER,
|
pam_get_item (pamh, PAM_USER,
|
||||||
(const void **) &pam_user);
|
(const void **) ptr_pam_user);
|
||||||
|
|
||||||
if (pam_user && pam_user[0]) {
|
if (pam_user && pam_user[0]) {
|
||||||
pwd = xgetpwnam(pam_user);
|
pwd = xgetpwnam(pam_user);
|
||||||
@ -737,7 +738,7 @@ int main (int argc, char **argv)
|
|||||||
First get the username that we are actually using, though.
|
First get the username that we are actually using, though.
|
||||||
*/
|
*/
|
||||||
retcode =
|
retcode =
|
||||||
pam_get_item (pamh, PAM_USER, (const void **) &pam_user);
|
pam_get_item (pamh, PAM_USER, (const void **)ptr_pam_user);
|
||||||
setpwent ();
|
setpwent ();
|
||||||
pwd = xgetpwnam (pam_user);
|
pwd = xgetpwnam (pam_user);
|
||||||
if (!pwd) {
|
if (!pwd) {
|
||||||
|
@ -116,11 +116,11 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
|
|||||||
if (gid[0] == '\0') {
|
if (gid[0] == '\0') {
|
||||||
i = 100;
|
i = 100;
|
||||||
for (pw_rewind (); (pwd = pw_next ());) {
|
for (pw_rewind (); (pwd = pw_next ());) {
|
||||||
if (pwd->pw_uid >= i)
|
if (pwd->pw_uid >= (unsigned int)i)
|
||||||
i = pwd->pw_uid + 1;
|
i = pwd->pw_uid + 1;
|
||||||
}
|
}
|
||||||
for (gr_rewind (); (grp = gr_next ());) {
|
for (gr_rewind (); (grp = gr_next ());) {
|
||||||
if (grp->gr_gid == i) {
|
if (grp->gr_gid == (unsigned int)i) {
|
||||||
i = -1;
|
i = -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -133,7 +133,7 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
|
|||||||
*/
|
*/
|
||||||
i = atoi (gid);
|
i = atoi (gid);
|
||||||
for (gr_rewind (); (grp = gr_next ());)
|
for (gr_rewind (); (grp = gr_next ());)
|
||||||
if (grp->gr_gid == i)
|
if (grp->gr_gid == (unsigned int)i)
|
||||||
goto add_member;
|
goto add_member;
|
||||||
} else
|
} else
|
||||||
/*
|
/*
|
||||||
@ -149,7 +149,7 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
|
|||||||
*/
|
*/
|
||||||
if (i == -1) {
|
if (i == -1) {
|
||||||
for (i = 100, gr_rewind (); (grp = gr_next ());)
|
for (i = 100, gr_rewind (); (grp = gr_next ());)
|
||||||
if (grp->gr_gid >= i)
|
if (grp->gr_gid >= (unsigned int)i)
|
||||||
i = grp->gr_gid + 1;
|
i = grp->gr_gid + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include "exitcodes.h"
|
#include "exitcodes.h"
|
||||||
|
|
||||||
int main (int argc, char **argv)
|
int main ()
|
||||||
{
|
{
|
||||||
const char *user, *tty;
|
const char *user, *tty;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user