Changeset 3621 in MondoRescue for branches/3.3/mindi-busybox/networking/libiproute/iprule.c
- Timestamp:
- Dec 20, 2016, 4:07:32 PM (7 years ago)
- Location:
- branches/3.3
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/3.3/mindi-busybox/networking/libiproute/iprule.c
r3232 r3621 45 45 int host_len = -1; 46 46 struct rtattr * tb[RTA_MAX+1]; 47 char abuf[256];48 SPRINT_BUF(b1);49 47 50 48 if (n->nlmsg_type != RTM_NEWRULE) … … 73 71 if (tb[RTA_SRC]) { 74 72 if (r->rtm_src_len != host_len) { 75 printf("%s/%u", rt_addr_n2a(r->rtm_family, 76 RTA_DATA(tb[RTA_SRC]), 77 abuf, sizeof(abuf)), 73 printf("%s/%u", 74 rt_addr_n2a(r->rtm_family, RTA_DATA(tb[RTA_SRC])), 78 75 r->rtm_src_len 79 76 ); … … 81 78 fputs(format_host(r->rtm_family, 82 79 RTA_PAYLOAD(tb[RTA_SRC]), 83 RTA_DATA(tb[RTA_SRC]), 84 abuf, sizeof(abuf)), 80 RTA_DATA(tb[RTA_SRC])), 85 81 stdout 86 82 ); … … 96 92 if (r->rtm_dst_len != host_len) { 97 93 printf("to %s/%u ", rt_addr_n2a(r->rtm_family, 98 RTA_DATA(tb[RTA_DST]), 99 abuf, sizeof(abuf)), 94 RTA_DATA(tb[RTA_DST])), 100 95 r->rtm_dst_len 101 96 ); … … 103 98 printf("to %s ", format_host(r->rtm_family, 104 99 RTA_PAYLOAD(tb[RTA_DST]), 105 RTA_DATA(tb[RTA_DST]), 106 abuf, sizeof(abuf))); 100 RTA_DATA(tb[RTA_DST]))); 107 101 } 108 102 } else if (r->rtm_dst_len) { … … 111 105 112 106 if (r->rtm_tos) { 113 printf("tos %s ", rtnl_dsfield_n2a(r->rtm_tos , b1));107 printf("tos %s ", rtnl_dsfield_n2a(r->rtm_tos)); 114 108 } 115 109 if (tb[RTA_PROTOINFO]) { … … 122 116 123 117 if (r->rtm_table) 124 printf("lookup %s ", rtnl_rttable_n2a(r->rtm_table , b1));118 printf("lookup %s ", rtnl_rttable_n2a(r->rtm_table)); 125 119 126 120 if (tb[RTA_FLOW]) { … … 130 124 if (from) { 131 125 printf("realms %s/", 132 rtnl_rtrealm_n2a(from , b1));126 rtnl_rtrealm_n2a(from)); 133 127 } 134 128 printf("%s ", 135 rtnl_rtrealm_n2a(to , b1));129 rtnl_rtrealm_n2a(to)); 136 130 } 137 131 … … 141 135 format_host(r->rtm_family, 142 136 RTA_PAYLOAD(tb[RTA_GATEWAY]), 143 RTA_DATA(tb[RTA_GATEWAY]) ,144 abuf, sizeof(abuf)));137 RTA_DATA(tb[RTA_GATEWAY])) 138 ); 145 139 } else 146 140 printf("masquerade"); 147 141 } else if (r->rtm_type != RTN_UNICAST) 148 fputs(rtnl_rtntype_n2a(r->rtm_type , b1), stdout);142 fputs(rtnl_rtntype_n2a(r->rtm_type), stdout); 149 143 150 144 bb_putchar('\n'); … … 216 210 key = index_in_substrings(keywords, *argv) + 1; 217 211 if (key == 0) /* no match found in keywords array, bail out. */ 218 bb_error_msg_and_die(bb_msg_invalid_arg,*argv, applet_name);212 invarg_1_to_2(*argv, applet_name); 219 213 if (key == ARG_from) { 220 214 inet_prefix dst; … … 241 235 NEXT_ARG(); 242 236 if (rtnl_dsfield_a2n(&tos, *argv)) 243 invarg (*argv, "TOS");237 invarg_1_to_2(*argv, "TOS"); 244 238 req.r.rtm_tos = tos; 245 239 } else if (key == ARG_fwmark) { … … 252 246 NEXT_ARG(); 253 247 if (get_rt_realms(&realm, *argv)) 254 invarg (*argv, "realms");248 invarg_1_to_2(*argv, "realms"); 255 249 addattr32(&req.n, sizeof(req), RTA_FLOW, realm); 256 250 } else if (key == ARG_table || … … 260 254 NEXT_ARG(); 261 255 if (rtnl_rttable_a2n(&tid, *argv)) 262 invarg (*argv, "table ID");256 invarg_1_to_2(*argv, "table ID"); 263 257 req.r.rtm_table = tid; 264 258 table_ok = 1; … … 283 277 bb_show_usage(); 284 278 if (rtnl_rtntype_a2n(&type, *argv)) 285 invarg (*argv, "type");279 invarg_1_to_2(*argv, "type"); 286 280 req.r.rtm_type = type; 287 281 } … … 309 303 "add\0""delete\0""list\0""show\0"; 310 304 if (*argv) { 311 smalluint cmd = index_in_substrings(ip_rule_commands, *argv);312 if (cmd > 3)313 bb_error_msg_and_die(bb_msg_invalid_arg,*argv, applet_name);305 int cmd = index_in_substrings(ip_rule_commands, *argv); 306 if (cmd < 0) 307 invarg_1_to_2(*argv, applet_name); 314 308 argv++; 315 309 if (cmd < 2)
Note:
See TracChangeset
for help on using the changeset viewer.