1. 03 Apr, 2019 1 commit
  2. 19 Mar, 2019 1 commit
    • Lubomir Rintel's avatar
      all: goodbye libnm-glib · 1de8383a
      Lubomir Rintel authored
      This removes libnm-glib, libnm-glib-vpn, and libnm-util for good.
      The it has been replaced with libnm since NetworkManager 1.0, disabled
      by default since 1.12 and no up-to-date distributions ship it for years
      now.
      
      Removing the libraries allows us to:
      
      * Remove the horrible hacks that were in place to deal with accidental use
        of both the new and old library in a single process.
      * Relief the translators of maintenance burden of similar yet different
        strings.
      * Get rid of known bad code without chances of ever getting fixed
        (libnm-glib/nm-object.c and libnm-glib/nm-object-cache.c)
      * Generally lower the footprint of the releases and our workspace
      
      If there are some really really legacy users; they can just build
      libnm-glib and friends from the NetworkManager-1.16 distribution. The
      D-Bus API is stable and old libnm-glib will keep working forever.
      
      https://github.com/NetworkManager/NetworkManager/pull/308
      1de8383a
  3. 06 Feb, 2019 2 commits
  4. 12 Nov, 2018 1 commit
    • Thomas Haller's avatar
      ci: use common script for tests on travis and gitlab · 763cb8d4
      Thomas Haller authored
      For one, it's not unreasonable that we want to run the same
      tests both for gitlab and travis.
      
      Move the actual tests into a script, which is called by both
      CI environments.
      
      We still can do something different, based on the environment.
      The advantage here is, that the common part will be shared, and
      the places where we differ can easily be spot.
      
      !44
      763cb8d4
  5. 19 Sep, 2018 2 commits
  6. 18 Sep, 2018 3 commits
    • Beniamino Galvani's avatar
      build: allow disabling eBPF support in n-acd · 691c71a7
      Beniamino Galvani authored
      Add a configure option to disable eBPF support in n-acd.
      
      Note that, even if eBPF is not supported, n-acd requires a kernel >
      3.19, which means that the setsockopt(..., SO_ATTACH_BPF) option must
      be defined. To allow building on older kernels without modifying the
      n-acd code, we inject the SO_ATTACH_BPF value as a preprocessor define
      in the compiler the command line.
      691c71a7
    • Beniamino Galvani's avatar
      Squashed 'shared/n-acd/' changes from a68b55992..a40949267 · 1361ede0
      Beniamino Galvani authored
      a40949267 build: add CI run without ebpf
      044db2056 n-acd: drop redundant headers
      6a391cd83 n-acd: fix build without eBPF
      bb194cf09 n-acd/config: make transport mandatory
      ec2865743 build: drop unused c-sundry
      721d9d84f n-acd: inline c_container_of()
      1a7ee317c util/timer: fix coding-style
      6c96f926b util/timer: fall back to CLOCK_MONOTONIC if necessary
      4ea3165fc n-acd: only use CLOCK_BOOTTIME if really necessary
      c1b853c6c util/timer: cleanup headers
      b1d6ad272 n-acd: add destructors that return void
      185be55b6 test-bpf: skip test in case of unsufficient privs
      84a40e8fa build: add NEWS file
      bf11443ff build: mention mailinglist in readme
      e2797984a test-bpf: drop bpf-filter.h
      668ed3c82 subprojects: pull in updates
      dd8cab3f0 test-veth: reduce parallel execution to 9
      68b09ba2b build: update AUTHORS
      3f77e3e88 test: make function headers valid C
      5275a5120 test: get rid of spurious tab
      037df412c n-acd: make struct initializers valid C
      346ec0c67 build: upgrade CI
      38682a36d n-acd: fix signed vs unsigned comparison
      5e7578b33 bpf: properly zero out trailing bpf_attr space
      ee1e432ae probe: fix coding-style
      a143540f9 build: use lower-case build options
      835533e7d build: minor style fixes
      2bd6d1d29 build: get rid of tabs
      b14979934 eBPF: make compile-time optional
      6f13c27ee n-acd: filter out invalid packets
      4e6a169a0 build: sync with c-util repositories
      6c4a9117b build: document eBPF kernel requirement
      3ef08394d n-acd: don't remember dropped defense attempts
      4dff8771f n-acd: fix coding-style
      b11fb9706 n-acd/config: default to the RFC-specified timeout
      d885bb3b7 n-acd/event: don't expose the type of operation that caused a conflict
      e2f87e047 TODO: drop remaining items
      f06993856 test/veth: reduce the number of probed addresses
      8b4f7ed64 test/veth: bump the timeout a bit
      14e4606f6 n-acd/probe: don't cap the jitter at 4s
      a0247b86f test/veth: fix stackvariable corruption
      a64ac8389 n-acd/probe: update comments
      aa9c25bc1 n-acd/handle_timeout: update comments
      b6c2df3a9 timer: rename timer_pop() to timer_pop_timeout()
      47c657a8d test: fix handling of child addresses
      27168ba9e timer: move timer_read() from n-acd.c to util/timer.c
      21a1e37aa timer: require timer to be explicitly rearmed
      ee1080820 bpf/map: make key/value sizes self-documenting
      fd444353e test/veth: rework test
      ba2bc433c test: rework child_ip() helper
      07881b8da test: silence a warning
      38da00b0a test/bpf: make tests for map modifications more comprehensive
      6a2ffd23a test/timerfd: for documentation purposes verify the kernel API
      01a9cf54b probe: move from ms to ns internally
      4fe438dd9 n-acd: move to use the Timer utility library
      e098cfc79 util: add a timer utility helper
      8ea196e5b subprojects: pull in c-sundry
      0c0b3c29f acd/probe: do not subscribe to packets in FAILED state
      9c922ea3d acd/probe: introduce probe_{un,}link() helpers
      024a830e6 acd/probe: use unschedule() helper in free()
      b098a3bcc tests/veth: minor fixes to the test
      fe3d9578a acd/packet: consider unexpected packets a fatal error
      34d7656d7 acd: stop state-machine after USED or CONFLICT events
      7d9e5ec6b acd: don't declare iovec entries inline
      7afd8d8a3 tests: add veth test
      26a737b42 tests/veth: add helper for adding IP addresses to child device
      e73a37a11 probe: store a userdata pointer in the probe object
      327e82625 test: introduce loopback helper
      0682b15f8 acd: reduce default map size
      afead881f tests: reinstate loopback test
      4527d2f71 BPF: move and document the eBPF helpers
      88bacc022 socket filter: move to the new eBPF helpers
      245104d5c tests: skip tests if lacking permissions
      195d9ff5a n-acd: rework API to support many probes on a context
      ab440eb99 eBPF: never return packets that userspace should unconditionally drop
      ac933f412 eBPF: add eBPF helper functions
      
      git-subtree-dir: shared/n-acd
      git-subtree-split: a40949267923c45cb232fa4c1d60eafacee4b36e
      1361ede0
    • Beniamino Galvani's avatar
      Squashed 'shared/c-rbtree/' content from commit bf627e0c3 · 4f4e9665
      Beniamino Galvani authored
      git-subtree-dir: shared/c-rbtree
      git-subtree-split: bf627e0c32241915108f66ad9738444e4d045b45
      4f4e9665
  7. 13 Sep, 2018 4 commits
  8. 12 Sep, 2018 2 commits
    • Thomas Haller's avatar
      travis: enabling building more optional components during CI · 22e6314d
      Thomas Haller authored
      A few components are still disabled. Most notably, team support
      which is not available on Ubuntu 14.04 (trusty).
      
      All other components which are disabled are bugs in our build tools.
      It should be possible to enable them, but currently breaks on travis.
      Those needs additional fixes.
      
      In particular, the DHCP plugins and ifcfg-rh plugin with meson.
      
      Also, netconfig plugin with autotools requires that the path exists.
      
      (cherry picked from commit e8934059)
      22e6314d
    • Thomas Haller's avatar
      travis: enabling building more optional components during CI · e8934059
      Thomas Haller authored
      A few components are still disabled. Most notably, team support
      which is not available on Ubuntu 14.04 (trusty).
      
      All other components which are disabled are bugs in our build tools.
      It should be possible to enable them, but currently breaks on travis.
      Those needs additional fixes.
      
      In particular, the DHCP plugins and ifcfg-rh plugin with meson.
      
      Also, netconfig plugin with autotools requires that the path exists.
      e8934059
  9. 04 Sep, 2018 1 commit
  10. 17 Jul, 2018 1 commit
    • Thomas Haller's avatar
      travis: do out-of-tree build in travis · b4e6cf60
      Thomas Haller authored
      When developing, we usually do in-tree-builds, so that case is
      already better tested in every-day usage. It makes sense for
      travis to test the less-well-tested case: the out-of-tree
      build with autotools.
      b4e6cf60
  11. 18 Jun, 2018 2 commits
  12. 11 May, 2018 1 commit
    • Thomas Haller's avatar
      clients/tests: add python test script for nmcli tests · d4093a3a
      Thomas Haller authored
      Add a test which runs nmcli against our stub NetworkManager
      service and compares the output.
      
      The output formats of nmcli are complicated and not easily understood.
      For example how --mode tabular|multiline interacts with selecting
      output-fields (--fields) and output modes ([default]|--terse|--pretty).
      Also, there are things like `nmcli connection show --order $FIELD_SPEC`.
      
      We need unit tests to ensure that we don't change the output
      accidentally.
      d4093a3a
  13. 18 Apr, 2018 3 commits
  14. 05 Mar, 2018 1 commit
    • Thomas Haller's avatar
      travis: install meson 0.44.1 for travis' meson build · 065741c7
      Thomas Haller authored
      Latest versions of meson require now Python 3.5+. Not only that meson requires Python3
      and thus makes building on some systems cumbersome (RHEL7), it also eagerly bumps
      Python3.y requirements.
      
      Install the last working release which works with Python3.4. This fixes
      the the travis build failure on Ubuntu 14.04 (trusty):
      
        Meson works correctly only with python 3.5+.
        You have python 3.4.3 (default, Nov 28 2017, 16:41:13)
        [GCC 4.8.4].
        Please update your environment
      065741c7
  15. 21 Feb, 2018 1 commit
    • Thomas Haller's avatar
      netlink: drop libnl3 dependency · 3fab322a
      Thomas Haller authored
      From libnl3, we only used the helper function to parse/generate netlink
      messages and the socket functions to send/receive messages. We don't
      need an external dependency to do that, it is simple enough.
      
      Drop the libnl3 dependency, and replace all missing code by directly
      copying it from libnl3 sources. At this point, I mostly tried to
      import the required bits to make it working with few modifications.
      
      Note that this increases the binary size of NetworkManager by 4736 bytes
      for contrib/rpm build on x86_64. In the future, we can simplify the code
      further.
      
      A few modifications from libnl3 are:
      
      - netlink errors NLE_* are now in the domain or regular errno.
        The distinction of having to bother with two kinds of error
        number domains was annoying.
      
      - parts of the callback handling is copied partially and unused parts
        are dropped. Especially, the verbose/debug handlers are not used.
        In following commits, the callback handling will be significantly
        simplified.
      
      - the complex handling of seleting ports was simplified. We now always
        let kernel choose the right port automatically.
      3fab322a
  16. 10 Jan, 2018 2 commits
  17. 02 Jan, 2018 2 commits
  18. 21 Dec, 2017 1 commit
    • Thomas Haller's avatar
      settings: drop unmaintained ifnet settings plugin of Gentoo · 0474441e
      Thomas Haller authored
      Even Gentoo disables this plugin since before 0.9.8 release
      of NetworkManager. Time to say goodbye.
      
      If somebody happens to show up to maintain it, we may resurrect it
      later.
      
      If "$distro_plugins=ifnet" was set, configure.ac would use that
      to autodetect --with-hostname-persist=gentoo. Replace that autodetect
      part by checking for /etc/gentoo-release file.
      0474441e
  19. 09 Nov, 2017 1 commit
    • Thomas Haller's avatar
      all: update compatiblity for older libjansson versions · 595aaf0f
      Thomas Haller authored
      - nm-ovsdb.c uses json_load_callback(), which is jansson v2.4.
        Hence, it cannot build the OVS plugin in our Travis-CI, which is
        still on Ubuntu Precise. Disable building the plugin in travis and
        add a compiler warning when building against an older version.
      
      - since jansson v2.3, there is json_object_key_to_iter() to implement
        the for-each macros. Use it in json_object_foreach_safe() when
        available.
      595aaf0f
  20. 25 Jul, 2017 1 commit
  21. 12 May, 2017 1 commit
  22. 10 May, 2017 2 commits
  23. 22 Mar, 2017 1 commit
  24. 22 Oct, 2016 1 commit
  25. 18 Apr, 2016 1 commit
  26. 16 Feb, 2016 1 commit