From e0a7ad9fe6c744700be62356e1d36c58d8253a6e Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Mon, 6 May 2013 10:56:21 +0300 Subject: [PATCH] Added X-CSTP-Default-Domain option. --- doc/sample.config | 3 +++ src/config.c | 2 ++ src/ocserv-args.c | 2 +- src/ocserv-args.def | 3 +++ src/ocserv-args.h | 2 +- src/vpn.h | 1 + src/worker-vpn.c | 5 +++++ 7 files changed, 16 insertions(+), 2 deletions(-) diff --git a/doc/sample.config b/doc/sample.config index 785e1261..2d81b8bc 100644 --- a/doc/sample.config +++ b/doc/sample.config @@ -119,6 +119,9 @@ run-as-group = nogroup device = vpns +# The default domain to be advertised +default-domain = example.com + ipv4-network = 192.168.1.0 ipv4-netmask = 255.255.255.0 # Use the keywork local to advertize the local P-t-P address as DNS server diff --git a/src/config.c b/src/config.c index 87bdc7cb..cc4124c9 100644 --- a/src/config.c +++ b/src/config.c @@ -169,6 +169,7 @@ unsigned j; #endif READ_STRING("ca-cert", config->ca, 0); + READ_STRING("default-domain", config->default_domain, 0); READ_STRING("crl", config->crl, 0); READ_STRING("cert-user-oid", config->cert_user_oid, 0); READ_STRING("cert-group-oid", config->cert_group_oid, 0); @@ -359,6 +360,7 @@ unsigned i; DEL(config->cert_hash); #endif DEL(config->socket_file_prefix); + DEL(config->default_domain); DEL(config->plain_passwd); DEL(config->ocsp_response); DEL(config->banner); diff --git a/src/ocserv-args.c b/src/ocserv-args.c index 67b8251c..f79888ca 100644 --- a/src/ocserv-args.c +++ b/src/ocserv-args.c @@ -2,7 +2,7 @@ * * DO NOT EDIT THIS FILE (ocserv-args.c) * - * It has been AutoGen-ed April 29, 2013 at 02:14:53 PM by AutoGen 5.17.3 + * It has been AutoGen-ed May 6, 2013 at 10:55:54 AM by AutoGen 5.17.3 * From the definitions ocserv-args.def * and the template file options * diff --git a/src/ocserv-args.def b/src/ocserv-args.def index e6fec468..af3be60c 100644 --- a/src/ocserv-args.def +++ b/src/ocserv-args.def @@ -219,6 +219,9 @@ run-as-group = nogroup # The name of the tun device device = vpns +# The default domain to be advertised +default-domain = example.com + # The pool of addresses that leases will be given from. ipv4-network = 192.168.1.0 ipv4-netmask = 255.255.255.0 diff --git a/src/ocserv-args.h b/src/ocserv-args.h index 01c3dbf6..8a92dd75 100644 --- a/src/ocserv-args.h +++ b/src/ocserv-args.h @@ -2,7 +2,7 @@ * * DO NOT EDIT THIS FILE (ocserv-args.h) * - * It has been AutoGen-ed April 29, 2013 at 02:14:53 PM by AutoGen 5.17.3 + * It has been AutoGen-ed May 6, 2013 at 10:55:54 AM by AutoGen 5.17.3 * From the definitions ocserv-args.def * and the template file options * diff --git a/src/vpn.h b/src/vpn.h index 6a78db0b..017bb861 100644 --- a/src/vpn.h +++ b/src/vpn.h @@ -88,6 +88,7 @@ struct cfg_st { char *chroot_dir; /* where the xml files are served from */ char *banner; char *ocsp_response; /* file with the OCSP response */ + char *default_domain; /* domain to be advertised */ char* socket_file_prefix; time_t cookie_validity; /* in seconds */ diff --git a/src/worker-vpn.c b/src/worker-vpn.c index 5b8a9c51..3ff612e8 100644 --- a/src/worker-vpn.c +++ b/src/worker-vpn.c @@ -811,6 +811,11 @@ socklen_t sl; ret = tls_printf(ws->session, "X-CSTP-DPD: %u\r\n", ws->config->dpd); SEND_ERR(ret); + if (ws->config->default_domain) { + ret = tls_printf(ws->session, "X-CSTP-Default-Domain: %s\r\n", ws->config->default_domain); + SEND_ERR(ret); + } + ws->udp_state = UP_DISABLED; if (req->master_secret_set != 0) { memcpy(ws->master_secret, req->master_secret, TLS_MASTER_SIZE);