Hi, On Fri, Dec 11, 2015 at 07:35:18PM -0000, [email protected] wrote: > today, I was working with an old config which uses --client-nat > I upgraded that particular client to git-master for testing and > discovered that git-master currently does not support --client-nat [..] > Fri Dec 11 19:08:12 2015 us=645088 PUSH: Received control message: > 'PUSH_REPLY,ifconfig-ipv6 2001:db8:0:123::101/64 > 2001:db8:0:123::86,route-gateway 10.234.64.86,topology > subnet,explicit-exit-notify 3,ping 10,ping-restart 30,tun-ipv6,client-nat > snat 10.1.101.0 255.255.255.0 10.201.101.0 255.255.255.0,client-nat dnat > 10.201.101.0 255.255.255.0 10.1.101.0 255.255.255.0,setenv-safe > client_dynamic 1,ifconfig 10.234.64.101 255.255.255.0,peer-id 0'
According to the (slightly confusing, admittedly) man page entry,
the way you are calling the option is not correct, and as such,
git master will refuse the lines. "client-nat" has *four* arguments,
not *five*.
This is backed by the 2.3 and git master code...
2.3:
#ifdef ENABLE_CLIENT_NAT
else if (streq (p[0], "client-nat") && p[1] && p[2] && p[3] && p[4])
{
VERIFY_PERMISSION (OPT_P_ROUTE);
cnol_check_alloc (options);
add_client_nat_to_option_list(options->client_nat, p[1], p[2], p[3], p[4],
msglevel);
}
#endif
(so, argument 5 is silently ignored)
git master:
else if (streq (p[0], "client-nat") && p[1] && p[2] && p[3] && p[4] && !p[5])
{
VERIFY_PERMISSION (OPT_P_ROUTE);
cnol_check_alloc (options);
add_client_nat_to_option_list(options->client_nat, p[1], p[2], p[3],
p[4], msglevel);
}
"if a 5th argument is given, refuse this option".
gert
--
USENET is *not* the non-clickable part of WWW!
//www.muc.de/~gert/
Gert Doering - Munich, Germany [email protected]
fax: +49-89-35655025 [email protected]
signature.asc
Description: PGP signature
