Changeset 443:e4ad581b8c09 in roaraudio


Ignore:
Timestamp:
08/11/08 18:49:46 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

got UNIX cred code working (ignoring them on non UNIX sockets)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/req.c

    r441 r443  
    2525#ifdef SO_PEERCRED 
    2626  if (getsockopt(c->fh, SOL_SOCKET, SO_PEERCRED, &cred, &cred_len) != -1) { 
    27    c->pid = cred.pid; 
    28    c->uid = cred.uid; 
    29    c->gid = cred.gid; 
     27   if ( cred.pid != 0 ) { 
     28    c->pid = cred.pid; 
     29    c->uid = cred.uid; 
     30    c->gid = cred.gid; 
     31   } 
    3032  } else { 
    3133   ROAR_DBG("req_on_identify(): Can't get creds via SO_PEERCRED: %s", strerror(errno)); 
     
    3436  if ( c->pid == -1 ) { 
    3537   c->pid       = ROAR_NET2HOST32(*(uint32_t*)((mes->data)+1)); 
     38   ROAR_DBG("req_on_identify(): new PID: c->pid = %i", c->pid); 
    3639  } 
     40 
     41  ROAR_DBG("req_on_identify(): final PID: c->pid = %i", c->pid); 
    3742 
    3843  max_len = (mes->datalen - 5) < (ROAR_BUFFER_NAME-1) ? (mes->datalen - 5) : (ROAR_BUFFER_NAME-1); 
Note: See TracChangeset for help on using the changeset viewer.