1. 13 Oct, 2016 9 commits
    • Thomas Haller's avatar
    • Thomas Haller's avatar
      build: explicitly whitelist symbols in NetworkManager binary · b171fbc9
      Thomas Haller authored
      - this allows the linker to drop unused symbols via link-time optimization
        or with --gc-sections:
      
          git clean -fdx
          ./autogen.sh --enable-ld-gc --enable-ifcfg-rh --enable-ifupdown \
              --enable-ifnet --enable-ibft --enable-teamdctl --enable-wifi \
              --with-modem-manager-1 --with-ofono --with-more-asserts \
              --with-more-logging
          make -j20
          strip ./src/NetworkManager
      
        gives 2822840 vs. 2625960 bytes (-7%).
      
      - this also gives more control over the symbols that are used by the
        plugins. Yes, it means if you modify a plugin to use a new symbols,
        you have to extend NetworkManager.ver file.
        You can run the script to create the version file:
      
          $ ./tools/create-exports-NetworkManager.sh update
      
        but be sure that your current configuration enables all plugins
        and debugging options to actually use all symbols that are in use.
      
      - If you compile with certain plugins enabled, you could theoretically
        re-compile NetworkManager to expose less symbols. Try:
      
          $ ./tools/create-exports-NetworkManager.sh build
      
      - note that we have `make check` tests to ensure that all used
        symbols of the plugins can be found. So, it should not be possible
        to accidentally forget to expose a symbol.
      b171fbc9
    • Thomas Haller's avatar
      build: always include subdir wifi/tests regardless of ENABLE_TESTS · 76a057b4
      Thomas Haller authored
      Like done for all other device plugins.
      76a057b4
    • Thomas Haller's avatar
      build: don't guard check-local with "if ENABLE_TESTS" · 9f5b80d2
      Thomas Haller authored
      We should enable tests by default, probably we even should drop
      the configure flags to enable tests and just always build them.
      
      Anyway, at this point there is no use in guarding check-local
      with a check for ENABLE_TESTS. A user who does't want to run
      the tests, should just not call `make check`.
      9f5b80d2
    • Thomas Haller's avatar
      build: move check_so_symbols for settings plugins to parent makefile · 38d669d5
      Thomas Haller authored
      Like for the device plugins, check_so_symbols is called from the
      Makefile of the plugin itself, not from tests/Makefile.am.
      
      Just keep it consistent.
      38d669d5
    • Thomas Haller's avatar
      build: fix check_local for wifi plugin · cc78d897
      Thomas Haller authored
      cc78d897
    • Beniamino Galvani's avatar
      pacrunner: accept NULL interface name · 034f0778
      Beniamino Galvani authored
      Pacrunner uses the interface information to implement a myIpAddress()
      function which returns the first IPv4 address of the interface
      associated to a proxy. That function doesn't deal with multiple
      addresses per interface, and so in case of a VPN which configures
      addresses on the parent interface (e.g. IPsec), we currently pass a
      NULL interface. That is correct, but triggers the following assertion:
      
      GLib-CRITICAL **: g_variant_new_variant: assertion 'value != NULL' failed
       #0  g_logv () from target:/lib64/libglib-2.0.so.0
       #1  g_log () from target:/lib64/libglib-2.0.so.0
       #2  g_variant_new_string () from target:/lib64/libglib-2.0.so.0
       #3  nm_pacrunner_manager_send (self=0xab3230, iface=iface@entry=0x0, proxy_config=proxy_config@entry=0xc83470, ip4_config=ip4_config@entry=0x7f66b4002710, ip6_config=ip6_config@entry=0x0) at nm-pacrunner-manager.c:334
       #4  _set_vpn_state (self=self@entry=0xd0c120, vpn_state=vpn_state@entry=STATE_ACTIVATED, reason=reason@entry=NM_VPN_CONNECTION_STATE_REASON_NONE, quitting=quitting@entry=0) at vpn-manager/nm-vpn-connection.c:571
       #5  dispatcher_pre_up_done (call_id=<optimized out>, user_data=<optimized out>) at vpn-manager/nm-vpn-connection.c:460
       #6  dispatcher_done_cb (proxy=0x988870, result=<optimized out>, user_data=0xae1740) at nm-dispatcher.c:444
      
      Ignore the interface parameter when it's NULL.
      034f0778
    • Beniamino Galvani's avatar
      session-monitor: fix parsing of ConsoleKit database · db9589f0
      Beniamino Galvani authored
      The section name is "Session", not "CkSession".  Restore the correct
      value, changed by commit 0de60b30 ("session: merge
      nm-session-monitor-* modules").
      
      Fixes: 0de60b30
      
      https://bugzilla.gnome.org/show_bug.cgi?id=772640
      db9589f0
    • Beniamino Galvani's avatar
      session-monitor: use logging macros · 0e7f834a
      Beniamino Galvani authored
      Use logging macros and also, print the session tracking method during
      startup for debugging purposes.
      0e7f834a
  2. 12 Oct, 2016 3 commits
  3. 11 Oct, 2016 28 commits