Changeset 436:10a265fe0e3e in roaraudio


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

added support for SO_PEERCRED

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/req.c

    r252 r436  
    1212 struct roar_client * c; 
    1313 int max_len; 
     14#ifdef SO_PEERCRED 
     15 struct ucred cred; 
     16#endif 
    1417 
    1518 if ( mes->datalen < 1 ) 
     
    1922 
    2023 if ( mes->data[0] == 1 ) { 
    21   c->pid       = ROAR_NET2HOST32(*(uint32_t*)((mes->data)+1)); 
     24#ifdef SO_PEERCRED 
     25  if (getsockopt(c->fh, SOL_SOCKET, SO_PEERCRED, &cred, (socklen_t) sizeof(struct ucred)) != -1) { 
     26   c->pid = cred.pid; 
     27  } 
     28#endif 
     29  if ( c->pid == -1 ) { 
     30   c->pid       = ROAR_NET2HOST32(*(uint32_t*)((mes->data)+1)); 
     31  } 
    2232 
    2333  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.