Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Bump library soname and add 'const' to lots of char * arguments
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
  • Loading branch information
David Woodhouse authored and David Woodhouse committed Oct 9, 2014
1 parent 93b3db9 commit 72eb0fe
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 61 deletions.
7 changes: 4 additions & 3 deletions http.c
Expand Up @@ -2181,10 +2181,10 @@ int process_proxy(struct openconnect_info *vpninfo, int ssl_sock)
return ret;
}

int openconnect_set_proxy_auth(struct openconnect_info *vpninfo, char *methods)
int openconnect_set_proxy_auth(struct openconnect_info *vpninfo, const char *methods)
{
int i, len;
char *p;
const char *p;

for (i = 0; i < sizeof(auth_methods) / sizeof(auth_methods[0]); i++)
vpninfo->auth[auth_methods[i].state_index].state = AUTH_DISABLED;
Expand All @@ -2211,7 +2211,8 @@ int openconnect_set_proxy_auth(struct openconnect_info *vpninfo, char *methods)
return 0;
}

int openconnect_set_http_proxy(struct openconnect_info *vpninfo, char *proxy)
int openconnect_set_http_proxy(struct openconnect_info *vpninfo,
const char *proxy)
{
char *url = strdup(proxy), *p;
int ret;
Expand Down
2 changes: 1 addition & 1 deletion jni.c
Expand Up @@ -219,7 +219,7 @@ static int validate_peer_cert_cb(void *privdata, OPENCONNECT_X509 *cert, const c
return ret;
}

static int write_new_config_cb(void *privdata, char *buf, int buflen)
static int write_new_config_cb(void *privdata, const char *buf, int buflen)
{
struct libctx *ctx = privdata;
jmethodID mid;
Expand Down
16 changes: 2 additions & 14 deletions libopenconnect.map.in
@@ -1,4 +1,4 @@
OPENCONNECT_3.0 {
OPENCONNECT_4.0 {
global:
openconnect_clear_cookie;
openconnect_get_cert_sha1;
Expand Down Expand Up @@ -33,10 +33,6 @@ OPENCONNECT_3.0 {
openconnect_set_reported_os;
openconnect_has_oath_support;
openconnect_set_token_mode;
};

OPENCONNECT_3.1 {
global:
openconnect_setup_cmd_pipe;
openconnect_mainloop;
openconnect_setup_tun_device;
Expand All @@ -52,19 +48,11 @@ OPENCONNECT_3.1 {
openconnect_set_mobile_info;
openconnect_set_xmlpost;
openconnect_set_stats_handler;
} OPENCONNECT_3.0;

OPENCONNECT_3.3 {
global:
openconnect_set_pfs;
openconnect_set_dpd;
openconnect_set_proxy_auth;
} OPENCONNECT_3.1;

OPENCONNECT_3.4 {
global:
openconnect_set_token_callbacks;
} OPENCONNECT_3.3;
};

OPENCONNECT_PRIVATE {
global: @SYMVER_TIME@ @SYMVER_GETLINE@ @SYMVER_JAVA@ @SYMVER_ASPRINTF@ @SYMVER_VASPRINTF@
Expand Down
45 changes: 26 additions & 19 deletions library.c
Expand Up @@ -38,7 +38,7 @@

#include "openconnect-internal.h"

struct openconnect_info *openconnect_vpninfo_new(char *useragent,
struct openconnect_info *openconnect_vpninfo_new(const char *useragent,
openconnect_validate_peer_cert_vfn validate_peer_cert,
openconnect_write_new_config_vfn write_new_config,
openconnect_process_auth_form_vfn process_auth_form,
Expand Down Expand Up @@ -96,7 +96,8 @@ struct openconnect_info *openconnect_vpninfo_new(char *useragent,
return NULL;
}

int openconnect_set_reported_os(struct openconnect_info *vpninfo, const char *os)
int openconnect_set_reported_os(struct openconnect_info *vpninfo,
const char *os)
{
if (!os) {
#if defined(__APPLE__)
Expand Down Expand Up @@ -125,9 +126,9 @@ int openconnect_set_reported_os(struct openconnect_info *vpninfo, const char *os
}

int openconnect_set_mobile_info(struct openconnect_info *vpninfo,
char *mobile_platform_version,
char *mobile_device_type,
char *mobile_device_uniqueid)
const char *mobile_platform_version,
const char *mobile_device_type,
const char *mobile_device_uniqueid)
{
STRDUP(vpninfo->mobile_platform_version, mobile_platform_version);
STRDUP(vpninfo->mobile_device_type, mobile_device_type);
Expand Down Expand Up @@ -254,12 +255,13 @@ void openconnect_vpninfo_free(struct openconnect_info *vpninfo)
free(vpninfo);
}

char *openconnect_get_hostname(struct openconnect_info *vpninfo)
const char *openconnect_get_hostname(struct openconnect_info *vpninfo)
{
return vpninfo->unique_hostname?:vpninfo->hostname;
}

int openconnect_set_hostname(struct openconnect_info *vpninfo, char *hostname)
int openconnect_set_hostname(struct openconnect_info *vpninfo,
const char *hostname)
{
UTF8CHECK(hostname);

Expand All @@ -278,31 +280,34 @@ char *openconnect_get_urlpath(struct openconnect_info *vpninfo)
return vpninfo->urlpath;
}

int openconnect_set_urlpath(struct openconnect_info *vpninfo, char *urlpath)
int openconnect_set_urlpath(struct openconnect_info *vpninfo,
const char *urlpath)
{
UTF8CHECK(urlpath);

STRDUP(vpninfo->urlpath, urlpath);
return 0;
}

void openconnect_set_xmlsha1(struct openconnect_info *vpninfo, const char *xmlsha1, int size)
void openconnect_set_xmlsha1(struct openconnect_info *vpninfo,
const char *xmlsha1, int size)
{
if (size != sizeof(vpninfo->xmlsha1))
return;

memcpy(&vpninfo->xmlsha1, xmlsha1, size);
}

int openconnect_set_cafile(struct openconnect_info *vpninfo, char *cafile)
int openconnect_set_cafile(struct openconnect_info *vpninfo, const char *cafile)
{
UTF8CHECK(cafile);

STRDUP(vpninfo->cafile, cafile);
return 0;
}

int openconnect_set_server_cert_sha1(struct openconnect_info *vpninfo, char *servercert)
int openconnect_set_server_cert_sha1(struct openconnect_info *vpninfo,
const char *servercert)
{
STRDUP(vpninfo->servercert, servercert);
return 0;
Expand Down Expand Up @@ -341,7 +346,8 @@ int openconnect_get_ip_info(struct openconnect_info *vpninfo,
return 0;
}

int openconnect_setup_csd(struct openconnect_info *vpninfo, uid_t uid, int silent, char *wrapper)
int openconnect_setup_csd(struct openconnect_info *vpninfo, uid_t uid,
int silent, const char *wrapper)
{
vpninfo->uid_csd = uid;
vpninfo->uid_csd_given = silent ? 2 : 1;
Expand All @@ -355,7 +361,8 @@ void openconnect_set_xmlpost(struct openconnect_info *vpninfo, int enable)
vpninfo->xmlpost = enable;
}

int openconnect_set_client_cert(struct openconnect_info *vpninfo, char *cert, char *sslkey)
int openconnect_set_client_cert(struct openconnect_info *vpninfo,
const char *cert, const char *sslkey)
{
UTF8CHECK(cert);
UTF8CHECK(sslkey);
Expand All @@ -381,7 +388,7 @@ int openconnect_get_port(struct openconnect_info *vpninfo)
return vpninfo->port;
}

char *openconnect_get_cookie(struct openconnect_info *vpninfo)
const char *openconnect_get_cookie(struct openconnect_info *vpninfo)
{
return vpninfo->cookie;
}
Expand All @@ -402,7 +409,7 @@ void openconnect_reset_ssl(struct openconnect_info *vpninfo)
}
}

int openconnect_parse_url(struct openconnect_info *vpninfo, char *url)
int openconnect_parse_url(struct openconnect_info *vpninfo, const char *url)
{
char *scheme = NULL;
int ret;
Expand Down Expand Up @@ -432,13 +439,12 @@ int openconnect_parse_url(struct openconnect_info *vpninfo, char *url)
}

void openconnect_set_cert_expiry_warning(struct openconnect_info *vpninfo,
int seconds)
int seconds)
{
vpninfo->cert_expire_warning = seconds;
}

void openconnect_set_pfs(struct openconnect_info *vpninfo,
unsigned val)
void openconnect_set_pfs(struct openconnect_info *vpninfo, unsigned val)
{
vpninfo->pfs = val;
}
Expand Down Expand Up @@ -625,7 +631,8 @@ void openconnect_set_stats_handler(struct openconnect_info *vpninfo,
}

/* Set up a traditional OS-based tunnel device, optionally specified in 'ifname'. */
int openconnect_setup_tun_device(struct openconnect_info *vpninfo, char *vpnc_script, char *ifname)
int openconnect_setup_tun_device(struct openconnect_info *vpninfo,
const char *vpnc_script, const char *ifname)
{
intptr_t tun_fd;
char *legacy_ifname;
Expand Down
4 changes: 2 additions & 2 deletions main.c
Expand Up @@ -63,7 +63,7 @@ static const char *legacy_charset;
#endif

static int write_new_config(void *_vpninfo,
char *buf, int buflen);
const char *buf, int buflen);
static void write_progress(void *_vpninfo,
int level, const char *fmt, ...);
static int validate_peer_cert(void *_vpninfo,
Expand Down Expand Up @@ -1460,7 +1460,7 @@ int main(int argc, char **argv)
exit(ret);
}

static int write_new_config(void *_vpninfo, char *buf, int buflen)
static int write_new_config(void *_vpninfo, const char *buf, int buflen)
{
struct openconnect_info *vpninfo = _vpninfo;
int config_fd;
Expand Down
48 changes: 28 additions & 20 deletions openconnect.h
Expand Up @@ -28,10 +28,13 @@
#define uid_t unsigned
#endif

#define OPENCONNECT_API_VERSION_MAJOR 3
#define OPENCONNECT_API_VERSION_MINOR 4
#define OPENCONNECT_API_VERSION_MAJOR 4
#define OPENCONNECT_API_VERSION_MINOR 0

/*
* API version 4.0:
* - Change string handling to never transfer ownership of allocations.
*
* API version 3.4:
* - Add openconnect_set_token_callbacks()
*
Expand Down Expand Up @@ -284,16 +287,18 @@ int openconnect_get_cert_DER(struct openconnect_info *vpninfo,

/* Contains a comma-separated list of authentication methods to enabled.
Currently supported: Negotiate,NTLM,Digest,Basic */
int openconnect_set_proxy_auth(struct openconnect_info *vpninfo, char *methods);
int openconnect_set_http_proxy(struct openconnect_info *vpninfo, char *proxy);
int openconnect_set_proxy_auth(struct openconnect_info *vpninfo,
const char *methods);
int openconnect_set_http_proxy(struct openconnect_info *vpninfo,
const char *proxy);
int openconnect_passphrase_from_fsid(struct openconnect_info *vpninfo);
int openconnect_obtain_cookie(struct openconnect_info *vpninfo);
void openconnect_init_ssl(void);

char *openconnect_get_hostname(struct openconnect_info *);
int openconnect_set_hostname(struct openconnect_info *, char *);
const char *openconnect_get_hostname(struct openconnect_info *);
int openconnect_set_hostname(struct openconnect_info *, const char *);
char *openconnect_get_urlpath(struct openconnect_info *);
int openconnect_set_urlpath(struct openconnect_info *, char *);
int openconnect_set_urlpath(struct openconnect_info *, const char *);

/* Some software tokens, such as HOTP tokens, include a counter which
* needs to be stored in persistent storage.
Expand Down Expand Up @@ -326,8 +331,8 @@ int openconnect_set_stoken_mode(struct openconnect_info *, int, const char *);
represented as hex with a trailing NUL. */
void openconnect_set_xmlsha1(struct openconnect_info *, const char *, int size);

int openconnect_set_cafile(struct openconnect_info *, char *);
int openconnect_setup_csd(struct openconnect_info *, uid_t, int silent, char *wrapper);
int openconnect_set_cafile(struct openconnect_info *, const char *);
int openconnect_setup_csd(struct openconnect_info *, uid_t, int silent, const char *wrapper);
void openconnect_set_xmlpost(struct openconnect_info *, int enable);

/* Valid choices are: "linux", "linux-64", "win", "mac-intel",
Expand All @@ -336,11 +341,12 @@ void openconnect_set_xmlpost(struct openconnect_info *, int enable);
int openconnect_set_reported_os(struct openconnect_info *, const char *os);

int openconnect_set_mobile_info(struct openconnect_info *vpninfo,
char *mobile_platform_version,
char *mobile_device_type,
char *mobile_device_uniqueid);
int openconnect_set_client_cert(struct openconnect_info *, char *cert, char *sslkey);
int openconnect_set_server_cert_sha1(struct openconnect_info *, char *);
const char *mobile_platform_version,
const char *mobile_device_type,
const char *mobile_device_uniqueid);
int openconnect_set_client_cert(struct openconnect_info *, const char *cert,
const char *sslkey);
int openconnect_set_server_cert_sha1(struct openconnect_info *, const char *);
const char *openconnect_get_ifname(struct openconnect_info *);
void openconnect_set_reqmtu(struct openconnect_info *, int reqmtu);
void openconnect_set_dpd(struct openconnect_info *, int min_seconds);
Expand All @@ -361,11 +367,11 @@ int openconnect_get_ip_info(struct openconnect_info *,
OPENCONNECT_X509 *openconnect_get_peer_cert(struct openconnect_info *);

int openconnect_get_port(struct openconnect_info *);
char *openconnect_get_cookie(struct openconnect_info *);
const char *openconnect_get_cookie(struct openconnect_info *);
void openconnect_clear_cookie(struct openconnect_info *);

void openconnect_reset_ssl(struct openconnect_info *vpninfo);
int openconnect_parse_url(struct openconnect_info *vpninfo, char *url);
int openconnect_parse_url(struct openconnect_info *vpninfo, const char *url);
void openconnect_set_cert_expiry_warning(struct openconnect_info *vpninfo,
int seconds);
void openconnect_set_pfs(struct openconnect_info *vpninfo, unsigned val);
Expand Down Expand Up @@ -399,10 +405,12 @@ int openconnect_make_cstp_connection(struct openconnect_info *vpninfo);

/* Create a tun device through the OS kernel (typical use case). Both
strings are optional and can be NULL if desired. */
int openconnect_setup_tun_device(struct openconnect_info *vpninfo, char *vpnc_script, char *ifname);
int openconnect_setup_tun_device(struct openconnect_info *vpninfo,
const char *vpnc_script, const char *ifname);

/* Pass traffic to a script program (no tun device). */
int openconnect_setup_tun_script(struct openconnect_info *vpninfo, char *tun_script);
int openconnect_setup_tun_script(struct openconnect_info *vpninfo,
const char *tun_script);

#ifdef _WIN32
/* Caller will provide an overlap-capable handle for the tunnel traffic. */
Expand Down Expand Up @@ -442,7 +450,7 @@ typedef int (*openconnect_validate_peer_cert_vfn) (void *privdata,
not match the SHA1 set with the openconnect_set_xmlsha1() above. If
they don't match, or openconnect_set_xmlsha1() has not been called,
then the new XML is downloaded and this function is invoked. */
typedef int (*openconnect_write_new_config_vfn) (void *privdata, char *buf,
typedef int (*openconnect_write_new_config_vfn) (void *privdata, const char *buf,
int buflen);
/* Handle an authentication form, requesting input from the user.
* Return value:
Expand All @@ -456,7 +464,7 @@ typedef int (*openconnect_process_auth_form_vfn) (void *privdata,
typedef void __attribute__ ((format(printf, 3, 4)))
(*openconnect_progress_vfn) (void *privdata, int level,
const char *fmt, ...);
struct openconnect_info *openconnect_vpninfo_new(char *useragent,
struct openconnect_info *openconnect_vpninfo_new(const char *useragent,
openconnect_validate_peer_cert_vfn,
openconnect_write_new_config_vfn,
openconnect_process_auth_form_vfn,
Expand Down
3 changes: 2 additions & 1 deletion tun-win32.c
Expand Up @@ -315,7 +315,8 @@ int openconnect_setup_tun_fd(struct openconnect_info *vpninfo, intptr_t tun_fd)
return 0;
}

int openconnect_setup_tun_script(struct openconnect_info *vpninfo, char *tun_script)
int openconnect_setup_tun_script(struct openconnect_info *vpninfo,
const char *tun_script)
{
vpn_progress(vpninfo, PRG_ERR,
_("Spawning tunnel scripts is not yet supported on Windows\n"));
Expand Down
3 changes: 2 additions & 1 deletion tun.c
Expand Up @@ -356,7 +356,8 @@ int openconnect_setup_tun_fd(struct openconnect_info *vpninfo, int tun_fd)
return 0;
}

int openconnect_setup_tun_script(struct openconnect_info *vpninfo, char *tun_script)
int openconnect_setup_tun_script(struct openconnect_info *vpninfo,
const char *tun_script)
{
pid_t child;
int fds[2];
Expand Down

0 comments on commit 72eb0fe

Please sign in to comment.