Lines Matching refs:sockname
113 static Xauth *get_authptr(struct sockaddr *sockname, int display)
123 switch(sockname->sa_family)
127 addr = (char *) SIN6_ADDR(sockname);
128 addrlen = sizeof(*SIN6_ADDR(sockname));
129 if(!IN6_IS_ADDR_V4MAPPED(SIN6_ADDR(sockname)))
131 if(!IN6_IS_ADDR_LOOPBACK(SIN6_ADDR(sockname)))
141 addr = (char *) &((struct sockaddr_in *)sockname)->sin_addr;
142 addrlen = sizeof(((struct sockaddr_in *)sockname)->sin_addr);
189 static int compute_auth(xcb_auth_info_t *info, Xauth *authptr, struct sockaddr *sockname)
208 switch(sockname->sa_family) {
211 struct sockaddr_in *si = (struct sockaddr_in *) sockname;
219 struct sockaddr_in6 *si6 = (struct sockaddr_in6 *) sockname;
220 if(IN6_IS_ADDR_V4MAPPED(SIN6_ADDR(sockname)))
288 struct sockaddr *sockname = malloc(socknamelen);
290 if (sockname == NULL)
293 /* Both getpeername() and getsockname() truncates sockname if
296 if (socket_func(fd, sockname, &actual_socknamelen) == -1)
304 if ((new_sockname = realloc(sockname, actual_socknamelen)) == NULL)
307 sockname = new_sockname;
309 if (socket_func(fd, sockname, &actual_socknamelen) == -1 ||
314 return sockname;
317 free(sockname);
325 struct sockaddr *sockname = NULL;
334 if ((sockname = get_peer_sock_name(getpeername, fd)) == NULL)
336 if ((sockname = get_peer_sock_name(getsockname, fd)) == NULL)
338 if (sockname->sa_family != AF_UNIX)
340 free(sockname);
346 authptr = get_authptr(sockname, display);
349 free(sockname);
359 free(sockname);
361 if ((sockname = get_peer_sock_name(getsockname, fd)) == NULL)
368 ret = compute_auth(info, authptr, sockname);
375 free(sockname);
376 sockname = NULL;
382 free(sockname);