1. 18 Sep, 2018 3 commits
    • Lubomir Rintel's avatar
      build: drop unused SBINDIR · acbeda57
      Lubomir Rintel authored
      acbeda57
    • 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
  2. 14 Sep, 2018 1 commit
  3. 13 Sep, 2018 21 commits
  4. 12 Sep, 2018 1 commit
  5. 08 Sep, 2018 2 commits
  6. 04 Sep, 2018 1 commit
    • Thomas Haller's avatar
      build: enable building both crypto backends for tests · e01f7f2c
      Thomas Haller authored
      If the library is available, let's at least compile both
      crypto backends.
      
      That is helpful when developing on crypto backends, so that
      one does not have to configure the build twice.
      
      With autotools, the build is only run during `make check`.
      Not for meson, but that is generally the case with our meson
      setup, that it also builds tests during the regular build step.
      e01f7f2c
  7. 27 Aug, 2018 2 commits
    • Thomas Haller's avatar
      build/meson: fix build options for suspend-resume · 1dd63580
      Thomas Haller authored
      suspend-resume must be selectable, out of for possible options.
      We can do auto-detection based on present libraries, but it
      shall be selectable. Like it is with autotools.
      1dd63580
    • Thomas Haller's avatar
      build: cleanup build defines for session-tracking · 1a9bc224
      Thomas Haller authored
      - always define the SESSION_TRACKING_* defines to replace
        "#ifdef" with "#if".
      
      - drop defining the consolekit database path CKDB_PATH in
        config.h. The path was not customizable via configure/meson.
      
      - fix meson build to enable consolekit support for session tracking
        without also enabling logind/elogind session tracking.
        logind/elogind is mutually exclusive, but consolekit session tracking
        goes together just fine.
      1a9bc224
  8. 15 Aug, 2018 1 commit
  9. 13 Aug, 2018 1 commit
  10. 25 Jul, 2018 1 commit
  11. 17 Jul, 2018 1 commit
    • Thomas Haller's avatar
      build: create "config-extra.h" header instead of passing directory variables via CFLAGS · a75ab799
      Thomas Haller authored
      1) the command line gets shorter. I frequently run `make V=1` to see
         the command line arguments for the compiler, and there is a lot
         of noise.
      
      2) define each of these variables at one place. This makes it easy
         to verify that for all compilation units, a particular
         define has the same value. Previously that was not obvious or
         even not the case (see commit e5d1a713
         and commit d63cf1ef).
         The point is to avoid redundancy.
      
      3) not all compilation units need all defines. In fact, most modules
         would only need a few of these defines. We aimed to pass the necessary
         minium of defines to each compilation unit, but that was non-obvious
         to get right and often we set a define that wasn't used. See for example
         "src_settings_plugins_ibft_cppflags" which needlessly had "-DSYSCONFDIR".
         This question is now entirely avoided by just defining all variables in
         a header. We don't care to find the minimum, because every component
         gets anyway all defines from the header.
      
      4) this also avoids the situation, where a module that previously did
         not use a particular define gets modified to require it. Previously,
         that would have required to identify the missing define, and add
         it to the CFLAGS of the complation unit. Since every compilation
         now includes "config-extra.h", all defines are available everywhere.
      
      5) the fact that each define is now available in all compilation units
         could be perceived as a downside. But it isn't, because these defines
         should have a unique name and one specific value. Defining the same
         name with different values, or refer to the same value by different
         names is a bug, not a desirable feature. Since these defines should
         be unique accross the entire tree, there is no problem in providing
         them to every compilation unit.
      
      6) the reason why we generate "config-extra.h" this way, instead of using
         AC_DEFINE() in configure.ac, is due to the particular handling of
         autoconf for directory variables. See [1].
         With meson, it would be trivial to put them into "config.h.meson".
         While that is not easy with autoconf, the "config-extra.h" workaround
         seems still preferable to me.
      
      [1] https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
      a75ab799
  12. 09 Jul, 2018 1 commit
  13. 29 Jun, 2018 1 commit
  14. 28 Jun, 2018 1 commit
  15. 15 Jun, 2018 2 commits