Changeset 2753:4ba2efb7920b in roaraudio


Ignore:
Timestamp:
09/22/09 22:40:22 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

make add_listen() independed of audio group

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/roard.c

    r2752 r2753  
    322322 
    323323#if defined(ROAR_HAVE_SETGID) && defined(ROAR_HAVE_IO_POSIX) 
    324   if ( (grp = getgrnam(group)) == NULL ) { 
    325    ROAR_ERR("Can not get GID for group %s: %s", group, strerror(errno)); 
     324  if ( group != NULL ) { 
     325   if ( (grp = getgrnam(group)) == NULL ) { 
     326    ROAR_ERR("Can not get GID for group %s: %s", group, strerror(errno)); 
     327   } 
    326328  } 
    327329#endif 
     
    336338#if defined(ROAR_HAVE_IO_POSIX) && defined(ROAR_HAVE_UNIX) 
    337339  if ( *addr == '/' ) { 
     340   if ( grp || pwd ) { 
     341     if ( chown(addr, pwd ? pwd->pw_uid : -1, grp ? grp->gr_gid : -1) == -1 ) 
     342      return 1; 
     343   } 
     344#ifdef ROAR_HAVE_GETUID 
    338345   if ( grp ) { 
    339     if ( pwd ) { 
    340      if ( chown(addr, pwd->pw_uid, grp->gr_gid) == -1 ) 
    341       return 1; 
    342     } else { 
    343      if ( chown(addr, -1, grp->gr_gid) == -1 ) 
    344       return 1; 
    345     } 
    346 #ifdef ROAR_HAVE_GETUID 
    347346    if ( getuid() == 0 ) 
    348347     if ( chmod(addr, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP) == -1 ) 
    349348      return 1; 
    350 #endif 
    351    } 
     349   } 
     350#endif 
    352351  } 
    353352#endif 
Note: See TracChangeset for help on using the changeset viewer.