On 26.04.2014 23:00, Gert Doering wrote:
Hiya,

with some arm-twisting, I managed to convince build-snapshot to actually
do that (it would prefer to do a git clone, autoconf, tarball, copy tarball,
ignore the tarball, fetch 2.3.3 source, extract 2.3.3 and build that, thus
never showing compilation errors...), and here we go...

socket.c: In function 'socket_bind':
socket.c:1124:40: error: 'IPV6_V6ONLY' undeclared (first use in this function)
socket.c:1124:40: note: each undeclared identifier is reported only once for 
each function it appears in
socket.c:1124:7: warning: passing argument 4 of 'setsockopt' from incompatible 
pointer type [enabled by default]
/usr/lib/gcc/i686-w64-mingw32/4.6/../../../../i686-w64-mingw32/include/winsock2.h:1016:34:
 note: expected 'const char *' but argument is of type 'int *'
socket.c: In function 'openvpn_connect':
socket.c:1218:32: error: 'const struct sockaddr' has no member named 'addr'
socket.c:1218:62: error: 'const struct sockaddr' has no member named 'addr'
socket.c: In function 'socket_recv_queue':
socket.c:3135:45: error: 'struct link_socket_addr' has no member named 'local'

... I'm posting this here so whoever has time can take a stab at it
(I won't be able to work on this for the next couple of days, will focus
on 2.3.4 release items).


The option seems to be supported since Windows Vista. I think we should add something like this to the windows ifdefs (copied from http://marc.info/?l=apr-dev&m=121392734329754&w=2):

+/* Ugly solution - only the Windows 2008 SDK or later have this symbol defined.
+ * The symbol doesn't guarantee that the socket option is supported on
+ * the runtime version of Windows, so we define it here (for build systems)
+ * and always check at runtime if it is supported.
+ */
+#ifndef IPV6_V6ONLY
+#define IPV6_V6ONLY 27
+#endif

Reply via email to