ObjFW  Check-in [cdfe025f85]

Overview
Comment:Remove AI_ADDRCONFIG, as it's buggy in glibc.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: cdfe025f85539438984c62be63bfe97a13bc704a941044633229c6753fb36c57
User & Date: js on 2013-01-28 20:06:30
Other Links: manifest | tags
Context
2013-01-28
20:55
OFHTTPClientTests: Fix a Clang 3.3 warning. check-in: 5ce6d067f1 user: js tags: trunk
20:06
Remove AI_ADDRCONFIG, as it's buggy in glibc. check-in: cdfe025f85 user: js tags: trunk
14:29
TableGenerator: Process files on-the-fly. check-in: 4f8251772c user: js tags: trunk
Changes

Modified src/OFHTTPClient.m from [9a386c8c54] to [8655f7b1b3].

250
251
252
253
254
255
256
257

258
259
260
261
262
263
264
250
251
252
253
254
255
256

257
258
259
260
261
262
263
264







-
+







		 didCreateSocket: sock
			 request: request];

	[sock connectToHost: [URL host]
		       port: [URL port]];

	/*
	 * Work around a bug with packet bisection in lighttpd when using
	 * Work around a bug with packet splitting in lighttpd when using
	 * HTTPS.
	 */
	[sock setWriteBufferEnabled: YES];

	if (requestType == OF_HTTP_REQUEST_TYPE_GET)
		type = "GET";
	if (requestType == OF_HTTP_REQUEST_TYPE_HEAD)

Modified src/OFTCPSocket.m from [e79d51f216] to [e3f567d132].

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
62
63
64
65
66
67
68



69
70
71
72
73
74
75







-
-
-







#ifdef HAVE_THREADSAFE_GETADDRINFO
# ifndef AI_NUMERICSERV
#  define AI_NUMERICSERV 0
# endif
# ifndef AI_NUMERICHOST
#  define AI_NUMERICHOST 0
# endif
# ifndef AI_ADDRCONFIG
#  define AI_ADDRCONFIG 0
# endif
#endif

#if defined(OF_HAVE_THREADS) && !defined(HAVE_THREADSAFE_GETADDRINFO)
# import "OFMutex.h"
# import "OFDataArray.h"

static OFMutex *mutex = nil;
322
323
324
325
326
327
328
329

330
331
332
333
334
335
336
319
320
321
322
323
324
325

326
327
328
329
330
331
332
333







-
+







#ifdef HAVE_THREADSAFE_GETADDRINFO
	struct addrinfo hints, *res, *res0;
	char portCString[7];

	memset(&hints, 0, sizeof(struct addrinfo));
	hints.ai_family = AF_UNSPEC;
	hints.ai_socktype = SOCK_STREAM;
	hints.ai_flags = AI_NUMERICSERV | AI_ADDRCONFIG;
	hints.ai_flags = AI_NUMERICSERV;
	snprintf(portCString, 7, "%" PRIu16, port);

	if (getaddrinfo([host cStringWithEncoding: OF_STRING_ENCODING_NATIVE],
	    portCString, &hints, &res0))
		@throw [OFAddressTranslationFailedException
		    exceptionWithClass: [self class]
				socket: self
503
504
505
506
507
508
509
510

511
512
513
514
515
516
517
500
501
502
503
504
505
506

507
508
509
510
511
512
513
514







-
+







#ifdef HAVE_THREADSAFE_GETADDRINFO
	struct addrinfo hints, *res;
	char portCString[7];

	memset(&hints, 0, sizeof(struct addrinfo));
	hints.ai_family = AF_UNSPEC;
	hints.ai_socktype = SOCK_STREAM;
	hints.ai_flags = AI_NUMERICSERV | AI_ADDRCONFIG | AI_PASSIVE;
	hints.ai_flags = AI_NUMERICSERV | AI_PASSIVE;
	snprintf(portCString, 7, "%" PRIu16, port);

	if (getaddrinfo([host cStringWithEncoding: OF_STRING_ENCODING_NATIVE],
	    portCString, &hints, &res))
		@throw [OFAddressTranslationFailedException
		    exceptionWithClass: [self class]
				socket: self