Commit graph

100 commits

Author SHA1 Message Date
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
Jiří Klimeš
aed37465be ppp: change handling of lcp-echo-failure and lcp-echo-interval (bgo #663970)
Don't set default values for the properties, which didn't allow users to
switch off sending echo-request packets. Rather set defaults in editor
or while completing connection for modems.
2012-01-16 09:52:48 +01:00
Colin Walters
dab7dfaf35 build: fix srcdir != builddir
nm-version.h is in ${top_builddir}/include.
2012-01-09 14:20:36 -06:00
Thomas Graf
5b7503e95e core: use nm_connection_get_setting_<type>() whenever possible
Leads to shorter, easier to read code and improves type casting safety.

Signed-off-by: Thomas Graf <tgraf@redhat.com>
2011-12-06 16:06:43 -06:00
Thomas Graf
00f2b0a9bb core: Include <linux/if.h> instead of <net/if.h>
NM already includes <linux/if.h> in some places, f.e. nm-netlink-monitor and
we can't mix usage of the two. Stick to using <linux/if.h> as it provides
additional flag definitions such as operational link state and link mode.

Signed-off-by: Thomas Graf <tgraf@redhat.com>
2011-09-30 00:18:24 -05:00
Gerald
61568bc513 ppp: pass novj through to pppd 2011-09-14 12:31:54 -05:00
Dan Williams
6dae3c2f33 ppp: enable pppd debug logging when PPP log domain is enabled for debuggin
Instead of just with the old environment variable.  This means we'll
log pppd debug output when the log level is changed via the D-Bus
interface now too.
2011-05-19 13:31:52 -05:00
Dan Williams
aeb7123368 ppp: make prototypes more valid
So they pass -Wstrict-prototypes which we aren't using but might
some day.
2011-04-26 13:49:05 -05:00
Dan Williams
2e33be3385 ppp: be more paranoid about cleaning PPP manager up
Make sure the dispose won't run twice for the same code and
make sure we never schedule a handler for monitor_cb() more
than once, though it's really hard to see how that could ever
happen anyway.

Another attempt to blindly fix lp:752143
2011-04-19 12:11:58 -05:00
Dan Williams
4e4bfeb499 core: add nm-secrets-flags.h for secret agent flags typedef
Make it clearer what's going on instead of using flags here and there
and numbers elsewhere.
2011-03-29 22:53:22 -05:00
Michael Biebl
69a135debb ppp: remove unused file 2011-03-21 17:41:08 -05:00
Kjartan Maraas
b224ab8e56 trivial: let g_free and g_strdup handle NULL (bgo #644763) 2011-03-15 00:08:58 -05:00
Dan Williams
bf34e7099d ppp: fix warning when PPP support is disabled 2011-02-25 11:03:53 -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
Dan Williams
0e6a5365d4 core: move secrets handling to NMSettingsConnection
It's the thing that owns the secrets anyway, and it simplifies things to
have the secrets handling there instead of half in NMActRequest and
half in NMManager.  It also means we can get rid of the ugly signals
that NMSettingsConnection had to emit to get agent's secrets, and
we can consolidate the requests for the persistent secrets that the
NMSettingsConnection owned into NMSettingsConnection itself instead
of also in NMAgentManager.

Since the NMActRequest and the NMVPNConnection classes already tracked
the underlying NMSettingsConnection representing the activation, its
trivial to just have them ask the NMSettingsConnection for secrets
instead of talking to the NMAgentManager.  Thus, only the
NMSettingsConnection now has to know about the agent manager, and it
presents a cleaner interface to other objects further up the chain,
instead of having bits of the secrets request splattered around the
activation request, the VPN connection, the NMManager, etc.
2011-01-27 10:41:02 -06:00
Dan Williams
4427774d57 agents: filter agents by UID for user-requested connections
When a user makes an explicit request for secrets via GetSecrets
or activates a device, don't ask other users' agents for secrets.
Restrict secrets request to agents owned by the user that made the
initial activate or GetSecrets request.

Automatic activations still request secrets from any available agent.
2011-01-26 18:36:08 -06:00
Dan Williams
68ab26143b core: use GetSecrets flags everywhere 2011-01-18 14:57:44 -06:00
Dan Williams
62a2c34e27 core: simplify secrets handling during activation
Instead of a bizare mechanism of signals back to the manager
object that used to be required because of the user/system settings
split, let each place that needs secrets request those secrets
itself.  This flattens the secrets request process a ton and
the code flow significantly.

Previously the get secrets flow was something like this:

nm_act_request_get_secrets ()
    nm_secrets_provider_interface_get_secrets ()
        emits manager-get-secrets signal
            provider_get_secerts ()
                system_get_secrets ()
                    system_get_secrets_idle_cb ()
                        nm_sysconfig_connection_get_secrets ()
                            system_get_secrets_reply_cb ()
                                nm_secrets_provider_interface_get_secrets_result ()
                                    signal failure or success

now instead we do something like this:

nm_agent_manager_get_secrets ()
    nm_agent_manager_get_secrets ()
        request_start_secrets ()
            nm_sysconfig_connection_get_secrets ()
                return failure or success to callback
2010-12-13 21:14:23 -06:00
Dan Williams
be97e7f104 build: include <config.h> for kill(2), isblank(3), and isascii(3)
config.h defines _GNU_SOURCE, which in turn defines the bits necessary
for kill, isblank, and isascii.  So wherever we use those, we need
to make sure config.h is included.
2010-10-08 22:46:55 -05:00
Pablo Castellano
ce5c0d5ac6 build: enable AM_SILENT_RULES (bgo #625263) 2010-08-03 12:58:46 -07:00
Dan Williams
81f030fe5b core: don't require PPP setting for PPPoE connections (bgo #623744)
The PPP setting will usually be all defaults anyway, so lets just
created it when needed if it doesn't yet exist.  Fixes an error
where the connection editor couldn't edit system DSL connections
because it tried to request secrets for the PPP setting that didn't
actually exist in the connection because the 'keyfile' plugin
wouldn't save all-default settings, thus that setting wouldn't
exist when read back in.
2010-07-21 15:55:33 -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
4ff8f21e4c ppp: update logging 2010-04-06 17:13:45 -07:00
Dan Williams
a07968179e ppp: plugin doesn't need to #include <nm-utils.h> 2010-04-06 17:00:16 -07:00
Dan Williams
830bded555 ppp: increase PPPoE pppd timeout to 30 seconds
Mostly to help debug stuff like (rh #528314) where it's hanging somewhere
in rp-pppoe while trying to connect to the access concentrator.
2009-11-23 00:08:35 -08:00
Dan Williams
1d28ad1aa5 ppp: add minimal debugging output to the ppp plugin 2009-10-05 12:23:03 -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
d034b8631b ppp: wait 20 seconds (instead of 15) for PPP connections to come up 2009-07-01 10:38:02 -04:00
Dan Williams
c9067d8fed everything: use libgudev instead of HAL; merge NM and nm-system-settings
The only thing that doesn't work yet is the system-settings service's
"auto eth" connections for ethernet devices that don't have an existing
connection.  Might also have issues with unmanaged devices that can't
provide a MAC address until they are brought up, but we'll see.
2009-06-11 00:39:12 -04:00
Dan Williams
7c3063faea ppp: don't require separate bus name for pppd plugin communication
Not actually needed, and actually makes securing the daemon harder
from a D-Bus perspective, since both bus names resolve to the same
unique name anyway, and the unique name is what actually gets
matched on inside dbus.  Suggestion from Colin Walters.
2009-02-05 06:05:10 -05:00
Dan Williams
468ca67a1f ppp: always use 'noauth'
Since NM is really only a client of the provider's PPP server, and since NM
doesn't have any authentication information to authenticate the remote
peer anyway.  Some providers don't set up their servers to allow clients to
ask for authentication from the remote peer either.
2009-01-28 11:49:28 -05:00
Dan Williams
4a7bfefeec ppp: honor MTU from PPP setting 2009-01-26 16:10:19 -05:00
Przemysław Grzegorczyk
bac45aa0d5 clean up glib includes (bgo #564376)
Only <glib.h> and <gtk/gtk.h> need to be included.
2009-01-19 00:16:40 -05:00
Dan Williams
a10775c928 Merge branch wins-in-ip4-config 2009-01-04 19:15:03 -05:00
Jan Kantert
4ca66db721 Use g_timeout_add_seconds() to reduce wakeups
(and refine the older glib compat mechanism, by Dan)
2008-12-31 18:57:36 -05:00
Dan Williams
a020ed21da Re-add WINS support to the IPv4 config
Don't do anything with WINS servers (dispatcher scripts installed with
samba could certainly update samba's idea of WINS servers), but at least
provide them so that the VPNs that can get upstream WINS servers can
at least make other stuff aware of them.
2008-12-19 17:01:06 -05:00
Dan Williams
5128849d79 Update license headers
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4259 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-04 22:32:57 +00:00
Dan Williams
f8d151a20d ignore return value
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4238 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-30 16:34:32 +00:00
Dan Williams
4129798d51 2008-10-30 Dan Williams <dcbw@redhat.com>
* src/nm-device-ethernet.c
	  src/nm-device-wifi.c
	  src/nm-device.c
	  src/ppp-manager/nm-ppp-manager.c
		- Harmonize return checking of ioctl

	* system-settings/plugins/ifcfg-fedora/reader.c
		- (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4236 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-30 05:52:20 +00:00
Dan Williams
cbd88c9482 2008-10-30 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
		- (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
			ppp_generic module to create it (bgo #533064)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4235 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-30 05:20:53 +00:00
Dan Williams
bfb7243663 2008-10-29 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- Make properties private and add accessor functions

	* callouts/nm-dispatcher-action.c
	  libnm-glib/libnm-glib-test.c
	  libnm-util/nm-utils.c
	  src/NetworkManagerPolicy.c
	  src/NetworkManagerSystem.c
	  src/NetworkManagerUtils.c
	  src/dhcp-manager/nm-dhcp-dhclient.c
	  src/dhcp-manager/nm-dhcp-manager.c
	  src/dnsmasq-manager/nm-dnsmasq-manager.c
	  src/nm-device-wifi.c
	  src/nm-device.c
	  src/nm-hso-gsm-device.c
	  src/nm-ip4-config.c
	  src/nm-ip4-config.h
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifcfg-suse/plugin.c
	  system-settings/plugins/ifupdown/parser.c
	  test/nm-tool.c
	  vpn-daemons/vpnc/properties/nm-vpnc.c
		- Use IP4 accessor functions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4233 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-29 14:35:25 +00:00
Dan Williams
39467c7e33 2008-10-27 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-ppp.h
		- Make properties private and add accessor functions

	* src/ppp-manager/nm-ppp-manager.c
		- Use ppp setting accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4229 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-27 17:39:59 +00:00
Dan Williams
7d723b54a4 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-connection.h
		- Make properties private and add accessor functions

	* src/NetworkManagerPolicy.c
	  src/nm-cdma-device.c
	  src/nm-device-ethernet.c
	  src/nm-device-interface.c
	  src/nm-device-wifi.c
	  src/nm-gsm-device.c
	  src/nm-manager.c
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-fedora/plugin.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifupdown/parser.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/plugins/keyfile/plugin.c
	  system-settings/plugins/keyfile/writer.c
	  system-settings/src/main.c
		- Use those accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4220 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:41:37 +00:00
Dan Williams
76c366b546 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-gsm.c
	  libnm-util/nm-setting-gsm.h
		- Make properties private and add accessor functions

	* src/nm-gsm-device.c
	  src/nm-hso-gsm-device.c
	  src/ppp-manager/nm-ppp-manager.c
		- Use those accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4219 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:23:37 +00:00
Dan Williams
41b0e05573 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-cdma.c
	  libnm-util/nm-setting-cdma.h
		- Make properties private and add accessor functions

	* src/nm-cdma-device.c
	  src/ppp-manager/nm-ppp-manager.c
		- Use those accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4218 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:21:01 +00:00
Dan Williams
55fd788e5a 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-pppoe.c
	  libnm-util/nm-setting-pppoe.h
		- Make properties private and add accessor functions

	* src/nm-device-ethernet.c
	  src/ppp-manager/nm-ppp-manager.c
		- Use those accesors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4217 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:08:58 +00:00
Dan Williams
b7b5110d16 2008-10-23 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
		- (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
			add really important stuff to the command line to ensure that NM
			overrides /etc/ppp/options (bgo #556781)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4209 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-23 18:04:47 +00:00
Dan Williams
175d6db3ef 2008-10-02 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
	  src/ppp-manager/nm-ppp-manager.h
		- (impl_ppp_manager_need_secrets): tries secrets twice before asking
			the settings daemon for completely new ones
		- (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
			local PPP peer name; allow PPP debuging by launching NM with
			the environment variable NM_PPP_DEBUG defined
		- (nm_ppp_manager_start): new parameter 'ppp_name' passed to
			create_pppd_cmd_line()

	* src/nm-serial-device.c
	  src/nm-serial-device.h
		- New 'get_ppp_name' function for subclasses to implement to return the
			local PPP peer name
		- (real_act_stage2_config): call 'get_ppp_name' function of subclasses
			and pass that name to the PPP manager

	* src/nm-device-ethernet.c
		- (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
			the local peer name

	* src/nm-cdma-device.c
		- (real_get_ppp_name): implement using the CDMA username



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4141 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-02 17:10:00 +00:00
Dan Williams
80fdf64b0b Small cleanup
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4140 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-02 17:06:58 +00:00