[BusyBox-cvs] busybox/libbb change_identity.c,1.2,1.3

Glenn McGrath bug1 at busybox.net
Wed Sep 3 12:18:44 UTC 2003


Update of /var/cvs/busybox/libbb
In directory winder:/tmp/cvs-serv9038/libbb

Modified Files:
	change_identity.c 
Log Message:
more crond+crontab integrating with loginutil libbb functions and deleted
patch from Thomas Gleixner to init.
Viodz last_patch_108


Index: change_identity.c
===================================================================
RCS file: /var/cvs/busybox/libbb/change_identity.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- change_identity.c	19 Mar 2003 09:12:06 -0000	1.2
+++ change_identity.c	3 Sep 2003 12:18:40 -0000	1.3
@@ -40,15 +40,23 @@
 
 
 /* Become the user and group(s) specified by PW.  */
-void change_identity ( const struct passwd *pw )
+const char *change_identity_e2str ( const struct passwd *pw )
 {
 	if ( initgroups ( pw-> pw_name, pw-> pw_gid ) == -1 )
-		bb_perror_msg_and_die ( "cannot set groups" );
+		return "cannot set groups";
 	endgrent ( );
 
 	if ( setgid ( pw-> pw_gid ))
-		bb_perror_msg_and_die ( "cannot set group id" );
+		return "cannot set group id";
 	if ( setuid ( pw->pw_uid ))
-		bb_perror_msg_and_die ( "cannot set user id" );
+		return "cannot set user id";
+	return NULL;
 }
 
+void change_identity ( const struct passwd *pw )
+{
+	const char *err_msg = change_identity_e2str(pw);
+
+	if(err_msg)
+		bb_perror_msg_and_die ( "%s", err_msg );
+}




More information about the busybox-cvs mailing list