I'm trying to catch up on VMS fixes, and with the 0.9.8 and 1.0.0 series, it seems pretty straightforward.
With 1.0.1 (in development), it seems like things are going down, pretty much. My problem there is that in dtls1.h, struct timeval is used, and having that properly defined seems to require that _XOPEN_SOURCE_EXTENDED, but this needs to happen before time.h ( which is the same as sys/time.h on VMS, the two are merged together) is included. I tried to define _XOPEN_SOURCE_EXTENDED early in ssl_locl.h (which includes ssl.h, which includes dtls1.h). This didn't work with t1_reneg.c, since that one includes objects.h, which includes asn1.h, which includes time.h, before it include ssl_locl.h. So the solution would be to have _XOPEN_SOURCE_EXTENDED defined in every source file that includes ssl_locl.h... and it would be just as easy to simply have that part of the command line, like this: CC/OPTIMIZE/NODEBUG/STANDARD=ANSI89/NOLIST/PREFIX=ALL/INCLUDE=(SYS$DISK:[-.CRYPTO],SYS$DISK:[-])/DEFINE=("FLAT_INC=1",TCPIP_TYPE_NONE,_XOPEN_SOURCE_EXTENDED)/WARNING=(DISABLE=(LONGLONGTYPE,LONGLONGSUFX,FOUNDCR))/OBJ=name.OBJ name.C Unfortunately, this doesn't work well with some files: $ CC/OPTIMIZE/NODEBUG/STANDARD=ANSI89/NOLIST/PREFIX=ALL/INCLUDE=(SYS$DISK:[-.CRYPTO],SYS$DISK:[-])/DEFINE=("FLAT_INC=1",TCPIP_TYPE_NONE,_XOPEN_SOURCE_EXTENDED)/WARNING=(DISABLE=(LONGLONGTYPE,LONGLONGSUFX,FOUNDCR))/obj=s3_pkt.i s3_pkt.c u_short ar_hrd; /* format of hardware address */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 81 in module IF_ARP of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_short ar_pro; /* format of protocol address */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 84 in module IF_ARP of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_char ar_hln; /* length of hardware address */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 85 in module IF_ARP of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_char ar_pln; /* length of protocol address */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 86 in module IF_ARP of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_short ar_op; /* one of: */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 87 in module IF_ARP of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_short if_mtu; /* maximum IP transmission unit */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 140 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_short if_mediamtu; /* maximum MTU of the media */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 141 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_ipackets; /* packets received on interface */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 165 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_ierrors; /* input errors on interface */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 166 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_opackets; /* packets sent on interface */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 167 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_oerrors; /* output errors on interface */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 168 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_collisions; /* collisions on csma interfaces */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 169 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_sysid_type; /* MOP SYSID device code */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 170 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_ibytes; /* total number of octets received */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 173 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_obytes; /* total number of octets sent */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 174 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_imcasts; /* packets received via multicast */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 175 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_omcasts; /* packets sent via multicast */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 176 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_iqdrops; /* dropped on input, this interface */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 177 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_noproto; /* destined for unsupported protocol */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 178 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_baudrate; /* linespeed */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 179 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_imbytes; /* multicast octets received */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 180 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_long if_ombytes; /* multicast octets sent */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 181 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_char if_type; /* ethernet, tokenring, etc */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 184 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_char if_addrlen; /* media address length */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 185 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_char if_hdrlen; /* media header length */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 186 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_char if_initialized; /* ifnet has been initialized */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 187 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_short if_alloc_size; /* size structure if_alloc() alloc'ed */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 194 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_short if_padb[1]; /* unused - padding */ ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 195 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_short ovms_if_sts; ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 206 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_short ovms_if_pad; ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 207 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 u_short ovms_if_size; ........^ %CC-E-MISSINGTYPE, Missing type specifier or type qualifier. at line number 208 in module IF of text library SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 %CC-F-TOOMANYERR, More than 30 errors were encountered in the course of compilation. I've hit upon this behaviour before, and it's been easy to added the definition of _XOPEN_SOURCE_EXTENDED in one or two places, but with dtls1.h being included all over the place, this is getting rather massive, not to mention error prone. And trying to follow what's happening in the maze of inclusions is getting a bit daunting. BTW, the system I tried on has the following data: $ cc/version nl: HP C V7.1-015 on OpenVMS Alpha V8.3 If what I hit is a bug in the DEC C headers, that would of course solve my problems. If not, we have a problem, and quite frankly, I'm starting to seriously question if I should try to support VMS any more, considering it's not something I work with every day any more... Cheers, Richard -- Richard Levitte rich...@levitte.org http://richard.levitte.org/ "Life is a tremendous celebration - and I'm invited!" -- from a friend's blog, translated from Swedish ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org