From 4884eddb516e5742581d017a8396b95e687a0f93 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 29 Apr 2013 21:29:51 +0200 Subject: [PATCH] Fix xdump nat column ip for connections from "long" IPv6 addresses Broken in commit 3a7d7fa, which enlarged struct natstr member nat_hostaddr[] from 32 to 46 characters, but neglected to update the ca_len in nat_ca[]. Consequently, the address is truncated in xdump. Can also break country * ?ip=... and such, but that's exotic. --- src/lib/common/nsc.c | 2 +- tests/smoke/smoke.out | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/common/nsc.c b/src/lib/common/nsc.c index 3685a927..55fc237e 100644 --- a/src/lib/common/nsc.c +++ b/src/lib/common/nsc.c @@ -559,7 +559,7 @@ struct castr cou_ca[] = { {"cname", fldoff(nat_cnam), NSC_STRINGY, 20, NULL, EF_BAD, NSC_EXTRA}, {"passwd", fldoff(nat_pnam), NSC_STRINGY, 20, NULL, EF_BAD, NSC_DEITY | NSC_EXTRA}, - {"ip", fldoff(nat_hostaddr), NSC_STRINGY, 32, NULL, EF_BAD, 0}, + {"ip", fldoff(nat_hostaddr), NSC_STRINGY, 46, NULL, EF_BAD, 0}, {"hostname", fldoff(nat_hostname), NSC_STRINGY, 512, NULL, EF_BAD, 0}, {"userid", fldoff(nat_userid), NSC_STRINGY, 32, NULL, EF_BAD, 0}, {"xcap", fldoff(nat_xcap), NSC_XCOORD, 0, NULL, EF_BAD, 0}, diff --git a/tests/smoke/smoke.out b/tests/smoke/smoke.out index 394d493c..7d0f3f14 100644 --- a/tests/smoke/smoke.out +++ b/tests/smoke/smoke.out @@ -255,7 +255,7 @@ Player 00 Turn 00 starting "flags" 8 9 0 36 "cname" 14 0 20 -1 "passwd" 14 1 20 -1 -"ip" 14 1 32 -1 +"ip" 14 1 46 -1 "hostname" 14 1 512 -1 "userid" 14 1 32 -1 "xcap" 9 1 0 -1 @@ -746,7 +746,7 @@ Player 00 Turn 00 starting [0:640] Command : XDUMP meta country 0 "cnum" 5 0 0 9 "flags" 8 8 0 36 -"ip" 14 0 32 -1 +"ip" 14 0 46 -1 "hostname" 14 0 512 -1 "userid" 14 0 32 -1 "xcap" 9 0 0 -1 @@ -1633,7 +1633,7 @@ CENSUS del dst [0:636] Command : XDUMP meta country 0 "cnum" 5 0 0 9 "flags" 8 8 0 36 -"ip" 14 0 32 -1 +"ip" 14 0 46 -1 "hostname" 14 0 512 -1 "userid" 14 0 32 -1 "xcap" 9 0 0 -1