1. 22 Sep, 2019 1 commit
  2. 11 Sep, 2019 1 commit
  3. 10 Sep, 2019 2 commits
  4. 20 Jun, 2019 1 commit
    • Thomas Haller's avatar
      settings: drop ibft settings plugin · 74641be8
      Thomas Haller authored
      The functionality of the ibft settings plugin is now handled by
      nm-initrd-generator. There is no need for it anymore, drop it.
      Note that ibft called iscsiadm, which requires CAP_SYS_ADMIN to work
      ([1]). We really want to drop this capability, so the current solution
      of a settings plugin (as it is implemented) is wrong. The solution
      instead is nm-initrd-generator.
      Also, on Fedora the ibft was disabled and probably on most other
      distributions as well. This was only used on RHEL.
      [1] https://bugzilla.redhat.com/show_bug.cgi?id=1371201#c7
  5. 19 May, 2019 7 commits
  6. 25 Apr, 2019 1 commit
    • Thomas Haller's avatar
      shared/tests: add tests for libnm-core-aux · 7a25f67a
      Thomas Haller authored
      These tests cannot (easily) be under "shared/nm-libnm-core-aux/tests"
      because libnm/libnm-core requires code under shared while
      "nm-libnm-core-aux" requires libnm/libnm-core. With autotools that is
      not problem, but with meson we include sub directories in a particular
      order and there is no way to foward declare stuff (AFAIK). To avoid
      the circular dependency, add the tests to "clients/common/tests", which
      is always built last.
  7. 18 Oct, 2018 1 commit
    • Thomas Haller's avatar
      shared/tests: add test for "shared/nm-utils" · dfdbd1b3
      Thomas Haller authored
      "shared/nm-utils" is a loose collection of utility functions.
      There is a certain aim that they can be used independently.
      However, they also rely on each other.
      Add a test that we can build a minimal shared library with
      these tools, independent of libnm-core.
  8. 18 Sep, 2018 3 commits
    • Lubomir Rintel's avatar
      initrd: add configuration generator · 9f960955
      Lubomir Rintel authored
      nm-initrd-generator scans the command line for options relevant to network
      configuration and creates configuration files for an early instance of
      NetworkManager run from the initial ramdisk during early boot.
    • Lubomir Rintel's avatar
      initrd: add command line parser · ecc074b2
      Lubomir Rintel authored
    • Lubomir Rintel's avatar
      initrd: add iBFT reader · b544f724
      Lubomir Rintel authored
      This is loosely based on nms-ibft-reader, but with some significant
      changes. Notably, it parses /sys/firmware/ibft directly instead of
      iscsiadm output.
      iscsiadm is not available on early boot (perhaps it's too large) and
      turns out that parsing sysfs directly is easier and more
      straightforwared anyways. A win-win situation.
      It is not useful alone, it's in a separate commit just for the sake of
      easier review.
  9. 13 Sep, 2018 1 commit
  10. 12 Sep, 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
  12. 18 Apr, 2018 1 commit
  13. 04 Apr, 2018 1 commit
  14. 20 Mar, 2018 1 commit
  15. 12 Jan, 2018 1 commit
  16. 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
      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.
  17. 15 Dec, 2017 1 commit
  18. 08 Dec, 2017 1 commit
  19. 07 Dec, 2017 1 commit
  20. 06 Nov, 2017 1 commit
    • Lubomir Rintel's avatar
      libnm: register empty NMClient and NetworkManager when loading libnm with GIR · 4d1f090a
      Lubomir Rintel authored
      Register empty "NMClient" and "NetworkManager" GIR modules as soon as libnm is
      loaded witch gnome-introspection. This prevents the real modules from being
      loaded because they would in turn load libnm-glib and abort() and crash.
      In particular this prevents the GNOME shell from crashing with
      libnm-glib abort and allows gracefully disabling the extensions which
      use the obsolete library.
        $ cat test.js
        const NM = imports.gi.NM;
        print (NM.SecretAgentGetSecretsFlags.ALLOW_INTERACTION);
        const NMClient = imports.gi.NMClient;
        print (NMClient.SecretAgentGetSecretsFlags.ALLOW_INTERACTION);
        $ gjs test.js
        (gjs:16253): libnm-util-ERROR **: libnm symbols detected; Mixing libnm with libnm-util/libnm-glib is not supported
        Trace/breakpoint trap (core dumped)
        $ gjs test.js
        Gjs-Message: JS WARNING: [test.js 5]: reference to undefined property "SecretAgentGetSecretsFlags"
        (gjs:16228): Gjs-WARNING **: JS ERROR: TypeError: NMClient.SecretAgentGetSecretsFlags is undefined
        JS_EvaluateScript() failed
  21. 29 Jun, 2017 1 commit
  22. 19 May, 2017 1 commit
    • Thomas Haller's avatar
      libnm: add testable libnm/nm-libnm-utils.c file · 8df944c7
      Thomas Haller authored
      Previously, internal parts of libnm were not testable.
      Instead, add "libnm/nm-libnm-utils.c" and "libnm/libnm-utils.la"
      to contain code that can be statically linked with a new
      test "libnm/tests/test-general".
  23. 19 Apr, 2017 3 commits
  24. 05 Apr, 2017 1 commit
  25. 30 Mar, 2017 2 commits
  26. 24 Nov, 2016 1 commit
  27. 23 Nov, 2016 1 commit
  28. 21 Nov, 2016 1 commit