* introspection/nm-ip4-config.xml: Implement.
* libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
* libnm-glib/nm-ip4-config.c:
* libnm-glib/nm-ip4-config.c: Implement.
* src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
securities. APs reference security.
* src/nm-device-802-11-wireless.c: Implement missing properties that need to
be exported over DBUS.
* src/nm-device-802-3-ethernet.c: Ditto.
* src/NetworkManagerAP.c:
* src/NetworkManagerAP.h:
- Convert to GObject, export over DBUS.
* src/nm-ip4-config.h:
* src/nm-ip4-config.h:
- Convert to GObject, export over DBUS.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2322 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Make NMDevice abstract class, remove almost all references to it's
subclasses (the last place gets removed with new policy manager). Add
NMDeviceInterface (which NMDevice implements) so that when we have
NMDevice exported over DBUS, there's a common NMDevice interface which
all instances have, plus there's a device specific interface for each
specific type.
Remove functions (nm_device_is_802_3_ethernet) and
(nm_device_is_802_11_wireless). There are already standard GObject macros
for type safe checks.
Use the updated supplican manager API.
* src/nm-device-interface.h:
* src/nm-device-interface.c:
* src/nm-call-store.h:
* src/nm-call-store.c: Implement.
* src/supplicant-manager/nm-supplicant-interface.c:
* src/supplicant-manager/nm-supplicant-interface.h:
* src/supplicant-manager/nm-supplicant-manager.c:
* src/supplicant-manager/nm-supplicant-manager.h:
- Remove all private data type references from public header files.
- Remove all references to other NM classes, this class is just a
proxy between wpa_supplicant and NM so it doesn't have to know
any internals.
- Convert to dbus-glib bindings.
- Type safe checks for public methods' arguments.
- Store pending DBUS call ids to NMCallStore.
* src/supplicant-manager/nm-supplicant-config.c:
- Store config values in a GHashTable instead of GSList.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2285 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
package is now DBUS-enabled and listens for the NM signals.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1969 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Add 'fallback' support. NetworkManager will attempt to brute-force
connect to networks marked as fallback if there are no better wireless
connections available. This is useful as a method of last resort, to
work around driver problems, and for use with hidden networks.
* gnome/applet/applet-dbus-devices.c,
gnome/applet/applet-dbus-devices.h: Add fallback parameter.
* gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
pass it on via DBUS.
* gnome/applet/applet.c: No fallback by default.
* gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
Update other-network-dialog to add UI checkbox toggling fallback.
* src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
propery from AP object. Add "fallback" property to AP object.
* src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
* src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
* src/nm-device-802-11-wireless.c: Break out blacklist logic into
separate function. Add get_best_fallback_ap() for returning an AP
on which to attempt fallback.
* src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
* test/nm-set-fallback: New file. Sets a given network as fallback.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1814 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
autofs on interface up if NIS is configured. On interface down, do
nothing.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1756 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Respect the variable
dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
to dynamically update /etc/resolv.conf.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1716 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
to add support for per-route MSS and improve support for per-interface
MTU:
* src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
optionally take an MSS parameter and set it for the given route.
Remove nm_system_device_set_ip4_route_with_iface. Pass in the
NMIP4Config's stored MSS, if any.
* src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
the interface's MTU and the route's MSS, respectively. Add functions
nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
and nm_ip4_config_set_mss for retrieving and setting the MTU and the
MSS.
* src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
nm_ip4_config_set_mss.
* src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
VPN daemon.
* src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
Change the retval of nm_system_get_mtu to guint32.
* src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
NMIP4Config to the MTU provided by the system, if any. TODO: If DHCP
servers can specify MTU's, we should set it here if the MTU was not
provided.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1660 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
restart, not reload, ypbind. Unfortunately there is no superior
solution.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1639 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
nm_system_get_mtu(), which returns a user-provided or system-mandated
MTU value for a given device, if any, or zero if no such value
exists. Add nm_system_set_mtu() to set the MTU for a given device
if we have a provided value.
* src/nm-device.c: Set the MTU of devices.
* src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
* src/backends/NetworkManagerDebian.c,
src/backends/NetworkManagerGentoo.c,
src/backends/NetworkManagerRedHat.c,
src/backends/NetworkManagerSlackware.c: Implement stub functions.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1626 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
it, in case it is not running in the first place. We just want its
configuration reloaded. Also, do not "rcypbind stop" on device down.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1615 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
it, in case it is not running in the first place. We just want its
configuration reloaded.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1614 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
nm_ap_set_timestamp() take the second and micro-second parameters as
direct arguments, which avoids both a dynamic memory allocation and a
structure-to-structure copy! Add a new interface, the aptly named
nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
the return from nm_ap_get_timestamp(). New users should use the new
nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
the extreme benefit to performance.
* src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1569 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
* src/backends/NetworkManagerSuSE.c: Implement the interface
nm_system_should_modify_resolv_conf() for SUSE.
* src/backends/NetworkManagerDebian.c,
src/backends/NetworkManagerGentoo.c,
src/backends/NetworkManagerRedHat.c,
src/backends/NetworkManagerSlackware.c: Add stub.
* src/named-manager/Makefile.am: Grab includes from src.
* src/named-manager/nm-named-manager.c: Allow backends to disable the
automatic updating of resolv.conf. This is useful for testing,
broken static configurations, and administrator lock-down.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1524 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
Make nm_device_802_11_wireless_get_essid() return 'const char *' not
'char *'.
* src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
nm_ip4_config_get_hostname() and
nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
* src/backends/NetworkManagerSuSE.c: Fix up for above. Also, do not
leak g_strdup() result.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1437 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
but the DHCP server did not return a hostname, try to look up our
name via DNS and set the system hostname to that.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1398 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
by DHCP and pass it to the backends, allowing distribution-specific
behavior with respect to the DHCP-supplied hostname (if nothing else,
some distributions might not want to set the hostname).
* backends/NetworkManagerSuSE.c: Set the hostname if the variable
DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
Also update our NIS behavior.
* backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
Add stub functions.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
Allow backends to flag a device (in whatever distro-dependent way
they so desire) as disabled. NM will ignore any such device.
* src/backends/NetworkManagerDebian.c,
src/backends/NetworkManagerRedHat.c,
src/backends/NetworkManagerSlackware.c: Add stub function
nm_system_device_get_disabled() that always returns FALSE (enabled).
* src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
SUSE-specific configuration structure. Fill it in from the
NM_CONTROLLED variable in the system networking scripts. If this var
exists and is "no", we ignore the device.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1361 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Put the ppp device in the
description so that the description is unique for each
pair (device,provider). Fixes Novell #142773.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1324 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
values so that distribution-backends can differentiate between the
various types (modem, ISDN, et cetera) of dialup device that they
support.
* src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
needed.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1265 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: update to newer API (no more
nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
latter cannot differentiate between error and the address -1; misc.
clean up.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1250 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* refactor NMDevice into a GObject-based framework with separate
objects for wired and wireless. The following files are no
longer used but should stick around for a bit so we don't
loose code through the cracks:
NetworkManagerDevice.c
NetworkManagerDevice.h
NetworkManagerWireless.c
NetworkManagerWireless.h
The intent here is to allow each device type to manage its own
connection & activation life-cycle, ie to allow wireless devices
to interface with wpa_supplicant, etc. There's a fair bit of
encapsulation breakage right now that should gradually get pulled
back into each device, along with things like periodic property
updates and link probing.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1244 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
binaries unless they exist (nm_spawn_process() emits a warning if
asked to spawn a non-existant process).
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1205 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
gateway is not set, just print a little note. Configurations without
gateways are valid.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1110 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerRedHat.c
src/backends/NetworkManagerDebian.c
src/backends/NetworkManagerSlackware.c
src/backends/NetworkManagerGentoo.c
src/backends/NetworkManagerSUSE.c
- Fix invocations of "/sbin/ip address" to use short form instead
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@968 4912f4e0-d625-0410-9fb7-b9a5a253dbdc