Added new config variable "ProxyMode". If enabled, all outgoing packets release-1.0pre1
authorGuus Sliepen <guus@tinc-vpn.org>
Mon, 8 May 2000 18:44:15 +0000 (18:44 +0000)
committerGuus Sliepen <guus@tinc-vpn.org>
Mon, 8 May 2000 18:44:15 +0000 (18:44 +0000)
are sent to the uplink (ConnectTo), which will have to forward them for
us (kernel should do that). This is for people behind firewalls.

src/conf.c
src/conf.h
src/net.c

index 6f949f5..90ad58f 100644 (file)
@@ -59,6 +59,7 @@ static internal_config_t hazahaza[] = {
   { "PingTimeout",  pingtimeout,    TYPE_INT },
   { "TapDevice",    tapdevice,      TYPE_NAME },
   { "KeyExpire",    keyexpire,      TYPE_INT },
   { "PingTimeout",  pingtimeout,    TYPE_INT },
   { "TapDevice",    tapdevice,      TYPE_NAME },
   { "KeyExpire",    keyexpire,      TYPE_INT },
+  { "ProxyMode",    proxymode,      TYPE_BOOL },
   { NULL, 0, 0 }
 };
 
   { NULL, 0, 0 }
 };
 
index 2d83092..673573b 100644 (file)
@@ -41,6 +41,7 @@ typedef enum which_t {
   allowconnect,
   pingtimeout,
   keyexpire,
   allowconnect,
   pingtimeout,
   keyexpire,
+  proxymode
 } which_t;
 
 typedef struct config_t {
 } which_t;
 
 typedef struct config_t {
index 7b9133e..58f3e02 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -258,8 +258,14 @@ cp
 */
 int send_packet(ip_t to, vpn_packet_t *packet)
 {
 */
 int send_packet(ip_t to, vpn_packet_t *packet)
 {
+  config_t const *cfg;
   conn_list_t *cl;
 cp
   conn_list_t *cl;
 cp
+  if(!(cfg = get_config_val(proxymode)))               /* In case we are in proxy mode, just send everything to our uplink. */
+    cl = conn_list;
+  else
+    cl = lookup_conn(to);
+
   if((cl = lookup_conn(to)) == NULL)
     {
       if(debug_lvl > 2)
   if((cl = lookup_conn(to)) == NULL)
     {
       if(debug_lvl > 2)