Ticket #1384: spawn-fcgi.c.diff

File spawn-fcgi.c.diff, 0.7 kB (added by iku@openbsd.fi, 10 months ago)

fix for src/spawn-fcgi.c

  • src/spawn-fcgi.c

    old new  
    404404                        } 
    405405                } 
    406406 
     407                /* 
     408                 * Change group before chroot, when we have access 
     409                 * to /etc/group 
     410                 */ 
     411                if (groupname) { 
     412                        setgid(grp->gr_gid); 
     413                        setgroups(0, NULL); 
     414                        if (username) { 
     415                                initgroups(username, grp->gr_gid); 
     416                        } 
     417                } 
     418 
    407419                if (changeroot) { 
    408420                        if (-1 == chroot(changeroot)) { 
    409421                                fprintf(stderr, "%s.%d: %s %s\n", 
     
    420432                } 
    421433 
    422434                /* drop root privs */ 
    423                 if (groupname) { 
    424                         setgid(grp->gr_gid); 
    425                 } 
    426435                if (username) { 
    427                         if (groupname) { 
    428                                 initgroups(username, grp->gr_gid); 
    429                         } 
    430436                        setuid(pwd->pw_uid); 
    431437                } 
    432438        }