summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | bgpd: fix regression in ORF procesing (BZ#688)Denis Ovsienko2011-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This issue has been pointed out by Lou Berger and Tim Browski. * bgp_packet.c * bgp_route_refresh_receive(): restore if() condition, which was broken by commit fdbc8e77c88f751924299d0bc752371d5cc31116
| * | | lib: optimize apply_mask_ipv6()Denis Ovsienko2011-12-131-17/+7
| | | |
| * | | lib: optimize apply_mask_ipv4()Denis Ovsienko2011-12-131-18/+3
| | | |
| * | | lib: make masklen2ip6() safer and fasterDenis Ovsienko2011-12-132-17/+136
| | | |
| * | | lib: fix endianness of masklen2ip()Denis Ovsienko2011-12-131-3/+39
| | | |
| * | | lib: make masklen2ip() safer and fasterDenis Ovsienko2011-12-132-17/+40
| | | |
| * | | ospf6d: decode message type with LOOKUP()Denis Ovsienko2011-12-132-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ospf6_message.h * OSPF6_MESSAGE_TYPE_CANONICAL(): dismiss * OSPF6_MESSAGE_TYPE_NAME(): dismiss * ospf6_message.c * ospf6_message_type_str: rewrite as a message list, add max value * ospf6_packet_examin(): update to use LOOKUP() * ospf6_receive(): idem * ospf6_send(): idem
| * | | ospf6d: make some old sizing checks assertionsDenis Ovsienko2011-12-131-90/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As long as ospf6_packet_examin() is now the single checkpoint for received packets, most of the old checks performed elsewhere can be converted into assert() constructs. Malformed input data at respective points can be attributed solely to a programming error, not a malformed packet. * ospf6_message.c * ospf6_hello_print() * ospf6_dbdesc_print() * ospf6_lsreq_print() * ospf6_lsupdate_print() * ospf6_lsack_print() * ospf6_hello_recv() * ospf6_dbdesc_recv_master() * ospf6_dbdesc_recv_slave() * ospf6_lsreq_recv() * ospf6_lsupdate_recv() * ospf6_lsupdate_recv() * ospf6_lsack_recv() * ospf6_receive()
| * | | lib: spellingDenis Ovsienko2011-12-131-10/+10
| | | |
| * | | lib: add sockopt helper for setting IPV6_V6ONLY and use itDavid Lamparter2011-12-134-8/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | getaddrinfo returns a list of socket parameters for listening. it will contain both IPv4 and IPv6 listening sockets. unless we use IPV6_V6ONLY on the IPv6 ones, only the socket listed first will work. if the IPv4 one came first, the IPv6 one would get an "Address in use" error. this functionality was already present for bgpd and its listening sockets. as it is needed for vtys as well, make it a common helper. Conflicts: lib/sockunion.c
| * | | lib: put route_types.txt to real useDavid Lamparter2011-12-1310-570/+387
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this replaces most occurences of routing protocol lists by preprocessor defines from route_types.h. the latter is autogenerated from route_types.txt by a perl script (previously awk). adding a routing protocol now is mostly a matter of changing route_types.txt and log.c. Conflicts: lib/route_types.awk
| * | | zebra: fix redistribution of new protocolsDavid Lamparter2011-12-131-34/+12
| | | | | | | | | | | | | | | | | | | | redistribute is currently limited to "known" protocols. there is no reason for this limitation, so, remove it.
| * | | rib: default distance value for new protocols (v2)David Lamparter2011-12-131-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | adding protocols and forgetting to update zebra_rib.c currently causes a beyond end of array access for the default distance value. fix by making 150 the default distance for unknown routing protocols. 150 is higher than all other IGPs but lower than iBGP (200)
| * | | build: fixup autoconf for cross-compiling (to OpenWRT)David Lamparter2011-12-131-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | MALLOC/REALLOC aren't used properly (no rpl_malloc), remove them while at it, infer some sane ipforwarding method from the OS value. (v2 on that, "==" is not a proper operator for standard "test")
| * | | zebra: set the interface link-layer socket addressTom Goff2011-12-131-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * kernel_socket.c: (ifm_read) The reorganization from commit 6fe70d1b35c189cb1e488b2c26551ba7baac6148 removed setting the interface link-layer socket address structure on routing socket platforms. This restores saving the link-layer information because it might be used elsewhere: rtm_write() when no gateway is given, if_dump_vty() and rtadv_send_packet().
| * | | zebra: spellingDenis Ovsienko2011-12-131-2/+2
| | | |
| * | | build: delete .cvsignore filesDenis Ovsienko2011-12-1327-299/+0
| | | |
| * | | ospfd: spellingDenis Ovsienko2011-12-131-2/+2
| | | |
| * | | lib: clearing zclient.c for some cases of buildingVyacheslav Trushkin2011-12-131-1/+3
| | | | | | | | | | | | | | | | | | | | lib/zclient.c: using of HAVE_TCP_ZEBRA in zclient_socket_* definitions extended by else clause.
| * | | quagga: option "-z" ("--socket <path>") addedVyacheslav Trushkin2011-12-1312-52/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All daemons modified to support custom path to zserv socket. lib: generalize a zclient connection zclient_socket_connect added. zclient_socket and zclient_socket_un were hidden under static expression. "zclient_serv_path_set" modified.
| * | | isisd: indent longopts arrayVyacheslav Trushkin2011-12-131-9/+9
| | | |
| * | | bgpd: implement 'match probability' in route-mapsVyacheslav Trushkin2011-12-131-1/+105
| | | | | | | | | | | | | | | | | | | | New clause 'match probability <percentage value>' was added in route-maps (bgpd/bgp_routemap.c modified).
| * | | ospf6d: justify multicast group managementVyacheslav Trushkin2011-12-133-82/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ospf6_network.[ch] * ospf6_sso(): new function supersedes ospf6_join_allspfrouters(), ospf6_leave_allspfrouters(), ospf6_join_alldrouters() and ospf6_leave_alldrouters() * ospf6_interface.c * ospf6_interface_state_change(): update respectively * interface_up(): ditto * interface_down(): ditto
| * | | ripngd: limit max of "timers basic" to 65535 as documentedUlrich Weber2011-12-131-21/+3
| | | | | | | | | | | | | | | | and use VTY_GET_INTEGER_RANGE instead of calling strtoul
| * | | bgp: use VTY_GET_INTEGER_RANGE() in bgp_clear()Ulrich Weber2011-12-131-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | Second patch replaces "VTY_GET_LONG ("AS", as_ul, arg);" by "VTY_GET_INTEGER_RANGE ("AS", as, arg, 1, BGP_AS4_MAX);" as done in all other code, which parses AS numbers.
| * | | ospf6d: implement 'match interface' for route-mapsVyacheslav Trushkin2011-12-132-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ospf6_routemap_rule_match_interface* was imported from ospfd daemon with minor changes. new CLI options defined. `ospf6_routemap_rule_match_interface' was changed to support IPv6 (ospfv3) route's external information.
| * | | lib: fix SMUX compiler warningsStephen Hemminger2011-12-071-4/+3
| | | | | | | | | | | | | | | | | | | | Make progname a string, and cast when calling asn1. Remove variable set but never used.
| * | | lib: fix compile warnings from set-never-usedStephen Hemminger2011-12-071-6/+0
| | | | | | | | | | | | | | | | The if_dump code had empty loop, that caused set-never-used warning.
| * | | ospf6d: fix compile warning from falling off end of mainStephen Hemminger2011-12-071-1/+1
| | | | | | | | | | | | | | | | | | | | ospf6 main always calls ospf6_exit() which always calls exit. Use attributes to tell GCC that this is ok.
| * | | zebra: fix warnings in forward procStephen Hemminger2011-12-071-5/+4
| | | | | | | | | | | | | | | | | | | | Check result of fgets(), and don't set variable that is never used.
| * | | bgpd: cleanup privs on terminationStephen Hemminger2011-12-071-0/+1
| | | | | | | | | | | | | | | | | | | | When doing valgrind testing, the privledges from zprivs_init() need to be cleaned up on exit.
| * | | vty_serv_sock_family unusedStephen Hemminger2011-12-071-1/+2
| | | | | | | | | | | | | | | | | | | | If the vty_serv_sock_addrinfo is being used, then vty_serv_sock_family is unsed. Fix by adjusting ifdef/else/endif
| * | | ospfd: remove unused codeStephen Hemminger2011-12-075-101/+6
| | | | | | | | | | | | | | | | | | | | The code for nssa_range and other bits that were written but never used.
| * | | bgpd: store nexthop info for redistributed IPV6 routesStephen Hemminger2011-12-063-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | BGP was ignoring nexthop info for static and other redistributed routes for IPv6. Build extra attribute info to store the nexthop. See also: https://bugzilla.vyatta.com/show_bug.cgi?id=6073
| * | | ospfd: avoid redundant lookup in ospf_redistribute_withdrawStephen Hemminger2011-12-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old algorithim looked up every node twice as it withdrew the entry. It looks up entry once in redistribute_withdraw, then looks it up again info_delete. Use result of first lookup to do the free directly. This may explain the slow performance observed in https://bugzilla.vyatta.com/show_bug.cgi?id=4421
| * | | lib: fix memory leak on connect() failureStephen Hemminger2011-12-061-12/+11
| | | | | | | | | | | | | | | | | | | | Change sockunion_log() to not use strdup(). This fixes a small memory leak that occurs on every failed connect(), and is simpler/cleaner.
| * | | lib: call filter delete hook before freeing access listStephen Hemminger2011-12-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The delete_hook was being run after calling access list delete function. This would cause ospf to dereference a NULL, in ospf_filter_update because 'access->name' was already freed. See also: https://bugzilla.vyatta.com/show_bug.cgi?id=7654
| * | | bgpd: fix memory leak for extra attributesOleg A. Arkhangelsky2011-12-031-0/+1
| | | | | | | | | | | | | | | | this fixes commit b881c7074bb698aeb1b099175b325734fc6e44d2
| * | | doc: rectify "match ip next-hop" in ripd (BZ#537)Roderick Schertler2011-11-221-4/+4
| | | |
| * | | bgpd: remove unused function bgp_bind_addressDavid Lamparter2011-11-211-26/+0
| | | | | | | | | | | | | | | | bgp_bind_address is replaced with sockunion_bind.
| * | | bgpd: fix update-source for IPv6 (BZ#548)David Lamparter2011-11-211-12/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if update-source was given as interface name, bgpd was unconditionally trying to bind to an IPv4 address from that interface. change function to find the best-matching (number of address bits) same-family address on the interface.
| * | | lib: prefix2sockunion, prefix_common_bits helper functionsDavid Lamparter2011-11-212-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | prefix2sockunion converts a struct prefix* to a union sockunion *; prefix_common_bits counts the number of common bits in the prefix's address part.
| * | | ospf6d: check MTU with message header size in mindDmitrij Tejblum2011-11-171-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ospf6_message.c: (ospf6_packet_max): new function, return maximum IPv6 payload on an interface; (ospf6_hello_send, ospf6_dbdesc_send, ospf6_dbdesc_send_newone, ospf6_lsreq_send, ospf6_lsupdate_send_neighbor, ospf6_lsupdate_send_interface, ospf6_lsack_send_neighbor, ospf6_lsack_send_interface): compare message size with the maximum payload instead of the MTU.
| * | | bgpd: fix "nexthop-local unchanged" (BZ#350)Dylan Hall2011-11-151-0/+5
| | | |
| * | | bgpd: justify capabilities for TOS settingChris Luke2011-11-152-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To set the TOS bits on TCP connections, platforms that restrict capabilities need the priv level to be raised before the sockopt is set, and this requires the ZCAP_NET_ADMIN priv. * bgp_main.c: update _caps_p to include ZCAP_NET_ADMIN * bgp_network.c * bgp_connect(): request ZPRIVS_RAISE/ZPRIVS_LOWER * bgp_listener(): request ZPRIVS_RAISE earlier
| * | | ospfd: improve fix to CVE-2011-3326 (BZ#586)Thomas Ries2011-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Make ospf_flood() propagate error returned by ospf_lsa_install() further to properly discard the malformed LSA, not just prevent the immediate crash.
| * | | bgpd: revised fix to --dryrun (BZ#622)Sergey Y. Afonin2011-11-151-3/+4
| | | |
| * | | bgpd: fix 2 more cases of length error reportingDenis Ovsienko2011-10-261-2/+2
| | | | | | | | | | | | | | | | | | | | * bgp_attr.c (bgp_attr_originator_id, bgp_attr_cluster_list): provide required arguments to bgp_attr_malformed()
| * | | bgpd: check AGGREGATOR attr flags (BZ#678)Denis Ovsienko2011-10-221-0/+17
| | | | | | | | | | | | | | | | | | | | * bgp_attr.c * bgp_attr_aggregator(): check Optional/Transitive flag bits
| * | | bgpd: fix more regressions in attr flag checksDenis Ovsienko2011-10-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 05a4936b713b9882171d0f7fb20b8439df23939e fixed some of the attributes involved, but not all. This commit should do it. * bgp_attr.c * bgp_attr_originator_id() * bgp_attr_cluster_list() * bgp_mp_reach_parse() * bgp_mp_unreach_parse()