summaryrefslogtreecommitdiff
path: root/libnm/libnm.ver
Commit message (Collapse)AuthorAgeFilesLines
* libnm-core: add NMSettingMacsecBeniamino Galvani2017-01-161-0/+13
| | | | | | | | | | The new NMSettingMacsec contains information necessary to establish a MACsec connection. At the moment we support two different MACsec modes, both using wpa_supplicant: PSK and EAP. PSK mode is based on a static CAK key for the MACsec key agreement protocol, while EAP mode derives keys from a 802.1x authentication and thus requires the presence of a NMSetting8021x in the connection.
* core,libnm: introduce NMDeviceMacsecBeniamino Galvani2017-01-161-0/+14
| | | | | At the moment the device only exposes the current link status, but cannot create new links.
* libnm-core/8021x: add pkcs11: scheme for certificates and keysLubomir Rintel2017-01-061-0/+6
| | | | The getters just return the whole URI as-is, without any mangling.
* libnm-core: add nm_utils_is_valid_iface_name()Lubomir Rintel2017-01-061-0/+1
| | | | Version of nm_utils_iface_valid_name() with error reporting.
* libnm: add nm_utils_version() function to query libnm version at runtimeThomas Haller2016-12-201-0/+1
| | | | | if (nm_utils_version () < NM_ENCODE_VERSION (1, 5, 0)) g_error ("Requires at least version 1.5.0");
* libnm: implement support for DNS manager propertiesBeniamino Galvani2016-12-121-0/+10
|
* libnm-core: introduce connection.autoconnect-retries propertyBeniamino Galvani2016-10-161-0/+1
| | | | | | | | | | | | | | | | While technically it's already possible to implement a fail-over mechanism using multiple connections (for example, defining a higher priority DHCP connection with short DHCP timeout and a lower priority one with static address), in practice this doesn't work well as we try to autoactivate each connection 4 times before switching to the next one. Introduce a connection.autoconnect-retries property that can be used to change the number of retries. The special value 0 means infinite and can be used to try the connection forever. A -1 value means the global configured default, which is equal to 4 unless overridden. https://bugzilla.gnome.org/show_bug.cgi?id=763524
* proxy: remove unnecessary APIsAtul Anand2016-10-041-12/+1
| | | | | | 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.
* libnm: API for Proxy FeatureAtul Anand2016-10-041-0/+19
| | | | | | | libnm-core has been expanded to include proxy settings which clients like nmcli, nm-connection-editor use to configure proxy in PacRunner. It offers three modes i.e 'auto', 'manual'and 'none' and accordingly take data to configure PacRunner. The modes matches on the PacRunner side too.
* cli: reject team.config from files with '\0'Thomas Haller2016-09-271-0/+1
| | | | | | | | | The team-config must be valid utf-8. First of all, JSON is also defined for other unicode encodings, but libjansson can only handle utf-8. So, just require that. A file with a '\0' truncates part of the file and is thus invalid.
* libnm: expose nm_utils_is_json_object() utility functionThomas Haller2016-09-271-0/+1
| | | | | | | | | 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.
* libnm: fix symbol versioningThomas Haller2016-09-231-1/+4
| | | | | Already released versions must not be extended or modified. The new symbol is part of upcomming 1.6.0 release.
* manager: Add "Capabilities" propertyMarius Vollmer2016-09-231-0/+1
|
* all: make MAC address randomization algorithm configurableThomas Haller2016-06-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the per-connection settings "ethernet.cloned-mac-address" and "wifi.cloned-mac-address", and for the per-device setting "wifi.scan-rand-mac-address", we may generate MAC addresses using either the "random" or "stable" algorithm. Add new properties "generate-mac-address-mask" that allow to configure which bits of the MAC address will be scrambled. By default, the "random" and "stable" algorithms scamble all bits of the MAC address, including the OUI part and generate a locally- administered, unicast address. By specifying a MAC address mask, we can now configure to perserve parts of the current MAC address of the device. For example, setting "FF:FF:FF:00:00:00" will preserve the first 3 octects of the current MAC address. One can also explicitly specify a MAC address to use instead of the current MAC address. For example, "FF:FF:FF:00:00:00 68:F7:28:00:00:00" sets the OUI part of the MAC address to "68:F7:28" while scrambling the last 3 octects. Similarly, "02:00:00:00:00:00 00:00:00:00:00:00" will scamble all bits of the MAC address, except clearing the second-least significant bit. Thus, creating a burned-in address, globally administered. One can also supply a list of MAC addresses like "FF:FF:FF:00:00:00 68:F7:28:00:00:00 00:0C:29:00:00:00 ..." in which case a MAC address is choosen randomly. To fully scamble the MAC address one can configure "02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00". which also randomly creates either a locally or globally administered address. With this, the following macchanger options can be implemented: `macchanger --random` This is the default if no mask is configured. -> "" while is the same as: -> "00:00:00:00:00:00" -> "02:00:00:00:00:00 02:00:00:00:00:00" `macchanger --random --bia` -> "02:00:00:00:00:00 00:00:00:00:00:00" `macchanger --ending` This option cannot be fully implemented, because macchanger uses the current MAC address but also implies --bia. -> "FF:FF:FF:00:00:00" This would yields the same result only if the current MAC address is already a burned-in address too. Otherwise, it has not the same effect as --ending. -> "FF:FF:FF:00:00:00 <MAC_ADDR>" Alternatively, instead of using the current MAC address, spell the OUI part out. But again, that is not really the same as macchanger does because you explictly have to name the OUI part to use. `machanger --another` `machanger --another_any` -> "FF:FF:FF:00:00:00 <MAC_ADDR> <MAC_ADDR> ..." "$(printf "FF:FF:FF:00:00:00 %s\n" "$(sed -n 's/^\([0-9a-fA-F][0-9a-fA-F]\) \([0-9a-fA-F][0-9a-fA-F]\) \([0-9a-fA-F][0-9a-fA-F]\) .*/\1:\2:\3:00:00:00/p' /usr/share/macchanger/wireless.list | xargs)")"
* libnm: add NMSettingConnection:stable-id propertyThomas Haller2016-06-301-0/+1
| | | | | | | | | | | | | | This new property be used as token to generate stable-ids instead of the connection's UUID. Later, this will be used by ipv6.addr-gen-mode=stable-privacy, ethernet.cloned-mac-address=stable, and wifi.cloned-mac-address=stable setting. Those generate stable addresses based on the connection's UUID, but allow to use the stable-id instead. This allows multiple connections to generate the same addresses -- on the same machine, because in the above cases a machine dependant key is also hashed.
* libnm/vpn: add nm_vpn_editor_plugin_load_vt()Thomas Haller2016-06-151-0/+1
| | | | | | | | | | Let VPN plugins return a virtual function table to extend the API while bypassing libnm. This allows to add and use new functionality to VPN plugins without updating libnm. The actual definitions are in a header-only file "nm-vpn-editor-plugin-call.h", which can be copied to the caller/plugin.
* libnm/vpn: pass NMVpnPluginInfo to the NMVpnEditorPlugin instanceThomas Haller2016-06-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | The NMVpnPluginInfo is essentially the .name file, that is, a configuration file about the plugin itself. Via NMVpnPluginInfo instance, the NMVpnEditorPlugin can be created. Usually, one would create a NMVpnPluginInfo (that is, reading the .name file) and then create a NMVpnEditorPlugin instance from there. In this case, usually the editor-plugin is owned by the plugin-info instance (although the API allows for creating the editor-plugin independently). Now, pass the NMVpnPluginInfo to the editor-plugin too. This is useful, because then the editor-plugin can look at the .name file. The .name file is not user configuration. Instead it is configuration about the plugin itself. Although the .name file is part of the plugin build artefacts, it is useful to allow the plugin to access the .name file. The reason is, that this can allow the user to easily change a configuration knob of the plugin without requiring to patch or the plugin.
* libnm/vpn: add nm_vpn_plugin_info_list_find_service_name() functionThomas Haller2016-06-151-0/+2
|
* libnm/vpn: add nm_vpn_plugin_info_get_aliasesThomas Haller2016-06-151-0/+1
|
* libnm: backport symbols nm_setting_ip_config_get_dns_priority to libnm_1_2_4Thomas Haller2016-06-101-0/+4
| | | | | | | | | Commit bdd0e7fec0a2af12331b815bfaf3de182ed6eebb which added symbol nm_setting_ip_config_get_dns_priority to libnm_1_4_0 was backported to nm-1-2 in commit ad1cdcf6571da23e3197b09f1b4b14d23b8899d1. Add the backported symbol to master to allow seemless upgrading from 1.2.4 to 1.4.0.
* libnm: export nm_setting_ip6_config_get_token() symbolBeniamino Galvani2016-05-301-0/+1
| | | | Fixes: 954d937b2f6bfe5a513497c6ea13d0651a0c0b16
* team: expose current device configuration through D-Bus and nmcliBeniamino Galvani2016-05-261-0/+1
| | | | | | | | Add a new "Config" property to the D-Bus interface for team devices and show its value through "nmcli device show". The property contains the full JSON configuration from teamd for the device. https://bugzilla.redhat.com/show_bug.cgi?id=1310435
* libnm-core: add dns-priority to NMSettingIPConfigBeniamino Galvani2016-05-121-0/+1
|
* libnm/vpn: add nm_vpn_plugin_info_new_search_file()Thomas Haller2016-04-221-0/+1
|
* libnm/vpn: add nm_vpn_plugin_info_supports_hints()Thomas Haller2016-04-221-0/+1
|
* libnm/vpn: add nm_vpn_plugin_info_get_auth_dialog()Thomas Haller2016-04-221-0/+1
|
* libnm/vpn: add nm_vpn_plugin_info_get_service()Thomas Haller2016-04-221-0/+1
| | | | | | | Re-add nm_vpn_plugin_info_get_service(). This function *is* useful and could be used by nm-applet. This reverts commit 3517084b92aa64817ce8cd82163e5ab6e1947017.
* libnm/vpn: add nm_vpn_editor_plugin_load() functionThomas Haller2016-04-191-0/+5
| | | | | | Contrary to nm_vpn_editor_plugin_load_from_file(), this allows to specify a library name without path. In this case, g_module_open() (dlopen()) will search for a library in various system directories.
* libnm-core: add domain-suffix-match properties to NMSetting8021xBeniamino Galvani2016-03-161-0/+2
| | | | | | | | | The new domain-suffix-match and phase2-domain-suffix-match properties can be used to match against a given server domain suffix in the dNSName elements or in the SubjectName CN of the server certificate. Also, add a comment to the old subject-match properties documentation to suggest that they are deprecated and should not be used anymore.
* libnm,core,cli: move dhcp-timeout property to generic NMSettingIPConfigBeniamino Galvani2016-02-161-1/+1
| | | | | The property applies to both IPv4 and IPv6 and so it should not be in NMSettingIP4Config but in the base class.
* libnm: add nm_device_get_applied_connection() functionThomas Haller2016-02-161-0/+3
|
* wifi: don't touch by default current powersave settingBeniamino Galvani2016-02-161-0/+1
| | | | | | | | | | | | | | | | | | | | | Some drivers (or things outside NM like 'powertop') may turn powersave on, so don't touch it unless explicitly configured by user. To achieve this, add new 'default' and 'ignore' options; the former can be used to fall back to a globally configured setting, while the latter tells NM not to touch the current setting. When 'default' is specified, a missing global default configuration is equivalent to 'ignore'. It is possible to enable Wi-Fi power saving for all connections by dropping a file in /etc/NetworkManager/conf.d with the following content: [connection] wifi.powersave=3 https://bugzilla.gnome.org/show_bug.cgi?id=760125
* libnm: remove erroneous nm_manager_get_all_devices()Dan Williams2016-01-201-1/+0
| | | | | | | None of the libnm NMManager functions are exported, as they are only used internally. Fixes: 4db851f852b73a85b9b4a5d617e66461836be210
* libnm,vpn: restore export of deprecated NMVpnPluginOld symbolsDan Williams2016-01-201-0/+11
| | | | | | Deprecated of course, but shouldn't have been removed from the ABI. Fixes: 867227dd4aac8371b3cacc366b32a3fa96eba42a
* libnm: add NMSettingIPConfig 'dad-timeout' propertyJiří Klimeš2016-01-201-0/+1
| | | | | | | | | The property is used to control duplicate address detection: * -1 means default value * 0 means no DAD is performed * > 0 means timeout (in milliseconds) for arping responses [bgalvani: moved setting from NMSettingIP4Config]
* libnm: keep symbols sorted in libnm.verBeniamino Galvani2016-01-121-6/+6
|
* libnm: add nm_device_reapply()Lubomir Rintel2016-01-101-0/+3
| | | | Client support for O.FD.NM.Device.Reapply().
* ip-tunnel: add a MTU propertyBeniamino Galvani2015-12-191-0/+1
| | | | | Add a new ip-tunnel.mtu property which can be used to change the MTU of the tunnel interface.
* libnm: add NMDeviceVxlanBeniamino Galvani2015-12-091-0/+17
|
* libnm-core: add NMSettingVxlanBeniamino Galvani2015-12-091-0/+19
| | | | | Add a new NMSettingVxlan which describes properties of VXLAN connections.
* libnm: add NMDeviceMacvlanBeniamino Galvani2015-12-091-0/+6
|
* libnm-core: add NMSettingMacvlanBeniamino Galvani2015-12-091-0/+8
| | | | | The setting contains properties that are specific to macvlans and macvtaps.
* libnm/libnm-glib: add NMClient.get_all_devices() method and AllDevices propertyDan Williams2015-12-041-0/+2
| | | | | Mirror new NetworkManager API to return both real devices and device placeholders.
* libnm-glib/libnm: add support for "real" NMDevice propertyDan Williams2015-12-041-0/+1
|
* libnm: add NMDeviceIPTunnelBeniamino Galvani2015-12-011-0/+12
|
* libnm-core: add NMSettingIPTunnelBeniamino Galvani2015-12-011-0/+13
| | | | | | | Add a generic NMSettingTunnel which describes properties of tunnels over IPv4 and IPv6 (GRE, SIT, IPIP, IPIP6, IP6GRE, etc.). Since those tunnel types all have similar properties it makes sense to have a single setting type for them.
* libnm-core: add nm_utils_enum_get_values()Beniamino Galvani2015-12-011-0/+1
| | | | | | Add function nm_utils_enum_get_values() which returns a string array containing the enum values. It can be used, for example, to build a list of allowed values for user.
* libnm: add NMDeviceTunBeniamino Galvani2015-11-251-0/+8
|
* libnm-core: add NMSettingTunBeniamino Galvani2015-11-251-0/+9
| | | | | Add a new NMSettingTun which contains configuration properties for TUN/TAP interfaces.
* libnm-core: add a 'dhcp-fqdn' property to NMSettingIP4ConfigBeniamino Galvani2015-11-231-0/+1
| | | | | | The property contains the fully qualified domain name to be sent to DHCP server using the FQDN option. The property is mutually exclusive with 'dhcp-hostname'.