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