Ignore:
Timestamp:
Dec 20, 2016, 4:07:32 PM (7 years ago)
Author:
Bruno Cornec
Message:

New 3?3 banch for incorporation of latest busybox 1.25. Changing minor version to handle potential incompatibilities.

Location:
branches/3.3
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/3.3/mindi-busybox/networking/libiproute/iprule.c

    r3232 r3621  
    4545    int host_len = -1;
    4646    struct rtattr * tb[RTA_MAX+1];
    47     char abuf[256];
    48     SPRINT_BUF(b1);
    4947
    5048    if (n->nlmsg_type != RTM_NEWRULE)
     
    7371    if (tb[RTA_SRC]) {
    7472        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])),
    7875                r->rtm_src_len
    7976            );
     
    8178            fputs(format_host(r->rtm_family,
    8279                        RTA_PAYLOAD(tb[RTA_SRC]),
    83                         RTA_DATA(tb[RTA_SRC]),
    84                         abuf, sizeof(abuf)),
     80                        RTA_DATA(tb[RTA_SRC])),
    8581                stdout
    8682            );
     
    9692        if (r->rtm_dst_len != host_len) {
    9793            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])),
    10095                r->rtm_dst_len
    10196                );
     
    10398            printf("to %s ", format_host(r->rtm_family,
    10499                               RTA_PAYLOAD(tb[RTA_DST]),
    105                                RTA_DATA(tb[RTA_DST]),
    106                                abuf, sizeof(abuf)));
     100                               RTA_DATA(tb[RTA_DST])));
    107101        }
    108102    } else if (r->rtm_dst_len) {
     
    111105
    112106    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));
    114108    }
    115109    if (tb[RTA_PROTOINFO]) {
     
    122116
    123117    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));
    125119
    126120    if (tb[RTA_FLOW]) {
     
    130124        if (from) {
    131125            printf("realms %s/",
    132                 rtnl_rtrealm_n2a(from, b1));
     126                rtnl_rtrealm_n2a(from));
    133127        }
    134128        printf("%s ",
    135             rtnl_rtrealm_n2a(to, b1));
     129            rtnl_rtrealm_n2a(to));
    136130    }
    137131
     
    141135                format_host(r->rtm_family,
    142136                        RTA_PAYLOAD(tb[RTA_GATEWAY]),
    143                         RTA_DATA(tb[RTA_GATEWAY]),
    144                         abuf, sizeof(abuf)));
     137                        RTA_DATA(tb[RTA_GATEWAY]))
     138            );
    145139        } else
    146140            printf("masquerade");
    147141    } 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);
    149143
    150144    bb_putchar('\n');
     
    216210        key = index_in_substrings(keywords, *argv) + 1;
    217211        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);
    219213        if (key == ARG_from) {
    220214            inet_prefix dst;
     
    241235            NEXT_ARG();
    242236            if (rtnl_dsfield_a2n(&tos, *argv))
    243                 invarg(*argv, "TOS");
     237                invarg_1_to_2(*argv, "TOS");
    244238            req.r.rtm_tos = tos;
    245239        } else if (key == ARG_fwmark) {
     
    252246            NEXT_ARG();
    253247            if (get_rt_realms(&realm, *argv))
    254                 invarg(*argv, "realms");
     248                invarg_1_to_2(*argv, "realms");
    255249            addattr32(&req.n, sizeof(req), RTA_FLOW, realm);
    256250        } else if (key == ARG_table ||
     
    260254            NEXT_ARG();
    261255            if (rtnl_rttable_a2n(&tid, *argv))
    262                 invarg(*argv, "table ID");
     256                invarg_1_to_2(*argv, "table ID");
    263257            req.r.rtm_table = tid;
    264258            table_ok = 1;
     
    283277                bb_show_usage();
    284278            if (rtnl_rtntype_a2n(&type, *argv))
    285                 invarg(*argv, "type");
     279                invarg_1_to_2(*argv, "type");
    286280            req.r.rtm_type = type;
    287281        }
     
    309303        "add\0""delete\0""list\0""show\0";
    310304    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);
    314308        argv++;
    315309        if (cmd < 2)
Note: See TracChangeset for help on using the changeset viewer.