View | Details | Raw Unified | Return to bug 208928
Collapse All | Expand All

(-)csync2.c (-1 / +4 lines)
Lines 256-262 static int csync_server_bind(void) Link Here
256
	struct addrinfo hints;
256
	struct addrinfo hints;
257
	struct addrinfo *result, *rp;
257
	struct addrinfo *result, *rp;
258
	int save_errno;
258
	int save_errno;
259
	int sfd = -1, s, on = 1;
259
	int sfd = -1, s, off = 0, on = 1;
260
	memset(&hints, 0, sizeof(struct addrinfo));
260
	memset(&hints, 0, sizeof(struct addrinfo));
261
	hints.ai_family = AF_UNSPEC;	/* Allow IPv4 or IPv6 */
261
	hints.ai_family = AF_UNSPEC;	/* Allow IPv4 or IPv6 */
262
	hints.ai_socktype = SOCK_STREAM;
262
	hints.ai_socktype = SOCK_STREAM;
Lines 284-289 static int csync_server_bind(void) Link Here
284
			goto error;
284
			goto error;
285
		if (setsockopt(sfd, IPPROTO_TCP, TCP_NODELAY, &on, (socklen_t) sizeof(on)) < 0)
285
		if (setsockopt(sfd, IPPROTO_TCP, TCP_NODELAY, &on, (socklen_t) sizeof(on)) < 0)
286
			goto error;
286
			goto error;
287
		if (rp->ai_family == AF_INET6)
288
			if (setsockopt(sfd, IPPROTO_IPV6, IPV6_V6ONLY, &off, (socklen_t) sizeof(off)) < 0)
289
				goto error;
287
290
288
		if (bind(sfd, rp->ai_addr, rp->ai_addrlen) == 0)
291
		if (bind(sfd, rp->ai_addr, rp->ai_addrlen) == 0)
289
			break;	/* Success */
292
			break;	/* Success */

Return to bug 208928