-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 14/01/12 12:47, David Sommerseth wrote:
|
| Hi,
|
| I'm running the master branch (commit 330baf2aee70b35) on a site where IPv6
| tunnelling is not enabled.  I found some odd IPv6 addresses in the log file
| when clients connected.  Attached is a patch solving this issue.  It's
| basically a bogus message, and nothing seems to be pushed to the client.
|
| This site is now running with this patch applied, and it behaves better.
|

New improvement, now even with an attachment ... duh!  ;-)


kind regards,

David Sommerseth
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk8RbIYACgkQDC186MBRfrreXgCdGNPaFkQ7Fk0PBixv73t4JXpR
E2kAnRut4h8V0/3SoFcCTty6WjXhC5IC
=mghf
-----END PGP SIGNATURE-----
>From 7e05a5b08d2a6a6d2017de2e12c36294b8aa5326 Mon Sep 17 00:00:00 2001
From: David Sommerseth <d...@users.sourceforge.net>
List-Post: openvpn-devel@lists.sourceforge.net
Date: Sat, 14 Jan 2012 12:34:59 +0100
Subject: [PATCH] Fix pool logging when IPv6 is not enabled

If IPv6 tunnelling is not enabled, a bogus IPv6 address would be
printed in the log, like this:

  MULTI_sva: pool returned IPv4=10.8.0.4, IPv6=2180:8:2100:0:d4b4:f11d:18bf:2f00

It turns out that the remote_ipv6 buffer was not cleared.  Added
an extra check to also replace a "IPv6=::" log message with
information that the IPv6 feature is disabled in these cases.

Signed-off-by: David Sommerseth <d...@users.sourceforge.net>
---
 multi.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/multi.c b/multi.c
index 9535f43..90483fc 100644
--- a/multi.c
+++ b/multi.c
@@ -1307,6 +1307,7 @@ multi_select_virtual_addr (struct multi_context *m, 
struct multi_instance *mi)
       if (!mi->context.options.duplicate_cn)
        cn = tls_common_name (mi->context.c2.tls_multi, true);

+      CLEAR(remote_ipv6);
       mi->vaddr_handle = ifconfig_pool_acquire (m->ifconfig_pool, &local, 
&remote, &remote_ipv6, cn);
       if (mi->vaddr_handle >= 0)
        {
@@ -1314,8 +1315,10 @@ multi_select_virtual_addr (struct multi_context *m, 
struct multi_instance *mi)
          const int tunnel_topology = TUNNEL_TOPOLOGY (mi->context.c1.tuntap);

          msg( M_INFO, "MULTI_sva: pool returned IPv4=%s, IPv6=%s", 
-                   print_in_addr_t( remote, 0, &gc ),
-                   print_in6_addr( remote_ipv6, 0, &gc ) );
+              print_in_addr_t( remote, 0, &gc ),
+              (mi->context.options.ifconfig_ipv6_pool_defined
+               ? print_in6_addr( remote_ipv6, 0, &gc )
+               : "(Not enabled)") );

          /* set push_ifconfig_remote_netmask from pool ifconfig address(es) */
          mi->context.c2.push_ifconfig_local = remote;
-- 
1.7.3.4

Attachment: 0001-Fix-pool-logging-when-IPv6-is-not-enabled.patch.sig
Description: PGP signature

Reply via email to