diff --git a/src/worker-http.c b/src/worker-http.c index 7311a081..66ed2df9 100644 --- a/src/worker-http.c +++ b/src/worker-http.c @@ -420,6 +420,9 @@ void header_value_check(struct worker_st *ws, struct http_req_st *req) } else if (strncasecmp(req->user_agent, "Clavister OneConnect VPN", 24) == 0) { oclog(ws, LOG_DEBUG, "Detected Clavister OneConnect"); req->user_agent_type = AGENT_OPENCONNECT_CLAVISTER; + } else if (strncasecmp(req->user_agent, "AnyLink Secure Client", 21) == 0) { + oclog(ws, LOG_DEBUG, "Detected AnyLink"); + req->user_agent_type = AGENT_ANYLINK; } else { oclog(ws, LOG_DEBUG, "Unknown client (%s)", req->user_agent); } diff --git a/src/worker-vpn.c b/src/worker-vpn.c index ded04495..9c07b8ed 100644 --- a/src/worker-vpn.c +++ b/src/worker-vpn.c @@ -2065,6 +2065,7 @@ static int connect_handler(worker_st * ws) case AGENT_OPENCONNECT: case AGENT_ANYCONNECT: case AGENT_OPENCONNECT_CLAVISTER: + case AGENT_ANYLINK: break; case AGENT_OPENCONNECT_V3: case AGENT_UNKNOWN: diff --git a/src/worker.h b/src/worker.h index 168cf727..d8984b1d 100644 --- a/src/worker.h +++ b/src/worker.h @@ -92,7 +92,8 @@ enum { AGENT_OPENCONNECT_V3, AGENT_OPENCONNECT, AGENT_ANYCONNECT, - AGENT_OPENCONNECT_CLAVISTER + AGENT_OPENCONNECT_CLAVISTER, + AGENT_ANYLINK }; typedef int (*decompress_fn)(void* dst, int maxDstSize, const void* src, int src_size);