[backfire] sync dropbear with trunk (#9819)
[openwrt-10.03/.git] / package / dropbear / patches / 110-change_user.patch
index 964229bd747d6e7d55c34d958bf80b65f6a96498..f003c276cf6904bafe76e28a15abe0c1c1df499c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/svr-chansession.c
 +++ b/svr-chansession.c
-@@ -852,12 +852,12 @@ static void execchild(void *user_data) {
+@@ -881,12 +881,12 @@ static void execchild(void *user_data) {
        /* We can only change uid/gid as root ... */
        if (getuid() == 0) {
  
@@ -9,10 +9,10 @@
                        (initgroups(ses.authstate.pw_name, 
 -                                              ses.authstate.pw_gid) < 0)) {
 +                                              ses.authstate.pw_gid) < 0))) {
-                       dropbear_exit("error changing user group");
+                       dropbear_exit("Error changing user group");
                }
 -              if (setuid(ses.authstate.pw_uid) < 0) {
 +              if ((ses.authstate.pw_uid != 0) && (setuid(ses.authstate.pw_uid) < 0)) {
-                       dropbear_exit("error changing user");
+                       dropbear_exit("Error changing user");
                }
        } else {