summaryrefslogtreecommitdiffstats
path: root/ssl.c
diff options
context:
space:
mode:
authorJames Yonan <james@openvpn.net>2011-06-12 01:14:36 +0000
committerJames Yonan <james@openvpn.net>2011-06-12 01:14:36 +0000
commit7fb0e07ec3f7c5f6514523085dbe02ea6b8933e2 (patch)
treede7e157cc9c513a1870ae9bce16b04fd908e9295 /ssl.c
parent759873034018f597e52dfbbfe91ff9d20530ea91 (diff)
downloadopenvpn-7fb0e07ec3f7c5f6514523085dbe02ea6b8933e2.tar.gz
openvpn-7fb0e07ec3f7c5f6514523085dbe02ea6b8933e2.tar.xz
openvpn-7fb0e07ec3f7c5f6514523085dbe02ea6b8933e2.zip
Added redirect-gateway block-local flag, with support for
Linux, Mac OS X, and Linux. This flag (which is pushable from server) blocks client access to local LAN while VPN session is active. Added standalone --show-gateway option to show info about default gateway. Extensively refactored get_default_gateway function in route.c to ease implementation of block-local. Removed "Experimental" disclaimer from redirect-gateway man page. Version 2.1.3y. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@7334 e7ae566f-a301-0410-adde-c780ea21d3b5
Diffstat (limited to 'ssl.c')
-rw-r--r--ssl.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ssl.c b/ssl.c
index 8aa6c60..6729de2 100644
--- a/ssl.c
+++ b/ssl.c
@@ -49,6 +49,7 @@
#include "pkcs11.h"
#include "list.h"
#include "base64.h"
+#include "route.h"
#ifdef WIN32
#include "cryptoapi.h"
@@ -3899,10 +3900,10 @@ push_peer_info(struct buffer *buf, struct tls_session *session)
/* push mac addr */
{
- bool get_default_gateway_mac_addr (unsigned char *macaddr);
- uint8_t macaddr[6];
- get_default_gateway_mac_addr (macaddr);
- buf_printf (&out, "IV_HWADDR=%s\n", format_hex_ex (macaddr, 6, 0, 1, ":", &gc));
+ struct route_gateway_info rgi;
+ get_default_gateway (&rgi);
+ if (rgi.flags & RGI_HWADDR_DEFINED)
+ buf_printf (&out, "IV_HWADDR=%s\n", format_hex_ex (rgi.hwaddr, 6, 0, 1, ":", &gc));
}
/* push LZO status */