Commit graph

826 commits

Author SHA1 Message Date
Thomas Haller
541f543451 build: merge "src/settings/plugins/keyfile/Makefile.am" into toplevel Makefile 2016-10-19 17:16:08 +02:00
Thomas Haller
274de2555b build/trivial: rename VALGRIND_RULES in Makefile.am to NM_LOG_COMPILER 2016-10-19 15:26:30 +02:00
Thomas Haller
5424e3a063 keyfile: disable permission checks of keyfile for tests
The tests were checking that the keyfiles had permission
0600 and there was a check-local target to prepare the permissons
of the tests.

That is inconvenient, and it is unexpected to have a check-local
target for such a case.

Also, the tests were not testing that keyfile reader would
bail out on invalid permissions. So just skip the check for
testing.
2016-10-19 15:26:30 +02:00
Beniamino Galvani
f63e28b147 ifcfg-rh: support the autoconnect-retries property 2016-10-16 12:56:09 +02:00
Thomas Haller
e95090d303 settings/build: add linker version script for settings plugins 2016-10-13 21:33:33 +02:00
Thomas Haller
38d669d5ee build: move check_so_symbols for settings plugins to parent makefile
Like for the device plugins, check_so_symbols is called from the
Makefile of the plugin itself, not from tests/Makefile.am.

Just keep it consistent.
2016-10-13 21:33:33 +02:00
Beniamino Galvani
21358edc54 core: introduce and use nm_utils_file_set_contents()
In some places we use g_file_set_contents() after a umask() to limit
the permissions of the created file. Unfortunately if the containing
directory has a default ACL the umask will be ignored and the new file
will have a mode equal to the default ACL (since g_file_set_contents()
opens the file with mode 0666).

Calling a chmod() after the file gets created is insecure (see commit
60b7ed3bdc) and so the only solution seems to be to reimplement
g_file_set_contents() and accept a mode as parameter.

We already had similar functions in the tree, consolidate them into a
new generic utility function.

https://bugzilla.gnome.org/show_bug.cgi?id=769702
2016-10-12 14:54:57 +02:00
Thomas Haller
97d3b07753 ifcfg-rh/build: fix build error due to line-break in Makefile.am
Fixes: dd4ce10c92
2016-10-11 12:12:25 +02:00
Thomas Haller
051bcd9f1c ifcfg-rh: hide shvarFile struct 2016-10-11 11:37:46 +02:00
Thomas Haller
29f7688da5 ifcfg-rh: avoid copying and unescaping current line when unsetting value 2016-10-11 11:37:46 +02:00
Thomas Haller
b00ee52ab3 ifcfg-rh/trivial: move code in shvar.c 2016-10-11 11:37:46 +02:00
Thomas Haller
96846352de ifcfg-rh: minor cleanups in writer 2016-10-11 11:37:46 +02:00
Thomas Haller
0ed009f236 ifcfg-rh: use svUnsetValue()
sed 's/^\(\t\+\)svSetValue (\([a-z]\+\), \("[^"]*"\|[*a-z_0-9A-Z]\+\(\(->\|.\)[a-z0-9A-Z_]\+\)\), NULL, \(FALSE\|TRUE\));$/\1svUnsetValue (\2, \3);/g' src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c -i
2016-10-11 11:37:46 +02:00
Thomas Haller
491b6027ba ifcfg-rh: add svUnsetValue() 2016-10-11 11:37:46 +02:00
Thomas Haller
b3b0cb0b17 ifupdown: rename files to "nms-ifupdown-*" 2016-10-11 11:37:46 +02:00
Thomas Haller
1eac4f3e60 ifnet: rename files to "nms-ifnet-*" 2016-10-11 11:37:46 +02:00
Thomas Haller
dd4ce10c92 settings/build: build and use libnms-*-core.la library
Don't have the test recompile parts of the settings plugin.
Instead, build one core library that is used both by the test
and the settings plugin.

Advantage: might save some compilation time, but more importantly: the
test use the same object code then NetworkManager itself, avoiding
different behavior due to compilation flags.
2016-10-11 11:37:46 +02:00
Thomas Haller
eab8b06d8b ifcfg-rh/tests: merge test-ifcfg-rh-utils into test-ifcfg-rh
We don't need need separate unit tests for basic tests that can
just run in the same test-run. If you really need to run only
a particular set of tests, try
  ./src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh -p /settings/plugins/ifcfg-rh/utils

Results in less compilation (time), and less binaries to test during
`make check`.
2016-10-11 11:37:46 +02:00
Thomas Haller
254f892c9c ifcfg-rh: rename files 2016-10-11 11:37:46 +02:00
Thomas Haller
d18e71f35a ibft/build: cleanup Makefile.am to build one core library from ibft plugin
Instead of having the tests re-compile "nms-ibft-reader.c".
2016-10-11 11:37:46 +02:00
Thomas Haller
68f33a846e ibft: rename function names for ibft plugin 2016-10-11 11:37:46 +02:00
Thomas Haller
912526f543 ibft: rename files to "nms-ibft-*" 2016-10-11 11:37:46 +02:00
Thomas Haller
33d05f5295 keyfile/build: set LDFLAGS for buiding keyfile tests 2016-10-11 11:37:46 +02:00
Thomas Haller
1bea5d5048 keyfile: add logging macros to keyfile plugin 2016-10-06 20:41:20 +02:00
Thomas Haller
34f65e6ef8 keyfile: fix calling parent implementation in NMSKeyfilePlugin:constructed() 2016-10-06 20:41:20 +02:00
Thomas Haller
4d194c3833 keyfile/build: don't build keyfile settings plugin as library
We directly include keyfile sources in NetworkManager by compiling
them into "libNetworkManager.la".

Drop unused libraries from the Makefile.
2016-10-06 20:41:20 +02:00
Thomas Haller
8b1411712a keyfile: refactor GObject type creation 2016-10-06 20:41:20 +02:00
Thomas Haller
5d80a8a78b keyfile: rename public keyfile functions and names 2016-10-06 20:41:20 +02:00
Thomas Haller
93c8381965 keyfile: rename files
Setting plugins should have their own name prefix (nms) and
keyfile should have as prefix "nms-kf". As a first step, rename
the files.
2016-10-06 20:41:20 +02:00
Thomas Haller
a63867a40b build: use NetworkManager logging domain for device and settings plugins
First of all, G_LOG_DOMAIN only matters when using g_log() directly.
Inside core, we always want to log via nm-logging. Every call to a
g_log() is a bug in the first place (like a failed assertion that logs
a g_critical() during g_return_if_fail()).

So, for all practic purposes, the logging domain is not used.

For nm-logging, the G_LOG_DOMAIN has no effect. Unless we find a proper
use of this domain, G_LOG_DOMAIN should not differ from what the rest of
core.
2016-10-06 20:41:20 +02:00
Thomas Haller
8bc8d343ca ifcfg-rh/proxy: fix memleak in make_proxy_setting() 2016-10-05 14:58:03 +02:00
Thomas Haller
8b51e345af libnm/proxy: add proxy setting for non-slave connection during normalization
And reject slave settings with proxies.
2016-10-05 14:53:21 +02:00
Thomas Haller
29b576bd70 proxy: cleanup handling of proxy-method
The numeric value of NM_SETTING_PROXY_METHOD_NONE should be zero,
as that is the more natural default.

Also, cast all uses of the enum values in g_object_set() to
(int).
2016-10-05 14:46:18 +02:00
Thomas Haller
a93fee0844 keyfile/tests: refactor loading plain keyfile via glib API 2016-10-05 14:46:18 +02:00
Thomas Haller
cadeaf9c20 keyfile/tests: refactor uuid creation in test 2016-10-05 14:46:18 +02:00
Thomas Haller
00ef37cd98 keyfile/tests: refactor writing of test keyfile 2016-10-05 14:46:18 +02:00
Thomas Haller
9f9e4b0c35 keyfile/tests: use cleanup attribute for keyfile 2016-10-05 14:46:18 +02:00
Thomas Haller
f25cd2b844 keyfile/tests: refactor checking re-reading keyfile in tests 2016-10-05 14:46:18 +02:00
Thomas Haller
3e13ebd1c9 keyfile/tests: refactor tests to use cleanup attributes 2016-10-05 14:46:18 +02:00
Atul Anand
812b8774f6 proxy: remove unnecessary APIs
Unnecessary APIs have been removed from nm-setting-proxy, client like
nm-connection-editor are expected to create a PAC script snippet the load
the location of file in NM.
2016-10-04 11:44:44 +02:00
Atul Anand
86d4573baa src: Fixes to add Proxy Feature
src: Fixes in nm-device.c and nm-vpn-connection.c to update PacRunner
at the right place and moment. When a device goes up PacRunner is
configured with the Device IPxConfigs and Proxy Config. When it goes
down the same configuration is removed from PacRunner.

ifcfg-rh: Fixed to read and write proxy settings to the ifcfg network
scripts.
2016-10-04 11:44:44 +02:00
Thomas Haller
4d37f7a1e9 core: refactor private data in "src"
- use _NM_GET_PRIVATE() and _NM_GET_PRIVATE_PTR() everywhere.

- reorder statements, to have GObject related functions (init, dispose,
  constructed) at the bottom of each file and in a consistent order w.r.t.
  each other.

- unify whitespaces in signal and properties declarations.

- use NM_GOBJECT_PROPERTIES_DEFINE() and _notify()

- drop unused signal slots in class structures

- drop unused header files for device factories
2016-10-04 09:50:56 +02:00
Thomas Haller
32f78ae6c3 libnm: expose nm_utils_is_json_object() utility function
Since we possibly already link against libjansson, we can also expose some
helper utils which allows nmcli to do basic validation of JSON without
requiring to duplicate the effort of using libjansson.

Also, tighten up the cecks to ensure that we have a JSON object at hand.
We are really interested in that and not of arrays or literals.
2016-09-27 10:56:42 +02:00
Beniamino Galvani
fb40060ac1 build: add macro to check shared objects symbols 2016-09-20 13:43:20 +02:00
Francesco Giudici
b50fc0d47e tests/ifupdown: add missing source-stanza files reference from makefile
Fixes: ada6b96de9
2016-09-13 16:45:40 +02:00
Beniamino Galvani
b519b96c4e ifcfg-rh: fill 'auth-alg' with the original value for WPA-PSK
Restore the original value of auth-alg, which can be NULL or 'open'
for WPA-PSK.

https://bugzilla.gnome.org/show_bug.cgi?id=770907
2016-09-12 16:04:38 +02:00
Beniamino Galvani
00c4e7e73a ifcfg-rh: add wifi protocols only if present in connection file
An empty 802-11-wireless-security.proto is equivalent to
'wpa,rsn'. Previously we added the two protocols when reading the
connection and the variables were missing, with the result that an
empty value would be read as 'wpa,rsn' at the next restart. This is
harmless but makes the two connections appear as different, with bad
effects when 'monitor-connection-files' is enabled.

Ensure that the original value persists after a write/read cycle.

https://bugzilla.gnome.org/show_bug.cgi?id=770907
2016-09-12 16:04:27 +02:00
Thomas Haller
8bae6e588f ifcfg-rh: remove dead code from write_ip4_setting()
s_ip4 cannot be NULL and fake_ip4 is never TRUE.

Found by Coverity.

Fixes: cf7b8866ce
2016-09-09 01:01:30 +02:00
Thomas Haller
0ef8e98e73 ifupdown: add curly braces to for loop 2016-09-07 13:19:06 +02:00
Scott Sweeny
ada6b96de9 plugins: ifupdown: support source-directory stanza
Enable the ifupdown settings plugin to read interface
definitions from the source directory:

/etc/network/interfaces.d/

https://mail.gnome.org/archives/networkmanager-list/2016-September/msg00014.html
2016-09-07 13:15:42 +02:00