[acassen/keepalived] 539228: Fix segfault when parsing invalid real server

pqarmitage <[email protected]> Thu, 14 Dec 2017 05:20:25 -0800
Newsgroups gmane.linux.keepalived.devel
Message-ID <5a327a99efa35_45dd2abcd7977c14564e2@hookshot-fe-2cc8887.cp1-iad.github.net.mail>
  Branch: refs/heads/beta
  Home:   https://github.com/acassen/keepalived
  Commit: 539228b4ae2d76a8f19c2d63b460ce8df3da959c
      https://github.com/acassen/keepalived/commit/539228b4ae2d76a8f19c2d63b460ce8df3da959c
  Author: Quentin Armitage <[email protected]>
  Date:   2017-12-11 (Mon, 11 Dec 2017)

  Changed paths:
    M keepalived/check/check_data.c

  Log Message:
  -----------
  Fix segfault when parsing invalid real server

If the first real server ip address doesn't match the address
family of the virtual server, then we need to skip parsing the
rest of the real_server block.

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 805d4ccce25a85349279e9c262c673ac81b28a0a
      https://github.com/acassen/keepalived/commit/805d4ccce25a85349279e9c262c673ac81b28a0a
  Author: pqarmitage <[email protected]>
  Date:   2017-12-11 (Mon, 11 Dec 2017)

  Changed paths:
    M keepalived/check/check_data.c

  Log Message:
  -----------
  Merge pull request #714 from pqarmitage/fixes

Fix segfault when parsing invalid real server


  Commit: b1a6a49d68246bd6a6115b41954595e5ce1bf959
      https://github.com/acassen/keepalived/commit/b1a6a49d68246bd6a6115b41954595e5ce1bf959
  Author: Quentin Armitage <[email protected]>
  Date:   2017-12-11 (Mon, 11 Dec 2017)

  Changed paths:
    M keepalived/check/check_data.c

  Log Message:
  -----------
  Merge branch 'fixes' into beta


  Commit: 17fa4a3ccc1d48c5ad19c6939576a749e35cab68
      https://github.com/acassen/keepalived/commit/17fa4a3ccc1d48c5ad19c6939576a749e35cab68
  Author: Quentin Armitage <[email protected]>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M keepalived/check/check_parser.c
    M lib/parser.c
    M lib/parser.h

  Log Message:
  -----------
  Make when vs_end_handler is executed

Commit 1ba7180b ('ipvs: new service option "ip_family"') added a
sublevel_end_handler vs_end_handler, but this was being executed
at the end of each real_server rather than after the virtual_server.

This commit adds a new parser function install_root_end_handler(),
and vs_end_handler is now installed using that function so that it
is executed at the end of the virtual_server rather than after each
real_server.

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: c1d34c9f1cd456b6a256987ebe4d9ddc28362416
      https://github.com/acassen/keepalived/commit/c1d34c9f1cd456b6a256987ebe4d9ddc28362416
  Author: Quentin Armitage <[email protected]>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M doc/keepalived.conf.SYNOPSIS
    M doc/man/man5/keepalived.conf.5
    M keepalived/check/check_data.c
    M keepalived/check/check_parser.c

  Log Message:
  -----------
  Allow tunnelled rs address family not to match vs family

The address family of a tunnelled real server does not have to
match the address family of its virtual server, so we need to
delay any setting of the vs address family from an rs address
until the end of the real_server block, so that we know whether
the forwarding method is tunnelling or not. Likewise the check
of the sorry server has to be delayed until the end of the
virtual server configuration (the tunnelling method may be
specified after the address of the real/sorry server).

The address family of a virtual server is only not determined
by the virtual server configuration itself if the virtual server
is defined by a fwmark and all of the real/sorry servers are
tunnelled. In this case the address family cannot properly be
determined from the address family of any tunnelled real servers.
However, to maintain backward compatibility with configurations
used prior to this commit, the address family of the virtual
server will be taken from the address family of the (tunnelled)
real/sorry servers if they are all the same; if they are not all
the same it will default to IPv4 (this is not incompatible since
previously mixed IPv4 and IPv6 real/sorry servers were not allowed,
even if tunnelled).

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: c40d6fca42d1fe0228ccf012a55d883d050c85f8
      https://github.com/acassen/keepalived/commit/c40d6fca42d1fe0228ccf012a55d883d050c85f8
  Author: Quentin Armitage <[email protected]>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M keepalived/check/check_data.c

  Log Message:
  -----------
  Remove bogus warning for fwmark virtual servers

"Warning: Virtual server FWM 83: protocol specified for fwmark
 - protocol will be ignored" should not be given if no protocol has
been specified.

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 19b0b98d16c90ade5704192ef8921e55aa6ab78b
      https://github.com/acassen/keepalived/commit/19b0b98d16c90ade5704192ef8921e55aa6ab78b
  Author: pqarmitage <[email protected]>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M doc/keepalived.conf.SYNOPSIS
    M doc/man/man5/keepalived.conf.5
    M keepalived/check/check_data.c
    M keepalived/check/check_parser.c
    M lib/parser.c
    M lib/parser.h

  Log Message:
  -----------
  Merge pull request #716 from pqarmitage/fixes

Allow tunnelled real servers to have different address family from virtual server


  Commit: f5c333be96003ce4b2459e45b9281f3e369a52ae
      https://github.com/acassen/keepalived/commit/f5c333be96003ce4b2459e45b9281f3e369a52ae
  Author: Quentin Armitage <[email protected]>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M doc/keepalived.conf.SYNOPSIS
    M doc/man/man5/keepalived.conf.5
    M keepalived/check/check_data.c
    M keepalived/check/check_parser.c
    M lib/parser.c
    M lib/parser.h

  Log Message:
  -----------
  Merge branch 'fixes' into beta


  Commit: 1f3d398c460c0510dd92c973765a8fc8c1cfacf7
      https://github.com/acassen/keepalived/commit/1f3d398c460c0510dd92c973765a8fc8c1cfacf7
  Author: pqarmitage <[email protected]>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M doc/keepalived.conf.SYNOPSIS
    M doc/man/man5/keepalived.conf.5
    M keepalived/check/check_data.c
    M keepalived/check/check_parser.c
    M lib/parser.c
    M lib/parser.h

  Log Message:
  -----------
  Merge pull request #717 from pqarmitage/beta

Merge master branch updates


Compare: https://github.com/acassen/keepalived/compare/24553566149d...1f3d398c460c

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel