Commit graph

348 commits

Author SHA1 Message Date
Thomas Haller 1706366351 build: rename "src/supplicant-manager" to "src/supplicant"
The supplicant directory does not only contain the manager
instance, but various files related to wpa-supplicant.

Rename.
2016-11-21 14:07:47 +01:00
Thomas Haller d080b5d0ff build: add dependency for ifcfg-rh objects to "nmdbus-ifcfg-rh.h"
$ git clean -fdx && NOCONFIGURE=x ./autogen.sh && mkdir -p x/y && cd x/y && ../../configure && make src/settings/plugins/ifcfg-rh/libnm-settings-plugin-ifcfg-rh.la
  ...
  ../../src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-plugin.c:49:55: fatal error: settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.h: No such file or directory
  #include "settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.h"
2016-11-21 14:07:47 +01:00
Lubomir Rintel 0f867d31c1 build: silence some verbose make rules 2016-11-21 13:53:03 +01:00
Thomas Haller 7ed550133b build: add dist-dependency for libnm-glib/libnm-glib-vpn.la
We want that plain `make dist` works. For that, we need to build
libnm-glib-vpn.la too.
2016-11-20 18:14:37 +01:00
Thomas Haller 29ac5de825 build: fix dependencies for generated headers
Some source files depend on other generated headers. For example,
"libnm/nm-device-modem.c" includes the generated "libnm/nm-enum-types.h".

The generated headers are part of BUILT_SOURCES to ensure that
they are generated first. However, this only works for `make all`
and `make check`.

We want that a plain `make dist` works as well. Thus, we need to
explicitly declare the additional dependencies.

Previously, that was done by having an explicity dependency of the
source files to the generated headers. However, that results in make
thinking the sources are build targets and out-of-tree builds fail:

  ./autogen.sh
  make distclean
  mkdir -p X/Y
  cd X/Y
  ../../configure --enable-tests=yes --with-valgrind=no --enable-gtk-doc --enable-more-warnings=error --with-udev-dir=/data/src/_NetworkManager/NetworkManager-1.5.2/_inst/lib/udev --with-wext=no --enable-ifcfg-rh--enable-ifupdown --enable-ifnet --disable-code-coverage --srcdir=../.. --prefix=/data/src/_NetworkManager/NetworkManager-1.5.2/_instr
  make -d V=1

fails with
  CPPFLAGS="" CFLAGS="-Wall -std=gnu99 -Werror -Wshadow -Wmissing-declarations -Wmissing-prototypes -Wdeclaration-after-statement -Wfloat-equal -Wno-unused-parameter -Wno-sign-compare -Wstrict-prototypes -Wno-unused-but-set-variable -Wundef -Wimplicit-function-declaration -Wpointer-arith -Winit-self -Wmissing-include-dirs -Wno-pragmas -g -O2 -Warray-bounds -Wunused-value  -fno-strict-aliasing  -fdata-sections -ffunction-sections -Wl,--gc-sections" LDFLAGS="" CC="gcc" PKG_CONFIG="/usr/bin/pkg-config" DLLTOOL="false"  CFLAGS="-Wall -std=gnu99 -Werror -Wshadow -Wmissing-declarations -Wmissing-prototypes -Wdeclaration-after-statement -Wfloat-equal -Wno-unused-parameter -Wno-sign-compare -Wstrict-prototypes -Wno-unused-but-set-variable -Wundef -Wimplicit-function-declaration -Wpointer-arith -Winit-self -Wmissing-include-dirs -Wno-pragmas -g -O2 -Warray-bounds -Wunused-value  -fno-strict-aliasing  -fdata-sections -ffunction-sections -Wl,--gc-sections -Wno-error" /usr/bin/g-ir-scanner   --namespace=NM --nsversion=1.0 --libtool="/bin/sh ./libtool" --pkg=gio-2.0 --pkg=gudev-1.0 --include=Gio-2.0 --pkg-export=libnm  --library=libnm/libnm.la --warn-all --identifier-prefix=NM --symbol-prefix=nm --cflags-begin -I../../shared -I./shared -I../../libnm-core -I./libnm-core  -pthread -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32   -I/usr/include/nss3 -I/usr/include/nspr4 -I./introspection -I../../libnm -I./libnm -I/usr/include/gudev-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DG_LOG_DOMAIN=\""libnm"\" -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB -DNMRUNDIR=\"/data/src/_NetworkManager/NetworkManager-1.5.2/_instr/var/run/NetworkManager\" --cflags-end  libnm-core/nm-core-enum-types.h shared/nm-version-macros.h ../../libnm-core/nm-connection.h ../../libnm-core/nm-core-types.h ../../libnm-core/nm-dbus-interface.h ../../libnm-core/nm-errors.h ../../libnm-core/nm-setting-8021x.h ../../libnm-core/nm-setting-adsl.h ../../libnm-core/nm-setting-bluetooth.h ../../libnm-core/nm-setting-bond.h ../../libnm-core/nm-setting-bridge-port.h ../../libnm-core/nm-setting-bridge.h ../../libnm-core/nm-setting-cdma.h ../../libnm-core/nm-setting-connection.h ../../libnm-core/nm-setting-dcb.h ../../libnm-core/nm-setting-generic.h ../../libnm-core/nm-setting-gsm.h ../../libnm-core/nm-setting-infiniband.h ../../libnm-core/nm-setting-ip-config.h ../../libnm-core/nm-setting-ip-tunnel.h ../../libnm-core/nm-setting-ip4-config.h ../../libnm-core/nm-setting-ip6-config.h ../../libnm-core/nm-setting-macvlan.h ../../libnm-core/nm-setting-olpc-mesh.h ../../libnm-core/nm-setting-ppp.h ../../libnm-core/nm-setting-pppoe.h ../../libnm-core/nm-setting-proxy.h ../../libnm-core/nm-setting-serial.h ../../libnm-core/nm-setting-team-port.h ../../libnm-core/nm-setting-team.h ../../libnm-core/nm-setting-tun.h ../../libnm-core/nm-setting-vlan.h ../../libnm-core/nm-setting-vpn.h ../../libnm-core/nm-setting-vxlan.h ../../libnm-core/nm-setting-wimax.h ../../libnm-core/nm-setting-wired.h ../../libnm-core/nm-setting-wireless-security.h ../../libnm-core/nm-setting-wireless.h ../../libnm-core/nm-setting.h ../../libnm-core/nm-simple-connection.h ../../libnm-core/nm-utils.h ../../libnm-core/nm-version.h ../../libnm-core/nm-vpn-dbus-interface.h ../../libnm-core/nm-vpn-editor-plugin.h ../../libnm-core/nm-vpn-plugin-info.h libnm-core/nm-core-enum-types.c shared/nm-utils/nm-shared-utils.c ../../libnm-core/crypto.c ../../libnm-core/nm-connection.c ../../libnm-core/nm-dbus-utils.c ../../libnm-core/nm-errors.c ../../libnm-core/nm-keyfile-reader.c ../../libnm-core/nm-keyfile-utils.c ../../libnm-core/nm-keyfile-writer.c ../../libnm-core/nm-property-compare.c ../../libnm-core/nm-setting-8021x.c ../../libnm-core/nm-setting-adsl.c ../../libnm-core/nm-setting-bluetooth.c ../../libnm-core/nm-setting-bond.c ../../libnm-core/nm-setting-bridge-port.c ../../libnm-core/nm-setting-bridge.c ../../libnm-core/nm-setting-cdma.c ../../libnm-core/nm-setting-connection.c ../../libnm-core/nm-setting-dcb.c ../../libnm-core/nm-setting-generic.c ../../libnm-core/nm-setting-gsm.c ../../libnm-core/nm-setting-infiniband.c ../../libnm-core/nm-setting-ip-config.c ../../libnm-core/nm-setting-ip-tunnel.c ../../libnm-core/nm-setting-ip4-config.c ../../libnm-core/nm-setting-ip6-config.c ../../libnm-core/nm-setting-macvlan.c ../../libnm-core/nm-setting-olpc-mesh.c ../../libnm-core/nm-setting-ppp.c ../../libnm-core/nm-setting-pppoe.c ../../libnm-core/nm-setting-proxy.c ../../libnm-core/nm-setting-serial.c ../../libnm-core/nm-setting-team-port.c ../../libnm-core/nm-setting-team.c ../../libnm-core/nm-setting-tun.c ../../libnm-core/nm-setting-vlan.c ../../libnm-core/nm-setting-vpn.c ../../libnm-core/nm-setting-vxlan.c ../../libnm-core/nm-setting-wimax.c ../../libnm-core/nm-setting-wired.c ../../libnm-core/nm-setting-wireless-security.c ../../libnm-core/nm-setting-wireless.c ../../libnm-core/nm-setting.c ../../libnm-core/nm-simple-connection.c ../../libnm-core/nm-utils.c ../../libnm-core/nm-vpn-editor-plugin.c ../../libnm-core/nm-vpn-plugin-info.c ../../libnm-core/crypto_nss.c libnm/nm-enum-types.h ../../libnm/NetworkManager.h ../../libnm/nm-access-point.h ../../libnm/nm-active-connection.h ../../libnm/nm-client.h ../../libnm/nm-device-adsl.h ../../libnm/nm-device-bond.h ../../libnm/nm-device-bridge.h ../../libnm/nm-device-bt.h ../../libnm/nm-device-ethernet.h ../../libnm/nm-device-generic.h ../../libnm/nm-device-infiniband.h ../../libnm/nm-device-ip-tunnel.h ../../libnm/nm-device-macvlan.h ../../libnm/nm-device-modem.h ../../libnm/nm-device-olpc-mesh.h ../../libnm/nm-device-team.h ../../libnm/nm-device-tun.h ../../libnm/nm-device-vlan.h ../../libnm/nm-device-vxlan.h ../../libnm/nm-device-wifi.h ../../libnm/nm-device-wimax.h ../../libnm/nm-device.h ../../libnm/nm-dhcp-config.h ../../libnm/nm-ip-config.h ../../libnm/nm-object.h ../../libnm/nm-remote-connection.h ../../libnm/nm-types.h ../../libnm/nm-vpn-connection.h ../../libnm/nm-vpn-editor.h ../../libnm/nm-wimax-nsp.h ../../libnm/nm-secret-agent-old.h ../../libnm/nm-vpn-plugin-old.h ../../libnm/nm-vpn-service-plugin.h libnm/nm-enum-types.c ../../libnm/nm-access-point.c ../../libnm/nm-active-connection.c ../../libnm/nm-client.c ../../libnm/nm-dbus-helpers.c ../../libnm/nm-device-adsl.c ../../libnm/nm-device-bond.c ../../libnm/nm-device-bridge.c ../../libnm/nm-device-bt.c ../../libnm/nm-device-ethernet.c ../../libnm/nm-device-generic.c ../../libnm/nm-device-infiniband.c ../../libnm/nm-device-ip-tunnel.c ../../libnm/nm-device-macvlan.c ../../libnm/nm-device-modem.c ../../libnm/nm-device-olpc-mesh.c ../../libnm/nm-device-team.c ../../libnm/nm-device-tun.c ../../libnm/nm-device-vlan.c ../../libnm/nm-device-vxlan.c ../../libnm/nm-device-wifi.c ../../libnm/nm-device-wimax.c ../../libnm/nm-device.c ../../libnm/nm-dhcp-config.c ../../libnm/nm-dhcp4-config.c ../../libnm/nm-dhcp6-config.c ../../libnm/nm-ip-config.c ../../libnm/nm-ip4-config.c ../../libnm/nm-ip6-config.c ../../libnm/nm-manager.c ../../libnm/nm-object.c ../../libnm/nm-remote-connection.c ../../libnm/nm-remote-settings.c ../../libnm/nm-secret-agent-old.c ../../libnm/nm-vpn-connection.c ../../libnm/nm-vpn-plugin-old.c ../../libnm/nm-vpn-editor.c ../../libnm/nm-vpn-service-plugin.c ../../libnm/nm-wimax-nsp.c libnm/libnm.la --output libnm/NM-1.0.gir
  ERROR: shared/nm-utils/nm-shared-utils.c: no such a file or directory
  /usr/share/gobject-introspection-1.0/Makefile.introspection:155: recipe for target 'libnm/NM-1.0.gir' failed
  make: *** [libnm/NM-1.0.gir] Error 1

The error is due to "shared/nm-utils/nm-shared-utils.h" not using VPATH:

       Finished prerequisites of target file 'shared/nm-utils/nm-shared-utils.c'.
       Prerequisite 'libnm-util/nm-utils-enum-types.h' is newer than target 'shared/nm-utils/nm-shared-utils.c'.
      Must remake target 'shared/nm-utils/nm-shared-utils.c'.
    Ignoring VPATH name '../../shared/nm-utils/nm-shared-utils.c'.

The proper fix is to have the object files depend on the generated
headers instead.
2016-11-20 17:23:06 +01:00
Thomas Haller b3d4bc578d build: rename variables for mkenums files to have _mkenums suffix
The *_gen variables were really the *-enum-types.[hc] files generated
by glib-mkenums. Rename the variables, to make this clearer.
2016-11-20 14:40:38 +01:00
Thomas Haller 5070ac4b73 build: use variable instead of filenames for $(libnm_lib_h_pub_gen) 2016-11-20 14:35:47 +01:00
Thomas Haller 9776c73f98 build: fix Makefile.am for libnm-core/crypto_*.c
Fixes: 6e4d759d73
2016-11-18 17:21:22 +01:00
Thomas Haller b9e3b8a3eb build: don't dist generated libnm-core/tests/nm-core-tests-enum-types.* 2016-11-18 16:40:25 +01:00
Thomas Haller 6e4d759d73 build: refactor Makefile.am for libnm-core and libnm
- assign the differnt types of sources to different variables
  and use them.
- don't dist generated enum-types sources
2016-11-18 16:40:25 +01:00
Thomas Haller 0a65628c87 build: add dist-hook dependency for documentation files
./autogen.sh --enable-gtk-doc --with-libnm-glib && make dist
2016-11-18 16:40:25 +01:00
Thomas Haller af12661dee build: refactor handling sources for libnm-util 2016-11-18 16:40:25 +01:00
Thomas Haller a85742bdd1 build: don't dist generated enum-types for libnm-glib 2016-11-18 16:40:25 +01:00
Thomas Haller 3d3ce77bf6 build: add dependency for generated files for libnm-glib
Although the generated files are part of BUILD_SOURCES,
that only matters during `make all`.
2016-11-18 16:40:25 +01:00
Thomas Haller 830564e175 build: refactor handling sources for libnm-glib
We have generated headers, and non-generated.
We have public headers and internal headers.
We have headers/sources for libnm-glib and libnm-glib-vpn.

We want that non-generated files depend on generated files.
Thus, reorder it all and assign the groups to different variables.
2016-11-18 16:40:25 +01:00
Thomas Haller c1289fe79b build: let libnm/libnm.la sources depend on introspection files
Source files like libnm/nm-client.c include introspection files like
nmdbus-manager.h. These files are part of BUILT_SOURCES, which is
a pre-requisite to "all" target.

However, that is not sufficient for
  ./autogen --enable-gtk-doc && make dist
2016-11-18 16:40:25 +01:00
Thomas Haller 07a8f22aef build: only generate documentation when BUILD_SETTING_DOCS
Generating the docs, requires man/nm-settings.xml. That is only present
when
  - ./configure --enable-gtk-doc --with-introspecton
  - in a dist-tarball, contrary to a git-tree

Only create docs, when we also regenerate the manuals (BUILD_SETTING_DOCS).
That is, you can no longer generate docs, by relying on the pre-generated
manual pages.
If you want to generate docs, you have to regenerate the manual pages
as well.

Previously, doing the following in a git-tree failed:

    $ git clean -fdx
    $ ./autogen.sh --enable-gtk-doc --enable-introspection=no && make
    ...
    make[2]: Entering directory './NetworkManager/docs/api'
      DOC   Preparing build
      DOC   Scanning header files
      DOC   Introspecting gobjects
      DOC   Building XML
      DOC   Building XML
    make[2]: *** No rule to make target '../../man/nm-settings.xml', needed by 'html-build.stamp'.  Stop.
    make[2]: Leaving directory './NetworkManager/docs/api'
2016-11-18 16:40:25 +01:00
Thomas Haller 3cd56809ed core: drop unused "nm-bt-enum-types.h"
In core, we should not use any generated enum-types. Especially
nm-bt-enum-types.h was unused already.
2016-11-18 16:40:25 +01:00
Thomas Haller d66d7fb707 core: drop unused "nm-modem-enum-types.h"
In core, we should not use any generated enum-types.
They are just bloat.
2016-11-18 16:40:25 +01:00
Thomas Haller a791a9aa4b systemd: merge branch systemd into master 2016-11-13 14:16:42 +01:00
Thomas Haller 7b78a931df build: generate src/NetworkManager.ver during build
This adds 0.4 seconds to the build time.

You can disable it by setting $NM_BUILD_NO_CREATE_EXPORTS environment
variable. This is useful in the unexpected case that the script
is broken.
Or, if you just want to use a different, non-generated version-script.
Or, if you want to save 0.4 seconds build-time.
2016-11-10 18:30:38 +01:00
Lubomir Rintel 7700efad18 build: don't build the wimax nsp bindings
Added accidentally by the object-manager branch.
2016-11-10 18:11:24 +01:00
Lubomir Rintel 1f5b48a59e libnm: use the o.fd.DBus.ObjectManager API for object management
This speeds up the initial object tree load significantly. Also, it
reduces the object management complexity by shifting the duties to
GDBusObjectManager.

The lifetime of all NMObjects is now managed by the NMClient via the
object manager. The NMClient creates the NMObjects for GDBus objects,
triggers the initialization and serves as an object registry (replaces
the nm-cache).

The ObjectManager uses the o.fd.DBus.ObjectManager API to learn of the
object creation, removal and property changes. It takes care of the
property changes so that we don't have to and lets us always see a
consistent object state.  Thus at the time we learn of a new object we
already know its properties.

The NMObject unfortunately can't be made synchronously initializable as
the NMRemoteConnection's settings are not managed with standard
o.fd.DBus Properties and ObjectManager APIs and thus are not known to
the ObjectManager.  Thus most of the asynchronous object property
changing code in nm-object.c is preserved. The objects notify the
properties that reference them of their initialization in from their
init_finish() methods, thus the asynchronously created objects are not
allowed to fail creation (or the dependees would wait forever). Not a
problem -- if a connection can't get its Settings, it's either invisible
or being removed (presumably we'd learn of the removal from the object
manager soon).

The NMObjects can't be created by the object manager itself, since we
can't determine the resulting object type in proxy_type() yet (we can't
tell from the name and can't access the interface list). Therefore the
GDBusObject is coupled with a NMObject later on.

Lastly, now that all the objects are managed by the object manager, the
NMRemoteSettings and NMManager go away when the daemon is stopped. The
complexity of dealing with calls to NMClient that would require any of
the resources that these objects manage (connection or device lists,
etc.) had to be moved to NMClient. The bright side is that his allows
for removal all of the daemon presence tracking from NMObject.
2016-11-10 16:48:48 +01:00
Beniamino Galvani cd73f281cc tui: add support for IP tunnel connections 2016-11-09 17:45:39 +01:00
Lubomir Rintel 44fca246a7 rdisc: rename to ndisc
We'll soon not only do the router discovery, but announce ourselves as a
reouter. "Neighbor discovery" sounds to be a more appropriate name for
the class than "Router discovery".
2016-11-09 17:16:47 +01:00
Thomas Haller 264e519779 ifcfg-rh/tests: add test for handling multiple occurances of a variable
This tests commit "ifcfg-rh: handle multiple definitions of the same key".
2016-11-09 12:07:35 +01:00
Thomas Haller 9843da7ce5 ifcfg-rh: comment out invalid lines during svWriteFile
This is especially important because we don't support
line continuation. Thus, with

    FOO='val
      bar=3'
    wrong line
      F2=b
      F3='b
    XXX=adf'
      XXX2=val2
    '
we now write

    FOO=
    #NM: FOO='val
    bar=
    #NM:   bar=3'
    #NM: wrong line
      F2=b
    F3=
    #NM:   F3='b
    XXX=
    #NM: XXX=adf'
      XXX2=val2
    #NM: '

Basically, the writer will comment out any line that is

  - not all-whitespace
  - not a '#' comment (possibly proceeded by whitespace)
  - not a valid variable assignment

This avoids that writer writes lines that are not understood by
ifcfg-rh plugin, but interferes with initscripts. E.g.

  NAME=old-name'
  rm -rf /
  '

becomes

  NAME=new-name
  #NM: rm -rf /
  #NM: '
2016-11-09 12:07:35 +01:00
Lubomir Rintel 9e4232dbe6 build: set correct path to common.ent for out-of-tree builds
Otherwise the docbook files won't be able to expand the macros such as
version or build-time configurable paths.
2016-11-04 12:29:55 +01:00
Thomas Haller 4be9b4a2cb build: move policy file from "policy/" to "data/" 2016-11-03 14:18:23 +01:00
Thomas Haller e2b93beb83 build: fix vala build of libnm.vapi
make[2]: Entering directory './NetworkManager/NetworkManager-1.5.1/_build/sub'
     VAPIGEN vapi/libnm.vapi
    Gio-2.0.gir:62318.7-62318.47: warning: Virtual method `G.Resolver.lookup_service_async' conflicts with method of the same name
    Gio-2.0.gir:64704.7-64704.31: warning: Signal `G.Settings.change_event' conflicts with method of the same name
    Gio-2.0.gir:84847.7-84851.24: error: `UnixSocketAddress' already contains a definition for `abstract'
    Gio-2.0.gir:84690.7-84692.21: note: previous definition of `abstract' was here
    Makefile:16410: recipe for target 'vapi/libnm.vapi' failed

Fixes: 0fa2cf19e5
2016-11-03 14:18:23 +01:00
Thomas Haller 3be57bfba1 build: fix dist-ing vapi/NM-1.0.metadata
Fixes: 0fa2cf19e5
2016-11-03 14:00:21 +01:00
Thomas Haller 5058c49a83 build: fix dist-ing vapi/libnm.deps
Fixes: 0fa2cf19e5
2016-11-03 13:49:13 +01:00
Thomas Haller 0fa2cf19e5 vapi: add vapi NM-1.0 for libnm
Initial vala API for libnm. Consider it unstable, it probably needs
improvements.

https://bugzilla.gnome.org/show_bug.cgi?id=773588
2016-11-03 10:15:42 +01:00
Thomas Haller 1bb2103aa9 build: fix search path for building vapi
`make V=1` fails with:

    G_DEBUG='' /usr/bin/vapigen-0.26  --library vapi/libnm-glib --metadatadir ./vapi --vapidir . --girdir ./libnm-util --pkg gio-2.0 ./libnm-glib/NMClient-1.0.gir && touch vapi/libnm-glib.vapi
    error: Package `libnm-util' not found in specified Vala API directories or GObject-Introspection GIR directories
    Generation failed: 1 error(s), 0 warning(s)

Fixes: 14b5309af3
2016-10-26 16:25:53 +02:00
Francesco Giudici d860ccfc7b build: add glob-util.h to systemd source list
Fixes d00d907c06
2016-10-26 11:34:25 +02:00
Francesco Giudici 7939f373be build: fix "settings-docs.c" include path
Fixes: c8a25001f4
2016-10-25 16:44:47 +02:00
Thomas Haller 4b965d0cf6 build: exclude building src/platform/tests/monitor for --enable-tests=no
src/platform/tests/monitor is more a test-program. If should not
be compiled in a non-test build.
2016-10-23 10:52:57 +02:00
Thomas Haller 5cb60e7099 build: combine CPPFLAGS for src/tests 2016-10-22 17:55:44 +02:00
Thomas Haller 7b73951b1b build: buld nm-dhcp-manager.c as part of libNetworkMangerBase
NetworkManager and nm-iface-helper compiled nm-dhcp-manager.c twice,
the latter with setting -DNM_DHCP_INTERNAL_ONLY to only enable the
internal plugin.

Change that to compile nm-dhcp-manager.c once for both users
by putting it into libNetworkManagerBase.
2016-10-22 17:55:15 +02:00
Thomas Haller f9bd72c337 build: build src/platform/tests/test-common.c as part of libNetworkManagerTest.la
Instead having a base test-library libNetworkManagerTest.la and a separate
libnm-platform-tests.la, merge them together.
2016-10-22 17:16:17 +02:00
Thomas Haller 58916ff30a build: refactor intermediate NetworkManager libraries during build
nm-iface-helper re-compiled a number of source files that are already
compiled for NetworkManager. Prepare those files as libNetworkManagerBase.la.
2016-10-22 17:16:17 +02:00
Thomas Haller 002f17c25d src: drop generated nm-src-enum-types.h
We only needed proper glib enum types for having properties
and signal arguments. These got all converted to plain int,
so no longer generate such an enum type.
2016-10-22 17:16:17 +02:00
Thomas Haller 3bbc55fd9c core: don't use generated glib enum for platform types 2016-10-22 17:16:17 +02:00
Thomas Haller 931a5b4f1c core: don't use generated glib enum for NMAuthSubjectType 2016-10-22 17:16:17 +02:00
Thomas Haller 5657d4dffb build: reuse common CPPFLAGS via dflt_cppflags_libnm_core variable 2016-10-22 17:16:17 +02:00
Thomas Haller f5c5dba4f5 build: don't link libnm-wwan.la against introspection/libnmdbus.la
Also, the $(top_builddir) was wrong.
2016-10-22 17:15:50 +02:00
Thomas Haller 4450215ad1 build: fix out-of-tree build for libnm-core/tests 2016-10-22 17:12:06 +02:00
Thomas Haller 9f11610606 build: fix out-of-tree build for dispatcher 2016-10-22 16:12:46 +02:00
Thomas Haller 75f29b8a9c build: fix out-of-tree build for libnm/tests/libnm-vpnplugin-utils-test.la 2016-10-22 16:07:46 +02:00
Thomas Haller 351851cf27 build: merge "examples/Makefile.am" into toplevel Makefile 2016-10-21 17:37:57 +02:00
Thomas Haller 742d36c476 build: merge "examples/C/glib/Makefile.am" into toplevel Makefile 2016-10-21 17:37:57 +02:00
Thomas Haller 14b5309af3 build: merge "vapi/Makefile.am" into toplevel Makefile
There is an strange automake warning

    Makefile.vapigen:49: warning: $(1) was already defined in condition TRUE, which includes condition ENABLE_VAPIGEN ...
    Makefile.am:4:   'Makefile.vapigen' included from here
    Makefile.glib:124: ... '$(1)' previously defined here
    Makefile.am:1:   'Makefile.glib' included from here

when having

    if ENABLE_VAPIGEN
    include Makefile.vapigen
    endif

That is worked around by removing the "if", which however
requires us to remove the error check in Makefile.vapigen.
2016-10-21 17:37:57 +02:00
Thomas Haller b0f4e25782 build: merge "docs/Makefile.am" into toplevel Makefile 2016-10-21 17:37:57 +02:00
Thomas Haller 03e88d92a6 build: move nm.mk into main Makefile.am 2016-10-21 17:37:57 +02:00
Thomas Haller 2296db22c8 build: merge "man/Makefile.am" into toplevel Makefile 2016-10-21 17:37:57 +02:00
Thomas Haller 0f09b1d1cc build: merge "libnm-glib/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:37:57 +02:00
Thomas Haller 8027e09be4 build: merge "libnm-glib/Makefile.am" into toplevel Makefile 2016-10-21 17:37:57 +02:00
Thomas Haller 7c66a6be17 build: merge "libnm-util/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:37:57 +02:00
Thomas Haller fa0acb2042 build: merge "libnm-util/Makefile.am" into toplevel Makefile 2016-10-21 17:37:57 +02:00
Thomas Haller 8fa3314736 build: merge "data/Makefile.am" into toplevel Makefile 2016-10-21 17:37:57 +02:00
Thomas Haller 586e830e05 build: merge "clients/tui/Makefile.am" into toplevel Makefile 2016-10-21 17:37:56 +02:00
Thomas Haller c8a25001f4 build: merge "clients/cli/Makefile.am" into toplevel Makefile 2016-10-21 17:37:56 +02:00
Thomas Haller f63a5a2a0d build: merge "clients/Makefile.am" into toplevel Makefile 2016-10-21 17:37:56 +02:00
Thomas Haller 7fab25711a build: merge "dispatcher/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:37:56 +02:00
Thomas Haller 6f19ccdd58 build: merge "dispatcher/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller 7bf4a15504 build: merge "src/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller 1d8934e705 build: merge "src/tests/config/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller a0bb990f39 build: merge "src/supplicant-manager/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller e52a5e1146 build: merge "src/rdisc/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller f3437707e3 build: merge "src/devices/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller 04eb0afd28 build: merge "src/platform/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller 123b66b9f4 build: merge "src/dnsmasq-manager/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller ecb9f140cf build: merge "src/devices/team/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller eecd05b5bf build: merge "src/devices/wifi/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller da006929dd build: merge "src/devices/wifi/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller ee601ff296 build: merge "src/devices/bluetooth/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller 72d53e4b69 build: merge "src/devices/wwan/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller ca7f59d332 build: merge "src/devices/adsl/Makefile.am" into toplevel Makefile 2016-10-21 17:04:06 +02:00
Thomas Haller b48b56c499 build: merge "src/settings/plugins/ifnet/tests/Makefile.am" into toplevel Makefile 2016-10-21 17:04:05 +02:00
Thomas Haller b2d4180787 build: merge "src/settings/plugins/ifnet/Makefile.am" into toplevel Makefile 2016-10-21 16:47:03 +02:00
Thomas Haller b661b17687 build: merge "src/settings/plugins/ifupdown/tests/Makefile.am" into toplevel Makefile 2016-10-21 16:47:03 +02:00
Thomas Haller 4128d837ac build: merge "src/settings/plugins/ifupdown/Makefile.am" into toplevel Makefile 2016-10-21 16:47:03 +02:00
Thomas Haller 2169a09f07 build: merge "src/settings/plugins/ifcfg-rh/tests/Makefile.am" into toplevel Makefile 2016-10-21 16:47:02 +02:00
Thomas Haller 181dfe17d8 build: merge "src/settings/plugins/ifcfg-rh/Makefile.am" into toplevel Makefile 2016-10-19 17:16:08 +02:00
Thomas Haller f9b6042441 build: merge "tools/Makefile.am" into toplevel Makefile 2016-10-19 17:16:08 +02:00
Thomas Haller b4372070a6 build: always enable building of tests
Let's always build with tests, regardless of --enable-tests.

If the user builds with --enable-tests=no, we automake the tests
as check_PROGRAMS, which only compiles the tests during `make check`.

Otherwise, we automake them as noinst_PROGRAMS, which builds the
tests regularly as a normal build.

This way, a user who doesn't want to build the tests regularly,
still can build and run them via `make check`.
2016-10-19 17:16:08 +02:00
Thomas Haller f87d153f8a build: merge "src/settings/plugins/ibft/Makefile.am" into toplevel Makefile 2016-10-19 17:16:08 +02:00
Thomas Haller 541f543451 build: merge "src/settings/plugins/keyfile/Makefile.am" into toplevel Makefile 2016-10-19 17:16:08 +02:00
Thomas Haller 48058ff21f build: merge "src/ppp-manager/Makefile.am" into toplevel Makefile 2016-10-19 17:16:08 +02:00
Thomas Haller 815624bf24 build: merge "src/dhcp-manager/tests/Makefile.am" into toplevel Makefile 2016-10-19 17:16:08 +02:00
Thomas Haller 481d2165e9 build: merge "src/dhcp-manager/Makefile.am" into toplevel Makefile 2016-10-19 17:16:08 +02:00
Thomas Haller b219eb19f1 build: merge "src/Makefile.am" into toplevel Makefile
Had to rename "nm-enum-types.h" because it works badly with
"libnm/nm-enum-types.h". Maybe I could fix that differently,
but duplicate names is anyway error prone.

Note that "nm-core-enum-types.h" is already taken too, so
"nm-src-enum-types.h" it is.
2016-10-19 17:16:08 +02:00
Thomas Haller 7aefbcb622 build: merge "libnm/tests/Makefile.am" into toplevel Makefile 2016-10-19 17:16:08 +02:00
Thomas Haller 9061432d55 build: merge "libnm/Makefile.am" into toplevel Makefile 2016-10-19 17:16:07 +02:00
Thomas Haller 8fdd5dec72 build: merge "libnm-core/tests/Makefile.am" into toplevel Makefile
libnm-core/Makefile.libnm-core still exists, it is used by
libnm/Makefile.am.
2016-10-19 15:26:30 +02:00
Thomas Haller e99978cb54 build: merge "libnm-core/Makefile.am" into toplevel Makefile
libnm-core/Makefile.libnm-core still exists, it is used by
libnm/Makefile.am.

Also, libnm-core/tests/Makefile.am still exists.
2016-10-19 15:26:30 +02:00
Thomas Haller 3c2a49df2f build: merge "introspection/Makefile.am" into toplevel Makefile.am 2016-10-19 15:26:30 +02:00
Beniamino Galvani 22cc119da5 shared: add unaligned.h
The file, imported from systemd sources, contains macros for accessing
potentially unaligned data in a safe way (i.e. byte-wise).
2016-10-14 11:16:13 +02:00
Beniamino Galvani c95a3a28ac build: don't remove shared/nm-version-macros.h upon clean
Files generated by ./configure shouldn't be deleted by a 'make clean'.

Fixes: 24f566afa0
2016-10-14 10:59:54 +02:00
Thomas Haller 17bb165c05 build: merge policy/Makefile.am into parent Makefile.am 2016-10-13 21:36:06 +02:00
Thomas Haller 88a7151579 build: reorder toplevel Makefile.am 2016-10-13 21:36:06 +02:00
Thomas Haller 24f566afa0 build: merge shared/Makefile.am into parent Makefile.am 2016-10-13 21:36:06 +02:00
Thomas Haller 92f4185575 devices/build: use one linker-script-devices.ver for all device plugins 2016-10-13 21:36:06 +02:00
Thomas Haller f42466215a callouts/dispatcher: rename directory callouts
Originally, the "callouts" directory contained various programs
that NetworkManager would call, for example the dhcp helper.

For a while, it only contains nm-dispatcher. Thus rename the directory
to indicate that it's for dispatcher.
2016-10-13 21:33:33 +02:00
Thomas Haller 401f6c2b8c iface-helper/build: add linker version script 2016-10-13 21:33:33 +02:00
Thomas Haller e95090d303 settings/build: add linker version script for settings plugins 2016-10-13 21:33:33 +02:00
Thomas Haller db80ec05ab build: rename directory "include" to "shared"
Up to now, the "include" directory contained (only) header files that were
used project-wide by libs, core, clients, et al.

Since the directory now also contains a non-header file, the "include"
name is misleading. Instead of adding yet another directory that is
project-wide, with non-header-only content, rename the "include"
directory to "shared".
2015-12-24 11:42:37 +01:00
Dan Winship 753e81d21f build: make libnm-util/libnm-glib optional
Add --without-libnm-glib, for people who don't want to build the
legacy client libraries. When building with this option, dbus-glib and
libdbus are not required.
2015-08-10 09:41:26 -04:00
Beniamino Galvani 4739ff6e7c settings: remove ifcfg-suse plugin
After the hostname functionality has been moved from plugins to core,
the ifcfg-suse plugin contains only boilerplate code with no actual
functionality.

Remove the plugin, mark it as deprecated in manual page and print a
warning when it is selected in configuration file.
2015-06-12 15:59:39 +02:00
Lubomir Rintel 5a3eb7aee3 build: correctly set DISTCHECK_CONFIGURE_FLAGS
Fixes: 84021454eb
2015-06-03 09:44:51 +02:00
Lubomir Rintel 84021454eb build: don't default to -Werror
It seems like a poor default for various downstream toolchains. We can't
anticipate the compiler warnings for future compiler versions and older
ones are prone to false positives. Also, older gdbus-codegen is known
to generate code that triggers compiler warnings.

Let's keep it enabled for maintainer builds and distcheck so that we're
sure a tool chain that builds releases without warnings exists.
2015-06-02 12:30:03 +02:00
Dan Winship 6793a32a8c libnm: port to GDBus
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).
2014-09-18 11:51:09 -04:00
Thomas Haller 83479263c4 build: adjust make cscope paths for recent refactoring
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-08-17 23:04:11 +02:00
Dan Winship eedcf185a7 libnm: add libnm/libnm-core (part 2)
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
]
2014-08-01 14:34:04 -04:00
Dan Winship 763ce29e58 test: drop this directory
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
2014-07-30 15:56:29 -04:00
Dan Winship 3d25d70461 clients: reorganize source tree, put all the installed clients together
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/.
2014-07-30 15:56:19 -04:00
Thomas Haller 39fce7371a libgsystem: remove submodule libgsystem
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-07-15 22:50:36 +02:00
Dan Winship 377f72a66f build: fix nm-setting-docs build in various configurations
Certain build configurations (like --enable-gtk-doc
--disable-introspection) were broken with respect to nm-setting-docs.
Fix this. Also, we don't require just gobject-introspection, we need
pygobject specifically as well.
2014-06-27 17:24:57 -04:00
Dan Winship dcc109516d libnm-util: build nm-setting-docs.xml from gtk-doc and GParamSpecs
Add generate-setting-docs.py, based on tools/generate-settings-spec.c,
which generates a simple XML file describing all libnm setting
properties (still getting the default values via GParamSpec
introspection like generate-settings-spec.c does, but getting the
documentation out of the gtk-doc strings in the GIR file instead).
2014-06-19 17:45:02 -04:00
Dan Winship 64c5395cb1 build: improve our use of glib's version macros to catch more bugs
We were setting GLIB_VERSION_MAX_ALLOWED to 2.34, since we provide
reimplementations of a few 2.34 functions in nm-glib-compat.h. But
this was turning off warnings for the 2.34+ APIs we *didn't* have
compat versions of too.

Fix this by setting MAX_ALLOWED to 2.32 (same as MIN_REQUIRED), and
defining macros to wrap calls to compat-ified functions and disable
deprecation warnings around them.

This points out several places where we were accidentally using 2.34
APIs without noticing, which need to be fixed now.
2014-02-13 11:24:37 -05:00
Dan Winship dd58d9c703 build: drop the libndp submodule
libndp has existed for a while now. 1.0 was released six months
ago. So drop the submodule and just require an installed package.
2014-02-03 12:13:41 +01:00
Dan Winship 3bda3fb60c nmtui: initial import of nmtui
nmtui is a TUI (curses-based Text User Interface) for NetworkManager
2013-12-13 16:00:51 +01:00
Thomas Haller 044cebade4 build: fix for make distcheck without enable-gtk-doc
Without this patch, the following fails with a rather obscure message
about missing make target.

  ./autogen.sh && make && make distcheck
  ...
  *** No rule to make target `NetworkManager.8', needed by `distdir'. Stop.

Swap the order of the subdirectories 'docs' and 'man' to build
'docs' earlier. This way, `make distcheck` fails in the directory 'docs'
with a better error message:
  *** gtk-doc must be installed and enabled in order to make dist

Also, add 'man/nmcli-examples.5' to the list of files, to determine
whether to use the pre generated doc files.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-11-18 19:19:13 +01:00
Dan Williams ae319b922e build: fix distcheck configure flags
Update the tests flag to the latest syntax, and make sure we
don't run valgrind on distcheck for now, since new valgrind
errors may show up when things like glib change.
2013-07-24 14:06:32 -05:00
Dan Winship c347ac2123 build: allow building against system libndp 2013-06-13 10:24:01 -03:00
Dan Winship c89acbdc8f build: don't install libndp 2013-06-13 10:24:01 -03:00
Pavel Šimerda bbce69491a rdisc: build libndp recursively 2013-06-06 06:47:17 +02:00
Colin Walters 468c08511c core: add libgsystem as a git submodule
And change src/main.c to use the local allocation macros.  This
results in much cleaner code, as one can see from the diff.

Because libgsystem is designed for nonrecursive make, it fits best in
the current recursive setup if we build . first.  This will be a lot
nicer when we switch NM to a nonrecursive setup.
2013-05-16 14:08:09 -05:00
Dan Williams 3a5bf0517c build: always generate docs at dist time (bgo #700093)
dist tarballs shouldn't ever be released without the documentation,
and this allows us to build the tarballs with pre-generated docs
that get installed on the end system, but don't need to be built
there.  So the end system doesn't need gtk-doc installed, only
the dist system does.

https://bugzilla.gnome.org/show_bug.cgi?id=700093
2013-05-14 10:53:46 -05:00
Pavel Šimerda b530603019 valgrind: distribute valgrind.suppressions 2013-04-10 16:40:58 +02:00
Dan Williams 44bcc990f7 build: distribute autogen.sh 2013-03-12 15:43:43 -05:00
Pavel Šimerda f0277c19aa settings: add support for code coverage to the settings plugins
Use:

  ./autogen.sh --enable-code-coverage
  make
  make -C src/settings check-code-coverage
2013-02-19 13:05:52 +01:00
Pavel Šimerda 2750b0759f build: don't write systemd unit file outside of prefix 2012-11-15 10:40:50 +01:00
Pavel Šimerda 2a900e2d0d build: fix plugin options for 'make distcheck' 2012-11-14 02:13:55 +01:00
Pavel Šimerda 2d7f9f3d10 build: build with all plugins for 'make distcheck' 2012-11-13 20:23:06 +01:00
Pavel Šimerda 3ee36a6f74 distro: don't install initscripts
It doesn't make much sense to install initscripts in current distributions. Most
of them either don't use initscripts at all, locally patch the initscripts or
supply their own. This allows us to eventually drop the --with-distro configure
option.

Many current distributions support multiple init systems and it doesn't make
sense for upstream to make the choice for them. Distributors can still make
their scripts copy one of the initscripts from the source tree if they wish so.
2012-10-30 00:36:04 +01:00
Alberto Ruiz b1e1ee79bd vala: add vala bindings for libnm-util and libnm-glib
This patch adds the autotools facilities to generate vapi files so that
libnm-util and libnm-glib can be consumed from Vala.

It depends on vapigen and it is a soft dependency.
2012-06-12 16:31:20 -05:00
Dan Williams ca3c39abd3 wifi: let WEXT be disabled with --with-wext=no
It's still enabled by default if you don't pass --with-wext=no.
But now it's possible to build without WEXT entirely.
2012-02-29 23:11:04 -06:00
Dan Winship 839eab5564 Use glib-mkenums to generate enum types
Rather than generating enum classes by hand (and complaining in each
file that "this should really be standard"), use glib-mkenums.

Unfortunately, we need a very new version of glib-mkenums in order to
deal with NM's naming conventions and to fix a few other bugs, so just
import that into the source tree temporarily.

Also, to simplify the use of glib-mkenums, import Makefile.glib from
https://bugzilla.gnome.org/654395.

To avoid having to run glib-mkenums for every subdirectory of src/,
add a new "generated" directory, and put the generated enums files
there.

Finally, use Makefile.glib for marshallers too, and generate separate
ones for libnm-glib and NetworkManager.
2012-02-15 11:42:15 -05:00
Thomas Graf be2e40c667 build: add "cscope" target to makefile
It builds cscope database, gets cleaned on "clean".
2011-11-14 13:40:28 +01:00
Dan Williams 3b48fdfc89 build: turn on warnings during distcheck
Make sure we catch everything before generating a tarball for release.
2011-04-11 17:10:54 -05:00
Dan Williams 1a61a0a2ca build: let distcheck autoconfigure wimax 2011-04-05 11:00:55 -05:00
Dan Williams ebc4681368 build: tell rebuilt makefiles about macro dir (bgo #640896) 2011-02-23 10:54:01 -06:00
Dan Williams 5bcb0832e5 settings: move system-settings/plugins => src/settings/plugins 2011-02-15 11:55:34 -06:00
Giovanni Campagna 3ebecd2a29 introspection: add GObject introspection support (bgo #637032)
Add the necessary annotations (the mininum required, that is those
on return values. NULL parameters or container types may require
more), and the Autotools stuff to get a NetworkManager GIR for
libnm-util and a NMClient for libnm-glib.
2011-01-21 14:46:09 -06:00
Dan Williams b38f39cfc6 core: build keyfile plugin into NetworkManager
Since settings storage is now handled by NetworkManager, we must
have the ability to read/write all connection types at all times.
Since the 'keyfile' plugin is the only plugin that can handle all
connection types, build it into NetworkManager.
2011-01-12 18:12:23 -06:00
Dan Williams 4b44a2bd54 core: add systemd unit support 2010-08-12 11:15:26 -05:00
Jirka Klimes c2ec07f17d cli: add initial pieces of nmcli 2010-02-25 09:52:30 -08:00
Dan Williams fa9e9b4227 examples: add some python examples 2010-02-18 10:17:08 -08:00
Dan Williams 9c0e929552 core: require gio
Which isn't a problem, since we already require glib-2.16 which
includes gio.  Thus, we can remove all the gfilemonitor compat
stuff.
2009-08-20 13:00:37 -05:00
Daniel Drake ff88cf12c2 olpc: add mesh device logic and config setting 2009-08-05 16:34:02 -04:00
Michael Biebl fb386ceee4 Use m4/ macro directory
Keep the relevant m4 macros in-tree.
2009-05-02 18:01:00 -04:00
Dan Williams 73659e724c makefile cleanups
0.7 requires dbus 1.1 or greater (for system bus activation), so make that
explicit, and remove compat code for D-Bus 0.6 and earlier.  Consolidate
the various glib pkgconfig checks into one, since most anything will require
gthread, glib, and gobject anyway.  Fixup the docs makefile to be more
automake-compatible and let 'make clean' actually work correctly when
docs are built.
2009-02-15 11:20:25 -05:00
Dan Williams 45f2f1144d keyfile: read MAC addresses and a test framework
Clean up handling of "special" keys in keyfiles, ie ones that
need more processing than the basic GKeyFile API supports.  Add
MAC address reading (writing support to come).

Additionally, add some test bits for the keyfile plugin that get
run on 'make check'.
2009-01-12 14:21:44 -05:00
Dan Williams 2e85fb21f8 2008-11-19 Dan Williams <dcbw@redhat.com>
* configure.in
	  Makefile.am
	  docs/libnm-util/Makefile.am
	  docs/libnm-util/libnm-util.types
		- Start to document libnm-util



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4302 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-19 18:46:01 +00:00
Tambet Ingo 09294555c0 2008-08-12 Tambet Ingo <tambet@gmail.com>
* Makefile.am: Fix distcheck.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3935 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 13:41:29 +00:00
Tambet Ingo 0f534a9f8f 2008-08-12 Tambet Ingo <tambet@gmail.com>
Start documenting libnm-glib public API using gtk-doc.

	* libnm-glib/nm-serial-device.c:
	* libnm-glib/nm-object.c:
	* libnm-glib/nm-gsm-device.c:
	* libnm-glib/nm-device.c:
	* libnm-glib/nm-device-wifi.c:
	* libnm-glib/nm-device-ethernet.c:
	* libnm-glib/nm-client.c:
	* libnm-glib/nm-cdma-device.c: Document the public API.

	* docs/libnm-glib/libnm-glib.types: Implement.

	* docs/libnm-glib/Makefile.am: Implement.

	* autogen.sh:
	* configure.in:
	* Makefile.am: Add gtk-doc support.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3932 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 08:05:21 +00:00
Dan Williams d7eafc71b1 2008-05-11 Dan Williams <dcbw@redhat.com>
* configure.in
	  Makefile.am
	  gfilemonitor/*
		- Add a private copy of the GIO GFileMonitor code, with a custom GFile
			implementation, so that the same change monitoring code can be used
			on systems without glib-2.14 (like Fedora 8)

	* system-settings/plugins/keyfile/Makefile.am
	  system-settings/plugins/keyfile/plugin.c
	  system-settings/plugins/ifcfg-suse/Makefile.am
	  system-settings/plugins/ifcfg-suse/plugin.c
		- Use private gfilemonitor code if GIO is not present



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3654 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-11 20:12:18 +00:00
Tambet Ingo d2cf6fa75c 2008-05-08 Tambet Ingo <tambet@gmail.com>
Use PolicyKit to authorize the system settings' AddConnection method
    	and the system settings connections' Update and Delete methods.

    	* libnm-glib/nm-settings.c (impl_exported_connection_update)
    	(impl_exported_connection_delete, nm_exported_connection_update)
    	(nm_exported_connection_delete): Return boolean and fill GError
    	to notify the callers of the reasons why it might have failed.

    	* libnm-glib/nm-dbus-settings-system.c
    	(nm_dbus_settings_system_add_connection): Return the error from dbus
    	call so that the callers can see why it failed.

    	* libnm-glib/nm-dbus-connection.c (update, delete): Update the
    	signatures.

    	* system-settings/src/nm-polkit-helpers.[ch]: Implement.

    	* system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
    	abstract base class that checks PolicyKit permissions.

    	* system-settings/src/dbus-settings.c:
    	(impl_settings_add_connection): Check the policy before carring out
    	the request.

    	* system-settings/plugins/keyfile/nm-keyfile-connection.c:
    	Inherit from NMSysconfigConnection, check the policies before
    	allowing updating or removing.

    	* system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
    	Inherit from NMSysconfigConnection.

    	* introspection/nm-exported-connection.xml: Annotate "Update" and
    	"Delete" methods with async flag so that the implementations can get
    	access to DBusGMethodInvocation.

    	* system-settings/src/dbus-settings.c
    	(settings_add_connection_check_privileges): Implement.
    	(impl_settings_add_connection): Check the privileges before adding a new
    	connection. Improve error reporting.

    	* introspection/nm-settings-system.xml: Make the 'AddConnection' method
    	async so that the implementation can access DBusGMethodInvocation.

    	* configure.in: Check for PolicyKit.

    	* policy/org.freedesktop.network-manager-settings.system.policy:
    	New file.

    	* policy/Makefile.am: Install the policy file.

    	* configure.in: Add 'policy' subdir.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3646 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-09 06:33:30 +00:00
Dan Williams 03194ce96d 2008-04-27 Dan Williams <dcbw@redhat.com>
* Makefile.am
	  configure.in
	  dispatcher-daemon/Makefile.am
	  dispatcher-daemon/NetworkManagerDispatcher.c
	  initscript/Arch/Makefile.am
	  initscript/Arch/networkmanager-dispatcher.in
	  initscript/Gentoo/Makefile.am
	  initscript/Gentoo/NetworkManagerDispatcher.in
	  initscript/Mandriva/Makefile.am
	  initscript/Mandriva/networkmanagerdispatcher.in
	  initscript/RedHat/Makefile.am
	  initscript/RedHat/NetworkManagerDispatcher.in
	  initscript/SUSE/Makefile.am
	  initscript/SUSE/networkmanager-dispatcher.in
	  initscript/Slackware/Makefile.am
	  initscript/Slackware/rc.networkmanager-dispatcher.in
	  initscript/paldo/Makefile.am
	  initscript/paldo/NetworkManagerDispatcher.in
	  man/Makefile.am
	  man/NetworkManagerDispatcher.8.in
		- Remove the dispatcher daemon



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3608 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 15:22:10 +00:00
Dan Williams 0422784433 2008-04-05 Dan Williams <dcbw@redhat.com>
* Makefile.am
	  configure.in
	  marshallers/Makefile.am
	  marshallers/nm-marshal-main.c
	  marshallers/nm-marshal.list
		- Consolidate marshallers

	* libnm-glib/nm-marshal-main.c
	  libnm-glib/nm-marshal.list
	  src/marshallers/Makefile.am
	  src/marshallers/nm-marshal-main.c
	  src/marshallers/nm-marshal.list
		- Remove

	* libnm-glib/Makefile.am
	  src/Makefile.am
	  src/dhcp-manager/Makefile.am
	  src/ppp-manager/Makefile.am
	  src/supplicant-manager/Makefile.am
	  src/vpn-manager/Makefile.am
		- Use consolidated marshallers



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3533 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-05 16:28:24 +00:00
Dan Williams 22f1d21754 Distribute doc tools too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3493 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-24 17:42:17 +00:00
Dan Williams 8ffe21b65f 2008-02-27 Dan Williams <dcbw@redhat.com>
Patch from Will Stephenson <wstephenson@kde.org>

	* Makefile.am
	  configure.in
		- Set up spec autogeneration infrastructure

	* docs/NetworkManager DBUS API.txt
		- Note how old this doc is and where to look for the canonical
			D-Bus specification

	* introspection/*
		- Add annotations and comments



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3345 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-02-28 02:07:21 +00:00
Dan Williams ac5206aa9c 2007-11-21 Dan Williams <dcbw@redhat.com>
* system-settings/*
		- Add Soren's system settings service.  Needs work for distros other
			than Fedora; the backends from NM should mostly migrate to here
			and be converted to GObjects



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3104 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-11-21 06:24:15 +00:00
Tambet Ingo 326d1e8679 2007-09-12 Tambet Ingo <tambet@gmail.com>
* src/vpn-manager/nm-vpn-connection.[ch]: 
        * src/vpn-manager/nm-vpn-manager.[ch]:
        * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling
        * code. Using 
        dbus-glib, GObjects, signals etc.

        * libnm-glib/nm-vpn-manager.[ch]: 
        * libnm-glib/nm-vpn-connection.[ch]: Now that the NM
        * implementation changed
        so much, rewrite these too.

        * libnm-glib/Makefile.am: Add new files to build, build new
        * binding files for
        the new introspection files.

        * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from
        * here.

        * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that
        * was shadowing
        the header with the same name from libnm-utils.

        * libnm-glib/nm-vpn-plugin.[ch]: Implement.

        * libnm-util/Makefile.am: Add nm-utils.[ch] to build.

        * introspection/nm-vpn-plugin.xml: Implement.

        * introspection/nm-vpn-connection.xml: Implement.

        * introspection/nm-vpn-manager.xml: Implement.

        * src/NetworkManagerSystem.c
        * (nm_system_vpn_device_set_from_ip4_config): Remove
        the named manager argument, it can just as easily get it as the
caller.
        (nm_system_vpn_device_unset_from_ip4_config): Ditto.

        * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.

        * src/nm-dbus-manager.h: Fix up the name_owner signal signature.

        * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove,
        * use one from
        libnm-utils.

        * libnm-util/nm-connection.c: Ditto.

        * src/NetworkManagerMain.h: Remove, it's finally empty.

        * configure.in: Remove utils/ from build.

        * include/NetworkManagerVPN.h: Add some more defines to reduce
        * the amount
        of hard-coded strings.

        * utils/: Move it over to libnm-util.

        * test/Makefile.am: Link against libnm-util now that util/ is
        * gone.

        * dispatcher-daemon/Makefile.am: Ditto.

        * src/Makefile.am: Ditto.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2798 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-12 16:23:53 +00:00
Tambet Ingo fbe9becbd4 2007-08-13 Tambet Ingo <tambet@gmail.com>
* libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.

        * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the
        * build.
        Rename the library from libnm-glib to libnm_glib to maintain the
library API
        compatibility with 0.6 branch.

        * Makefile.am: Remove gnome/ SUBDIR.

        * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.

        * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.

        * dispatcher-daemon/Makefile.am: Link the binary with
        * libnm_glib.

        * configure.in: Remove GNOME checks, NetworkManager does not
        * need any of these
        anymore.
        Remove checks for wpa_supplicant binary, it's used over dbus.
        Remove gnome/ directory files form AC_OUTPUT, that directory is
getting moved.

        * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
        Link the binaries with libnm_glib.la.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2669 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-13 07:54:28 +00:00
Dan Williams ff4c26f965 2007-08-12 Dan Williams <dcbw@redhat.com>
* Makefile.am
	  configure.in
	  callouts/Makefile.am
	  callouts/nm-dhcp-client-action.c
	  callouts/nm-dhcp-client.conf
		- Add dhclient-executed callout that takes the place of dhclient-script
		and dhcdbd, pushing DHCP options out to the system bus as a signal that
		NM then listens for



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2664 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-12 15:21:15 +00:00
Christopher Aillon aa9a2cbb6a 2007-07-10 Christopher Aillon <caillon@redhat.com>
Patch from Robert Buchholz <rbu@gentoo.org>:

	* configure.in:
	* Makefile.am:
	* introspection/Makefile.am:
	Make make distcheck work again.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2628 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-07-10 18:31:32 +00:00
Tambet Ingo 8a4c57f631 2007-02-12 Tambet Ingo <tambet@ximian.com>
Totally break NetworkManager. Please use 0.6 branch until futher notice.

	* src/:
		- Remove old low-level dbus interface implementations and replace them
		  with dbus-glib one.

	* configure.in:
		- Require dbus-glib >= 0.72.
		- Plug in new sources to build.

	* libnm-glib/:
		- Implement GObject wrappers on top of DBUS glib auto-generated bindings
		  to make it more convenient to use from GObject based programs.

	* introspection/:
		- Implement DBUS XML introspection files, used by both NM and libnm-glib.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2309 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-12 09:23:43 +00:00
Dan Williams c5e472d42f 2007-02-02 Dan Williams <dcbw@redhat.com>
* configure.in
	  gnome/Makefile.am
	  nm-applet.desktop
	  Makefile.am
		- Remove last bits referencing gnome applet



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2268 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-02 21:28:03 +00:00
Robert Love 0048177124 2006-05-25 Robert Love <rml@novell.com>
Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
	* configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
	  configure flag to disable building of the GNOME-based applet.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1765 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-05-25 20:28:48 +00:00
Rodrigo Moya 3204a3b63d 2006-03-01 Rodrigo Moya <rodrigo@novell.com>
* Makefile.am: use the correct dir for autostart mechanism.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1532 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-03-01 16:51:38 +00:00
Robert Love 35238722d9 2006-02-02 Robert Love <rml@novell.com>
* src/Makefile.am: If we aren't going to create the run directory at,
	  uh, run-time, create it during install.  Then users just doing
	  'make install' are cool, too.  While we are here, create the
	  dispatcher.d directory, too.
	* src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
	  the exact run directory.
	* Makefile.am: Install nm-applet.desktop.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1430 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-02 20:52:43 +00:00
Robert Love d51874eca6 2006-01-23 Robert Love <rml@novell.com>
* Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
	  gnome-session does autostart.  TODO: We need to install this to
	  $prefix/share/autostart/.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1379 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-23 20:33:45 +00:00
Robert Love 43013ba9c6 2006-01-20 Robert Love <rml@novell.com>
* Makefile.am, configure.in: Add new man subdirectory.
	* man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
	  man/Makefile.am: Add man pages for NetworkManager and its
	  crime-solving bumbling buddy, NetworkManagerDispatcher.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1367 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-20 21:10:33 +00:00
Robert Love 4ad3dc157c 2005-12-16 Robert Love <rml@novell.com>
* Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1203 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-16 16:30:24 +00:00
Dan Williams 01afcce899 Patch from Bill Moss; build libnm-util library earlier
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1163 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-11 17:59:28 +00:00
Dan Williams 7758dcb273 2005-12-09 Dan Williams <dcbw@redhat.com>
* libnm-util/*
	  configure.in
	  Makefile.am
		- Add a utility library for clients of NetworkManager.  It's
			only targetted at applets for the moment, and contains
			a generalized 802.11 cipher framework for different
			types of keys (WEP & WPA Hex, ASCII, Passphrase)


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1152 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-09 23:25:22 +00:00
Dan Williams 6bcf90acf2 2005-12-06 Dan Williams <dcbw@redhat.com>
* Move NetworkManager.h -> include/NetworkManager.h
	* Split out VPN stuff to include/NetworkManagerVPN.h
	* Fix up makefiles to include new location
	* Fix up sources to include NetworkManagerVPN.h


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1130 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-06 23:37:09 +00:00
Robert Love d6b8f80469 2005-06-20 Robert Love <rml@novell.com>
* Makefile.am: Add missing intltool-foo.in generated files to
	  EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
	  with the start of stuff to cleanup on 'distclea'.
	* configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
	  stuff right and 'distcheck' works.
	* po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
	  we keep it, we need to add all of examples/* to EXTRA_DIST and do
	  Makefile.am for each.  And systray/Makefile needs to be redone.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@725 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-20 17:16:51 +00:00
David Zeuthen c357c61e35 2005-06-12 David Zeuthen <davidz@redhat.com>
* gnome/vpn-properties/nm-vpn-ui-interface.h: New file

	* gnome/vpn-properties/nm-vpn-properties.glade: New file

	* gnome/vpn-properties/nm-vpn-properties.c: New file

	* gnome/vpn-properties/Makefile.am: New file

	* src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
	array of passwords

	* src/vpn-manager/nm-vpn-manager.c
	(nm_vpn_manager_activate_vpn_connection): Take an array of passwords
	instead of just a single one

	* src/vpn-manager/nm-dbus-vpn.c:
	(nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
	here
	(nm_dbus_vpn_activate_connection): Rework to take an array of passwords

	* gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password):
	Change the interface here to give a list of passwords. Also, don't
	require username, but do require service

	* gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
	the binary for the auth-dialog and use that instead of putting up a
	dialog asking for a single password

	* gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
	however do remember the service

	* gnome/applet/main.c (main): Setup i18n

	* gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
	connection to '%s'" to the tooltip if we are connected using VPN
	(nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
	key to determine whether we the auth-dialog needs to
	reprompt. Also cope with the fact that the auth-dialog now returns
	an array of passwords.
	(nmwa_menu_configure_vpn_item_activate): New handler for
	"Configure VPN..." menu item
	(nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
	(is_vpn_available): New function to determine if we got any
	NM-compatible VPN software installed
	(nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
	items only if we have NM-compatible VPN software installed
	(nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
	logic for detecting when VPN connections are removed

	* gnome/applet/applet-dbus.h: Removed the prototypes for
	nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
	since these are defined elsewhere

	* gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
	function used to keep track of whether the last attempt succeded
	(nmwa_dbus_filter): Update last_attempt according to whether the
	VPN connection could be established or not

	* gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection):
	Change prototype to take an array of passwords, not just a single
	password

	* gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
	update service, not user
	(nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
	dbus_active_vpn_name is not NULL before using it
	(nmwa_dbus_vpn_activate_connection): Send the passwords as a
	string array instead of assuming a single password

	* gnome/applet/applet-dbus-info.c:
	(nmi_dbus_get_vpn_connection_properties): Use the logged in user for
	user name; don't read from gconf

	* gnome/applet/Makefile.am: Also export SYSCONFDIR and
	VPN_NAME_FILES_DIR

	* gnome/Makefile.am (SUBDIRS): Add vpn-properties

	* configure.in: Add checks for gmodule-2.0.
	Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
	in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
	projects under vpn-daemons now.	 See vpn-daemons/vpnc/Changelog
	for details

	* vpn-daemons/Makefile.am: Removed

	* vpn-daemons/README: New file to describe extensions points for VPN
	software


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@664 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-12 14:35:59 +00:00
Dan Williams 567b5e3d31 2005-05-03 Dan Williams <dcbw@redhat.com>
* Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
	  This means that NetworkManager shouldn't have DHCP issues anymore.  It also
	  means you need dhcdbd, which you can get here (get the latest one):

		http://people.redhat.com/jvdias/dhcdbd/

	  Technically NetworkManager can use any DHCP daemon that uses the same DBUS
	  interface as dhcdbd.

	* Rewrite device activation to facilitate the new DHCP infrastructure and
	  future improvements.  Its now "activation request" based, ie there is a single
	  activation request composed of the device, access point, and other info which
	  follows the entire activation process.  There are 5 stages of the activation
	  process which correspond to:

		1) Device preparation
		2) Device configuration (bring it up, set ESSID/Key/etc)
		3) IP Config Start (fire off DHCP if we're using it)
		4) IP Config Get (grab config from DHCP or static config files)
		5) IP Config Commit (set device's IP address, DNS, etc)

	  Note that there is no longer a "scanning" step, since the access point must
	  be known _before_ activation starts.  If the access point drops out or does
	  not exist for some reason, the entire activation process fails and must be
	  restarted for a different access point or device.

	Patch from Bill Moss:
	* gnome/applet/applet.c
		- Fix type of vpn_failure dialog -> vpn_banner dialog


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@597 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-05-03 20:41:36 +00:00
Dan Williams a5dd14c305 2005-04-27 Dan Williams <dcbw@redhat.com>
* Merge the applet and the info-daemon, and move the converged
                applet under gnome/applet
        * Move libnm_glib to gnome/libnm_glib
        * Convert most dbus calls between the applet, info-daemon, and NM
                into async calls
        * Fix a few things valgrind noticed
        * Make NM broadcast state more reliably


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@586 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-04-27 18:05:16 +00:00
Dan Williams de1d417198 2005-04-15 Dan Williams <dcbw@redhat.com>
Initial VPN Support
		- supports 'vpnc'
		- reworks device IP configuration, backend files have changed and will need
			to be updated for all distributions.  I will try to do what I can for
			them, but I cannot test them.

	- Move named directory to src/named-manager
	- Make backends directory self-contained


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@571 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-04-15 15:43:42 +00:00
Ray Strode 587a50e6e8 2005-03-09 Ray Strode <rstrode@redhat.com>
Second (unfinished, unworking) cut at porting to
	dbus 0.30 api.

	* dispatcher-daemon/NetworkManagerDispatcher.c
	* info-daemon/NetworkManagerInfoDbus.c:
	* panel-applet/NMWirelessAppletDbus.c:
	* src/NetworkManagerDbusUtils.c:
	* src/NetworkManagerDbusUtils.h:
	* src/nm-dbus-device.c:
	* src/nm-dbus-nm.c:
	* test/nmtest.c: support dbus "object path" type

	* configure.in:
	* Makefile.am:
	* info-daemon/Makefile.am:
	* libnm_glib/Makefile.am:
	* panel-applet/Makefile.am:
	* dispatcher-daemon/Makefile.am
	* src/Makefile.am:
	* test/Makefile.am:
	* utils/Makefile.am:
	* utils/nm-utils.c:
	* utils/nm-utils.h: new utils static lib


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@494 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-03-09 16:39:15 +00:00
Dan Williams 99cfa54d0f 2005-01-12 Dan Williams <dcbw@redhat.com>
* libnm_glib/
		- Client library for applications using glib

	* configure.in
	  various Makefiles
		- Split NM_CFLAGS and NM_LIBS into separate variables
			like DBUS_*, HAL_* and GLIB_*

	* src/NetworkManager.c
	  src/NetworkManagerMain.h
		- (nm_schedule_status_signal_broadcast): at the earliest convenience,
			broadcast a status changed signal over DBUS from the main thread.
			Still unused anywhere for the moment.

	Patch from j@bootlab.org
	* panel_applet/NMWirelessAppletDbus.c
	  src/NetworkManagerDbus.c
		- Correct INT32->UINT32 mistmatch between NM and the panel applet
			for the "getMode" method call


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@368 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-12 18:40:04 +00:00
Colin Walters 33bd873ec4 2004-12-21 Colin Walters <walters@redhat.com>
* src/NetworkManager.c (nm_data_new): Initialize named.
	Also, set up a signal handler for SIGINT/SIGTERM, and exit
	the mainloop when these signals are received.
	(nm_data_free): Unref named.
	(sigterm_handler, sigterm_pipe_handler): New functions for
	exiting mainloop.

	* src/NetworkManagerMain.h (NMData): Add signal handling and
	nameserver bits.

	* src/NetworkManager.c (nm_device_unref): Quit device mainloop on
	unref.

	* src/NetworkManagerDHCP.c (set_nameservers): New function;
	set nameservers from DHCP response data.
	(set_domain_search): Set domain search from DHCP response.
	(nm_device_dhcp_configure): Invoke them.

	* src/NetworkManagerSystem.c
	(nm_system_device_update_resolv_conf): Delete.  Deleting
	code is totally sweet.

	* src/Makefile.am (NetworkManager_LDADD): Add libnamed.

	* named/nm-named-manager.h, named/nm-named-manager.c: New files;
	implements an object which controls a nameserver.  Currently
	uses bind 9.

	* configure.in: Check for named.

	* Makefile.am (SUBDIRS): Add named dir.

	* named/named.conf: New template config file.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@352 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-12-21 06:49:21 +00:00
Dan Williams f1241b30fc fix dependency problem
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@315 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-11-16 03:52:55 +00:00
Dan Williams 2ad25b238e 2004-11-15 Dan Williams <dcbw@redhat.com>
Major rework of link detection code.  We now use DHCP
	as part of the link detection which proves to be much more robust,
	and also supports Open System authentication for wireless networks.

	We no longer use external DHCP client programs.  Instead, we use
	our own DHCP client, based on substantially reworked bits of 'dhcpcd'
	which was written by:
		Yoichi Hariguchi <yoichi@fore.com>
		Sergei Viznyuk <sv@phystech.com>
		http://www.phystech.com/download/
	It resides in the "dhcpcd" directory and was refactored into a general
	purpose DHCP client library by me.

	Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
	move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@314 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-11-16 02:41:53 +00:00
Dan Williams faae8945db 2004-10-21 Dan Williams <dcbw@redhat.com>
* NetworkManager.h
		- New file, now contains commonly used structures and bits
			for the dbus API of NetworkManager

	* Makefile.am
		- Deliver NetworkManager.h to ${includedir}/NetworkManager

	* src/NetworkManager.h
		- Rename -> src/NetworkManagerMain.c

	* Various fixups all around to use NetworkManager.h and new
		src/NetworkManagerMain.h, remove redundant bits that got
		moved into NetworkManager.h

	* src/NetworkManagerDevice.[ch]
	  src/NetworkManagerUtils.[ch]
	  src/NetworkManagerPolicy.c
	  src/NetworkManagerDbus.c
		- Whitelist wireless drivers, and blacklist some wired
			drivers.  Also blacklist cipsec and ethernet-over-usb
			devices at this time (RH #135722, RH #135648)
		- Don't leak unsupported devices out over dbus, or allow
			them to be set as the active device.  Skip over them
			during automatic device picking

	* test/nmclienttest.c
		- Clean up the dbus code a lot


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@261 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-10-21 17:42:14 +00:00
Jonathan Blandford 78bb8a008f Wed Sep 29 18:18:24 2004 Jonathan Blandford <jrb@redhat.com>
* configure.in: Add a temporary --enable-notification-icon.  This
        will prolly go away.

        * info-daemon/Makefile.am:
        * info-daemon/NetworkManagerInfo.c:
        * info-daemon/NetworkManagerInfo.h: Use a notification icon.

        * panel-applet/Makefile.am:
        * panel-applet/NMWirelessApplet.c: Turn into a notification icon
        * panel-applet/NMWirelessApplet.h:


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@180 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-29 22:22:05 +00:00
Colin Walters d276c67b8a 2004-09-01 Colin Walters <walters@verbum.org>
* NetworkManager.pc.in: New file.

	* Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@116 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-02 02:30:03 +00:00
Jonathan Blandford d3aff52822 Thu Aug 26 15:12:36 2004 Jonathan Blandford <jrb@redhat.com>
* Makefile.am: add po as a supdir

        * autogen.sh: use gnome-autogen.sh

        * initscript/Gentoo/.cvsignore:
        * initscript/RedHat/.cvsignore: Shut up cvs

        * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.

        * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
        (nmwa_fill): Use gettext.

        * configure.in: add gettext support
        * po/.cvsignore:
        * po/NetworkManager.pot:
        * po/POTFILES.in:


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@80 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-26 19:14:26 +00:00
Dan Williams 20f439a9ac Add CONTRIBUTING
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@53 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-13 17:22:41 +00:00
Dan Williams e8b7b7c07d 2004-08-06 Dan Williams <dcbw@redhat.com>
* panel-applet/*
		- Add panel applet

	* src/NetworkManagerPolicy.c
	  src/NetworkManager.c
		- Get access point lists from NetworkManagerInfo on-demand,
			and look for ServiceCreate/ServiceDeleted signals to see when
			we should query NMI for lists
	* src/NetworkManagerAPList.c
		- Make sure to init the list's mutex
		- Convert traversals of the list over to the list iter functions

	* src/NetworkManagerDbus.[ch]
		- Use more aptly-named path/service/interface constants
		- Treat both active and pending devices the same for "getActiveDevice"
		- Add a "status" method returning "connected", "connecting", or "disconnected"

	* src/NetworkManagerDevice.c
		- Honor "ignored" network list when picking best ap to use


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@39 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-06 18:19:06 +00:00
Dan Williams aab500146f 2004-07-19 Dan Williams <dcbw@redhat.com>
* Makefile.am
		- Add info-daemon directory

	* configure.in
		- Check for glade libs and headers
		- Add info-daemon directory

	* src/NetworkManagerAP.c
		- nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
			copied over to the new AP.

	* src/NetworkManagerDbus.c
	  src/NetworkManagerDbus.h
		- Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
		- Remove nm_dbus_signal_need_key_for_network()
		- Add disabled code for asynchronous user wep key callbacks
		- Add functions for getting, setting, and cancelling user key operations
		- Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
		- Add "setKeyForNetwork" dbus method call on NetworkManager object

	* src/NetworkManagerDevice.c
	  src/NetworkManagerDevice.h
		- nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
			logic is in device activation now
		- nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
			key is wrong) trigger get-user-key pending action
		- Implement get-user-key pending action stuff, tie to dbus messages
		- Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
		- Add nm_device_ap_list_get_ap_by_essid()
		- Instead of copying "best" access points, ref them instead so that the key we set
			sticks around

	* src/NetworkManagerPolicy.c
		- Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
		- Don't cancel pending actions on a device if its the same device as last iteration
		- Only promote pending_device->active_device if activation was successfull

	* src/Makefile.am
		- Rename nmclienttest->nmtest

	* info-daemon/Makefile.am
	  info-daemon/NetworkManagerInfo.c
	  info-daemon/NetworkManagerInfo.h
	  info-daemon/NetworkManagerInfoDbus.c
	  info-daemon/NetworkManagerInfoDbus.h
	  info-daemon/passphrase.glade
	  info-daemon/NetworkManagerInfo.conf
	  info-daemon/keyring.png
	  	- Import sources for info-daemon, which pops up dialog for passphrase/key when
	  		NetworkManager asks for it, and also will (soon) provide "allowed" access point
	  		lists to NetworkManager by proxying user's GConf


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@16 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-07-19 06:08:52 +00:00
Dan Williams 873738b61b 2004-06-24 Dan Williams <dcbw@redhat.com>
* Makefile.am
	  Makefile.in
	  configure.in
	  dispatcher-daemon/Makefile.am
	  dispatcher-daemon/Makefile.in
	  dispatcher-daemon/NetworkManagerDispatcher.c

	    Add a daemon that receives signals from NetworkManager
	  and will (eventually) call scripts in /etc/somewhere
	  when devices go up or down.

	* NetworkManager.c
	  NetworkManagerDbus.c

	    Spacing cleanups.

	* NetworkManagerPolicy.c

	    - Rename nm_policy_switch_interface->nm_policy_switch_device
	    - nm_policy_switch_device():
				Use kill (pid) instead of system ("kill <pid>")
	    - nm_state_modification_monitor():
				Add wireless essid to output of debug statements
				Correct typo in device compare to switch or not (should be !=)
				Don't sleep after sending "no longer active" signal, was useless


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@9 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-06-24 17:55:51 +00:00
Dan Williams c39587c1c2 Initial revision
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-06-24 14:18:37 +00:00