mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-10-15 12:34:55 +00:00
ifcfg-rh: support persisting 802-1x.pin and pin-flags property
This commit is contained in:
parent
b4537f2c03
commit
655fd1ebd8
|
@ -3245,6 +3245,7 @@ EXTRA_DIST += \
|
|||
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-hex \
|
||||
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted \
|
||||
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted2 \
|
||||
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wired-802-1x-password-raw \
|
||||
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wired-8021x-peap-mschapv2 \
|
||||
src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-defroute-no-gatewaydev-yes \
|
||||
src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-global-gateway \
|
||||
|
|
|
@ -4469,8 +4469,8 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *klass)
|
|||
**/
|
||||
/* ---ifcfg-rh---
|
||||
* property: pin
|
||||
* variable: (none)
|
||||
* description: The property is not handled by ifcfg-rh plugin.
|
||||
* variable: IEEE_8021X_PIN(+)
|
||||
* description: The pin secret used for EAP authentication methods.
|
||||
* ---end---
|
||||
*/
|
||||
obj_properties[PROP_PIN] =
|
||||
|
@ -4487,8 +4487,8 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *klass)
|
|||
**/
|
||||
/* ---ifcfg-rh---
|
||||
* property: pin-flags
|
||||
* variable: (none)
|
||||
* description: The property is not handled by ifcfg-rh plugin.
|
||||
* variable: IEEE_8021X_PIN_FLAGS(+)
|
||||
* description: The secret flags for the pin property.
|
||||
* ---end---
|
||||
*/
|
||||
obj_properties[PROP_PIN_FLAGS] =
|
||||
|
|
|
@ -3713,6 +3713,12 @@ next:
|
|||
svGetValueBoolean (ifcfg, "IEEE_8021X_OPTIONAL", FALSE),
|
||||
NULL);
|
||||
|
||||
_secret_set_from_ifcfg (s_8021x,
|
||||
ifcfg,
|
||||
keys_ifcfg,
|
||||
"IEEE_8021X_PIN",
|
||||
NM_SETTING_802_1X_PIN);
|
||||
|
||||
return g_steal_pointer (&s_8021x);
|
||||
}
|
||||
|
||||
|
|
|
@ -927,6 +927,8 @@ const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[] = {
|
|||
_KEY_TYPE ("IEEE_8021X_PHASE2_DOMAIN_MATCH", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("IEEE_8021X_PHASE2_DOMAIN_SUFFIX_MATCH", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("IEEE_8021X_PHASE2_SUBJECT_MATCH", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("IEEE_8021X_PIN", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("IEEE_8021X_PIN_FLAGS", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("IEEE_8021X_PRIVATE_KEY", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("IEEE_8021X_PRIVATE_KEY_PASSWORD", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("IEEE_8021X_PRIVATE_KEY_PASSWORD_FLAGS", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
|
|
|
@ -33,7 +33,7 @@ typedef struct {
|
|||
NMSIfcfgKeyTypeFlags key_flags;
|
||||
} NMSIfcfgKeyTypeInfo;
|
||||
|
||||
extern const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[237];
|
||||
extern const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[239];
|
||||
|
||||
const NMSIfcfgKeyTypeInfo *nms_ifcfg_well_known_key_find_info (const char *key, gssize *out_idx);
|
||||
|
||||
|
|
|
@ -520,6 +520,13 @@ write_8021x_setting (NMConnection *connection,
|
|||
svSetValue (ifcfg, "IEEE_8021X_PHASE2_CA_PATH",
|
||||
nm_setting_802_1x_get_phase2_ca_path (s_8021x));
|
||||
|
||||
set_secret (ifcfg,
|
||||
secrets,
|
||||
"IEEE_8021X_PIN",
|
||||
nm_setting_802_1x_get_pin (s_8021x),
|
||||
"IEEE_8021X_PIN_FLAGS",
|
||||
nm_setting_802_1x_get_pin_flags (s_8021x));
|
||||
|
||||
if (!write_8021x_certs (s_8021x, secrets, blobs, FALSE, ifcfg, error))
|
||||
return FALSE;
|
||||
|
||||
|
|
|
@ -11,3 +11,5 @@ IEEE_8021X_IDENTITY="Bill Smith"
|
|||
IEEE_8021X_CA_CERT=test_ca_cert.pem
|
||||
IEEE_8021X_INNER_AUTH_METHODS=EAP-GTC
|
||||
IEEE_8021X_PASSWORD_RAW=0408151623420001
|
||||
#IEEE_8021X_PIN=hallo1
|
||||
IEEE_8021X_PIN_FLAGS=0
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
IEEE_8021X_PIN=hallo2
|
|
@ -2037,6 +2037,9 @@ test_read_write_802_1x_password_raw (void)
|
|||
==,
|
||||
NM_SETTING_SECRET_FLAG_NONE);
|
||||
|
||||
g_assert_cmpstr (nm_setting_802_1x_get_pin (s_8021x), ==, "hallo2");
|
||||
g_assert_cmpint (nm_setting_802_1x_get_pin_flags (s_8021x), ==, NM_SETTING_SECRET_FLAG_NONE);
|
||||
|
||||
_writer_new_connection (connection,
|
||||
TEST_SCRATCH_DIR,
|
||||
&testfile);
|
||||
|
|
Loading…
Reference in a new issue