Commit graph

17138 commits

Author SHA1 Message Date
Dan Williams
1d28ad1aa5 ppp: add minimal debugging output to the ppp plugin 2009-10-05 12:23:03 -07:00
Frej Soya
e3ae3efc09 wired: fix build_supplicant_config for wired - bgo:594038 lp:422597 2009-10-05 11:22:20 +02:00
Dan Williams
bc81b998a9 build: fix generation of CDMA & GSM dbus interface data 2009-10-05 00:51:29 -07:00
Dan Williams
55bb7a85fd modem: re-implement GSM device on top of generic modem code
Serial interface D-Bus info has to be somewhere neutral.

Fix a CDMA secrets bug.
2009-10-05 00:42:53 -07:00
Dan Williams
9fb584242c modem: kill active connections on shutdown 2009-10-05 00:13:01 -07:00
Dan Williams
8822f75652 cdma: fix device dispose
Move modem destruction from dispose -> finalize, because the superclass
still needs to use the device at dispose time.
2009-10-05 00:05:09 -07:00
Dan Williams
ac739e3311 manager: fix up composite modem device detection and suppression
Some modems have their ethernet	interface show up only on connect,
and we want NM to ignore the ethernet interface as a top-level
device.
2009-10-04 23:59:20 -07:00
Dan Williams
66fbf31a19 modem: fix stage3 IP config kickoff 2009-10-04 23:57:51 -07:00
Dan Williams
821bfe5257 Merge commit 'origin/master' into btdun 2009-10-04 23:39:16 -07:00
Dan Williams
85da54edd7 manager: fix use-after-free crash for cdc-ether modems
An ethernet device that's actually a component of a modem could get
added to the device list, but then destroyed without getting removed
from the device list.
2009-10-04 23:36:06 -07:00
Dan Williams
e4e9d40998 modem: re-implement CDMA device on top of generic modem code 2009-10-04 23:35:20 -07:00
Dan Williams
c5cf3b1d9b modem: generalize GSM and CDMA modem classes
So that Bluetooth can use them.  They used to be NMDevice subclasses, but
we need them to be generic objects that both bluetooth and the normal
modem stack can use.  All because GObject can't do multiple inheritance,
but that would probably be even messier.

So now that we have generic modem objects, we can create the actual
NMDevice subclasses that will wrap them for non-BT modems, and then
also have NMDeviceBt wrap them too for DUN.
2009-10-04 21:41:49 -07:00
Tambet Ingo
715ddd2045 core: Make iptables path configurable
On some systems, it's located in different path...
2009-10-01 14:31:09 +03:00
Dan Williams
963d055abf wired: defer carrier-off events while connected by a few seconds
Don't immediately tear down an active wired connection when the carrier
flips to off, but wait a few seconds for it to come back before breaking
the user's network.
2009-09-28 14:12:09 -07:00
Dan Williams
a2c1256215 wired: link_timeout_id -> supplicant_timeout_id 2009-09-28 12:57:18 -07:00
Dan Williams
0bbf8c5307 ethernet: make initial carrier check synchronous; require carrier for connection takeover (lp#417719) 2009-09-28 11:09:31 -07:00
Dan Williams
ddce707d67 netlink: add blocking function to get carrier state 2009-09-28 10:50:22 -07:00
Dan Williams
aa7bb93968 core: spacing fix 2009-09-28 10:49:55 -07:00
Dan Williams
cde6af87a8 Merge commit 'origin/master' into cert-paths 2009-09-19 07:01:49 -07:00
Dan Williams
e4ed9764b5 libnm-util: deprecate GSM PUK property
Unused anyway, and PUK is dangerous enough that it should be handled
by the client explicitly and not by NM.
2009-09-18 17:08:30 -07:00
Dan Williams
c134460c9f Merge commit 'origin/master' into cert-paths 2009-09-18 09:09:03 -07:00
Dan Williams
99fb844657 core: device disconnection cleanups
Return an error when trying to disconnect an already-disconnected
or deactivated device.
2009-09-18 09:05:11 -07:00
Alexander Sack
2be94b44c3 core: implement manual disconnect feature
In the past networkmanager did not allow to manually disconnect devices.

Manually disconnected devices will not be automatically reconnected until one
of the following events occur:
 1. user activates a connection for the currently disconnected device
 2. network manager awakes from hibernate/suspend
 3. network manager is restarted (e.g. reboot)

Add a Disconnect method to generic NMDevice dbus interface; set a new private
autoconnect_inhibit flag if Disconnect method is called through dbus.
Based on this auto activation for devices gets inhibited until one
of the above events occur.
2009-09-18 17:06:48 +02:00
Dan Williams
9b7d537b65 Merge commit 'origin/master' into cert-paths 2009-09-17 11:24:56 -07:00
Dan Williams
3ce6b68c64 vpn: fix crash caused by 8d205212dc
Typo; should have been 'unref'.
2009-09-17 11:23:44 -07:00
Dan Williams
99e5a86394 system-settings: handle byte-array secrets too 2009-09-17 10:38:54 -07:00
Dan Williams
4e9f388376 Merge commit 'origin/master' into cert-paths 2009-09-14 13:38:19 -07:00
Dan Williams
7a2e2cfda3 core: rename nm_device_can_activate -> nm_device_is_available
Becuase when the device is in >= DISCONNECTED state, that already
means it can activate if a connection is available.
2009-09-14 13:33:06 -07:00
Dan Williams
393bdd3737 core: generalize unavailable -> disconnected delayed transition
Instead of doing this in every device subclass, do it in the NMDevice
superclass.  nm_device_can_activate() already did the same logic that
each of the subclass device_state_changed() handlers were doing to
figure out whether they could do the transition from unavailable
to disconnected, so just use that in NMDevice and kill lots of code.
2009-09-14 13:24:29 -07:00
Dan Williams
f01c565230 build: remove nm-gsm-device.c
No idea why this is still around; it's a left-over from 0.7.x and
replaced by src/modem-manager/nm-modem-gsm.c.
2009-09-14 13:22:46 -07:00
Dan Williams
0be66daa9a wired: get rid of nm_device_ethernet_get_carrier
Only used internally; just use priv->carrier instead
2009-09-14 12:54:09 -07:00
Dan Williams
ab167b1994 ethernet: clean up netlink monitoring code
Keep a reference to the netlink monitor for as long as we have
signals attached to it.  Also don't bother looking up the ifindex
in the carrier state signal handlers since we already have it
lying around in priv.
2009-09-14 12:15:15 -07:00
Dan Williams
25d17ef341 core: always tear down devices when their hardware goes away
Previous connection-assumption code that made sure not to touch
ethernet devices when NM quit also didn't clean up after devices
that were physically removed, which was wrong.
2009-09-14 07:55:59 -07:00
Dan Williams
db588ed8e5 vpn: don't reset VPN gateway route when parent device is going down
Or really, any time the parent IP4 config is cleared which is pretty
much only when the device is going down.  Avoids a warning when
nm_system_add_ip4_vpn_gateway_route() can't get the parent IP4Config
because it doesn't exist.
2009-09-14 07:55:59 -07:00
Dan Williams
8d205212dc vpn: fix crash when canceling VPN connection secrets request
The secrets provider might be unrefed while processing the response,
causing a double-free when the unref triggers the weak ref notifier
and clears out the GetSecretsInfo, but then later the dbus handler
that got the response in the first place tries to free the info
explicitly.  So keep the provider around while processing the result.
2009-09-10 12:18:18 -07:00
Noel J. Bergman
aced7c25c2 policy: reschedule failed devices for activation after a short delay
Instead of immediately...  devices handled externally from NM (by
ModemManager or Bluez or whatever) have a slight delay in reporting
to NM that they device has been removed (due to internal housekeeping
and then pushing the event into D-Bus signals or something) and thus
when NM notices PPP failures and tries to reschedule activation
of autoconnect=true connections, it fails the reactivation because
the device actually is no longer present, but it hasn't gotten the
device-removed event from MM or Bluez yet.  That sets the invalid
tag on the connection, and when the device gets replugged, the
invalid tag suppresses autoconnect.
2009-09-09 17:19:39 -07:00
Dan Williams
9b55936dee device: only invalidate connections if they failed during activation
Otherwise, connections used to get marked invalid on hot-unplug, which
isn't really correct.
2009-09-09 12:21:55 -07:00
Dan Williams
f28a0df4a6 ppp: ignore certain pppd status changes
We don't actually care when pppd goes into the 'network' phase or the
'authenticate' phase, because we're looking for the IP4 configuration
to come back, and the device is already in the IP_CONFIG state.
Handling those phases would cause the device's state to jump around
between NEED_AUTH and IP_CONFIG when we were already past that phase.

Specifically, when the PPP link went down, the device would jump from
FAILED to IP_CONFIG because pppd entered the 'network' phase when
cleaning up the link.  The device would also jump from IP_CONFIG to
NEED_AUTH during the connection process when we already had secrets.
2009-09-09 07:44:21 -07:00
Dan Williams
bee58e359d modem: disable modem instead of just disconnecting
Until later when we'll actually do stuff like probing signal
strength and such while disconnected.
2009-09-04 17:42:09 -05:00
Alexander Sack
2e912158af core: ensure that modem-manager claimed data devices are ignored
add function nm_modem_manager_has_modem_for_iface to modem-manager api
and ignore device additions in nm-manager if the iface is claimed by
modem-manager; also forget about already managed devices once they get
claimed by modem-manager.
2009-09-04 16:55:48 +02:00
Dan Williams
e5ed391f28 libnm-util: allow certificate/key paths
Overload the certificate and key properties to allow paths to the
certificates and keys using a special prefix for the property data.
Add API to libnm-util for easy certificate path handling, and
documentation for NMSetting8021x.
2009-09-04 09:07:00 -05:00
Dan Williams
eb96ffda5d vpn: ignore VPN-provided gateway host route (bgo #583323)
Since NM adds the gateway host route in the manner that's correct
for the current routing situation, we don't really want random
gateway host routes from the VPN server getting added instead.
2009-08-28 10:35:38 -05:00
Dan Winship
6fbd834889 Don't remove-and-then-immediately-re-add addresses
For IPv6 autoconf, the addresses returned from NMIP6Manager will
already have been added to the interface, and if we remove and readd
them it will cause additional netlink notifications which may cause us
to think additional changes have been made. So change the
config-applying code to only remove addresses that aren't part of the
new config.
2009-08-26 14:38:01 -04:00
Dan Winship
7344cc186d Add NMIP6Manager to handle IPv6 addrconf
Automatic IPv6 configuration is handled by the kernel, but to
integrate it properly with NetworkManager, we need to watch what the
kernel does to see whether or not it was successful (so that we can
let the user know if there is no IPv6 router present, for example).
NMIP6Manager takes care of this.
2009-08-26 14:37:45 -04:00
Dan Winship
67a5f31fc8 Work around libnl address caching bug
rtnl_addr requires that all addresses have the "peer" attribute set in
order to be compared for equality, but this attribute is not normally
set. As a result, most addresses will not compare as equal even to
themselves, busting caching. We fix this for now by poking into the
guts of libnl if it is broken...
2009-08-26 14:37:17 -04:00
Dan Williams
58fcc8efe6 libnm-glib: libnm_glib -> libnm-glib
Bothered me for a long time; now that we've bumped the soname, we can
rename the library too.
2009-08-26 13:07:35 -05:00
Dan Williams
5a29dfef24 Merge commit 'origin/master' into polkit1 2009-08-26 10:46:08 -05:00
Dan Winship
592769cfd9 core: add a cast to fix compile on 32-bit 2009-08-25 18:18:16 -04:00
Dan Williams
d56674b147 libnm-glib: NMSettingsSystemPermission -> NMSettingsSystemPermissions 2009-08-24 15:57:11 -05:00
Dan Williams
2dbaab2221 system-settings: add permissions
Since the new PolicyKit does away with easy checking of authorizations,
we get to implement it by ourselves, but that's OK since we can actually
use it for a lot more stuff.  So add the GetPermissions call which returns
the permissions the caller actually has, and a signal informing callers
that their permissions might have changed.  Hook this all up to
PolicyKit so it's useful.
2009-08-24 13:03:09 -05:00