Hi,

On Fri, Dec 11, 2015 at 07:35:18PM -0000, debbie...@gmail.com 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                             g...@greenie.muc.de
fax: +49-89-35655025                        g...@net.informatik.tu-muenchen.de

Attachment: signature.asc
Description: PGP signature

Reply via email to