From: Randy Moss Date: Fri, 15 May 2020 16:04:53 +0000 (+0000) Subject: Add `openconnect_set_cookie` function to library and jni X-Git-Tag: v8.20~398^2~4^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5b3d3a86744ddcc7e82f07e843ef2a9dc5ae7671;p=users%2Fdwmw2%2Fopenconnect.git Add `openconnect_set_cookie` function to library and jni Signed-off-by: Randy Moss --- diff --git a/jni.c b/jni.c index cd50a538..d900eea8 100644 --- a/jni.c +++ b/jni.c @@ -1353,6 +1353,14 @@ JNIEXPORT void JNICALL Java_org_infradead_libopenconnect_LibOpenConnect_setUrlpa SET_STRING_END(); } +JNIEXPORT void JNICALL Java_org_infradead_libopenconnect_LibOpenConnect_setCookie( + JNIEnv *jenv, jobject jobj, jstring jarg) +{ + SET_STRING_START_VOID() + openconnect_set_cookie(ctx->vpninfo, arg); + SET_STRING_END(); +} + JNIEXPORT void JNICALL Java_org_infradead_libopenconnect_LibOpenConnect_setLocalName( JNIEnv *jenv, jobject jobj, jstring jarg) { diff --git a/libopenconnect.map.in b/libopenconnect.map.in index 5b4bc5d7..1f0a2760 100644 --- a/libopenconnect.map.in +++ b/libopenconnect.map.in @@ -108,6 +108,11 @@ OPENCONNECT_5_6 { openconnect_set_trojan_interval; } OPENCONNECT_5_5; +OPENCONNECT_5_7 { + global: + openconnect_set_cookie; +} OPENCONNECT_5_6; + OPENCONNECT_PRIVATE { global: @SYMVER_TIME@ @SYMVER_GETLINE@ @SYMVER_JAVA@ @SYMVER_ASPRINTF@ @SYMVER_VASPRINTF@ @SYMVER_WIN32_STRERROR@ openconnect_get_tls_library_version; diff --git a/library.c b/library.c index 586c5798..bde20a1c 100644 --- a/library.c +++ b/library.c @@ -671,6 +671,15 @@ void openconnect_clear_cookie(struct openconnect_info *vpninfo) memset(vpninfo->cookie, 0, strlen(vpninfo->cookie)); } +int openconnect_set_cookie(struct openconnect_info *vpninfo, + const char *cookie) +{ + UTF8CHECK(cookie); + + STRDUP(vpninfo->cookie, cookie); + return 0; +} + void openconnect_reset_ssl(struct openconnect_info *vpninfo) { vpninfo->got_cancel_cmd = 0; diff --git a/openconnect.h b/openconnect.h index d1c3d74a..2dbce891 100644 --- a/openconnect.h +++ b/openconnect.h @@ -33,9 +33,12 @@ extern "C" { #endif #define OPENCONNECT_API_VERSION_MAJOR 5 -#define OPENCONNECT_API_VERSION_MINOR 6 +#define OPENCONNECT_API_VERSION_MINOR 7 /* + * API version 5.7: + * - Add openconnect_set_cookie() + * * API version 5.6 (v8.06; 2020-03-31): * - Add openconnect_set_trojan_interval() * @@ -540,6 +543,7 @@ int openconnect_get_ip_info(struct openconnect_info *, int openconnect_get_port(struct openconnect_info *); const char *openconnect_get_cookie(struct openconnect_info *); +int openconnect_set_cookie(struct openconnect_info *, const char *); void openconnect_clear_cookie(struct openconnect_info *); void openconnect_disable_ipv6(struct openconnect_info *vpninfo);