rpms/shadow-utils/devel shadow-4.1.4.2-fixes.patch, NONE, 1.1 shadow-4.1.4.2-leak.patch, NONE, 1.1 shadow-4.1.4.2-redhat.patch, NONE, 1.1 .cvsignore, 1.23, 1.24 shadow-utils.spec, 1.138, 1.139 sources, 1.24, 1.25 shadow-4.1.4-redhat.patch, 1.1, NONE shadow-4.1.4.1-largeGroup.patch, 1.1, NONE shadow-4.1.4.1-ldap.patch, 1.1, NONE shadow-4.1.4.1-sysacc.patch, 1.2, NONE

Peter Vrabec pvrabec at fedoraproject.org
Mon Sep 7 14:56:09 UTC 2009


Author: pvrabec

Update of /cvs/extras/rpms/shadow-utils/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24127

Modified Files:
	.cvsignore shadow-utils.spec sources 
Added Files:
	shadow-4.1.4.2-fixes.patch shadow-4.1.4.2-leak.patch 
	shadow-4.1.4.2-redhat.patch 
Removed Files:
	shadow-4.1.4-redhat.patch shadow-4.1.4.1-largeGroup.patch 
	shadow-4.1.4.1-ldap.patch shadow-4.1.4.1-sysacc.patch 
Log Message:
upgrade


shadow-4.1.4.2-fixes.patch:
 lib/commonio.c    |    2 +-
 libmisc/cleanup.c |    2 +-
 libmisc/limits.c  |    2 +-
 libmisc/utmp.c    |    5 ++---
 4 files changed, 5 insertions(+), 6 deletions(-)

--- NEW FILE shadow-4.1.4.2-fixes.patch ---
diff -up shadow-4.1.4.2/lib/commonio.c.fixes shadow-4.1.4.2/lib/commonio.c
--- shadow-4.1.4.2/lib/commonio.c.fixes	2009-09-07 15:51:28.312139467 +0200
+++ shadow-4.1.4.2/lib/commonio.c	2009-09-07 15:52:00.788140456 +0200
@@ -710,7 +710,7 @@ commonio_sort (struct commonio_db *db, i
 	db->tail->prev = entries[n - 1];
 	db->tail->next = NULL;
 
-	for (i = 1; i < n; i++) {
+	for (i = 1; i < (n-1); i++) {
 		entries[i]->prev = entries[i - 1];
 		entries[i]->next = entries[i + 1];
 	}
diff -up shadow-4.1.4.2/libmisc/cleanup.c.fixes shadow-4.1.4.2/libmisc/cleanup.c
--- shadow-4.1.4.2/libmisc/cleanup.c.fixes	2009-09-07 15:52:22.449035388 +0200
+++ shadow-4.1.4.2/libmisc/cleanup.c	2009-09-07 15:55:06.632033653 +0200
@@ -107,7 +107,7 @@ void del_cleanup (cleanup_function pcf)
 	assert (i<CLEANUP_FUNCTIONS);
 
 	/* Move the rest of the cleanup functions */
-	for (; i<CLEANUP_FUNCTIONS; i++) {
+	for (; i<(CLEANUP_FUNCTIONS - 1); i++) {
 		/* Make sure the cleanup function was specified only once */
 		assert (cleanup_functions[i+1] != pcf);
 
diff -up shadow-4.1.4.2/libmisc/limits.c.fixes shadow-4.1.4.2/libmisc/limits.c
--- shadow-4.1.4.2/libmisc/limits.c.fixes	2009-09-07 15:55:38.734034494 +0200
+++ shadow-4.1.4.2/libmisc/limits.c	2009-09-07 15:56:10.545044166 +0200
@@ -167,7 +167,7 @@ static int check_logins (const char *nam
 	 * includes the user who is currently trying to log in.
 	 */
 	if (count > limit) {
-		SYSLOG ((LOG_WARN, "Too many logins (max %d) for %s\n",
+		SYSLOG ((LOG_WARN, "Too many logins (max %lu) for %s\n",
 			 limit, name));
 		return LOGIN_ERROR_LOGIN;
 	}
diff -up shadow-4.1.4.2/libmisc/utmp.c.fixes shadow-4.1.4.2/libmisc/utmp.c
--- shadow-4.1.4.2/libmisc/utmp.c.fixes	2009-09-07 15:56:30.534033865 +0200
+++ shadow-4.1.4.2/libmisc/utmp.c	2009-09-07 16:11:23.049069289 +0200
@@ -56,7 +56,7 @@ static bool is_my_tty (const char *tty)
 	/* full_tty shall be at least sizeof utmp.ut_line + 5 */
 	char full_tty[200];
 	/* tmptty shall be bigger than full_tty */
-	static char tmptty[sizeof (full_tty)+1];
+	static char tmptty[sizeof (full_tty)+1] = "";
 
 	if ('/' != *tty) {
 		(void) snprintf (full_tty, sizeof full_tty, "/dev/%s", tty);
@@ -71,7 +71,7 @@ static bool is_my_tty (const char *tty)
 		}
 	}
 
-	if (NULL == tmptty) {
+	if ('\0' == tmptty[0]) {
 		(void) puts (_("Unable to determine your tty name."));
 		exit (EXIT_FAILURE);
 	} else if (strncmp (tty, tmptty, sizeof (tmptty)) != 0) {
@@ -200,7 +200,6 @@ static void updwtmpx (const char *filena
 		strcpy (hostname, host);
 #ifdef HAVE_STRUCT_UTMP_UT_HOST
 	} else if (   (NULL != ut)
-	           && (NULL != ut->ut_host)
 	           && ('\0' != ut->ut_host[0])) {
 		hostname = (char *) xmalloc (sizeof (ut->ut_host) + 1);
 		strncpy (hostname, ut->ut_host, sizeof (ut->ut_host));

shadow-4.1.4.2-leak.patch:
 lib/groupmem.c    |   13 +++++++++++++
 lib/pwmem.c       |   15 +++++++++++++++
 lib/shadowmem.c   |    3 +++
 libmisc/copydir.c |    1 +
 4 files changed, 32 insertions(+)

--- NEW FILE shadow-4.1.4.2-leak.patch ---
diff -up shadow-4.1.4.2/lib/groupmem.c.leak shadow-4.1.4.2/lib/groupmem.c
--- shadow-4.1.4.2/lib/groupmem.c.leak	2009-04-23 19:43:27.000000000 +0200
+++ shadow-4.1.4.2/lib/groupmem.c	2009-09-07 15:43:23.314129427 +0200
@@ -51,10 +51,13 @@
 	*gr = *grent;
 	gr->gr_name = strdup (grent->gr_name);
 	if (NULL == gr->gr_name) {
+		free(gr);
 		return NULL;
 	}
 	gr->gr_passwd = strdup (grent->gr_passwd);
 	if (NULL == gr->gr_passwd) {
+		free(gr->gr_name);
+		free(gr);
 		return NULL;
 	}
 
@@ -62,11 +65,21 @@
 
 	gr->gr_mem = (char **) malloc ((i + 1) * sizeof (char *));
 	if (NULL == gr->gr_mem) {
+		free(gr->gr_passwd);
+		free(gr->gr_name);
+		free(gr);
 		return NULL;
 	}
 	for (i = 0; grent->gr_mem[i]; i++) {
 		gr->gr_mem[i] = strdup (grent->gr_mem[i]);
 		if (NULL == gr->gr_mem[i]) {
+                        int j;
+                        for (j=0; j<i; j++)
+                                free(gr->gr_mem[j]);
+                        free(gr->gr_mem);
+                        free(gr->gr_passwd);
+                        free(gr->gr_name);
+                        free(gr);
 			return NULL;
 		}
 	}
diff -up shadow-4.1.4.2/libmisc/copydir.c.leak shadow-4.1.4.2/libmisc/copydir.c
--- shadow-4.1.4.2/libmisc/copydir.c.leak	2009-05-22 12:16:14.000000000 +0200
+++ shadow-4.1.4.2/libmisc/copydir.c	2009-09-07 15:41:49.217192095 +0200
@@ -443,6 +443,7 @@ static char *readlink_malloc (const char
 		nchars = readlink (filename, buffer, size);
 
 		if (nchars < 0) {
+			free(buffer);
 			return NULL;
 		}
 
diff -up shadow-4.1.4.2/lib/pwmem.c.leak shadow-4.1.4.2/lib/pwmem.c
--- shadow-4.1.4.2/lib/pwmem.c.leak	2009-04-23 19:43:27.000000000 +0200
+++ shadow-4.1.4.2/lib/pwmem.c	2009-09-07 15:41:49.218203063 +0200
@@ -51,22 +51,37 @@
 	*pw = *pwent;
 	pw->pw_name = strdup (pwent->pw_name);
 	if (NULL == pw->pw_name) {
+		free(pw);
 		return NULL;
 	}
 	pw->pw_passwd = strdup (pwent->pw_passwd);
 	if (NULL == pw->pw_passwd) {
+		free(pw->pw_name);
+		free(pw);
 		return NULL;
 	}
 	pw->pw_gecos = strdup (pwent->pw_gecos);
 	if (NULL == pw->pw_gecos) {
+		free(pw->pw_passwd);
+		free(pw->pw_name);
+		free(pw);
 		return NULL;
 	}
 	pw->pw_dir = strdup (pwent->pw_dir);
 	if (NULL == pw->pw_dir) {
+		free(pw->pw_gecos);
+		free(pw->pw_passwd);
+		free(pw->pw_name);
+		free(pw);
 		return NULL;
 	}
 	pw->pw_shell = strdup (pwent->pw_shell);
 	if (NULL == pw->pw_shell) {
+		free(pw->pw_dir);
+		free(pw->pw_gecos);
+		free(pw->pw_passwd);
+		free(pw->pw_name);
+		free(pw);
 		return NULL;
 	}
 
diff -up shadow-4.1.4.2/lib/shadowmem.c.leak shadow-4.1.4.2/lib/shadowmem.c
--- shadow-4.1.4.2/lib/shadowmem.c.leak	2009-04-23 19:43:27.000000000 +0200
+++ shadow-4.1.4.2/lib/shadowmem.c	2009-09-07 15:41:49.218203063 +0200
@@ -52,10 +52,13 @@
 	*sp = *spent;
 	sp->sp_namp = strdup (spent->sp_namp);
 	if (NULL == sp->sp_namp) {
+                free(sp);
 		return NULL;
 	}
 	sp->sp_pwdp = strdup (spent->sp_pwdp);
 	if (NULL == sp->sp_pwdp) {
+                free(sp->sp_namp);
+                free(sp);
 		return NULL;
 	}
 

shadow-4.1.4.2-redhat.patch:
 libmisc/find_new_gid.c |    6 +++---
 libmisc/find_new_uid.c |    6 +++---
 src/useradd.c          |    9 +++++----
 3 files changed, 11 insertions(+), 10 deletions(-)

--- NEW FILE shadow-4.1.4.2-redhat.patch ---
diff -up shadow-4.1.4.2/libmisc/find_new_gid.c.redhat shadow-4.1.4.2/libmisc/find_new_gid.c
--- shadow-4.1.4.2/libmisc/find_new_gid.c.redhat	2009-07-18 01:53:42.000000000 +0200
+++ shadow-4.1.4.2/libmisc/find_new_gid.c	2009-09-07 16:34:26.640814090 +0200
@@ -58,11 +58,11 @@ int find_new_gid (bool sys_group,
 	assert (gid != NULL);
 
 	if (!sys_group) {
-		gid_min = (gid_t) getdef_ulong ("GID_MIN", 1000UL);
+		gid_min = (gid_t) getdef_ulong ("GID_MIN", 500UL);
 		gid_max = (gid_t) getdef_ulong ("GID_MAX", 60000UL);
 	} else {
-		gid_min = (gid_t) getdef_ulong ("SYS_GID_MIN", 101UL);
-		gid_max = (gid_t) getdef_ulong ("GID_MIN", 1000UL) - 1;
+		gid_min = (gid_t) getdef_ulong ("SYS_GID_MIN", 201UL);
+		gid_max = (gid_t) getdef_ulong ("GID_MIN", 500UL) - 1;
 		gid_max = (gid_t) getdef_ulong ("SYS_GID_MAX", (unsigned long) gid_max);
 	}
 	used_gids = alloca (sizeof (bool) * (gid_max +1));
diff -up shadow-4.1.4.2/libmisc/find_new_uid.c.redhat shadow-4.1.4.2/libmisc/find_new_uid.c
--- shadow-4.1.4.2/libmisc/find_new_uid.c.redhat	2009-07-18 01:53:43.000000000 +0200
+++ shadow-4.1.4.2/libmisc/find_new_uid.c	2009-09-07 16:34:19.695877000 +0200
@@ -58,11 +58,11 @@ int find_new_uid (bool sys_user,
 	assert (uid != NULL);
 
 	if (!sys_user) {
-		uid_min = (uid_t) getdef_ulong ("UID_MIN", 1000UL);
+		uid_min = (uid_t) getdef_ulong ("UID_MIN", 500UL);
 		uid_max = (uid_t) getdef_ulong ("UID_MAX", 60000UL);
 	} else {
-		uid_min = (uid_t) getdef_ulong ("SYS_UID_MIN", 101UL);
-		uid_max = (uid_t) getdef_ulong ("UID_MIN", 1000UL) - 1;
+		uid_min = (uid_t) getdef_ulong ("SYS_UID_MIN", 201UL);
+		uid_max = (uid_t) getdef_ulong ("UID_MIN", 500UL) - 1;
 		uid_max = (uid_t) getdef_ulong ("SYS_UID_MAX", (unsigned long) uid_max);
 	}
 	used_uids = alloca (sizeof (bool) * (uid_max +1));
diff -up shadow-4.1.4.2/src/useradd.c.redhat shadow-4.1.4.2/src/useradd.c
--- shadow-4.1.4.2/src/useradd.c.redhat	2009-06-06 00:16:58.000000000 +0200
+++ shadow-4.1.4.2/src/useradd.c	2009-09-07 16:34:01.402878101 +0200
@@ -90,7 +90,7 @@ char *Prog;
 static gid_t def_group = 100;
 static const char *def_gname = "other";
 static const char *def_home = "/home";
-static const char *def_shell = "";
+static const char *def_shell = "/sbin/nologin";
 static const char *def_template = SKEL_DIR;
 static const char *def_create_mail_spool = "no";
 
@@ -102,7 +102,7 @@ static char def_file[] = USER_DEFAULTS_F
 #define	VALID(s)	(strcspn (s, ":\n") == strlen (s))
 
 static const char *user_name = "";
-static const char *user_pass = "!";
+static const char *user_pass = "!!";
 static uid_t user_id;
 static gid_t user_gid;
 static const char *user_comment = "";
@@ -989,9 +989,9 @@ static void process_flags (int argc, cha
 		};
 		while ((c = getopt_long (argc, argv,
 #ifdef WITH_SELINUX
-		                         "b:c:d:De:f:g:G:k:K:lmMNop:rs:u:UZ:",
+		                         "b:c:d:De:f:g:G:k:K:lmMnNop:rs:u:UZ:",
 #else
-		                         "b:c:d:De:f:g:G:k:K:lmMNop:rs:u:U",
+		                         "b:c:d:De:f:g:G:k:K:lmMnNop:rs:u:U",
 #endif
 		                         long_options, NULL)) != -1) {
 			switch (c) {
@@ -1141,6 +1141,7 @@ static void process_flags (int argc, cha
 			case 'M':
 				Mflg = true;
 				break;
+			case 'n':
 			case 'N':
 				Nflg = true;
 				break;


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/shadow-utils/devel/.cvsignore,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -p -r1.23 -r1.24
--- .cvsignore	16 Jun 2009 13:23:28 -0000	1.23
+++ .cvsignore	7 Sep 2009 14:56:08 -0000	1.24
@@ -1 +1 @@
-shadow-4.1.4.1.tar.bz2
+shadow-4.1.4.2.tar.bz2


Index: shadow-utils.spec
===================================================================
RCS file: /cvs/extras/rpms/shadow-utils/devel/shadow-utils.spec,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -p -r1.138 -r1.139
--- shadow-utils.spec	21 Aug 2009 11:18:13 -0000	1.138
+++ shadow-utils.spec	7 Sep 2009 14:56:09 -0000	1.139
@@ -1,17 +1,16 @@
 Summary: Utilities for managing accounts and shadow password files
 Name: shadow-utils
-Version: 4.1.4.1
-Release: 7%{?dist}
+Version: 4.1.4.2
+Release: 1%{?dist}
 Epoch: 2
 URL: http://pkg-shadow.alioth.debian.org/
 Source0: ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/shadow-%{version}.tar.bz2
 Source1: shadow-4.0.17-login.defs
 Source2: shadow-4.0.18.1-useradd
-Patch0: shadow-4.1.4-redhat.patch
+Patch0: shadow-4.1.4.2-redhat.patch
 Patch1: shadow-4.1.4.1-goodname.patch
-Patch2: shadow-4.1.4.1-largeGroup.patch
-Patch3: shadow-4.1.4.1-ldap.patch
-Patch4: shadow-4.1.4.1-sysacc.patch
+Patch2: shadow-4.1.4.2-leak.patch
+Patch3: shadow-4.1.4.2-fixes.patch
 License: BSD and GPLv2+
 Group: System Environment/Base
 BuildRequires: libselinux-devel >= 1.25.2-1
@@ -37,10 +36,9 @@ are used for managing group accounts.
 %prep
 %setup -q -n shadow-%{version}
 %patch0 -p1 -b .redhat
-%patch1 -p1 -b .goodname
-%patch2 -p1 -b .largeGroup
-%patch3 -p1 -b .ldap
-%patch4 -p1 -b .sysacc
+#%patch1 -p1 -b .goodname
+#%patch2 -p1 -b .leak
+#%patch3 -p1 -b .fixes
 
 iconv -f ISO88591 -t utf-8  doc/HOWTO > doc/HOWTO.utf8
 cp -f doc/HOWTO.utf8 doc/HOWTO
@@ -182,6 +180,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man8/vigr.8*
 
 %changelog
+* Mon Sep 07 2009 Peter Vrabec <pvrabec at redhat.com> - 2:4.1.4.2-1
+- upgrade
+
 * Fri Aug 21 2009 Tomas Mraz <tmraz at redhat.com> - 2:4.1.4.1-7
 - rebuilt with new audit
 


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/shadow-utils/devel/sources,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -p -r1.24 -r1.25
--- sources	16 Jun 2009 13:23:28 -0000	1.24
+++ sources	7 Sep 2009 14:56:09 -0000	1.25
@@ -1 +1 @@
-62f7dae4cb54fa84e478c4602d58cbe8  shadow-4.1.4.1.tar.bz2
+d593a9cab93c48ee0a6ba056db8c1997  shadow-4.1.4.2.tar.bz2


--- shadow-4.1.4-redhat.patch DELETED ---


--- shadow-4.1.4.1-largeGroup.patch DELETED ---


--- shadow-4.1.4.1-ldap.patch DELETED ---


--- shadow-4.1.4.1-sysacc.patch DELETED ---




More information about the fedora-extras-commits mailing list