Changeset 490:dc9ab0d247dc in roaraudio for roard/network.c


Ignore:
Timestamp:
08/14/08 05:02:17 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

corrected a cast and moved SO_PEERCRED code from req.c to network.c

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/network.c

    r0 r490  
    2525 int fh; 
    2626 int client; 
     27#ifdef SO_PEERCRED 
     28 struct roar_client * c; 
     29 struct ucred cred; 
     30 socklen_t cred_len = sizeof(cred); 
     31#endif 
    2732 
    2833 fh = accept(g_listen_socket, NULL, NULL); 
     
    4247 } 
    4348 
     49#ifdef SO_PEERCRED 
     50 if ( clients_get(client, &c) != -1 ) { 
     51  if (getsockopt(fh, SOL_SOCKET, SO_PEERCRED, &cred, &cred_len) != -1) { 
     52   if ( cred.pid != 0 ) { 
     53    c->pid = cred.pid; 
     54    c->uid = cred.uid; 
     55    c->gid = cred.gid; 
     56   } 
     57  } else { 
     58   ROAR_DBG("req_on_identify(): Can't get creds via SO_PEERCRED: %s", strerror(errno)); 
     59  } 
     60 } 
     61#endif 
     62 
    4463// close(fh); 
    4564 
Note: See TracChangeset for help on using the changeset viewer.