ObjFW  Check-in [006e494026]

Overview
Comment:Fix +[OFSystemInfo networkInterfaces] on OpenBSD
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | 1.0
Files: files | file ages | folders
SHA3-256: 006e494026b4d39131506723df03063d8376fb086b6bf09e2dbadf8f69b6b323
User & Date: js on 2023-10-15 17:23:51
Other Links: branch diff | manifest | tags
Context
2023-10-15
17:40
Don't rely on inet6_getscopeid for KAME check-in: 703d77b0cb user: js tags: 1.0
17:23
Fix +[OFSystemInfo networkInterfaces] on OpenBSD check-in: 006e494026 user: js tags: 1.0
17:23
Fix +[OFSystemInfo networkInterfaces] on OpenBSD check-in: 87bd80a1d1 user: js tags: trunk
2023-10-08
11:49
Set version to 1.0.4 check-in: c1c235845a user: js tags: 1.0, 1.0.4-release
Changes

Modified configure.ac from [bf34aea37f] to [f7f0966b8b].

1373
1374
1375
1376
1377
1378
1379











1380
1381
1382
1383
1384
1385
1386
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397







+
+
+
+
+
+
+
+
+
+
+







		AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket")
		;;
	esac

	AC_CHECK_HEADER(sys/socket.h, [
		AC_DEFINE(OF_HAVE_SYS_SOCKET_H, 1,
			[Whether we have sys/socket.h])
	])
	AC_CHECK_MEMBERS([struct sockaddr.sa_len], [], [], [
		#ifdef OF_HAVE_SYS_TYPES_H
		# include <sys/types.h>
		#endif
		#ifdef OF_HAVE_SYS_SOCKET_H
		# include <sys/socket.h>
		#endif
		#ifdef _WIN32
		# include <winsock2.h>
		#endif
	])
	AC_CHECK_TYPE([struct sockaddr_storage], [
		AC_DEFINE(OF_HAVE_SOCKADDR_STORAGE, 1,
			[Whether we have struct sockaddr_storage])
	], [], [
		#ifdef OF_HAVE_SYS_TYPES_H
		# include <sys/types.h>

Modified src/platform/POSIX/OFSystemInfo+NetworkInterfaces.m from [4ddf302e5d] to [f0d0641f3a].

237
238
239
240
241
242
243
244
245
246
247








248
249
250
251
252
253
254
255
237
238
239
240
241
242
243




244
245
246
247
248
249
250
251

252
253
254
255
256
257
258







-
-
-
-
+
+
+
+
+
+
+
+
-







#   endif
			}
#  endif

			[addresses addItem: &address];

next:
# ifdef _SIZEOF_ADDR_IFREQ
			buffer += _SIZEOF_ADDR_IFREQ(*current);
# else
			buffer += sizeof(struct ifreq);
#  ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
			if (current->ifr_addr.sa_len > sizeof(struct sockaddr))
				buffer += sizeof(struct ifreq) -
				    sizeof(struct sockaddr) +
				    current->ifr_addr.sa_len;
			else
#  endif
				buffer += sizeof(struct ifreq);
# endif
		}
	} @finally {
		free(ifrs);
		closesocket(sock);
	}
# endif