iproute2/ip
Michal Kubeček 6ec14f1abb routel: fix infinite loop in line parser
As noticed by one of the few users of routel script, it ends up in an
infinite loop when they pull out the cable from the NIC used for some
route. This is caused by its parser expecting the line of "ip route show"
output consists of "key value" pairs (except for the initial target range),
together with an old trap of Bourne style shells that "shift 2" does
nothing if there is only one argument left. Some keywords, e.g. "linkdown",
are not followed by a value.

Improve the parser to

  (1) only set variables for keywords we care about
  (2) recognize (currently) known keywords without value

This is still far from perfect (and certainly not future proof) but to
fully fix the script, one would probably have to rewrite the logic
completely (and I'm not sure it's worth the effort).

Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
2017-04-27 16:42:29 -07:00
..
.gitignore Another .gitignore file. 2006-08-08 12:11:23 -07:00
Makefile ip: link: Add missing link type help texts 2017-04-04 14:51:29 -07:00
ifcfg Remove trailing whitespace 2006-12-05 10:10:22 -08:00
ip.c Introduce ip vrf command 2016-12-13 10:20:16 -08:00
ip6tunnel.c ip6tunnel: Align ipv6 tunnel key display with ipv4 2017-01-12 17:34:02 -08:00
ip_common.h iplink: add support for afstats subcommand 2017-03-10 08:44:55 -08:00
ipaddress.c iplink: add support for afstats subcommand 2017-03-10 08:44:55 -08:00
ipaddrlabel.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
ipfou.c fou: show usage even if the module is not available 2016-08-17 14:00:22 -07:00
ipila.c ila: show usage even if the module is not available 2016-08-17 14:00:28 -07:00
ipl2tp.c utils: make hex2mem available to all users 2017-01-17 08:45:22 -08:00
iplink.c iplink: add support for afstats subcommand 2017-03-10 08:44:55 -08:00
iplink_bond.c ip: link: bond: Fix whitespace in help text 2017-04-04 14:51:29 -07:00
iplink_bond_slave.c ip: Use specific slave id 2016-09-22 16:39:55 -07:00
iplink_bridge.c iplink: bridge_slave: add support for displaying xstats 2017-02-18 16:37:24 -08:00
iplink_bridge_slave.c iplink: bridge_slave: add support for displaying xstats 2017-02-18 16:37:24 -08:00
iplink_can.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
iplink_dummy.c ip: link: Add missing link type help texts 2017-04-04 14:51:29 -07:00
iplink_geneve.c ip: link: Unify link type help functions a bit 2017-04-04 14:51:29 -07:00
iplink_hsr.c ip: HSR: Fix cut and paste error 2017-02-06 13:49:02 -08:00
iplink_ifb.c ip: link: Add missing link type help texts 2017-04-04 14:51:29 -07:00
iplink_ipoib.c ip: link: Unify link type help functions a bit 2017-04-04 14:51:29 -07:00
iplink_ipvlan.c ip: (ipvlan) introduce L3s mode 2016-09-20 09:50:45 -07:00
iplink_macvlan.c ip: link: macvlan: Add newline to help output 2017-04-04 14:51:29 -07:00
iplink_nlmon.c ip: link: Add missing link type help texts 2017-04-04 14:51:29 -07:00
iplink_team.c ip: link: Add missing link type help texts 2017-04-04 14:51:29 -07:00
iplink_vcan.c ip: link: Add missing link type help texts 2017-04-04 14:51:29 -07:00
iplink_vlan.c ip: link: Unify link type help functions a bit 2017-04-04 14:51:29 -07:00
iplink_vrf.c libnetlink: Add variant of rtnl_talk that does not display RTNETLINK answers error 2016-12-13 10:20:16 -08:00
iplink_vxlan.c ip: link: Unify link type help functions a bit 2017-04-04 14:51:29 -07:00
iplink_xdp.c bpf: add initial support for attaching xdp progs 2016-12-09 12:44:12 -08:00
iplink_xstats.c add missing iplink_xstats.c 2017-02-20 08:53:40 -08:00
ipmacsec.c macsec: Nr. of packets and octets for macsec tx stats were swapped 2016-11-29 13:22:12 -08:00
ipmaddr.c ip: fix igmp parsing when iface is long 2017-01-17 08:39:55 -08:00
ipmonitor.c ip: Add support for MPLS netconf 2017-02-23 08:58:40 -08:00
ipmroute.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
ipneigh.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
ipnetconf.c ip: Add support for MPLS netconf 2017-02-23 08:58:40 -08:00
ipnetns.c ip netns: refactor netns_identify 2017-02-17 15:33:24 -08:00
ipntable.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
ipprefix.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
iproute.c ip-route: Prevent some other double spaces in output 2017-04-12 09:53:23 -07:00
iproute_lwtunnel.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
iproute_lwtunnel.h lwtunnel: Add encapsulation support to ip route 2015-10-16 16:13:22 -07:00
iprule.c ip: support UID range routing. 2016-11-29 12:26:37 -08:00
iptoken.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
iptunnel.c Use C99 style initializers everywhere 2016-07-20 12:05:24 -07:00
iptuntap.c tuntap: Add name attribute to usage text 2016-09-08 14:31:33 -07:00
ipvrf.c ip vrf: Add command name next to pid 2017-04-16 10:06:33 -07:00
ipxfrm.c xfrm: remove unnecessary casts 2017-02-24 15:23:14 -08:00
link_gre.c ip: link: Unify link type help functions a bit 2017-04-04 14:51:29 -07:00
link_gre6.c gre6: fix copy/paste bugs in GREv6 attribute manipulation 2017-04-23 09:13:07 -07:00
link_ip6tnl.c ip: link: Unify link type help functions a bit 2017-04-04 14:51:29 -07:00
link_iptnl.c ip: link: Unify link type help functions a bit 2017-04-04 14:51:29 -07:00
link_veth.c ip: code cleanup 2016-03-21 11:52:19 -07:00
link_vti.c ip: link: Unify link type help functions a bit 2017-04-04 14:51:29 -07:00
link_vti6.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
routef ip/routef lifesaver 2007-07-10 18:29:20 -07:00
routel routel: fix infinite loop in line parser 2017-04-27 16:42:29 -07:00
rtm_map.c ip, realms: also allow to pass in raw realms value 2015-10-22 23:40:51 -07:00
rtmon.c ip: code cleanup 2016-03-21 11:52:19 -07:00
rtpr (Logical change 1.3) 2004-04-15 20:56:59 +00:00
static-syms.c Fix build when shared libraries are disabled 2013-03-13 08:29:59 -07:00
tcp_metrics.c libgenl: introduce genl_init_handle 2016-08-17 13:59:21 -07:00
tunnel.c ip: code cleanup 2016-03-21 11:52:19 -07:00
tunnel.h ip{,6}tunnel: have a shared stats parser/printer 2015-12-18 11:46:21 -08:00
xdp.h bpf: add initial support for attaching xdp progs 2016-12-09 12:44:12 -08:00
xfrm.h Fix FSF address in file headers 2013-12-06 15:05:07 -08:00
xfrm_monitor.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
xfrm_policy.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
xfrm_state.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00