summaryrefslogtreecommitdiffstats
path: root/src/server/helper.c
diff options
context:
space:
mode:
authorSimon Rettberg2013-08-12 18:04:39 +0200
committerSimon Rettberg2013-08-12 18:04:39 +0200
commita1dd0acdbdd6a9b70f9d7aa447e323f2072c650a (patch)
treeea67a4cc5c3dd003184bb13ccfaf3fa90c42720c /src/server/helper.c
parentI'm stupid (diff)
downloaddnbd3-a1dd0acdbdd6a9b70f9d7aa447e323f2072c650a.tar.gz
dnbd3-a1dd0acdbdd6a9b70f9d7aa447e323f2072c650a.tar.xz
dnbd3-a1dd0acdbdd6a9b70f9d7aa447e323f2072c650a.zip
[SERVER] Improve proxy mode, implement integrity check in proxy mode
Diffstat (limited to 'src/server/helper.c')
-rw-r--r--src/server/helper.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/helper.c b/src/server/helper.c
index 65239ea..24ee0fb 100644
--- a/src/server/helper.c
+++ b/src/server/helper.c
@@ -23,6 +23,7 @@ char parse_address(char *string, dnbd3_host_t *host)
struct in_addr v4;
struct in6_addr v6;
+ memset( host, 0, sizeof(*host) );
// Try IPv4 without port
if ( 1 == inet_pton( AF_INET, string, &v4 ) ) {
host->type = AF_INET;
@@ -83,11 +84,11 @@ char host_to_string(const dnbd3_host_t *host, char *target, size_t targetlen)
if ( targetlen < 10 ) return FALSE;
if ( host->type == AF_INET6 ) {
*target++ = '[';
- inet_ntop( AF_INET6, host->addr, target, targetlen - 9 );
+ inet_ntop( AF_INET6, host->addr, target, targetlen - 10 );
target += strlen( target );
*target++ = ']';
} else if ( host->type == AF_INET ) {
- inet_ntop( AF_INET, host->addr, target, targetlen - 7 );
+ inet_ntop( AF_INET, host->addr, target, targetlen - 8 );
target += strlen( target );
} else {
snprintf( target, targetlen, "<?addrtype=%d>", (int)host->type );