Commit graph

37 commits

Author SHA1 Message Date
Dan Winship
89228569f8 ppp-manager: port nm-pppd-plugin from dbus-glib to gdbus 2014-09-04 18:19:21 -04:00
Dan Winship
d0b05b34d5 libnm: add NetworkManager.h, disallow including individual headers
Add NetworkManager.h, which includes all of the other NM header, and
require all external users of libnm to use that rather than the
individual headers.

(An exception is made for nm-dbus-interface.h,
nm-vpn-dbus-interface.h, and nm-version.h, which can be included
separately.)
2014-08-01 14:34:40 -04:00
Dan Winship
a7c4d53d03 all: port everything to libnm
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.
2014-08-01 14:34:05 -04:00
Dan Williams
75fa46bd19 ppp: add IPv6 support
Add support for IPv6 to the pppd plugin and return the interface identifiers
to NetworkManager.  Use those to construct the IPv6LL addresses for the
PPP interface and the peer.
2014-07-23 14:26:39 -05:00
Dan Winship
30c74c6007 build: more srcdir!=builddir fixes
nm-version.h was getting disted, making srcdir!=builddir work for
tarball builds, but not for git builds.

Also, remove "-I${top_builddir}/include" from all Makefile.ams, since
there's nothing generated in include/ any more.
2014-07-15 11:37:19 -04:00
Dan Winship
c9e2c34029 build: fix srcdir!=builddir build after previous merge 2014-07-15 10:52:50 -04:00
Dan Winship
7eb0288aa0 libnm-util: move NetworkManager.h, etc, from include/ to here
NetworkManager.h, NetworkManagerVPN.h, and nm-version.h are part of
the libnm-util API, so move them to libnm-util.

include/ still contains headers that are strictly NM-internal (eg,
nm-glib-compat.h).
2014-07-15 09:44:54 -04:00
Dan Winship
bea82ca98b all: set G_LOG_DOMAIN appropriately, for better g_log() messages 2014-04-23 10:19:17 -04:00
Dan Winship
1d0b50c2c4 build: add some missing -DNM_VERSION_MAX_ALLOWED
Add -DNM_VERSION_MAX_ALLOWED=NM_VERSION_NEXT_STABLE to a bunch of
Makefile.ams that were missing it and might eventually need it.
2014-04-07 11:30:18 -04:00
Dan Winship
bfce3f7dc8 build: switch from $(INCLUDES) to $(AM_CPPFLAGS) to make automake happy
Unfortunately, $(AM_CPPFLAGS) gets overridden by per-target _CPPFLAGS
variables, which $(INCLUDES) did not, so this requires some additional
changes.

In most places, I have just gotten rid of the per-target _CPPFLAGS
variables; in directories with a single target, the per-target
variable is unnecessary, and in directories with multiple targets, the
per-target variable is often undesirable, since it forces some files
to be compiled twice, even though there ends up being no difference
between the two files.
2013-08-22 11:49:16 -04:00
Dan Winship
c4417c71b6 core: use non-recursive build
Although having different parts of NM in different subdirectories
keeps the source tree neat, it has made the build messy, particularly
because of cross-dependencies between the subdirs.

Reorganize to build all of the pieces of the NetworkManager binary
from src/Makefile, and only use recursive make for test programs,
helper binaries, and plugins.

As part of this, get rid of all the per-directory convenience
libraries, and switch to building a single top-level
libNetworkManager.la, containing everything except main.c, which all
of the test programs can then link against.
2013-05-08 15:07:18 -04:00
Colin Walters
59f2cd0f8d build: remove G_DISABLE_DEPRECATED
This functionality is (mostly) obsoleted by the newer
GLIB_VERSION_MIN_REQUIRED and GLIB_VERSION_MAX_ALLOWED defines.  With
this, your build doesn't all of a sudden blow up if we deprecate
something in GLib - you have to explicitly opt-in to the newer
version.

G_DISABLE_DEPRECATED does still apply for macros and things that can't
take __attribute__((deprecated)), but it's not really worth the pain
and cargo culting around just for that.
2012-10-31 19:41:07 +01:00
Dan Williams
1d7949e66c build: fix up includes; prefer builddir over srcdir
WiMAX failed distcheck if the iwmxsdk devel files were installed but
--enable-wimax=no was used, since the distcheck configure bits found
the iwmxsdk headers, defaulted WiMAX support to 'on', and then proceeded
to use the generated headers from the top srcdir, where of course
wimax was turned off (due to --enable-wimax=no).  Instead, everything
should use the headers from the builddir, which reflects the options
that 'make distcheck' actually selects.

At the same time, re-order various includes everywhere to ensure that
the builddir paths come before the srcdir paths to prevent this from
happening in the future.
2012-08-06 17:27:17 -05:00
Jiří Klimeš
78dda3b093 core: unblock signals for child processes we spawn out of NM (rh #739836)
Commit 217c5bf6ac fixed processing of unix
signals: signals are blocked in all threads and a dedicated thread handles the
signals using sigwait().
However, the commit forgot that child processes inherit signal mask as well.
That is why we have to unblock signals for child processes we spawn from NM, so
that they can receive signals.
2012-05-21 15:00:51 +02:00
Colin Walters
74ec56d956 build: fix srcdir != builddir for new generated headers 2012-02-22 16:27:28 -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
Colin Walters
dab7dfaf35 build: fix srcdir != builddir
nm-version.h is in ${top_builddir}/include.
2012-01-09 14:20:36 -06:00
Dan Williams
a096d3a676 build: allow disabling PPP support at build time
Pass --enable-ppp=no and pppd headers won't be required, and the
pppd plugin won't be built.  Here's to you, Gentoo!
2011-02-21 17:48:08 -06:00
Pablo Castellano
ce5c0d5ac6 build: enable AM_SILENT_RULES (bgo #625263) 2010-08-03 12:58:46 -07:00
Dan Williams
a00a6e5d87 logging: move logging into its own subdir
Some stuff we build (the DHCP manager) gets built independently
so that we can use it for unit tests.  For that, we need to build
the logging bits separately too, since the independent DHCP
library can't use them if they are embedded in NM.
2010-04-06 17:39:57 -07:00
Dan Williams
718e3bf89c build: remove unused references to HAL 2009-08-20 12:38:59 -05:00
Dan Williams
537c2f1f86 build: always link locally-built libraries first (bgo #580131) 2009-08-20 12:31:17 -05:00
Dan Williams
4bc61697e0 Remove unused bits
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3843 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-22 14:41:20 +00:00
Dan Williams
8afd2d8ecd 2008-06-26 Dan Williams <dcbw@redhat.com>
Patch from Michael Biebl <biebl@debian.org>

	* Clean up build system stuff



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3773 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-26 17:34:04 +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
d84a51a145 Fix distcheck errors
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3390 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-07 19:40:51 +00:00
Tambet Ingo
e7bdd56bcd Squashed commit of the following:
commit 736e888c683a2b630310c5fb3119fdb0466df223
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Mar 7 10:44:36 2008 -0600

    Rework ppp-manager to set up dbus service instead of doing it in pppd plugin.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3388 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-07 18:04:59 +00:00
Dan Williams
cc30b078af Point NM at the pppd plugin's install dir
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3259 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-01-21 14:20:41 +00:00
Dan Williams
c142dd6278 2007-12-17 Dan Williams <dcbw@redhat.com>
Patch from Michael Biebl <biebl@debian.org>

	* configure.in
	  src/ppp-manager/Makefile.am
		- fix up install dir of pppd plugin
		- clean up configure.in a bit



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3176 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-12-18 02:43:42 +00:00
Dan Williams
f56f5ef9f4 2007-12-04 Dan Williams <dcbw@redhat.com>
Patch from Michael Biebl <biebl@debian.org>

	* system-settings/plugins/ifcfg/Makefile.am
	  system-settings/src/main.c
	  system-settings/src/Makefile.am
		- Put system settings plugins in NM plugins dir

	* src/ppp-manager/Makefile.am
	  src/ppp-manager/nm-ppp-manager.c
		- Move pppd plugin to NM plugins dir



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3131 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-12-04 16:17:57 +00:00
Tambet Ingo
6b79d40a76 2007-11-07 Tambet Ingo <tambet@gmail.com>
Rework NMSetting structures: Move each setting to it's own file.
        Convert to GObject. Remove home grown setting types and use
GTypes.
        Use GObject property introspection for hash conversion,
enumerating
        properties, etc.

        * libnm-util/nm-setting-connection.[ch]
        * libnm-util/nm-setting-ip4-config.[ch]
        * libnm-util/nm-setting-ppp.[ch]
        * libnm-util/nm-setting-vpn.[ch]
        * libnm-util/nm-setting-vpn-properties.[ch]
        * libnm-util/nm-setting-wired.[ch]
        * libnm-util/nm-setting-wireless.[ch]
        * libnm-util/nm-setting-wireless-security.[ch]

        New files, each containing a setting.

        * libnm-util/nm-setting-template.[ch]: A template for creating
        * new
        settings. To use it, just replace 'template' with the new
setting
        name, and you're half-way done.

        * libnm-util/nm-setting.c: Convert to GObject and use GObject
        introspection instead of internal types and tables.

        * libnm-util/nm-connection.c: Adapt the new NMSetting work.

        * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
        GValue types defined by dbus-glib for composed types like
collections,
        structures and maps.

        * src/*: The API of NMSetting and NMConnection changed a bit:
        * Getting
        a setting from connection takes the setting type now. Also,
since
        the settings are in multiple files, include relevant settings.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3068 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-11-07 16:06:43 +00:00
Dan Williams
f114f6e9b3 distcheck fix
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2970 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-11 00:43:33 +00:00
Tambet Ingo
18d372272c 2007-10-10 Tambet Ingo <tambet@gmail.com>
Move ppp-manager over to dbus-glib. The big deal is that it was
the last piece of
        code that used NM's own version of dbus signal handling and
custom dictionary
        marshalling/unmarshalling. With this change, all that obsolete
code can disappear
        and we get to maintain over 2000 lines less code.

        * libnm-util/dbus-dict-helpers.c:
        * libnm-util/dbus-dict-helpers.h: Remove.

        * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.

        * src/ppp-manager/nm-pppd-plugin.xml: Implement.

        * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of
        * home-brewed dbus signal
        handlers.

        * src/nm-dbus-manager.c: Remove all the manual dbus signal
        * handling.

        * configure.in: Remove test/libnm-util/Makefile creation.

        * test/Makefile.am: Remove libnm-util from SUBDIRS.

        * test/libnm-util/: Remove the whole directory.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2965 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-10 14:36:31 +00:00
Dan Williams
7cdada8ed2 2007-10-01 Dan Williams <dcbw@redhat.com>
* configure.in
	  src/marshallers/Makefile.am
	  src/marshallers/nm-marshal.list
	  src/marshallers/nm-marshal-main.c
		- Consolidate glib marshallers into one place

	* src/dhcp-manager/Makefile.am
	  src/dhcp-manager/nm-dhcp-manager.c
	  src/supplicant-manager/Makefile.am
	  src/supplicant-manager/nm-supplicant-manager.c
	  src/supplicant-manager/nm-supplicant-interface.c
	  src/ppp-manager/Makefile.am
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/Makefile.am
	  src/vpn-manager/nm-vpn-connection.c
	  src/Makefile.am
		- Use consolidated marshallers

	* src/dhcp-manager/nm-dhcp-marshal.list
	  src/dhcp-manager/nm-dhcp-marshal-main.c
	  src/supplicant-manager/nm-supplicant-marshal-main.c
	  src/supplicant-manager/nm-supplicant-marshal.list
	  src/nm-marshal-main.c
	  src/nm-marshal.list
	  src/ppp-manager/nm-ppp-marshal-main.c
	  src/ppp-manager/nm-ppp-marshal.list
	  src/vpn-manager/nm-vpn-marshal-main.c
	  src/vpn-manager/nm-vpn-marshal.list
		- Remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2920 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-01 21:26:13 +00:00
Dan Williams
21ad2cf867 2007-09-14 Dan Williams <dcbw@redhat.com>
* utils/Makefile.am
	  utils/nm-utils.c
	  utils/nm-utils.h
	  src/supplicant-manager/Makefile.am
	  src/dhcp-manager/Makefile.am
	  src/backends/Makefile.am
	  src/named-manager/Makefile.am
	  src/ppp-manager/Makefile.am
	  src/vpn-manager/Makefile.am
	  test/libnm-util/Makefile.am
	  test/test-common/Makefile.am
		- Remove utils/; it was unused



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2808 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-14 18:50:16 +00:00
Dan Williams
53c23a2144 2007-08-30 Dan Williams <dcbw@redhat.com>
Patch from Philip Withnall <bugzilla@tecnocode.co.uk>

	* src/ppp-manager/Makefile.am
		- use -fPIC (gnome.org #471825)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2752 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-30 13:52:47 +00:00
Tambet Ingo
b1e15de652 2007-08-15 Tambet Ingo <tambet@gmail.com>
* src/ppp-manager: Implement ppp-manager. It's sort of dead code
        * for now since
        nothing is using it at the moment, but it'll be all useful and
stuff later on.

        * libnm-util/nm-setting.h: Define NMSettingPPP.

        * libnm-util/nm-setting.c: Implement NMSettingPPP.

        * libnm-util/nm-connection.c (register_default_creators):
        * Register ppp setting.

        * src/Makefile.am: Add ppp-manager to SUBDIRS.

        * configure.in: Require ppp headers. Build Makefile for
        * ppp-manager.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2695 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-15 14:30:06 +00:00