Hello, I sent a patch 3 weeks ago. I'm new to this mailing list and I'm just curious how log could it take to accept a patch? If there is an issue with applying the patch, having a reply would be great.
Thanks, Alex Alexey V. Solovyev wrote: > This patch adds support for the "routes" option (backported from busybox > 1.18.0): > http://git.busybox.net/busybox/commit/?id=7d3a48a003cd645edfae2b404493688022b13193 > http://git.busybox.net/busybox/commit/?id=ad8def2d8ad980a5b759c32a220828ea1248e5b6 > > Signed-off-by: Alexey Solovyev <alex.solov...@gmail.com> > > Index: package/base-files/files/usr/share/udhcpc/default.script > =================================================================== > --- package/base-files/files/usr/share/udhcpc/default.script (revision 25238) > +++ package/base-files/files/usr/share/udhcpc/default.script (working copy) > @@ -77,6 +77,8 @@ > change_state network "$ifc" gateway "$router" > } > > + # STATIC ROUTES > + [ -n "$routes" ] && set_classless_routes $(echo "$routes" | sed -e > "s,/,/32 ,g") > # CIDR STATIC ROUTES (rfc3442) > [ -n "$staticroutes" ] && set_classless_routes $staticroutes > [ -n "$msstaticroutes" ] && set_classless_routes $msstaticroutes > Index: package/busybox/patches/246-udhcpc_add_routes_option.patch > =================================================================== > --- package/busybox/patches/246-udhcpc_add_routes_option.patch > (revision 0) > +++ package/busybox/patches/246-udhcpc_add_routes_option.patch > (revision 0) > @@ -0,0 +1,76 @@ > +diff -urpN a/networking/udhcp/common.c b/networking/udhcp/common.c > +--- a/networking/udhcp/common.c 2011-01-13 23:00:25.000000000 +0300 > ++++ b/networking/udhcp/common.c 2011-01-21 15:44:39.000000000 +0300 > +@@ -37,6 +37,7 @@ const struct dhcp_optflag dhcp_optflags[ > + { OPTION_U8 , 0x17 }, /* DHCP_IP_TTL > */ > + { OPTION_U16 , 0x1a }, /* DHCP_MTU > */ > + { OPTION_IP | OPTION_REQ, 0x1c }, /* DHCP_BROADCAST > */ > ++ { OPTION_IP_PAIR | OPTION_LIST , 0x21 }, /* DHCP_ROUTES > */ > + { OPTION_STRING , 0x28 }, /* DHCP_NIS_DOMAIN > */ > + { OPTION_IP | OPTION_LIST , 0x29 }, /* DHCP_NIS_SERVER > */ > + { OPTION_IP | OPTION_LIST | OPTION_REQ, 0x2a }, /* DHCP_NTP_SERVER > */ > +@@ -98,6 +99,7 @@ const char dhcp_option_strings[] ALIGN1 > + "ipttl" "\0" /* DHCP_IP_TTL */ > + "mtu" "\0" /* DHCP_MTU */ > + "broadcast" "\0" /* DHCP_BROADCAST */ > ++ "routes" "\0" /* DHCP_ROUTES */ > + "nisdomain" "\0" /* DHCP_NIS_DOMAIN */ > + "nissrv" "\0" /* DHCP_NIS_SERVER */ > + "ntpsrv" "\0" /* DHCP_NTP_SERVER */ > +diff -urpN a/networking/udhcp/common.h b/networking/udhcp/common.h > +--- a/networking/udhcp/common.h 2011-01-13 23:00:25.000000000 +0300 > ++++ b/networking/udhcp/common.h 2011-01-21 15:42:30.000000000 +0300 > +@@ -124,6 +124,7 @@ enum { > + //#define DHCP_IP_TTL 0x17 > + //#define DHCP_MTU 0x1a > + //#define DHCP_BROADCAST 0x1c > ++//#define DHCP_ROUTES 0x21 > + //#define DHCP_NIS_DOMAIN 0x28 > + //#define DHCP_NIS_SERVER 0x29 > + //#define DHCP_NTP_SERVER 0x2a > +diff -urpN a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c > +--- a/networking/udhcp/dhcpc.c 2011-01-13 23:00:25.000000000 +0300 > ++++ b/networking/udhcp/dhcpc.c 2011-01-21 15:49:02.000000000 +0300 > +@@ -107,6 +107,7 @@ static NOINLINE char *xmalloc_optname_op > + > + /* option points to OPT_DATA, need to go back and get OPT_LEN */ > + len = option[OPT_LEN - OPT_DATA]; > ++ > + type = optflag->flags & OPTION_TYPE_MASK; > + optlen = dhcp_option_lengths[type]; > + upper_length = len_of_option_as_string[type] * ((unsigned)len / > (unsigned)optlen); > +@@ -115,17 +116,16 @@ static NOINLINE char *xmalloc_optname_op > + dest += sprintf(ret, "%s=", opt_name); > + > + while (len >= optlen) { > ++ unsigned ip_ofs = 0; > ++ > + switch (type) { > + case OPTION_IP_PAIR: > + dest += sprint_nip(dest, "", option); > + *dest++ = '/'; > +- option += 4; > +- optlen = 4; > ++ ip_ofs = 4; > ++ /* fall through */ > + case OPTION_IP: > +- dest += sprint_nip(dest, "", option); > +-// TODO: it can be a list only if (optflag->flags & OPTION_LIST). > +-// Should we bail out/warn if we see multi-ip option which is > +-// not allowed to be such? For example, DHCP_BROADCAST... > ++ dest += sprint_nip(dest, "", option + ip_ofs); > + break; > + // case OPTION_BOOLEAN: > + // dest += sprintf(dest, *option ? "yes" : "no"); > +@@ -300,7 +300,10 @@ static NOINLINE char *xmalloc_optname_op > + } /* switch */ > + option += optlen; > + len -= optlen; > +- if (len <= 0) > ++// TODO: it can be a list only if (optflag->flags & OPTION_LIST). > ++// Should we bail out/warn if we see multi-ip option which is > ++// not allowed to be such (for example, DHCP_BROADCAST)? - > ++ if (len <= 0 /* || !(optflag->flags & OPTION_LIST) */) > + break; > + *dest++ = ' '; > + *dest = '\0'; > > _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel