mirror of
https://gitlab.com/openconnect/ocserv.git
synced 2026-02-10 08:46:58 +08:00
deprecated ipv6_netmask
This commit is contained in:
16
src/common.h
16
src/common.h
@@ -42,6 +42,22 @@ ssize_t force_read_timeout(int sockfd, void *buf, size_t len, unsigned sec);
|
||||
ssize_t recv_timeout(int sockfd, void *buf, size_t len, unsigned sec);
|
||||
int ip_cmp(const struct sockaddr_storage *s1, const struct sockaddr_storage *s2, size_t n);
|
||||
char* ipv6_prefix_to_mask(void *pool, unsigned prefix);
|
||||
inline static int valid_ipv6_prefix(unsigned prefix)
|
||||
{
|
||||
switch (prefix) {
|
||||
case 16:
|
||||
case 32:
|
||||
case 48:
|
||||
case 64:
|
||||
case 80:
|
||||
case 96:
|
||||
case 112:
|
||||
case 128:
|
||||
return 1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
typedef size_t (*pack_func)(const void*, uint8_t *);
|
||||
typedef size_t (*pack_size_func)(const void*);
|
||||
|
||||
@@ -561,10 +561,9 @@ unsigned force_cert_auth;
|
||||
|
||||
READ_NUMERIC("ipv6-prefix", prefix);
|
||||
if (prefix > 0) {
|
||||
config->network.ipv6_netmask = ipv6_prefix_to_mask(config, prefix);
|
||||
config->network.ipv6_prefix = prefix;
|
||||
|
||||
if (config->network.ipv6_netmask == NULL) {
|
||||
if (valid_ipv6_prefix(prefix) == 0) {
|
||||
fprintf(stderr, "invalid IPv6 prefix: %u\n", prefix);
|
||||
exit(1);
|
||||
}
|
||||
@@ -642,8 +641,8 @@ static void check_cfg(struct cfg_st *config)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (config->network.ipv6 != NULL && config->network.ipv6_netmask == NULL) {
|
||||
fprintf(stderr, "No mask found for IPv6 network.\n");
|
||||
if (config->network.ipv6 != NULL && config->network.ipv6_prefix == 0) {
|
||||
fprintf(stderr, "No prefix found for IPv6 network.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -775,7 +774,6 @@ unsigned i;
|
||||
DEL(config->network.ipv4);
|
||||
DEL(config->network.ipv4_netmask);
|
||||
DEL(config->network.ipv6);
|
||||
DEL(config->network.ipv6_netmask);
|
||||
for (i=0;i<config->network.routes_size;i++)
|
||||
DEL(config->network.routes[i]);
|
||||
DEL(config->network.routes);
|
||||
|
||||
@@ -273,15 +273,16 @@ int get_ipv6_lease(main_server_st* s, struct proc_st* proc)
|
||||
struct sockaddr_storage tmp, mask, network, rnd;
|
||||
unsigned i, max_loops = MAX_IP_TRIES;
|
||||
int ret;
|
||||
const char* c_network, *c_netmask;
|
||||
const char* c_network;
|
||||
char *c_netmask = NULL;
|
||||
char buf[64];
|
||||
|
||||
if (proc->config.ipv6_network && proc->config.ipv6_netmask) {
|
||||
if (proc->config.ipv6_network && proc->config.ipv6_prefix) {
|
||||
c_network = proc->config.ipv6_network;
|
||||
c_netmask = proc->config.ipv6_netmask;
|
||||
c_netmask = ipv6_prefix_to_mask(proc, proc->config.ipv6_prefix);
|
||||
} else {
|
||||
c_network = s->config->network.ipv6;
|
||||
c_netmask = s->config->network.ipv6_netmask;
|
||||
c_netmask = ipv6_prefix_to_mask(proc, proc->config.ipv6_prefix);
|
||||
}
|
||||
|
||||
if (c_network && c_netmask) {
|
||||
@@ -392,6 +393,7 @@ int get_ipv6_lease(main_server_st* s, struct proc_st* proc)
|
||||
return 0;
|
||||
fail:
|
||||
talloc_free(proc->ipv6);
|
||||
talloc_free(c_netmask);
|
||||
proc->ipv6 = NULL;
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -85,7 +85,6 @@ int send_cookie_auth_reply(main_server_st* s, struct proc_st* proc,
|
||||
}
|
||||
|
||||
msg.ipv4_netmask = proc->config.ipv4_netmask;
|
||||
msg.ipv6_netmask = proc->config.ipv6_netmask;
|
||||
|
||||
msg.ipv4_network = proc->config.ipv4_network;
|
||||
msg.ipv6_network = proc->config.ipv6_network;
|
||||
|
||||
@@ -199,10 +199,9 @@ struct group_cfg_st *sconfig = &proc->config;
|
||||
|
||||
READ_RAW_NUMERIC("ipv6-prefix", prefix);
|
||||
if (prefix > 0) {
|
||||
sconfig->ipv6_netmask = ipv6_prefix_to_mask(proc, prefix);
|
||||
sconfig->ipv6_prefix = prefix;
|
||||
|
||||
if (sconfig->ipv6_netmask == NULL) {
|
||||
if (valid_ipv6_prefix(prefix) == 0) {
|
||||
syslog(LOG_ERR, "unknown ipv6-prefix '%u' in %s", prefix, file);
|
||||
}
|
||||
}
|
||||
@@ -307,7 +306,6 @@ unsigned i;
|
||||
talloc_free(config->ipv4_network);
|
||||
talloc_free(config->ipv6_network);
|
||||
talloc_free(config->ipv4_netmask);
|
||||
talloc_free(config->ipv6_netmask);
|
||||
safe_memset(config, 0, sizeof(*config));
|
||||
}
|
||||
|
||||
|
||||
@@ -145,7 +145,6 @@ struct group_cfg_st {
|
||||
char *ipv6_network;
|
||||
unsigned ipv6_prefix;
|
||||
char *ipv4_netmask;
|
||||
char *ipv6_netmask;
|
||||
|
||||
char *cgroup;
|
||||
|
||||
@@ -166,7 +165,6 @@ struct vpn_st {
|
||||
char *ipv4_network;
|
||||
char *ipv4;
|
||||
char *ipv4_local; /* local IPv4 address */
|
||||
char *ipv6_netmask;
|
||||
char *ipv6_network;
|
||||
unsigned ipv6_prefix;
|
||||
|
||||
|
||||
@@ -548,12 +548,6 @@ static int recv_cookie_auth_reply(worker_st * ws)
|
||||
talloc_strdup(ws, msg->ipv4_netmask);
|
||||
}
|
||||
|
||||
if (msg->ipv6_netmask != NULL) {
|
||||
talloc_free(ws->config->network.ipv6_netmask);
|
||||
ws->config->network.ipv6_netmask =
|
||||
talloc_strdup(ws, msg->ipv6_netmask);
|
||||
}
|
||||
|
||||
if (msg->ipv4_network != NULL) {
|
||||
talloc_free(ws->config->network.ipv4_network);
|
||||
ws->config->network.ipv4_network =
|
||||
|
||||
@@ -227,7 +227,6 @@ int complete_vpn_info(worker_st * ws, struct vpn_st *vinfo)
|
||||
vinfo->ipv6_network = ws->config->network.ipv6_network;
|
||||
|
||||
vinfo->ipv4_netmask = ws->config->network.ipv4_netmask;
|
||||
vinfo->ipv6_netmask = ws->config->network.ipv6_netmask;
|
||||
vinfo->ipv6_prefix = ws->config->network.ipv6_prefix;
|
||||
|
||||
if (ws->config->network.mtu != 0) {
|
||||
|
||||
Reference in New Issue
Block a user