From 36d20a2032ec45ce82b086841d8810d8c7a78428 Mon Sep 17 00:00:00 2001 From: Mike Christie Date: Wed, 12 Oct 2011 01:00:31 -0500 Subject: iscsi tools: fix ipv6 ibft/firmware boot The address buffers are too short for many ipv6 addresses and if ibft/firmware gives us a hostname. As a result iscsistart and iscsiadm were printing/getting a truncated address which would cause login and network startup to fail. --- include/fw_context.h | 15 ++++++++------- utils/fwparam_ibft/Makefile | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/include/fw_context.h b/include/fw_context.h index 770b41a..1640859 100644 --- a/include/fw_context.h +++ b/include/fw_context.h @@ -21,6 +21,7 @@ #ifndef FWPARAM_CONTEXT_H_ #define FWPARAM_CONTEXT_H_ +#include #include #include "iscsi_proto.h" @@ -33,7 +34,7 @@ struct boot_context { /* target settings */ int target_port; char targetname[TARGET_NAME_MAXLEN + 1]; - char target_ipaddr[32]; + char target_ipaddr[NI_MAXHOST]; char chap_name[AUTH_STR_MAX_LEN]; char chap_password[AUTH_STR_MAX_LEN]; char chap_name_in[AUTH_STR_MAX_LEN]; @@ -44,14 +45,14 @@ struct boot_context { char initiatorname[TARGET_NAME_MAXLEN + 1]; /* network settings */ - char dhcp[18]; + char dhcp[NI_MAXHOST]; char iface[IF_NAMESIZE]; char mac[18]; - char ipaddr[18]; - char gateway[18]; - char primary_dns[18]; - char secondary_dns[18]; - char mask[18]; + char ipaddr[NI_MAXHOST]; + char gateway[NI_MAXHOST]; + char primary_dns[NI_MAXHOST]; + char secondary_dns[NI_MAXHOST]; + char mask[NI_MAXHOST]; char lun[17]; char vlan[15]; diff --git a/utils/fwparam_ibft/Makefile b/utils/fwparam_ibft/Makefile index ca07b76..c72bb7f 100644 --- a/utils/fwparam_ibft/Makefile +++ b/utils/fwparam_ibft/Makefile @@ -28,7 +28,7 @@ CLEANFILES = $(OBJS) *.output *~ OPTFLAGS ?= -O2 -g -fPIC WARNFLAGS ?= -Wall -Wstrict-prototypes -CFLAGS += $(OPTFLAGS) $(WARNFLAGS) -I../../include -I../../usr +CFLAGS += $(OPTFLAGS) $(WARNFLAGS) -I../../include -I../../usr -D_GNU_SOURCE all: $(OBJS) -- cgit v1.2.1