Permalink
Commits on Jun 20, 2017
  1. configure: Remove --disable-scoped-acls, now fully supported

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 20, 2017
  2. configure: Remove --disable-pim-genid option, now mandatory

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 20, 2017
  3. rsrr_read(): Fix bogus sizeof() on ptr, found by Coverity Scan

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 20, 2017
  4. rsrr.c: Check return value from rsrr_accept_rq()

    Coverity Scan reports that the return value from rsrr_accept_rq() is
    checked 3/4 times.  This adds another debug log message in case it fails
    sending a client reply in rsrr_accept().
    
    Also, remove stray \n from other log messages.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 20, 2017
  5. main(): No need to verify optarg ptr, getopt() does this for us

    This fixes Coverity Scan CID #181205.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 20, 2017
  6. Fix possible array overrun found by Coverity Scan

    The k_req_incoming() API, available both as a routing socket (BSD) and a
    netlink (Linux) back-end, was inconsistently used.  The callee assumed
    that the API set rpf->iif to NO_VIF as a means to signal error, but the
    Linux back-end failed to honor this, defaulting to ALL_VIFS instead.
    
    The inconsistency led to possible -1 indexing of the uvifs[] array.
    
    This patch refactors the k_req_incoming() API, so it shares defaults
    between all back-ends.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 20, 2017
Commits on Jun 19, 2017
  1. Travis-CI: Comment out clang during Coverity Scan run

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 19, 2017
  2. pimd.conf: Change syntax for Cand-RP `time SEC` --> `interval SEC`

    Standardize on the `interval` keyword for intervals, rather than `time`.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 19, 2017
  3. Minor refactor, clarify comment and simplify code a bit

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 19, 2017
  4. Fix #98: Restore line if token "masklen" does not match

    When a phyint line with `scoped` does not contain a separate `masklen`
    argument, but instead looks as follows, then the last argument `igmpv2`
    is silently consumed by the `scoped` sub-parser.
    
        phyint eth0 scoped 224.0.1.0/24 igmpv2
    
    This patch uses the previous commit (74e1867) to reset the parser for
    each such sub-parser if it fails to find its expected token.  Issue #98
    details the issue and lists both `scoped` and `altnet` as problematic,
    the fix covers both.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 19, 2017
  5. conf.c:next_word() - Do not modify string argument

    Instead, return next word token as a separate string.  This way we can
    restore the string argument ptr in the callee without any side effects.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 19, 2017
Commits on Jun 17, 2017
  1. Remove ancient configurable Cisco PIM Register checksum workaround

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 17, 2017
Commits on Jun 16, 2017
  1. Remove deprecated pimd.conf syntax from parser

    With the transition to pimd v3.0 the following (already) deprecated
    settings will no longer be available:
    
    - cand_bootstrap_router
    - cand_rp
    - rp_address
    - switch_register_threshold
    - switch_data_threshold
    - spt_threshold
    - default_source_metric
    - default_source_preference
    - default_igmp_query_interval
    - default_igmp_querier_timeout
    - hello_period
    - switch_register_threshold
    - switch_data_threshold
    
    Not only is it time to clear this out, it will also be a good wakeup
    call to anyone who upgrades only parts of the PIM domain.
    
    Remember, pimd v3 may not be compatible with older pimd releases!
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 16, 2017
Commits on Jun 15, 2017
  1. Fix issue #97: Remove arbitrary 15 sec delay for rp-address entries

    This is a follow-up to one of the very first GIT commits to pimd,
    5aa52b7.  As Jean-Pierre Tosoni points out in #97, there seems to
    be no good reason for waiting 15 seconds before adding any static
    RP addresses.
    
    Also, on SIGHUP we now first remove any old static RP entries before
    adding new ones from the (possibly updated) pimd.conf
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 15, 2017
  2. rp.c:delete_rp() - Minor code cleanup and simplification

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 15, 2017
Commits on Jun 14, 2017
  1. Refactor command line options, part 1, issue #95

    This patch is the first in a series of changes to the pimd command line
    interface.  The intentions are:
    
    1) Simplify and align with what other (multicast) daemon(s) use
    2) Alert users of the fact that this pimd may not be compatible with
       compatible versions, see fa81d14
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 14, 2017
Commits on Jun 12, 2017
  1. Credit Joonas Ruohonen properly for his contributions

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 12, 2017
Commits on Jun 8, 2017
  1. Further updates to ChangeLog for upcoming v3.0 release

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 8, 2017
  2. Clarify contributions, Mika Joutsenvirta has had a non-trivial role

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 8, 2017
  3. Document issue #93, underline incompatibility with earlier releases

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 8, 2017
  4. Merge pull request #93 from xdxu/rp-hash

    Fix a serious issue with RP hash calculations
    
    This change is not backwards compatible with pimd v2.x, although
    it makes pimd compatible with Cisco IOS.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed on GitHub Jun 8, 2017
  5. Update ChangeLog with some of the already merged changes

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 8, 2017
  6. Bump version, v3.0-beta1, incompatible bug fix incoming ...

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 8, 2017
Commits on Jun 7, 2017
  1. rp.c: Spell check RP hash macro comment

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 7, 2017
  2. Fix an issue on RP hash calculations.

    As per RFC4601, all multicast routers in a domain should use the same
    algorithm for RP elections, and all the IP addresses including the mask
    address used in the algorithm should be in host byte order. The change fixes
    the problem about RP hash calculation so that the results will be consistent
    across different routers.
    
    Signed-off-by: Xiaodong Xu <stid.smth@gmail.com>
    xdxu committed Jun 6, 2017
Commits on Jun 6, 2017
  1. OpenBSD has pidfile() in -lutil

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 6, 2017
  2. Use AC_REPLACE_FUNCS() framework for popular *BSD functions

    The pidfile(), strlcpy(), strlcat(), strtonum(), and utimensat() API's
    don't exist on all platforms.  The GNU configure replacement framework
    is the recommended approach instead of homegrown detection.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 6, 2017
  3. Set search path for replacement headers on all operating systems

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 6, 2017
  4. configure: Check for linux/netlink.h to detect LINUX

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 6, 2017
  5. vif.h: VIFF_REGISTER missing in OpenBSD netinet/ip_mroute.h

    FreeBSD, NetBSD, and Linux/GNU defines VIFF_REGISTER, only OpenBSD is
    missing this definition.  No point in pulling in alternate headers, just
    define it if it's missing.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 6, 2017
  6. configure: net/if.h requires sys/socket.h first on OpenBSD

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 6, 2017
Commits on Jun 5, 2017
  1. Credit Mika Joutsenvirta, aka idismmxiv for extensive contributions

    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 5, 2017
Commits on Jun 4, 2017
  1. Fix #38: Allow enable phyint based on ifname or address

    This follow-up to dacf8b2 makes it possible to select the address of an
    interface pimd will use when announcing itself to other PIM routers.
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 4, 2017
  2. Only install bare necessities in system doc/ directory

    - Remove debug + config README from dist and doc-install target
    - Remove include/netinet/* from EXTRA_DIST, handled by include/Makfile
    
    Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
    committed Jun 4, 2017