Gents,

having compiled and used openconnect for years and years (approx. since 3.x) without ever having trouble compiling it on any of the OSses I used and have used in the past, I was amazed to find that in 8.02 it bombs out on memset_s in auth-common.c:115 under Solaris 11.4

To save you the trouble and the torn-out hair, Solaris 11.4 needs a particular extra #define to correctly make use of memset_s. This has to go BEFORE the line that #includes <string.h> (cf. memory(3C) on Solaris 11.4)

Apparently, Solaris before 11.4 did not support memset_s, because on Solaris 11.3 everything compiled as it always used to do.

I finally got it to work once I did

$ cat /tmp/diff.out
*** /tmp/auth-common.c  Wed Apr 10 16:02:01 2019
--- auth-common.c       Wed Apr 10 15:53:08 2019
***************
*** 20,25 ****
--- 20,30 ----
  #include <unistd.h>
  #include <fcntl.h>
  #include <time.h>
+ #ifdef HAVE_MEMSET_S
+ #ifdef SOLARIS
+ #define __STDC_WANT_LIB_EXT1__ 1
+ #endif
+ #endif
  #include <string.h>
  #include <ctype.h>
  #include <errno.h>

where /tmp/auth-common.c is the version that was distributed. That way, the change should be transparent on other OSses and thus the impact minimal.

Thanks for the good work all these years,
best regards,
- Thomas

--
Thomas Hildebrandt              mailto: wizkid.2000 _at_ freenet.de


_______________________________________________
openconnect-devel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/openconnect-devel

Reply via email to