#! /bin/sh /usr/share/dpatch/dpatch-run ## 10_ipmi_lanp.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: 10_ipmi_lanp closes #389741 @DPATCH@ --- ipmitool-1.8.9.orig/lib/ipmi_lanp.c 2007-03-06 22:15:36.000000000 +0000 +++ ipmitool-1.8.9/lib/ipmi_lanp.c 2007-12-13 10:06:18.045813387 +0000 @@ -1489,28 +1489,43 @@ } } /* ip address */ - else if ((strncmp(argv[1], "ipaddr", 6) == 0) && - (get_cmdline_ipaddr(argv[2], data) == 0)) { - printf("Setting LAN %s to %d.%d.%d.%d\n", - ipmi_lan_params[IPMI_LANP_IP_ADDR].desc, - data[0], data[1], data[2], data[3]); - rc = set_lan_param(intf, chan, IPMI_LANP_IP_ADDR, data, 4); + else if (strncmp(argv[1], "ipaddr", 6) == 0) { + if ( argc < 3 || strncmp(argv[2], "help", 4) == 0 || + get_cmdline_ipaddr(argv[2], data) != 0 ) { + lprintf(LOG_NOTICE, "lan set ipaddr "); + } + else { + printf("Setting LAN %s to %d.%d.%d.%d\n", + ipmi_lan_params[IPMI_LANP_IP_ADDR].desc, + data[0], data[1], data[2], data[3]); + rc = set_lan_param(intf, chan, IPMI_LANP_IP_ADDR, data, 4); + } } /* network mask */ - else if ((strncmp(argv[1], "netmask", 7) == 0) && - (get_cmdline_ipaddr(argv[2], data) == 0)) { - printf("Setting LAN %s to %d.%d.%d.%d\n", - ipmi_lan_params[IPMI_LANP_SUBNET_MASK].desc, - data[0], data[1], data[2], data[3]); - rc = set_lan_param(intf, chan, IPMI_LANP_SUBNET_MASK, data, 4); + else if (strncmp(argv[1], "netmask", 7) == 0) { + if ( argc < 3 || strncmp(argv[2], "help", 4) == 0 || + get_cmdline_ipaddr(argv[2], data) != 0 ) { + lprintf(LOG_NOTICE, "lan set netmask "); + } + else { + printf("Setting LAN %s to %d.%d.%d.%d\n", + ipmi_lan_params[IPMI_LANP_SUBNET_MASK].desc, + data[0], data[1], data[2], data[3]); + rc = set_lan_param(intf, chan, IPMI_LANP_SUBNET_MASK, data, 4); + } } /* mac address */ - else if ((strncmp(argv[1], "macaddr", 7) == 0) && - (get_cmdline_macaddr(argv[2], data) == 0)) { - printf("Setting LAN %s to %02x:%02x:%02x:%02x:%02x:%02x\n", - ipmi_lan_params[IPMI_LANP_MAC_ADDR].desc, - data[0], data[1], data[2], data[3], data[4], data[5]); - rc = set_lan_param(intf, chan, IPMI_LANP_MAC_ADDR, data, 6); + else if (strncmp(argv[1], "macaddr", 7) == 0) { + if ( argc < 3 || strncmp(argv[2], "help", 4) == 0 || + get_cmdline_macaddr(argv[2], data) != 0 ) { + lprintf(LOG_NOTICE, "lan set macaddr "); + } + else { + printf("Setting LAN %s to %02x:%02x:%02x:%02x:%02x:%02x\n", + ipmi_lan_params[IPMI_LANP_MAC_ADDR].desc, + data[0], data[1], data[2], data[3], data[4], data[5]); + rc = set_lan_param(intf, chan, IPMI_LANP_MAC_ADDR, data, 6); + } } /* default gateway settings */ else if (strncmp(argv[1], "defgw", 5) == 0) {