Unable to build openconnect-3.16 in Solaris 10 (x86)

David Woodhouse dwmw2 at infradead.org
Thu Apr 19 02:45:43 EDT 2012


On Thu, 2012-04-19 at 11:43 +0800, chua wei yang wrote:
> I think all is good now, my original problem has been resolved.

I think you'll still need something like this, to make things actually
work on Solaris 10. I'm hoping the experts will provide a proper fix and
a coherent explanation.

diff --git a/tun.c b/tun.c
index b3a7fb2..7d47be9 100644
--- a/tun.c
+++ b/tun.c
@@ -360,10 +360,13 @@ int script_config_tun(struct openconnect_info *vpninfo, const char *reason)
 }
 
 #ifdef __sun__
+#include <sys/utsname.h>
+
 static int link_proto(int unit_nr, const char *devname, uint64_t flags)
 {
 	int ip_fd, mux_id, tun2_fd;
 	struct lifreq ifr;
+	struct utsname un;
 
 	tun2_fd = open("/dev/tun", O_RDWR);
 	if (tun2_fd < 0) {
@@ -393,7 +396,11 @@ static int link_proto(int unit_nr, const char *devname, uint64_t flags)
 		close(tun2_fd);
 		return -1;
 	}
-	if (ioctl(ip_fd, I_PUSH, "arp") < 0) {
+
+	/* This doesn't work on Solaris 10. And presumably before */
+	uname (&un);
+	if (atof(un.release) >= 5.11 &&
+	    ioctl(ip_fd, I_PUSH, "arp") < 0) {
 		perror(_("Can't push ARP"));
 		close(tun2_fd);
 		close(ip_fd);

> 
-- 
dwmw2
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openconnect-devel/attachments/20120419/c0b06b05/attachment-0001.bin>


More information about the openconnect-devel mailing list