summaryrefslogtreecommitdiff
path: root/docs/libnm
Commit message (Collapse)AuthorAgeFilesLines
* docs: include the license boilerplate instead of full GPL textLubomir Rintel2019-09-101-1/+39
| | | | | | | | What's actually needed here is an explaination of how the license applies along with the explanation where to find the full text. Also, the libnm documentation was lacking the licensing information altogether. Fix fixes it too.
* build: use regexp in gtkdoc --ignore-decorators optionBeniamino Galvani2019-09-062-7/+2
| | | | | | | gtkdoc-scan supports regular expressions in the --ignore-decorators command-line option. Since it is easier to use a regexp than grepping macros from a source file, revert the ugly solution from commit 2d941dc95a1d ('build: fix errors when building with gtk-doc 1.32').
* build: fix errors when building with gtk-doc 1.32Beniamino Galvani2019-09-052-1/+7
| | | | | | | | | | | | | | | | | | gtkdoc-scan 1.32 performs stricter checks on structures definitions and so it complains on: /build/networkmanager/src/NetworkManager/libnm/./nm-vpn-plugin-old.h:0: warning: partial declaration (struct) : typedef struct { NM_DEPRECATED_IN_1_2 GObject parent; } NMVpnPluginOld NM_DEPRECATED_IN_1_2; because of the unrecognized token 'NM_DEPRECATED_IN_1_2'. Pass all allowed macros to gtkdoc-scan through the --ignore-decorators argument. https://gitlab.gnome.org/GNOME/gtk-doc/issues/98 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/238
* libnm-core: add ovs-dpdk settingLubomir Rintel2019-06-141-0/+1
|
* libnm,cli: add NMSettingWireGuardThomas Haller2019-02-221-0/+1
| | | | | | | | | | | | | | For now only add the core settings, no peers' data. To support peers and the allowed-ips of the peers is more complicated and will be done later. It's more complicated because these are nested lists (allowed-ips) inside a list (peers). That is quite unusual and to conveniently support that in D-Bus API, in keyfile format, in libnm, and nmcli, is a effort. Also, it's further complicated by the fact that each peer has a secret (the preshared-key). Thus we probably need secret flags for each peer, which is a novelty as well (until now we require a fixed set of secrets per profile that is well known).
* wifi-p2p: rename files for consistent Wi-Fi P2P namingThomas Haller2019-02-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | We named the types inconsistently: - "p2p-wireless" ("libnm-core/nm-setting-p2p-wireless.h") - "p2p" ("libnm/nm-p2p-peer.h") - "p2p-wifi" ("src/devices/wifi/nm-device-p2p-wifi.h") It seems to me, "libnm/nm-p2p-peer.h" should be qualified with a "Wi-Fi" specific name. It's not just peer-to-peer, it's Wi-Fi P2P. Yes, there is an inconsistency now, because there is already "libnm/nm-access-point.h". It seems to me (from looking at the internet), that the name "Wi-Fi P2P" is more common than "P2P Wi-Fi" -- although both are used. There is also the name "Wi-Fi Direct". But it's not clear which name should be preferred here, so stick to "Wi-Fi P2P". In this first commit only rename the files. The following commit will rename the content.
* libnm: Add NMDeviceP2PWifiBenjamin Berg2019-01-271-0/+1
|
* libnm: Add class to handle P2P peersBenjamin Berg2019-01-271-0/+1
| | | | | This adds the introspection data and P2P peer handling to libnm. To be usable the P2P device handling is also needed.
* core: Add basic P2P Wi-Fi SettingsBenjamin Berg2019-01-271-0/+1
| | | | | The support is rather basic and only allows connecting to a specific peer. However, this is actually already enough for many usecases.
* build: meson: Add trailing commasIñigo Martínez2018-12-201-5/+5
| | | | | | | 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
* build: fix check-docs.sh for out-of-tree buildsThomas Haller2018-10-251-7/+0
| | | | Fixes: 7a59cd274485e4c0345c563d48e516967630d7f0
* docs: misc. typos pt2luz.paz2018-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | | Remainder of typos found using `codespell -q 3 --skip="./shared,./src/systemd,*.po" -I ../NetworkManager-word-whitelist.txt` whereby whitelist consists of: ``` ans busses cace cna conexant crasher iff liftime creat nd sav technik uint ``` https://github.com/NetworkManager/NetworkManager/pull/205
* docs/test: add check that gtk-doc contains patch to generate proper ↵Thomas Haller2018-09-141-0/+12
| | | | | | | | | | | | | documentation In libnm, we prefer opaque typedefs. gtk-doc needs to be patched to properly generate documentation. Add a check for that. Add a test. By default, this does not fail but just prints a warning. The test can be made failing by setting NMTST_CHECK_GTK_DOC=1. See-also: https://gitlab.gnome.org/GNOME/gtk-doc/merge_requests/2 (cherry picked from commit 02464c052e2f8a1e88b012e0a29f5f66fce310ad)
* libnm/crypto: add header "nm-crypto-impl.h" for crypto implementationThomas Haller2018-09-042-0/+2
| | | | | | There are two aspects: the public crypto API that is provided by "nm-crypto.h" header, and the internal header which crypto backends need to implement. Split them.
* libnm/crypto: rename libnm's crypto filesThomas Haller2018-09-042-2/+2
| | | | | "crypto.h" did not follow our common NM style naming. Rename the files.
* all: point git references to the GitLab instanceLubomir Rintel2018-08-271-1/+1
| | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/2
* all: add 'match' settingBeniamino Galvani2018-08-111-0/+1
| | | | | | | Add a new 'match' setting containing properties to match a connection to devices. At the moment only the interface-name property is present and, contrary to connection.interface-name, it allows the use of wildcards.
* libnm, cli, ifcfg-rh: add NMSettingEthtool settingThomas Haller2018-08-101-0/+1
| | | | | | | | | | | | | | | | | | | Note that in NetworkManager API (D-Bus, libnm, and nmcli), the features are called "feature-xyz". The "feature-" prefix is used, because NMSettingEthtool possibly will gain support for options that are not only -K|--offload|--features, for example -C|--coalesce. The "xzy" suffix is either how ethtool utility calls the feature ("tso", "rx"). Or, if ethtool utility specifies no alias for that feature, it's the name from kernel's ETH_SS_FEATURES ("tx-tcp6-segmentation"). If possible, we prefer ethtool utility's naming. Also note, how the features "feature-sg", "feature-tso", and "feature-tx" actually refer to multiple underlying kernel features at once. This too follows what ethtool utility does. The functionality is not yet implemented server-side.
* libnm: introduce NMDeviceWireGuardJavier Arteaga2018-08-061-0/+1
|
* libnm-core: add SR-IOV settingBeniamino Galvani2018-07-111-0/+1
| | | | Add a setting containing SR-IOV parameters.
* docs: provide soft descriptions for NM{Simple,Remote}ConnectionLubomir Rintel2018-06-281-1/+1
| | | | ...and order them on more logical places in the libnm manual.
* docs: include missing documentation in libnm and D-Bus docsLubomir Rintel2018-06-281-5/+31
| | | | Check that we don't repeat the omission in future.
* docs: update copyright yearLubomir Rintel2018-06-281-0/+1
|
* build: allow building with address sanitizer only for executablesBeniamino Galvani2018-02-151-2/+4
| | | | | | | | | | | | Shared libraries built with sanitizers are a bit inconvenient to use because they require that any application linking to them is run with libasan preloaded using LD_PRELOAD. This limitation makes the sanitizer support less useful because applications will refuse to start unless there is a special environment variable set. Let's turn the --enable-address-sanitizer configure flag into --with-address-sanitizer=yes|no|exec so that is possible to enable asan only for executables.
* all: replace non-leading tabs with spacesThomas Haller2018-02-071-6/+6
| | | | | | We commonly only allow tabs at the beginning of a line, not afterwards. The reason for this style is so that the code looks formated right with tabstop=4 and tabstop=8.
* version: drop NM_VERSION_MAX_ALLOWED defines for internal buildThomas Haller2018-01-231-1/+0
| | | | | | It already defaults to the right value. We only need to define NM_VERSION_MIN_REQUIRED, so that parts of our internal build can make use of deprecated API.
* version: combine NM_VERSION_CUR_STABLE and NM_VERSION_NEXT_STABLEThomas Haller2018-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need to have two version defines "CUR" and "NEXT". The main purpose of these macros (if not their only), is to make NM_AVAILABLE_IN_* and NM_DEPRECATED_IN_* macros work. 1) At the precise commit of a release, "CUR" and "NEXT" must be identical, because whenever the user configures NM_VERSION_MIN_REQUIRED and NM_VERSION_MAX_ALLOWED, then they both compare against the current version, at which point "CUR" == "NEXT". 2) Every other commit aside the release, is a development version that leads up the the next coming release. But as far as versioning is concerned, such a development version should be treated like that future release. It's unstable API and it may or may not be close to later API of the release. But we shall treat it as that version. Hence, also in this case, we want to set both "NM_VERSION_CUR_STABLE" and again NEXT to the future version. This makes NM_VERSION_NEXT_STABLE redundant. Previously, the separation between current and next version would for example allow that NM_VERSION_CUR_STABLE is the previously release stable API, and NM_VERSION_NEXT_STABLE is the version of the next upcoming stable API. So, we could allow "examples" to make use of development API, but other(?) internal code still restrict to unstable API. But it's unclear which other code would want to avoid current development. Also, the points 1) and 2) were badly understood. Note that for our previousy releases, we usually didn't bump the macros at the stable release (and if we did, we didn't set them to be the same). While using two macros might be more powerful, it is hard to grok and easy to forget to bump the macros a the right time. One macro shall suffice. All this also means, that *immediately* after making a new release, we shall bump the version number in `configure.ac` and "NM_VERSION_CUR_STABLE".
* all: require glib 2.40lr/glib-2-40Lubomir Rintel2018-01-181-3/+0
| | | | | | RHEL 7.1 and Ubuntu 14.04 LTS both have this. https://bugzilla.gnome.org/show_bug.cgi?id=792323
* meson: Use string variables extensivelyIñigo Martínez2018-01-101-1/+1
| | | | | | | The strings holding the names used for libraries have also been moved to different variables. This way they would be less error as these variables can be reused easily and any typing error would be quickly detected.
* build: Add meson build files to distributable filesIñigo Martínez2018-01-101-1/+1
| | | | | | | | | | | | | Although it is possible to generate distributable files on meson since version 0.41 by using the `ninja dist` command, autotools does different things that end up creating a different distributable file. meson build files have been added to autotools build files as distributable files, so the whole meson port would also be distributed. https://mail.gnome.org/archives/networkmanager-list/2018-January/msg00047.html
* build: Remove default install directoriesIñigo Martínez2018-01-021-5/+2
| | | | | | | | | | The install directories of those targets that match the default install directories have been removed because they are redundant. This also allows a simple meson build files and it is unnecessary to create some paths. https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00078.html
* build: add initial support for meson build systemIñigo Martínez2017-12-131-0/+55
| | | | | | | | | | meson is a build system focused on speed an ease of use, which helps speeding up the software development. This patch adds meson support along autotools. [thaller@redhat.com: rebased patch and adjusted for iwd support] https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00022.html
* docs/libnm: add some more documentationlr/api-docsLubomir Rintel2017-03-171-18/+124
|
* docs: update yearsLubomir Rintel2017-03-021-1/+6
|
* docs: add missing links to dummy and macsec device/settingBeniamino Galvani2017-02-231-0/+4
| | | | | Fixes: b42f780e045c69e6b2c350dcd6de760c673a78e0 Fixes: d252a99fa25359e3795abcacfae08c76dc5386b8
* libnm: implement support for DNS manager propertiesBeniamino Galvani2016-12-121-0/+1
|
* libnm: use the o.fd.DBus.ObjectManager API for object managementlr/object-managerLubomir Rintel2016-11-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This speeds up the initial object tree load significantly. Also, it reduces the object management complexity by shifting the duties to GDBusObjectManager. The lifetime of all NMObjects is now managed by the NMClient via the object manager. The NMClient creates the NMObjects for GDBus objects, triggers the initialization and serves as an object registry (replaces the nm-cache). The ObjectManager uses the o.fd.DBus.ObjectManager API to learn of the object creation, removal and property changes. It takes care of the property changes so that we don't have to and lets us always see a consistent object state. Thus at the time we learn of a new object we already know its properties. The NMObject unfortunately can't be made synchronously initializable as the NMRemoteConnection's settings are not managed with standard o.fd.DBus Properties and ObjectManager APIs and thus are not known to the ObjectManager. Thus most of the asynchronous object property changing code in nm-object.c is preserved. The objects notify the properties that reference them of their initialization in from their init_finish() methods, thus the asynchronously created objects are not allowed to fail creation (or the dependees would wait forever). Not a problem -- if a connection can't get its Settings, it's either invisible or being removed (presumably we'd learn of the removal from the object manager soon). The NMObjects can't be created by the object manager itself, since we can't determine the resulting object type in proxy_type() yet (we can't tell from the name and can't access the interface list). Therefore the GDBusObject is coupled with a NMObject later on. Lastly, now that all the objects are managed by the object manager, the NMRemoteSettings and NMManager go away when the daemon is stopped. The complexity of dealing with calls to NMClient that would require any of the resources that these objects manage (connection or device lists, etc.) had to be moved to NMClient. The bright side is that his allows for removal all of the daemon presence tracking from NMObject.
* docs: libnm: add type headers to scan listBeniamino Galvani2016-05-051-2/+0
| | | | | | | | nm-core-types.h and nm-types.h contain the actual definition of types and gtk-doc won't generate a "Implemented interfaces" section if they are not included. https://bugzilla.gnome.org/show_bug.cgi?id=765983
* docs: don't set the online-location attributeLubomir Rintel2016-04-081-1/+1
| | | | | It causes the links to be based on a latest online version rather than on the current one.
* build: disable deprecation checks for internal compilationThomas Haller2016-04-051-0/+1
| | | | | | | | | | | | For internal compilation we want to be able to use deprecated API without warnings. Define the version min/max macros to effectively disable deprecation warnings. However, don't do it via CFLAGS option in the makefiles, instead hack it to "nm-default.h". After all, *every* source file that is for internal compilation needs to include this header as first.
* docs: ignore some private libnm & libnm-core headersDan Williams2016-01-201-2/+4
|
* libnm,vpn: restore export of deprecated NMVpnPluginOld symbolsDan Williams2016-01-201-1/+0
| | | | | | Deprecated of course, but shouldn't have been removed from the ABI. Fixes: 867227dd4aac8371b3cacc366b32a3fa96eba42a
* docs: add missing documentation for settings and devicesJiří Klimeš2015-12-181-1/+9
|
* libnm: add internal header file "nm-core-types-internal.h"Thomas Haller2015-11-021-0/+1
| | | | | | | | | This shall contain type definitions, with similar use to "nm-core-internal.h". However, it should contain a minimal set, so that we can include this header in other headers under "src/", without including the whole "nm-core-internal.h" in headers.
* libnm/vpn: add new NMVpnServicePlugin classThomas Haller2015-07-291-0/+1
| | | | | | | | | | | | | | After copying "nm-vpn-plugin-old.*" to "nm-vpn-service-plugin.*", rename the class and add it to the Makefile. This will become the new VPN Service API for libnm 1.2. No changes done yet except renaming of the classes and functions. Rename the previous classes NMVpnPlugin(Old) to NMVpnServicePlugin to have a distinct name from NMVpnEditorPlugin. Buth are plugins, but with a different use. https://bugzilla.gnome.org/show_bug.cgi?id=749951
* libnm-core: add enum conversion utilitiesBeniamino Galvani2015-07-241-1/+2
| | | | | | | Add functions nm_utils_enum_to_str() and nm_utils_enum_from_str() which can be used to perform conversions between enum values and strings, passing the GType automatically generated for every enum by glib-mkenums.
* wimax: drop WiMAX support (bgo #747846)Dan Winship2015-04-171-3/+3
| | | | | | | | | | | | | | | | | | | | Even Fedora is no longer shipping the WiMAX SDK, so it's likely we'll eventually accidentally break some of the code in src/devices/wimax/ (if we haven't already). Discussion on the list showed a consensus for dropping support for WiMAX. So, remove the SDK checks from configure.ac, remove the WiMAX device plugin and associated manager support, and deprecate all the APIs. For compatibility reasons, it is still possible to create and save WiMAX connections, to toggle the software WiMAX rfkill state, and to change the "WIMAX" log level, although none of these have any effect, since no NMDeviceWimax will ever be created. nmcli was only compiling in support for most WiMAX operations when NM as a whole was built with WiMAX support, so that code has been removed now as well. (It is still possible to use nmcli to create and edit WiMAX connections, but those connections will never be activatable.)
* libnm: rename NMSecretAgent to NMSecretAgentOldDan Winship2014-11-211-1/+1
| | | | | | As with NMVpnPluginOld, rename NMSecretAgent to NMSecretAgentOld, to leave the name "NMSecretAgent" open for a new-and-improved version in NM 1.2.
* docs: fix libnm docs out-of-tree buildDan Winship2014-11-071-1/+5
|
* libnm, docs: docs fixesDan Winship2014-11-072-4/+17
| | | | | | | | | | Update the docs build to include and exclude the correct files. Fill in some missing documentation, and fix problems in the existing docs. (In particular, "<" can't appear as a literal in documentation, so change it to "&lt;". Also, "PKCS#12" has to be written as "PKCS#<!-- -->12", or gtk-doc will think "#12" is a reference to a type named "12".)