2005.11.xx -- Version 2.1-beta7
+* Fixed bug in Linux get_default_gateway function
+ introduced in 2.0.4, which would cause redirect-gateway
+ on Linux clients to fail.
* Moved easy-rsa 2.0 scripts to easy-rsa/2.0 to
be compatible with 2.0.x distribution.
This option must be used on a client which is connecting
to a multi-client server. It indicates to OpenVPN that it
should accept options pushed by the server, provided they
-are part of the legal set of pushable options.
+are part of the legal set of pushable options (note that the
+.B --pull
+option is implied by
+.B --client
+).
+
+In particular,
+.B --pull
+allows the server to push routes to the client, so you should
+not use
+.B --pull
+or
+.B --client
+in situations where you don't trust the server to have control
+over the client's routing table.
.\"*********************************************************
.TP
.B --auth-user-pass [up]
setenv_route_addr (es, "net_gateway", rl->spec.net_gateway, -1);
dmsg (D_ROUTE_DEBUG, "ROUTE DEBUG: default_gateway=%s", print_in_addr_t (rl->spec.net_gateway, 0, &gc));
}
+ else
+ {
+ dmsg (D_ROUTE_DEBUG, "ROUTE DEBUG: default_gateway=UNDEF");
+ }
if (rl->flags & RG_ENABLE)
{
#elif defined(TARGET_LINUX)
static bool
-get_default_gateway (in_addr_t *ret)
+get_default_gateway (in_addr_t *gateway)
{
struct gc_arena gc = gc_new ();
+ bool ret = false;
FILE *fp = fopen ("/proc/net/route", "r");
if (fp)
{
fclose (fp);
if (best_gw)
- *ret = best_gw;
+ {
+ *gateway = best_gw;
+ ret = true;
+ }
dmsg (D_ROUTE_DEBUG, "GDG: best=%s[%d] lm=%u",
print_in_addr_t ((in_addr_t) best_gw, 0, &gc),
}
gc_free (&gc);
- return false;
+ return ret;
}
#elif defined(TARGET_FREEBSD)