Skip to content

Releases: troglobit/smcroute

SMCRoute v2.5.7

09 May 17:09
Compare
Choose a tag to compare

Fixes

  • Fix #207: crash when adding IPv6 multicast route on a kernel without
    IPv6 multicast support

SMCRoute v2.5.6

28 Nov 07:05
Compare
Choose a tag to compare

Despite the new smcroutectl batch mode feature, this is primarily a
bug fix release. Most notably #183 and #187.

Changes

  • Add smcroutectl batch support, issue #189. Based on the IPC support
    added in issue #185, by Alexey Smirnov:

      ~$ sudo smcroutectl -b <<-EOF
             join eth0 225.1.2.3
             add eth0 192.168.1.42 225.1.2.3 eth1 eth2
             rem eth1 225.3.4.5 eth3
             leave eth1 225.3.4.5
             EOF
      ~$
    

Fixes

  • Fix #178: invalid systemd daemon type Simple/Notify vs simple/notify
  • Fix #179: typo in wildcard routes section of README
  • Fix #180: minor typo in file and directory names in documentation
  • Fix #183: casting in IPC code hides error handling of recv()
  • Fix #186: NULL pointer dereference in utimensat() replacement
    function. Found accidentally by Alexey Smirnov. Only triggered on
    systems that don't have a native utimensat() in their C-library, or
    if you try to build SMCRoute without using its own build system ...
  • Fix #187: strange behavior joining/leaving the same group
  • Fix #192: typo in README

SMCRoute v2.5.5

21 Nov 08:43
Compare
Choose a tag to compare

Changes

  • Revert extraction of version from GIT tag. Incompatible with systems
    that do autoreconf on a dist. tarball

Fixes

  • Fix #175: Parse error in /etc/smcroute.conf. SMCRoute fails to
    start on interfaces with mrdisc disabled, when built with mrdisc
    support and -N passed on command line

SMCRoute v2.5.4

13 Nov 15:08
Compare
Choose a tag to compare

Changes

  • Automatically extract new version from GIT tag

Fixes

  • Avoid trying to delete inactive VIFs. Fixing an annoying bogus error:
    "Failed deleting VIF for iface lo: Resource temporarily unavailable"
  • Fix #171: too small string buffer for IPv6 address causing garbled
    output in periodic expiry callback
  • Fix too small buffer for IPv6 address in mroute display functions

SMCRoute v2.5.3

23 Sep 11:01
Compare
Choose a tag to compare

Changes

  • New tests to verify add/del of IPv4/IPv6 routes in kernel MFC

Fixes

  • Fix #166: build warning with gcc 10.2.1: "comparison is always true due to limited range of data type"
  • Fix build warning with --disable-mrdisc configure option
  • Fix #167: cannot remove routes added with smcroutectl add, only affects add/del at runtime with smcroutectl, not .conf reload
  • Fix #168: build problem on Debian/kFreeBSD, used wrong queue.h

SMCRoute v2.5.2

27 Aug 16:13
Compare
Choose a tag to compare

Changes

  • Allow installing routes with no outbound interfaces
  • Reinitialize VIFs on reload in case of new interfaces
  • Handle cases when interfaces change ifindex, i.e. they've first been removed and then re-added with the same name

Fixes

  • Fix VIF leak when deleting interfaces with MRDISC enabled
  • Fix handling when an (S,G) moves to another IIF. This fixes issues where the SMCRoute kernel cache was out of sync with the kernel MFC
  • Fix handling of lost/disabled interfaces at reload. This fixes a couple of issues where routes were not updated properly at runtime
  • Update interface flags on reload, this fixes issues when SMCRoute failed to detect interfaces that had their MULTICAST flag set or cleared at runtime
    . Skip setsockopt() for IPC sockets. This fixes warnings in syslog about failing to disable MULTICAST_LOOP and MULTICAST_ALL

SMCRoute v2.5.1

22 Aug 07:41
Compare
Choose a tag to compare

Changes

  • Add .sha256 checksum to dist files, useful for packagers

Fixes

  • Fix #155: systemd Notify integration, restore NotifyAccess=main
  • Fix #165: ftbfs on older compilers, e.g. gcc 4.8.3, use -std=gnu99
  • Fix Documentation refs in systemd unit file, new man pages

SMCRoute v2.5.0

19 Aug 13:15
Compare
Choose a tag to compare

Highlights: native /etc/smcroute.d/*.conf support and seamless update/removal of routes and groups by reloading .conf files or using smcroutectl.

Tested on Linux 5.11 and FreeBSD 12.2

Changes

  • Fully automated test suite with 15 tests covering many use cases
  • Support for /etc/smcroute.d/*.conf, issue #103
  • Support for applying changes to .conf files without disturbing established flows -- i.e., seamless addition or removal of outbound interfaces in existing rules, or add/remove routes, without ever affecting other routes, issue #103
  • Support for route replacement/update smcroutectl, issue #115
  • Full (*,G) wildcard route matching, for IPv4 and IPv6, issue #31
  • Variant wildcard route matching with source and group range matching. This may of course waste a lot of resources, so handle with care:
    • (*,G/LEN), issue #135 (IPv4), and issue #162 (IPv6)
    • (S/LEN,G), issue #81
    • (S/LEN,G/LEN)
  • Full SSM/ASM group join support, for both IPv4 and IPv6. Including joining group ranges from both smcroutectl and .conf, issue #118
    Please note, no SSM support on FreeBSD, only Linux
  • New command line option, -F file.conf to verify file syntax, issue #100
  • The -I NAME command line option has changed to -i NAME, compat support for the previous option remains
  • The mrdisc flag to the phyint directive is now what solely controls the functionality per interface. Previously a mechanism to enable/disable the functionality (if enabled) if active routes were in place. However, this did not cover (*,G) routes so that has been removed to simplify and guarantee full function
  • Output format from smcroutectl has been extensively changed. E.g, new /LEN support means wider columns, but heading have also changed
  • The .tar.xz archive has been has been dropped as distribution format, keeping only tar.gz

Fixes

  • Fix #120: failed ASM/SSM IGMP join if interface has no address
  • Fix #130: dynamic IPv6 routes are not flushed (like IPv4 (*,G))
  • Fix #149: (*,G) cache timeout callback stops, or never starts
  • Fix #151: same log entries
  • Fix #156: smcruotectl show does not show IPv6 routes
  • Fix stochastic timer behavior, e.g. mrdisc announcements experienced interference with the (*,G) cache timer

SMCRoute v2.4.4

11 Feb 19:43
Compare
Choose a tag to compare

Changes

  • Allow same outbound interface as inbound for routes, only warn user
  • systemd unit file hardening, recommended by Debian
  • Discontinued GPG signing, unused and signed with only one dev key

Fixes

  • Fix #104: IGMP header checksum missing from mrdisc frames
  • Fix #105: Unblock all matching, and currently blocked, (S,G) to a
    newly installed (*,G) route, only the first know was unblocked
  • Fix #106: Timer nanosecond bug causing loss of address refresh on DHCP
    interfaces. Interface monitoring feature introduced in v2.4.3
  • Fix #108: Calling init script with stop does not stop smcrouted
  • Fix #109: ifindex in UNIX/POSIX is an interger, not unsigned short

SMCRoute v2.4.3

07 Nov 17:55
Compare
Choose a tag to compare

The Lyon release.

Changes

  • Add strlcat() replacement from OpenBSD, use instead of strcat()
  • smcrouted should never log to system console, proposed by Westermo

Fixes

  • smcrouted fails to join multicast groups on interfaces that do not yet have an IP address when smcrouted starts up, or when it receives SIGHUP, e.g. DHCP client interfaces. This patch release adds a timer refresh of interface addresses that retries multicast group joins until an address is set. This is similar to issue #55, but does not handle
    interfaces that do not exist yet
  • Make sure Linux alias interfaces (baseif:num) are registered as baseif. Westermo found that use of alias interfaces cause multiple VIFs to be registered for the same base interface causing multicast routes to use the wrong inbound or outbound VIF. Alias interfacesuse the same underlying physical interface so only one VIF needed
  • Fix display of route counters and column alignment
  • Minor spelling fixes, found by Debian
  • Add missing status command to SysV init script, found by Debian
  • Simplify utimensat() replacement, AT_SYMLINK_NOFOLLOW unused