1. 19 Nov, 2014 1 commit
    • Dan Winship's avatar
      libnm, libnm-util: move settings doc generation to libnm-core · c1448698
      Dan Winship authored
      Move the settings/plugins doc generation from libnm-util to
      libnm-core, since libnm-util isn't being updated for all new
      With this commit, the keyfile and ifcfg-rh documentation is basically
      unchanged, except that deprecated properties are now gone, and new
      properties have been added, and the sections are in a different order.
      (generate-plugin-docs.pl just outputs the settings in Makefile order,
      and they were unsorted in libnm-util, but are sorted in libnm-core).
      The settings documentation used for nm-settings.5, the D-Bus API docs,
      and the nmcli help is changed a bit more at this point, and mostly for
      the worse, since the libnm-core setting properties don't match up with
      the D-Bus API as well as the libnm-util ones do. To be fixed...
      (I also removed the "plugins docs" line in each plugin docs comment
      block while moving them, since those blocks will be used for more than
      just plugins soon, and it's sort of obvious anyway.)
  2. 07 Nov, 2014 2 commits
    • Dan Williams's avatar
      iface-helper: add nm-iface-helper for dynamic configure-then-quit support · 5149fd12
      Dan Williams authored
      When quitting, the Manager asks each device to spawn the interface helper,
      which persists and manages dynamic address on the interface after NetworkManager
      is gone.  If the dynamic address cannot be maintaned, the helper quits and
      the interface's address may be removed when their lifetime runs out.
      To keep the helper as simple as possible, NetworkManager passes most of the
      configuration on the command-line, including some properties of the device's
      current state, which are necessary for the helper to maintain DHCP leases
      or IPv6 SLAAC addresses.
    • Thomas Haller's avatar
      gitignore: ignore dhcp test binary · 25228672
      Thomas Haller authored
      Signed-off-by: Thomas Haller's avatarThomas Haller <thaller@redhat.com>
  3. 29 Sep, 2014 1 commit
  4. 18 Sep, 2014 2 commits
    • Dan Winship's avatar
      libnm: port to GDBus · 6793a32a
      Dan Winship authored
      Port libnm-core/libnm to GDBus.
      The NetworkManager daemon continues to use dbus-glib; the
      previously-added connection hash/variant conversion methods are now
      moved to NetworkManagerUtils (along with a few other utilities that
      are now only needed by the daemon code).
    • Dan Winship's avatar
      dispatcher: port to GDBus · 1a5cfc1f
      Dan Winship authored
      Port nm-dispatcher to GDBus, mostly, using dbus-glib's GVariant
      utilities to translate the return value of nm_connection_to_dbus().
  5. 11 Sep, 2014 1 commit
    • Dan Williams's avatar
      settings: create default wired connection from NMDeviceEthernet · beb18050
      Dan Williams authored
      Instead of creating it in NMSettings, where we must use
      NM_IS_DEVICE_ETHERNET() (not NM_DEVICE_TYPE_ETHERNET because various generic
      devices masquerade as NM_DEVICE_TYPE_ETHERNET too), push knowledge
      of which device types create default wired connections into the device
      types themselves.  This solves a problem with testcases where
      libNetworkManager.a (which testcases link to) requires the symbol
  6. 09 Sep, 2014 1 commit
    • Dan Winship's avatar
      libnm: add test-secret-agent · c9fb96e0
      Dan Winship authored
      Implement some basic secret agent functionality in
      test-networkmanager-service.py, and add test-secret-agent to test that
      NMSecretAgent works as expected.
  7. 04 Sep, 2014 3 commits
    • Dan Winship's avatar
      examples: port dbus-glib-based examples to gdbus · 9e5ddb58
      Dan Winship authored
      Port the dbus-glib-based examples to GDBus.
      Also, don't use libnm in them at all; there's not much point in
      examples that use the D-Bus API directly if they're just going to fall
      back to libnm for the hard stuff... (And also, this avoids the problem
      that GDBus uses GVariant, while the libnm-core APIs currently still
      use GHashTables.)
      Also fix up some comment grammar and copyright style, and add emacs
      modelines where missing.
      Also rename the existing GDBus-based examples to have names ending in
      "-gdbus", not "-GDBus", since there's no reason to gratuitously
      capitalize here.
    • Dan Winship's avatar
      libnm-core: fix up the new property-comparison test program · 99e1699d
      Dan Winship authored
      Make the formerly-nm-param-spec-specialized test compile (fix use of
      inet_pton), and pass (include the mandatory "gateway" element in the
      IPv6 addresses), make it use gtestutils and g_assert (so it actually
      fails when it fails), and test a few more cases.
    • Dan Winship's avatar
      libnm-util: generate-plugin-docs.pl-related fixes · 799922c1
      Dan Winship authored
      generate-plugin-docs.pl was assuming that it was being run out of
      srcdir, and so failed in srcdir!=builddir builds (such as "make
      distcheck"). Fix that.
      Also, update .gitignore
  8. 29 Aug, 2014 1 commit
    • Dan Williams's avatar
      ibft: add settings plugin for reading iBFT configuration (bgo #734009) · 448254f7
      Dan Williams authored
      Instead of handling iBFT (iSCSI Boot Firmware Table) in the ifcfg-rh plugin,
      create a new plugin for it.  This allows all distributions to use iBFT
      configuration, and makes both iBFT handling and ifcfg-rh less complicated.
      The plugin (like the old ifcfg-rh code) creates read-only connections backed
      by the data exported by iscsiadm.  The plugin does not support adding new
      connections or modifying existing connections (since the iBFT data is
      read-only anyway).  Instead, users should change their iBFT data through
      the normal firmware interfaces.
      Unmanaged devices can be configured through NetworkManager.conf and the
      normal 'keyfile' mechanisms.
      (In the future, we'll read this data directly from the kernel's
      /sys/firmware/ibft/ethernetX directory instead of iscsiadm, since the
      kernel has all the information we need and that's where iscsiadm gets
      it from anyway.)
  9. 27 Aug, 2014 1 commit
  10. 26 Aug, 2014 2 commits
  11. 01 Aug, 2014 4 commits
    • Dan Winship's avatar
      libnm, libnm-utils: error out if mixed libnm/libnm-util symbols are detected · d7b56c7b
      Dan Winship authored
      If a program accidentally ends up linking in both libnm and libnm-util
      (presumably via different dependencies), error out immediately.
    • Dan Winship's avatar
      all: port everything to libnm · a7c4d53d
      Dan Winship authored
      Since the API has not changed at this point, this is mostly just a
      matter of updating Makefiles, and changing references to the library
      name in comments.
      NetworkManager cannot link to libnm due to the duplicated type/symbol
      names. So it links to libnm-core.la directly, which means that
      NetworkManager gets a separate copy of that code from libnm.so.
      Everything else links to libnm.
    • Dan Winship's avatar
      docs: add libnm documentation · c5daa4c4
      Dan Winship authored
      Add docs infrastructure
    • Dan Winship's avatar
      libnm: add libnm/libnm-core (part 2) · eedcf185
      Dan Winship authored
      This fixes up the code from the previous "clean" import, and adds
      build infrastructure.
      [There are two slightly orthogonal sets of changes in this patch.
      First, the files added in the previous commit were modified as followed:
        # Replace internal references to "libnm-util" and "libnm-glib" with "libnm"
        perl -pi -e 's/libnm-(util|glib)/libnm/;' libnm-core/*.[ch] libnm-core/tests/*.[ch] libnm/*.[ch] libnm/tests/*.[ch]
        # Fix includes of the enum-types files
        perl -pi -e 's/nm-utils-enum-types/nm-core-enum-types/;' libnm-core/*.[ch] libnm-core/tests/*.[ch] libnm/*.[ch] libnm/tests/*.[ch]
        perl -pi -e 's/nm-glib-enum-types/nm-enum-types/;' libnm/*.[ch] libnm/tests/*.[ch]
        # Fix some python example code
        perl -pi -e 's/import NMClient/import NM/;' -e 's/NMClient.Client\(\)/NM.Client()/;' libnm/nm-client.c
      Then, the build infrastructure was added (without further modifying
      any existing files in libnm-core or libnm.)
      Note: to regenerate libnm.ver after rebase:
        (head -2 libnm-util/libnm-util.ver; (grep -h '\s'nm_ libnm-util/libnm-util.ver libnm-glib/libnm-glib.ver | env LANG=C sort); tail -3 libnm-util/libnm-util.ver) > libnm/libnm.ver
  12. 30 Jul, 2014 3 commits
    • Dan Winship's avatar
      core: merge src/config, src/logging, src/posix-signals into src/ · 8aa3b985
      Dan Winship authored
      Some subdirectories of src/ encapsulate large chunks of functionality,
      but src/config/, src/logging/, and src/posix-signals/ are really only
      separated out because they used to be built into separate
      sub-libraries that were needed either for test programs, or to prevent
      circular dependencies. Since this is no longer relevant, simplify
      things by moving their files back into the main source directory.
    • Dan Winship's avatar
      test: drop this directory · 763ce29e
      Dan Winship authored
      The remaining contents of the test/ directory are:
        - 2 python example programs that aren't as good as the ones in examples/
        - a test of the deprecated libnm_glib API which isn't as good as the one
          in libnm-glib/
        - A DHCP-related test program that hasn't been relevant since 2005
      Let's just kill it all
    • Dan Winship's avatar
      clients: reorganize source tree, put all the installed clients together · 3d25d704
      Dan Winship authored
      Create a new clients/ subdirectory at the top level, and move cli/ and
      tui/ into it, as well as nm-online.c (which was previously in test/,
      which made no sense).
      cli/ was split into two subdirectories, src/ and completion/. While
      this does simplify things (given that the completion file and the
      binary both need to be named "nmcli"), it bloats the source tree, and
      we can work around it by just renaming the completion file at install
      time. Then we can combine the two directories into one and just have
      it all under clients/cli/.
  13. 23 Jul, 2014 1 commit
  14. 15 Jul, 2014 2 commits
  15. 10 Jul, 2014 1 commit
  16. 19 Jun, 2014 4 commits
  17. 06 Jun, 2014 1 commit
  18. 13 May, 2014 1 commit
    • Dan Williams's avatar
      wifi: make Wi-Fi support a plugin · 06e3c6d0
      Dan Williams authored
      Make Wi-Fi support a plugin using the new device factory interface.
      Provides a 7% size reduction in the core NM binary.
              Before    After
      NM:    1154104  1071992  (-7%)
      Wi-Fi:       0   110464
      (all results from stripped files)
  19. 08 May, 2014 1 commit
    • Dan Williams's avatar
      policy: remove old /etc/hosts cleaning code (bgo #729689) · 429023b2
      Dan Williams authored
      NetworkManager stopped touching /etc/hosts in late 2010 before the
      NetworkManager 0.8.1 release.  The code in nm-policy-hosts.c's only
      purpose is to remove any of the entries that NetworkManager added long
      I think we're at the point where people have already upgraded to
      NetworkManager 0.8.1 or later and thus this code would be a NOP.  The
      only risk is that some stale /etc/hosts entries will be left if you
      upgrade from NM 0.8 or lower to anything higher than that.
      FWIW, Ubuntu Lucid (10.04) ships NM 0.8.0 and SLES11 ships NM 0.7.0, so
      if users of these distros upgraded to a later NetworkManager they might
      run into the stale entries issue if we remove this code from NM.  But
      given how old these distros are, it seems unlikely that users will do a
      direct upgrade to something 4+ years newer...
  20. 23 Jan, 2014 2 commits
  21. 22 Jan, 2014 1 commit
  22. 16 Jan, 2014 1 commit
  23. 13 Dec, 2013 1 commit
  24. 22 Nov, 2013 1 commit
    • Dan Williams's avatar
      core: capture DNS configuration from resolv.conf when generating connections · 12d96c30
      Dan Williams authored
      If the interface who's IP configuration is being captured has the default
      route, then read DNS servers from resolv.conf into the NMIP[4|6]Config.
      This allows NetworkManager to repopulate resolv.conf if anything changes.
      For example, if the system does not define a persistent hostname, then
      when a device which has generated a connection activates, a hostname
      lookup will be performed.  The results of that lookup may change resolv.conf,
      and thus NetworkManager must rewrite resolv.conf.  Without capturing
      DNS information at startup when generating connections, an empty
      resolv.conf would be written.
  25. 31 Oct, 2013 1 commit