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

chua wei yang noobishyang at gmail.com
Thu Apr 19 04:19:15 EDT 2012


Hi David,

You are right, I can't seem to get any further; always ended up with failing.

bash-3.00# ping myaccess.oraclevpn.com
myaccess.oraclevpn.com is alive
bash-3.00# openconnect --script /etc/vpnc/vpnc-script
https://myaccess.oraclevpn.com
Attempting to connect to 198.17.70.10:443
Failed to connect to host myaccess.oraclevpn.com
Failed to open HTTPS connection to myaccess.oraclevpn.com
Failed to obtain WebVPN cookie

By the way, the command I used to connect to our server,
bash-3.00# openconnect --certificate /opt/myCertCA.crt --script
/etc/vpnc/vpnc-script myvpnaddress.com:443

Am I doing anything wrong? It ended up with the same three "Failed
to.." errors as above.


I have tried to connect to our ssl vpn server but unable to,
openconnect --certificate "/opt/ncscartsg01_NCS Pte Ltd Root CA.crt"
--script /etc/vpnc/vpnc-script https://sam.ncs.com.sg
Attempting to connect to 203.126.130.178:443
Failed to connect to host sam.ncs.com.sg
Failed to open HTTPS connection to sam.ncs.com.sg
Failed to obtain WebVPN cookie

On Thu, Apr 19, 2012 at 2:45 PM, David Woodhouse <dwmw2 at infradead.org> wrote:
> 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



More information about the openconnect-devel mailing list