Changeset 3713:38a2d99a3bed in roaraudio for roard/network.c
- Timestamp:
- 04/25/10 04:24:59 (14 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/network.c
r3684 r3713 84 84 int client; 85 85 struct roar_client * c; 86 #ifdef SO_PEERCRED87 struct ucred cred;88 socklen_t cred_len = sizeof(cred);89 #endif90 86 struct roar_vio_calls vio; 91 87 struct sockaddr_storage addr; … … 126 122 127 123 if ( clients_get(client, &c) != -1 ) { 128 #ifdef SO_PEERCRED129 if (getsockopt(fh, SOL_SOCKET, SO_PEERCRED, &cred, &cred_len) != -1) {130 if ( cred.pid != 0 ) {131 c->pid = cred.pid;132 c->uid = cred.uid;133 c->gid = cred.gid;134 }135 } else {136 ROAR_DBG("req_on_identify(): Can't get creds via SO_PEERCRED: %s", strerror(errno));137 }138 #elif defined(ROAR_HAVE_GETPEEREID)139 if (getpeereid(fh, &(c->uid), &(c->gid)) == -1) {140 ROAR_DBG("req_on_identify(): Can't get creds via getpeereid(): %s", strerror(errno));141 }142 #endif143 144 124 if ( roar_nnode_free(&(c->nnode)) == -1 ) 145 125 return -1;
Note: See TracChangeset
for help on using the changeset viewer.