Commit graph

12329 commits

Author SHA1 Message Date
Dan Winship
ce5da1933d core: split NMAtmManager out of NMUdevManager
Split the "atm"-subsystem-monitoring parts of NMUdevManager into a
separate class. Now NMUdevManager only handles "net"-subsystem device
enumeration.
2013-06-05 17:49:25 -03:00
Dan Winship
b15fb8641e core: split NMRfkillManager out of NMUdevManager
Split the rfkill-monitoring parts of NMUdevManager into a separate
class. Now NMUdevManager only handles device enumeration.
2013-06-05 17:49:24 -03:00
Aleksander Morgado
c3706810ef modem-manager: read 'SupportedCapabilities' instead of 'ModemCapabilities' (bgo #701668)
There is no longer a 'ModemCapabilities' uint32 property; instead we have
'SupportedCapabilities' giving a list of uint32 values. Just read the list and
merge the values into a single mask; NM doesn't care about the exact
combinations supported.

https://bugzilla.gnome.org/show_bug.cgi?id=701668
2013-06-05 12:59:32 -05:00
Dan Williams
b0863cbc4d mobile: don't fail in old MM code when using deprecated functions
We want to keep using these deprecated functions when talking to
the old ModemManager to ensure behavior is unchanged.
2013-06-05 12:42:12 -05:00
Aleksander Morgado
46853f0821 libnm-util: deprecate 'network-type' and 'allowed-bands' in GSM settings
When requesting connections to ModemManager, NetworkManager shouldn't try to
request specific bands or network types to use. Leave those requests to other
system configuration tools talking directly to ModemManager.

https://bugzilla.gnome.org/show_bug.cgi?id=701504
2013-06-05 12:39:24 -05:00
Aleksander Morgado
e682e6d6d0 modem-manager: don't request allowed modes when talking to ModemManager1 modems
Just let them get connected with whatever network type they currently have.
2013-06-05 12:17:09 -05:00
Dan Winship
f3db2ae95c platform: add some ifdefs to support kernel 3.6 2013-06-04 12:01:38 -03:00
Dan Winship
a7068f48c5 Revert "platform, devices: add support for vxlan devices"
This requires a very recent kernel to even compile, and the kernel
code is still rapidly changing (eg, adding IPv6 support). So take it
out for now, until it stabilizes.

This reverts commit 7f0f04d106.
2013-06-04 10:30:30 -03:00
Dan Winship
d9e0a7cbd6 platform, devices: add support for gre and gretap devices 2013-06-04 10:01:14 -03:00
Dan Winship
7f0f04d106 platform, devices: add support for vxlan devices 2013-06-04 10:01:14 -03:00
Dan Winship
e9f364548a platform, devices: add support for macvlan and macvtap devices 2013-06-04 10:01:13 -03:00
Dan Winship
add316a403 platform, devices: add support for tun and tap devices 2013-06-04 10:01:13 -03:00
Dan Winship
329960bc18 platform: add support for ifb devices
(ifb devices have no device-type-specific properties, so they are
fully handled by NMDeviceGeneric without needing their own subclass).
2013-06-04 09:57:37 -03:00
Jiří Klimeš
5875e17769 ifcfg-rh: ignore team connections until we support team devices (rh #968268)
https://fedorahosted.org/libteam/
team connections are marked by
DEVICETYPE="Team"
or
DEVICETYPE="TeamPort"
2013-06-04 13:21:04 +02:00
Aleksander Morgado
0477becfae modem-manager: consolidate capabilities loading
Make capabilities loading a method in the NMModem class, and let subclasses
implement it.
2013-06-03 13:00:04 -05:00
Aleksander Morgado
e071cb962e device-modem: fix setting current capabilities 2013-06-03 12:59:57 -05:00
Dan Williams
d6f1d09604 mobile: move old MM modem properties parsing in NMModemOld 2013-06-03 12:59:49 -05:00
Dan Williams
88b26172d6 mobile: merge NMModemGsm into NMModemOld 2013-06-03 12:59:49 -05:00
Dan Williams
27acebe862 mobile: merge NMModemCdma into NMModemOld
GSM is next...
2013-06-03 12:59:49 -05:00
Dan Williams
06499b1e1b mobile: make modem errors generic
We'll use them eventually for the old CDMA and GSM types too.
2013-06-03 12:59:49 -05:00
Dan Williams
67ef73119e mobile: remove some unused code 2013-06-03 12:59:49 -05:00
Dan Williams
da5177cecd mobile: move and rename old MM modem state enum 2013-06-03 12:59:49 -05:00
Dan Williams
ab69e9bc2a mobile: rename old MM bits to clarify that they're for old ModemManager 2013-06-03 12:59:48 -05:00
Dan Williams
db3ad9bc90 systemd: update for network-online.target for systemd >= 200 (rh #787314)
systemd's new network-online target abstracts the "wait until
networking is up" stuff, and NM-wait-online implements that
functionality.  Thus NM-wait-online should be ordered before
(and thus be a dependency of) network-online.
2013-06-03 11:30:35 -05:00
Dan Williams
06a415d9ea systemd: add service for dispatcher (rh #948433) 2013-06-03 10:53:07 -05:00
Jiří Klimeš
baf820e0c1 main: allow daemonizing again - initialize become_daemon to TRUE (bgo #701383)
7ff3d1500e reversed become_daemon for
"--no-daemon" with G_OPTION_FLAG_REVERSE, but missed to reverse initialization
into become_daemon=TRUE and thus NM couldn't be daemonized.

https://bugzilla.gnome.org/show_bug.cgi?id=701383
2013-06-03 12:44:51 +02:00
Dan Williams
cae49f0422 core: not all callers of hw_bring_up care about firmware 2013-05-31 15:34:40 -05:00
Jiří Klimeš
e8ee5bdb0b cli: 'dev wifi list': change default displayed columns
Now they are
 #define NMC_FIELDS_DEV_WIFI_LIST_COMMON
         "IN-USE,SSID,MODE,CHAN,RATE,SIGNAL,BARS,SECURITY"
2013-05-31 09:38:04 +02:00
Jiří Klimeš
dca3584b26 cli: 'dev wifi list': change SECURITY values
* remove "Encrypted" tag
 The "Encrypted: " stuff was initially copied from nm-tool, but it doesn't help
 here much. See also http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=a734c836a56f3170202f0555f1a03c9b2835775c
 for APs with WPA & RSN IEs, but no privacy flag.

* remove a space from "WPA ", etc. strings. Translators often leave it out
  and thus break output.

* change "WPA" to "WPA1" to make it clearer

* use "802.1X" instead of "Enterprise" to save some characters
2013-05-31 09:38:04 +02:00
Jiří Klimeš
5f93c4314d cli: 'dev wifi list': add IN-USE (*) field 2013-05-31 09:38:04 +02:00
Jiří Klimeš
e949365db4 cli: 'dev wifi list': 'Infrastructure' -> 'Infra', 'Unknown' -> 'N/A' in MODE 2013-05-31 09:38:03 +02:00
Jiří Klimeš
e339a259b1 cli: 'dev wifi list': add BARS column displaying signal semi-graphically
using unicode characters:
'_'   '▂'     '▄'     '▆'     '█'
0x5f  0x2582  0x2584  0x2586  0x2588
2013-05-31 09:38:03 +02:00
Jiří Klimeš
ac4c3f395d cli: 'dev wifi list': add CHAN column 2013-05-31 09:38:03 +02:00
Jiří Klimeš
28704d1f42 cli: 'dev wifi list' use nm_utils_ssid_to_utf8() to display SSID; add SSID-HEX
This commit removes enclosing '' from SSID.
SSID-HEX is printed as a string of hex characters (each 2 chars represent one
byte).
2013-05-31 09:38:03 +02:00
Jiří Klimeš
66098fa607 cli: trivial update of NmcOutputField initializers
no actual change
2013-05-31 09:38:03 +02:00
Jiří Klimeš
1d1cfd77d3 cli: adapt the code for the new flags and printing facilities
The data are added to output_data at first, and then they are printed all at
once using print_data(), that takes care of proper alignment and display.

The static 'width' values defined in NmcOutputField columns are not used now,
but dynamically computed maximal widths override them.
2013-05-31 09:38:03 +02:00
Jiří Klimeš
7fe4345d0d cli: print_required_fields() - fix non-ASCII strings alignment in multiline 2013-05-31 09:38:03 +02:00
Jiří Klimeš
e6870789b5 cli: enhance printing to align tabular output properly and not to waste space
Until now we have used a static width defined for each column for tabular
output. Even if this worked in most cases, it was not optimal, because by
using too wide columns we wasted space, and in case of a too narrow column the
alignment broke. So, we need to know the longest string in a column to be able
to align columns in the tabular output. Thus, the printing has to be postponed
till we have all data available, and can find the widest column. This value is
then used for aligning while printing the data.

Arrays of NmcOutputField (rows) are inserted into output_data array. When all
data have been added, print_data() can be used to print the whole output_data
array with proper alignment.

A single row can be printed using print_required_fields().

Also, output flags are redone to better match the new output_data array.
The flags are needed for every row (in tabular output); they are stored in
the first field (NmcOutputField) for the whole row.

Addapted set_val_str() and set_val_arr() to set value type (char * x char **).
Added set_val_strc(), set_val_arrc() for const values that should not be freed.

output_data takes ownership of the data added to it and takes care of freeing
the memory.

See e.g.
https://bugzilla.gnome.org/show_bug.cgi?id=699503
2013-05-31 09:38:03 +02:00
Pavel Šimerda
f2e5f38f6c build: always init and update submodules in ./autogen.sh 2013-05-30 17:18:59 +02:00
Pavel Šimerda
166b1ba7b1 rdisc: add libndp submodule
This submodule includes Jiří Pírko's library for sending/recieving
neighbor discovery protocol messages and will be used for
NetworkManager's internal userspace implementation of IPv6 router
discovery.
2013-05-30 17:17:21 +02:00
Dan Winship
43617d4c1d libnm-util: deprecate nm_utils_slist_free(), use g_slist_free_full() 2013-05-29 17:13:30 -03:00
Dan Williams
c7c8655832 settings: remove duplicated dbus_g_method_return()
Could cause a crash when updating a connection, since dbus-glib may
clear DBusGMethodInvocation resources during this method.  Since
update_complete() is actually our completion/cleanup handler for
this operation chain, we can remove the standalone call to
dbus_g_method_return().
2013-05-29 14:53:45 -05:00
Dan Williams
7f6d10f3c3 trivial: rename some old ModemManager defines 2013-05-29 10:31:22 -05:00
Dan Williams
c41bd34570 libnm-glib: add support for new connection unsaved functionality 2013-05-28 12:26:56 -05:00
Dan Williams
59222e562b settings: implement Save() function for connections 2013-05-28 12:26:56 -05:00
Dan Williams
8a79fb1d41 settings: implement ability to add connections without saving them to disk
We don't always want to immediately write new connections to disk, to
facilitate "runtime" or "temporary" connections where an interface's
runtime config isn't backed by on-disk config.  Also, just because
an interface's configuration is changed doesn't necessarily mean
that new configuration should be written to disk either.

Add D-Bus methods for adding new connections and for updating existing
connections that don't immediately save the connection to disk.

Also add infrastructure to indicate to plugins that the new connection
shouldn't be immediately saved if the connection was added with the
new method.
2013-05-28 12:26:56 -05:00
Dan Williams
f73d066382 ifnet: don't require a conn_name when creating an ifnet connection
If the connection doesn't yet have a conn_name, that means it's not
yet saved to disk.
2013-05-28 12:26:56 -05:00
Dan Williams
689dadaffb ifnet: track connections by UUID not conf.d net connection name
We'll need this for later with unsaved connections.  The ifnet
plugin previously tracked connections by the "conn_name" which
was derived from keys in the /etc/conf.d/net file.  These keys
take two forms:

1) interface name

config_eth0=(
"192.168.4.121/24"
"dhcp6"
)

2) wifi SSID, either text or hex-encoded:

config_myssid=("dhcp")
config_0xab3ace=("dhcp")

The conf.d net connection name is apparently usually an interface
name, so when writing to /etc/conf.d/net the NM connection name is
changed from eg "Ethernet connection 1" to the next available
interface name based on the type of connection, eg "eth0".

The ifnet plugin actively removed connections that were not present
in /etc/conf.d/net during the reload_connections() call, but in the
future we'll want to allow unsaved connections which in the case of
ifnet clearly won't yet be written to the file.  Since only
connections written to the file have a "conn_name", tracking
connections by conn_name no longer works.
2013-05-28 12:26:55 -05:00
Dan Williams
d35cdcc7d7 ifcfg-rh: don't require a path when creating an ifcfg-rh connection 2013-05-28 12:26:55 -05:00
Dan Williams
b225a9f53b ifcfg-rh: track connections by UUID not file path
We'll need this for later with unsaved connections.
2013-05-28 12:26:55 -05:00