summaryrefslogtreecommitdiff
path: root/examples
Commit message (Collapse)AuthorAgeFilesLines
* examples: remove unused code from "examples/python/dbus/vpn.py"Thomas Haller2020-05-071-1/+0
| | | | | lgtm.com says "The value assigned to local variable all_connections is never used". Just drop the entire statement. It's not right there.
* examples: avoid "x == None" checks in python examplesThomas Haller2020-05-072-2/+2
| | | | lgmt.com says "Testing for None should use the is operator".
* examples: avoid "except" for BaseException in examplesThomas Haller2020-05-072-2/+2
| | | | lgtm.com flags this as "Except block directly handles BaseException".
* examples: avoid non-thread-safe localtime() function exampleThomas Haller2020-05-071-1/+6
| | | | Just to silence the warning on lgtm.com.
* examples: remove unused imports from python examplesThomas Haller2020-05-0712-13/+7
|
* examples: remove unused assignment in "examples/python/gi/wifi-p2p.py"Thomas Haller2020-05-071-1/+1
| | | | lgtm.com warns about this.
* examples: add Wi-Fi P2P exampleBeniamino Galvani2020-04-271-0/+109
| | | | | Add a python example using GObject introspection that shows how to scan for Wi-Fi P2P peers and connect to one of them.
* examples: fix copy/paste comment error from another scriptDavid Drinn2020-04-111-1/+1
| | | | https://github.com/NetworkManager/NetworkManager/pull/361
* license: Add license using SPDX identifiers to meson build filesIñigo Martínez2020-02-172-0/+4
| | | | | License is missing in meson build files. This has been added using SPDX identifiers and licensed under LGPL-2.1+.
* libnm: export interface flagsBeniamino Galvani2019-11-221-0/+19
| | | | Add libnm support for the new InterfaceFlags property of NMDevice.
* dispatcher: avoid "dirname" and "basename" calls in "10-ifcfg-rh-routes.sh" ↵Thomas Haller2019-10-041-9/+5
| | | | | | | | | | | | | script The script is run for every dispatcher event. Most of the events are not actually relevant, and we just need to determine that there is nothing to do and quit. Avoid calling "dirname" and "basename". The supported ifcfg-file has a very specific form. We can just check (and parse) it in one got regular expression in bash.
* dispatcher: move return-early checks in "10-ifcfg-rh-routes.sh" firstThomas Haller2019-10-041-18/+18
| | | | | | | A shell script is executed line-by-line. Note that for most dispatcher events, "10-ifcfg-rh-routes.sh" has nothing to do and will just quit. Move those checks earlier, to avoid bash executing the code that won't be needed most of the time.
* all: unify format of our Copyright source code commentsThomas Haller2019-10-0235-36/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```bash readarray -d '' FILES < <( git ls-files -z \ ':(exclude)po' \ ':(exclude)shared/c-rbtree' \ ':(exclude)shared/c-list' \ ':(exclude)shared/c-siphash' \ ':(exclude)shared/c-stdaux' \ ':(exclude)shared/n-acd' \ ':(exclude)shared/n-dhcp4' \ ':(exclude)src/systemd/src' \ ':(exclude)shared/systemd/src' \ ':(exclude)m4' \ ':(exclude)COPYING*' ) sed \ -e 's/^\(--\|#\| \*\) *\(([cC]) *\)\?Copyright \+\(\(([cC])\) \+\)\?\(\(20\|19\)[0-9][0-9]\) *[-–] *\(\(20\|19\)[0-9][0-9]\) \+\([^ ].*\)$/\1 C1pyright#\5 - \7#\9/' \ -e 's/^\(--\|#\| \*\) *\(([cC]) *\)\?Copyright \+\(\(([cC])\) \+\)\?\(\(20\|19\)[0-9][0-9]\) *[,] *\(\(20\|19\)[0-9][0-9]\) \+\([^ ].*\)$/\1 C2pyright#\5, \7#\9/' \ -e 's/^\(--\|#\| \*\) *\(([cC]) *\)\?Copyright \+\(\(([cC])\) \+\)\?\(\(20\|19\)[0-9][0-9]\) \+\([^ ].*\)$/\1 C3pyright#\5#\7/' \ -e 's/^Copyright \(\(20\|19\)[0-9][0-9]\) \+\([^ ].*\)$/C4pyright#\1#\3/' \ -i \ "${FILES[@]}" echo ">>> untouched Copyright lines" git grep Copyright "${FILES[@]}" echo ">>> Copyright lines with unusual extra" git grep '\<C[0-9]pyright#' "${FILES[@]}" | grep -i reserved sed \ -e 's/\<C[0-9]pyright#\([^#]*\)#\(.*\)$/Copyright (C) \1 \2/' \ -i \ "${FILES[@]}" ``` https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/298
* meson: Improve Qt examplesIñigo Martínez2019-10-011-10/+3
| | | | | | | | Qt dependencies have been moved to the main build file where the rest of dependencies are located. This makes it easier to find them. The included directories has also reviewed and removed the unnecessary ones.
* meson: Improve targets involving libnm libraryIñigo Martínez2019-10-011-2/+2
| | | | | | | | | | The targets that involve the use of the `libnm` library have been improved by applying a set of changes: - Generated enum sources variable `libnm_enum` has been renamed to `libnm_enum_sources` to clearly specify what it is holding. - Indentation in the `libnm` build and test files has been fixed. - Set of objects used in targets have been grouped together.
* meson: Improve the libnm-core build fileIñigo Martínez2019-10-011-10/+9
| | | | | | | | | | | | | | | | | | The `libnm-core` build file has been improved by applying a set of changes: - Indentation has been fixed to be consistent. - Library variable names have been changed to `lib{name}` pattern following their filename pattern. - `shared` prefix has been removed from all variables using it. - Dependencies have been reviewed to store the necessary data. - The use of the libraries and dependencies created in this file has been reviewed through the entire source code. This has required the addition or the removal of different libraries and dependencies in different targets. - Some files used directly with the `files` function have been moved to their nearest path build file because meson stores their full path seamessly and they can be used anywhere later.
* meson: Use dependency for nm-default headerIñigo Martínez2019-10-011-5/+5
| | | | | | | | | | | | | The `nm-default.h` header is used widely in the code by many targets. This header includes different headers and needs different libraries depending the compilation flags. A new set of `*nm_default_dep` dependencies have been created to ease the inclusion of different directorires and libraries. This allows cleaner build files and avoiding linking unnecessary libraries so this has been applied allowing the removal of some dependencies involving the linking of unnecessary libraries.
* all: manually drop code comments with file descriptionThomas Haller2019-10-0120-27/+13
|
* all: SPDX header conversionLubomir Rintel2019-09-1066-918/+66
| | | | | $ find * -type f |xargs perl contrib/scripts/spdx.pl $ git rm contrib/scripts/spdx.pl
* examples: improve usage/synposis for nm-update2.py and nm-add-connection2.pyThomas Haller2019-08-082-4/+14
|
* example: print WireGuard parameters in nm-wg-set example scriptThomas Haller2019-07-311-0/+12
| | | | (cherry picked from commit e966f4b272331fcf99914ee2c1a980074a01ed94)
* examples: add examples/python/gi/nm-update2.py example scriptThomas Haller2019-07-251-0/+155
| | | | This is useful for manually testing Update2() D-Bus API.
* examples: add examples/python/gi/nm-add-connection2.py example scriptth/settings-add2-and-update2-optionsThomas Haller2019-07-251-0/+156
| | | | This is useful for manually testing AddConnection2() D-Bus API.
* all: drop vim file variables from source filesThomas Haller2019-06-1133-33/+0
| | | | sed '1,3 { /^\(#\|--\) *vim:/d }; 1 { /^\/\* *vim:.*\*\/$/ d}' -i $(git grep -l 'vim:')
* all: drop emacs file variables from source filesThomas Haller2019-06-1150-50/+0
| | | | | | | | | | | | | | | | | | | | | | We no longer add these. If you use Emacs, configure it yourself. Also, due to our "smart-tab" usage the editor anyway does a subpar job handling our tabs. However, on the upside every user can choose whatever tab-width he/she prefers. If "smart-tabs" are used properly (like we do), every tab-width will work. No manual changes, just ran commands: F=($(git grep -l -e '-\*-')) sed '1 { /\/\* *-\*- *[mM]ode.*\*\/$/d }' -i "${F[@]}" sed '1,4 { /^\(#\|--\|dnl\) *-\*- [mM]ode/d }' -i "${F[@]}" Check remaining lines with: git grep -e '-\*-' The ultimate purpose of this is to cleanup our files and eventually use SPDX license identifiers. For that, first get rid of the boilerplate lines.
* examples: use '\n' line endings in "examples/C/qt/add-connection-wired.cpp"Thomas Haller2019-06-111-76/+76
| | | | | | | | | | Find with: git ls-files -z | xargs -0 file | grep with\ CRLF Fix with: dos2unix examples/C/qt/add-connection-wired.cpp
* gitignore: merge gitignore filesThomas Haller2019-05-191-2/+0
| | | | | | | | | For the most part, we only have one main .gitignore file. There were a few nested files, merge them into the main file. I find it better to have only one gitignore file, otherwise the list of ignored files is spread out through the working directory.
* build/meson: rename "nm_core_dep" to "libnm_core_dep"Thomas Haller2019-04-181-1/+1
| | | | | | | The library is called "libnm_core". So the dependency should be called "libnm_core_dep", like in all other cases. (cherry picked from commit c27ad37c278461fd783b6db56844683ab3088345)
* examples: drop rtl drivers from the mac address change blacklistLubomir Rintel2019-04-081-2/+2
| | | | | | | | | | Just in case anyone uses this file as-is; I believe that these drivers don't need to be in a blacklist. There's a good chance they either work or we can detect failure to change a MAC address on runtime and act accordingly. Blacklisting the driver gives the driver maintainers no chance to fix the behavior and we are not able to log a warning on failure.
* examples: don't set "ethernet.cloned-mac-address" in ↵Thomas Haller2019-04-081-6/+5
| | | | | | | "10-no-wifi-scan-rand-mac-address.conf" These are workarounds for Wi-Fi drivers. Don't set the unrelated "ethernet.cloned-mac-address" property.
* examples: blacklist drivers "wl" and "8188eu" in "31-mac-addr-change.conf" ↵Thomas Haller2019-04-051-4/+8
| | | | | | | | | | | | | | | | | | | | for "wifi.scan-rand-mac-address" These drivers work bad with changing the MAC address. See [1], [2], [3] for reports about failures with "wl" driver. [3] also blacklists driver "8188eu". While we already blacklist "r8188eu", it seems that some installations use the alternative name "8188eu" [4]. "wpasupplicant" package on Ubuntu 18.04 (bionic) provides the file "/usr/lib/NetworkManager/conf.d/no-mac-addr-change.conf", which blacklists the same drivers. See also bug [3] which added the file. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1695696 [2] https://bugzilla.gnome.org/show_bug.cgi?id=777523#c27 [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833507 [4] https://github.com/lwfinger/rtl8188eu/blob/9a56f32c2a46be5b81f0eedf49ad44ea8f10bfae/dkms.conf
* all: codespell fixesLubomir Rintel2019-03-111-1/+1
| | | | | | | Codespel run with the same arguments as described in commit 58510ed56679 ('docs: misc. typos pt2'). (cherry picked from commit bf0c4e6ac2855088e3962693886bb6ab71856f7b)
* libnm: change nm_wireguard_peer_set_endpoint() API to allow validationThomas Haller2019-03-071-1/+1
| | | | | | | | This is an API break since 1.16-rc1. Similar to previous commit. (cherry picked from commit 8ae9aa2428c10aafb837c692fb39bfd04ef4235c)
* libnm: change nm_wireguard_peer_set_public_key() API to allow validationThomas Haller2019-03-071-1/+1
| | | | | | | | This is an API break since 1.16-rc1. Similar to previous commit. (cherry picked from commit 7962653918fbfd66b549d389a1cb2cf96ae0d3eb)
* libnm: change nm_wireguard_peer_set_preshared_key() API to allow validationThomas Haller2019-03-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is an API break since 1.16-rc1. The functions like _nm_utils_wireguard_decode_key() are internal API and not accessible to a libnm user. Maybe this should be public API, but for now it is not. That makes it cumbersome for a client to validate the setting. The client could only reimplement the validation (bad) or go ahead and set invalid value. When setting an invalid value, the user can afterwards detect it via nm_wireguard_peer_is_valid(), but at that point, it's not clear which exact property is invalid. First I wanted to keep the API conservative and not promissing too much. For example, not promising to do any validation when setting the key. However, libnm indeed validates the key at the time of setting it instead of doing lazy validation later. This makes sense, so we can keep this promise and just expose the validation result to the caller. Another downside of this is that the API just got more complicated. But it not provides a validation API, that we previously did not have. (cherry picked from commit d7bc1750c1bcc5082528d1f277e09454b2cbf1c2)
* examples: fix handling secrets in nm-wg-setThomas Haller2019-02-261-2/+17
| | | | | | | | | | | | | | When setting any secrets via D-Bus' Update2 call, then it assumes that all settings are reset. That means, when we modify any secrets in the client, we need to first load them all. Anyway, load always all secrets, then we can also print them in the get output. Honor WG_HIDE_KEYS like `wg` does. (cherry picked from commit 6aa9e52bd88670f10861e402a8c61c282a1e97c2)
* examples: improve hints about existing WireGuard profiles in nm-wg-setThomas Haller2019-02-261-6/+21
| | | | (cherry picked from commit b5a458c5ffeec091cc60abbabaed4d1a49952872)
* examples: add python example script "nm-wg-set" for modifying WireGuard profileThomas Haller2019-02-221-0/+423
| | | | | | | | Use the script to test how GObject introspection with libnm's WireGuard support works. Also, since support for WireGuard peers is not yet implemented in nmcli (or other clients), this script is rather useful.
* build: meson: Add trailing commasIñigo Martínez2018-12-202-6/+6
| | | | | | | Add missing trailing commas that avoids getting noise when another file/parameter is added and eases reviewing changes[0]. [0] https://gitlab.gnome.org/GNOME/dconf/merge_requests/11#note_291585
* examples: fix wrong example configuration in "31-mac-addr-change.conf"Thomas Haller2018-12-101-1/+6
| | | | Fixes: b869d9cc0dda4fe5300f5ec5b5a090199ecd4e3e
* all: say Wi-Fi instead of "wifi" or "WiFi"Lubomir Rintel2018-11-294-6/+6
| | | | | | | | Correct the spelling across the *entire* tree, including translations, comments, etc. It's easier that way. Even the places where it's not exposed to the user, such as tests, so that we learn how is it spelled correctly.
* dispatcher: fix shellcheck warningsBeniamino Galvani2018-10-061-2/+2
| | | | | | | Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. And likewise, prefer [ p ] || [ q ] over [ p -o q ]. https://github.com/koalaman/shellcheck/wiki/SC2166
* docs: misc. typosluz.paz2018-09-157-7/+7
| | | | | | Found via `codespell -q 3 --skip="*.po"` https://github.com/NetworkManager/NetworkManager/pull/203
* examples: make 10-ifcfg-rh-routes.sh self-containedBeniamino Galvani2018-08-281-9/+97
| | | | | | | | | | Don't call the 'if{up,down}-routes' scripts because in next Fedora versions network scripts will be deprecated and will not be present in the default installation. Instead, just copy and adapt the code from those scripts. https://bugzilla.redhat.com/show_bug.cgi?id=1618419
* all: don't use gchar/gshort/gint/glong but C typesThomas Haller2018-07-112-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We commonly don't use the glib typedefs for char/short/int/long, but their C types directly. $ git grep '\<g\(char\|short\|int\|long\|float\|double\)\>' | wc -l 587 $ git grep '\<\(char\|short\|int\|long\|float\|double\)\>' | wc -l 21114 One could argue that using the glib typedefs is preferable in public API (of our glib based libnm library) or where it clearly is related to glib, like during g_object_set (obj, PROPERTY, (gint) value, NULL); However, that argument does not seem strong, because in practice we don't follow that argument today, and seldomly use the glib typedefs. Also, the style guide for this would be hard to formalize, because "using them where clearly related to a glib" is a very loose suggestion. Also note that glib typedefs will always just be typedefs of the underlying C types. There is no danger of glib changing the meaning of these typedefs (because that would be a major API break of glib). A simple style guide is instead: don't use these typedefs. No manual actions, I only ran the bash script: FILES=($(git ls-files '*.[hc]')) sed -i \ -e 's/\<g\(char\|short\|int\|long\|float\|double\)\>\( [^ ]\)/\1\2/g' \ -e 's/\<g\(char\|short\|int\|long\|float\|double\)\> /\1 /g' \ -e 's/\<g\(char\|short\|int\|long\|float\|double\)\>/\1/g' \ "${FILES[@]}"
* examples/python: drop nmex.pyLubomir Rintel2018-06-291-72/+0
| | | | | | It's not an example and not actually used. https://github.com/NetworkManager/NetworkManager/pull/141
* examples/qt/meson: drop dbus-glib dependencyLubomir Rintel2018-06-281-1/+0
| | | | | | It's not actually required. (cherry picked from commit 22813fdc6005fa3ed0ecddfdb21fefd4bea616c3)
* examples/python: utilize nm_utils_get_timestamp_msec()Lubomir Rintel2018-06-151-3/+1
|
* Revert "example/python: avoid falling back to CLOCK_MONOTONIC"Lubomir Rintel2018-06-151-2/+12
| | | | | | | | | | | | | | | | | | | This breaks client tests on avery old kernel (2.6.32, RHEL 6). Traceback (most recent call last): File "./clients/tests/test-client.py", line 699, in setUp self.srv = NMStubServer(self._testMethodName) File "./clients/tests/test-client.py", line 309, in __init__ start = nmex.nm_boot_time_ns() File "/builddir/build/BUILD/NetworkManager-1.11.4/examples/python/nmex.py", line 54, in nm_boot_time_ns return sys_clock_gettime_ns(CLOCK_BOOTTIME) File "/builddir/build/BUILD/NetworkManager-1.11.4/examples/python/nmex.py", line 50, in sys_clock_gettime_ns return _sys_clock_gettime_ns(clock_id) File "/builddir/build/BUILD/NetworkManager-1.11.4/examples/python/nmex.py", line 39, in f raise OSError(errno_, os.strerror(errno_)) OSError: [Errno 22] Invalid argument This reverts commit 119e828dbeeeab134e83890b18d0b7a0c1838786.
* example/python: avoid falling back to CLOCK_MONOTONICLubomir Rintel2018-06-141-12/+2
| | | | | | | According to the D-Bus API specification we return CLOCK_BOOTTIME only. We don't support kernels too old to have it -- the fall back to CLOCK_MONOTONIC is only there to be able to run unit tests on RHEL 6 kernel and will eventually go away.