IPv6 in AnyConnect for iOS

sskaje sskaje at gmail.com
Sat Dec 27 20:00:36 PST 2014


I tried:

        if (strncasecmp(req->user_agent, "Open Any", 8) == 0) {
            if (strncmp(req->user_agent, "Open AnyConnect VPN Agent
v3", 28) == 0)
                req->user_agent_type = AGENT_OPENCONNECT_V3;
            else
                req->user_agent_type = AGENT_OPENCONNECT;
        } else if (strncasecmp(req->user_agent, "Cisco Any", 8) == 0) {
            req->user_agent_type = AGENT_OPENCONNECT;
        }


IPv6 address is recognized by AnyConnect for iOS, but with a 'null'
cidr. I tried the changes I made in worker-auth.c, same.

ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
HTTP/1.1 200 CONNECTED
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Version: 1
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-Server-Version: ocserv 0.8.9
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 suggesting DPD of 90 secs
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER: X-CSTP-DPD: 90
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Default-Domain: sskaje.me
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 sending IPv4 192.168.122.199
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Address: 192.168.122.199
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Netmask: 255.255.255.0
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 sending IPv6
2400:8900:e000:xxxx:xxxx:2f:f9e5:c701
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Address: 2400:8900:e000:xxxx:xxxx:2f:f9e5:c701
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-DNS: 8.8.8.8
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-DNS: 8.8.8.8
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-DNS: 8.8.4.4
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Keepalive: 32400
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Idle-Timeout: none
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Smartcard-Removal-Disconnect: true
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Rekey-Time: 172800
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Rekey-Method: ssl
ocserv[28717]: worker[sskaje]: xx.xx.xx.xx:56367 ========HEADER:
X-CSTP-Session-Timeout: none


Here is debug log from AnyConnect:
[12-28-14 11:56:22:950] AnyConnectDataAgent: Current Profile:
profile.xml Received VPN Session Configuration Settings:  Keep
Installed: enabled  Rekey Method: handshake  Proxy Setting: do not
modify  Proxy Server: none  Proxy PAC URL: none  Proxy Exceptions:
none  Proxy Lockdown: enabled  Split Exclude: disabled  Split Include:
disabled  Split DNS: disabled  Tunnel all DNS: disabled  Local LAN
Wildcard: disabled  Firewall Rules: none  Client Address:
192.168.122.199  Client Mask: 255.255.255.0  Client IPv6 Address:
2400:8900:E000:XXXX:XXXX:2F:F9E5:C701  Client IPv6 Mask: unknown  MTU:
1293  TLS Compression: disabled  TLS Keep Alive: 32400 seconds  TLS
Rekey Interval: 172800 seconds  TLS DPD: 90 seconds  DTLS: enabled
DTLS Compression: disabled  DTLS Keep Alive: 32400 seconds  DTLS Rekey
Interval: 172810 seconds  DTLS DPD: 90 seconds  Session Timeout: 0
seconds  Disconnect Timeout: 0 seconds  Idle Timeout: 0 seconds
Server: unknown  MUS Host: unknown  DAP User Message: none  Quarantine
State: unknown  Always On VPN: unknown  Lease Duration: none  Default
Domain: sskaje.me  Home page: unknown  Smart Card Removal Disconnect:
enabled  License Response: accept
...
[12-28-14 11:56:22:960] AnyConnectDataAgent: Function: enableHostMgr
File: /tmp/build/thehoff/DaVinci_MR120.647307753904/DaVinci_MR12/vpn/ApplePlugins/Agent/TunTapMgr.cpp
Line: 2842 about to enable tuntap: v4 192.168.122.199/255.255.255.0
(fake ? no); v6 2400:8900:E000:XXXX:XXXX:2F:F9E5:C701/null (fake ? no)




sskaje at gmail.com
https://sskaje.me/


On Sat, Dec 27, 2014 at 4:55 PM, Nikos Mavrogiannopoulos
<nmav at gnutls.org> wrote:
> On Fri, 2014-12-26 at 18:25 +0000, David Woodhouse wrote:
>> On Fri, 2014-12-26 at 20:18 +0200, Nikos Mavrogiannopoulos wrote:
>> >
>> > Hi,
>> >  The logic as it is now for ocserv worker is to send IPv6 addresses if
>> > the client is openconnect or the client has sent the header
>> > "X-CSTP-Full-IPv6-Capability: true". That is because cisco's clients
>> > didn't properly handle IPv6 if they didn't send that header.
>>
>> Really? Or do they just expect different headers and handle things
>> differently. We seemed to have IPv6 support, and it was deployed at UCB
>> (where I briefly had an account to test OpenConnect with IPv6) a *long*
>> time before X-CSTP-Full-IPv6-Capability came about.
>
> I have disabled IPv6 support in anyconnect clients because I have had no
> opportunity to test them. If sskaje verifies that they work if they are
> treated as being openconnect, I'll enable it there as well.
>
> regards,
> Nikos
>
>



More information about the openconnect-devel mailing list