Commit graph

219 commits

Author SHA1 Message Date
Dan Winship
8252ebd941 cli: generate setting docs from libnm-util/nm-setting-docs.xml
nmcli used the GParamSpec doc strings to get property descriptions,
but they will be going away. Generate a .c file from the new XML
setting docs file, and link that into nmcli.
2014-06-19 17:45:02 -04:00
Dan Winship
07bb19a3bb tools: remove generate-settings-spec, which is no longer used 2014-06-19 17:45:02 -04:00
Dan Winship
cceb773510 docs: generate settings-spec.xml from libnm-util/nm-setting-docs.xml
Generate docs/api/settings-spec.xml via an XSLT stylesheet applied to
libnm-util/nm-setting-docs.xml.
2014-06-19 17:45:02 -04:00
Dan Winship
dcc109516d libnm-util: build nm-setting-docs.xml from gtk-doc and GParamSpecs
Add generate-setting-docs.py, based on tools/generate-settings-spec.c,
which generates a simple XML file describing all libnm setting
properties (still getting the default values via GParamSpec
introspection like generate-settings-spec.c does, but getting the
documentation out of the gtk-doc strings in the GIR file instead).
2014-06-19 17:45:02 -04:00
Thomas Haller
5fa1248a2f build: update gitignore file after renaming nm-dispatcher.action executable to nm-dispatcher
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-06-06 23:09:16 +02:00
Dan Williams
06e3c6d02f wifi: make Wi-Fi support a plugin
Make Wi-Fi support a plugin using the new device factory interface.
Provides a 7% size reduction in the core NM binary.

        Before    After
NM:    1154104  1071992  (-7%)
Wi-Fi:       0   110464

(all results from stripped files)
2014-05-13 12:38:43 -05:00
Dan Williams
429023b24e policy: remove old /etc/hosts cleaning code (bgo #729689)
NetworkManager stopped touching /etc/hosts in late 2010 before the
NetworkManager 0.8.1 release.  The code in nm-policy-hosts.c's only
purpose is to remove any of the entries that NetworkManager added long
ago.

I think we're at the point where people have already upgraded to
NetworkManager 0.8.1 or later and thus this code would be a NOP.  The
only risk is that some stale /etc/hosts entries will be left if you
upgrade from NM 0.8 or lower to anything higher than that.

FWIW, Ubuntu Lucid (10.04) ships NM 0.8.0 and SLES11 ships NM 0.7.0, so
if users of these distros upgraded to a later NetworkManager they might
run into the stale entries issue if we remove this code from NM.  But
given how old these distros are, it seems unlikely that users will do a
direct upgrade to something 4+ years newer...

https://bugzilla.gnome.org/show_bug.cgi?id=729689
2014-05-08 15:09:59 -05:00
Dan Williams
bce1fc7c3b libnm-glib: add testing framework and testcases
Add a fake NM service and test various aspects of the new NM D-Bus
properties.
2014-01-23 17:46:20 -06:00
Dan Williams
32a001f526 core: allow custom IP address ranges for Shared connections (bgo #675973)
Given an IPv4 address and prefix for a shared config, figure out
the DHCP address range automatically.  To keep things simple we
allow a max of 252 addresses (not including network address,
broadcast address, and the hotspot) no matter what prefix you use,
so if the address is 10.0.10.1, you still only get a range of
10.0.10.2 -> 10.0.10.254.

But we also leave some addresses available above the host address
for static stuff, like we did before.  This is done on a sliding
scale from 0 to 8 addresses, where about 1/10th the number of
available addresses are reserved.

https://bugzilla.gnome.org/show_bug.cgi?id=675973
2014-01-23 16:21:01 -06:00
Thomas Haller
63075d98a5 core: add nm_utils_ascii_str_to_int64() function
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-22 12:12:02 +01:00
Dan Winship
9c8845c35d tui: don't bother making links (nmtui-edit, etc) in build tree
They end up not working right from the build tree anyway, because the
nmtui libtool wrapper doesn't pass its argv[0] on to the actual
binary.
2014-01-16 09:19:06 -05:00
Dan Winship
3bda3fb60c nmtui: initial import of nmtui
nmtui is a TUI (curses-based Text User Interface) for NetworkManager
2013-12-13 16:00:51 +01:00
Dan Williams
12d96c30f2 core: capture DNS configuration from resolv.conf when generating connections
If the interface who's IP configuration is being captured has the default
route, then read DNS servers from resolv.conf into the NMIP[4|6]Config.

This allows NetworkManager to repopulate resolv.conf if anything changes.
For example, if the system does not define a persistent hostname, then
when a device which has generated a connection activates, a hostname
lookup will be performed.  The results of that lookup may change resolv.conf,
and thus NetworkManager must rewrite resolv.conf.  Without capturing
DNS information at startup when generating connections, an empty
resolv.conf would be written.
2013-11-22 15:01:10 -06:00
Dan Williams
64a7a045b3 core: add dcbtool manipulation logic 2013-10-31 13:29:22 -05:00
Dan Williams
77e50740a8 libnm-util: add Data Center Bridging (DCB) setting
Includes various fixes & cleanups from Thomas Haller.
2013-10-31 13:28:42 -05:00
Dan Williams
d8c9828a4d core: add nm_ip6_config_subtract()
Removes anything in 'src' from 'dst'.
2013-09-05 14:24:06 -05:00
Thomas Haller
8919d7ab49 trivial: add src/tests/test-ip4-config to .gitignore file
Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-08-06 13:48:02 -05:00
Pavel Šimerda
af02dc0d5e git: mark relative paths properly
May need further adjustments when built with different configuration.
2013-07-26 22:45:15 +02:00
Pavel Šimerda
b38f76cdb4 build: use a helper script for all valgrind tests 2013-07-26 19:08:03 +02:00
Dan Winship
10c94acbb7 update .gitignore 2013-06-06 09:45:59 -03:00
Dan Winship
227b466178 build: stop using client-side generated dbus bindings
We removed these from libnm-glib last year, but there was still one
place where we were using them in the core.
2013-05-08 15:00:12 -04:00
Dan Winship
d529580cbb libnm-glib, core: use g_cclosure_marshal_generic
Since we depend on new glib now, we can just use the generic
marshaller rather than generating our own.
2013-05-08 14:59:29 -04:00
Dan Winship
cb3a5998b3 trivial: .gitignore updates 2013-04-17 11:08:45 -04:00
Dan Winship
8ba3e3da29 trivial: update .gitignore 2013-04-04 10:21:52 -04:00
Dan Winship
53bd84feff config: move NMConfig into its own subdirectory/library
Also, remove the unused NMConfigError, and add a config-parsing test
program.
2013-04-03 10:23:47 -04:00
Pavel Šimerda
bd3c80029d trivial: add coverage data to .gitignore 2013-03-27 14:49:39 +01:00
Dan Winship
0006c6aa1d trivial: update .gitignore 2013-03-07 07:12:53 -05:00
Pavel Šimerda
bb8c75bd53 remove obsolete nm-tool
Use nmcli instead.
2013-03-04 22:11:45 +01:00
Dan Winship
22669ef10e trivial: .gitignore .vapi files 2013-01-11 14:42:03 -05:00
Dan Winship
14b19982f6 policy: add a configure option for a permissive modify.system default
Add --enable-modify-system, to change the default for
org.freedesktop.NetworkManager.settings.modify.system to allow users
to edit system connections without needing to authenticate.
2012-09-28 08:45:05 -04:00
Dan Winship
4f809291bc build: update .gitignore 2012-09-19 10:33:11 -04: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
Thomas Graf
be2e40c667 build: add "cscope" target to makefile
It builds cscope database, gets cleaned on "clean".
2011-11-14 13:40:28 +01:00
Thomas Graf
85f49630af trivial: update .gitignore to be nice to vim 2011-11-14 13:27:55 +01:00
Dan Williams
c9f1a728ac build: update gitignore 2011-08-22 20:33:07 -05:00
Dan Williams
dcffe66c28 trivial: update gitignore 2011-05-26 12:51:54 -05:00
Dan Williams
f898dbf1a9 dispatcher: enhance dispatcher script environment (bgo #648382)
For VPN connections, the interface name would be that of the VPN's
IP interface, but the script environment would be the that of the
VPN's parent device.  Enhance the environment by adding any VPN
specific details as additional environment variables prefixed by
"VPN_".  Leave the existing environment setup intact for backwards
compatiblity.

Additionally, the dispatcher never got updated for IPv6 support,
so push IPv6 configuration and DHCPv6 configuration into the
environment too.

Even better, push everything the dispatcher needs to it instead
of making the dispatcher make D-Bus requests back to NM, which
sometimes fails if NM has already torn down the device or the
connection which the device was using.

And add some testcases to ensure that we don't break backwards compat,
the testcases here were grabbed from a 0.8.4 machine with a hacked up
dispatcher to dump everything it was given from NM.
2011-05-02 22:54:28 -05:00
Eckhart Wörner
ff0ab192b9 examples: add another Qt example for listing connections 2011-04-20 19:49:41 -05:00
Eckhart Wörner
f8aa9f38da examples: add some Qt examples and build infrastructure 2011-04-20 19:48:32 -05:00
Dan Williams
d98f3f226a examples: move glib examples to a subdir 2011-04-20 19:25:50 -05:00
Dan Williams
3b0916d6f6 examples: rename another example 2011-04-20 19:15:33 -05:00
Dan Williams
4812fef794 examples: rename an example 2011-04-20 19:14:03 -05:00
Lennart Poettering
c4d387efb8 systemd: pull in network.service and introduce NetworkManager-wait-online.service
This pulls in network.target from NetworkManager.service (and not the
other way round), as suggested and agreed on on the systemd ML:

http://lists.freedesktop.org/archives/systemd-devel/2011-March/001692.html

This also introduces an auxiliary service
NetworkManager-wait-online.service that can be used to order a unit
after the point where the network is available. When this is enabled
with "systemd enable NetworkManager-wait-online.service" the unit
network.target will be delayed until the network is up, which is
suitable for synchronizing NFS mounts and similar to it.

https://bugzilla.redhat.com/show_bug.cgi?id=692008
2011-04-06 17:33:51 -05:00
Dan Williams
85d364d765 settings: fix getting default wired connection name with no connections
Due to an error in the loop logic, if there were no connections yet (like
a fresh install or a livecd or whatever) no default name would be returned
and thus ethernet devices wouldn't come up automatically.  Fix that loop
error and add testcases for it.
2011-03-30 12:02:50 -05:00
Javier Jardón
6fcd9fe8a9 build: use upstream gettext instead of glib one (bgo #644264) 2011-03-14 10:58:58 -05:00
Dan Williams
db2a1a79c9 trivial: update gitignore 2011-03-03 20:21:17 -06:00
Dan Williams
1a590cce13 include: add NM_CHECK_VERSION define 2011-03-02 17:16:27 -06:00
Dan Williams
a90a7f7dd2 docs: create new master NM documentation module 2011-02-16 16:24:16 -06:00
Dan Williams
74f25416fe examples: add an example for adding a new connection with libnm-glib 2011-02-15 12:23:05 -06:00
Dan Williams
98d5da84aa examples: rename add-connection-glib 2011-02-15 12:09:25 -06:00