diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2011-10-12 01:00:31 -0500 |
---|---|---|
committer | Mike Christie <michaelc@cs.wisc.edu> | 2011-10-12 01:00:31 -0500 |
commit | 36d20a2032ec45ce82b086841d8810d8c7a78428 (patch) | |
tree | 1fcc8511c3ca822a0e2ca50936a9e03c8c2e499f /include | |
parent | 953f1d229519e988125b504f3813544de41dab32 (diff) | |
download | open-iscsi-36d20a2032ec45ce82b086841d8810d8c7a78428.tar.gz |
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.
Diffstat (limited to 'include')
-rw-r--r-- | include/fw_context.h | 15 |
1 files changed, 8 insertions, 7 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 <netdb.h> #include <net/if.h> #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]; |