mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-27 22:10:09 +01:00
ifcfg-rh: write client certificate even if it is pkcs12
The writer should only persist properties without too much additional
logic, which should be instead embedded in the setting itself.
(cherry picked from commit a995244e9b)
This commit is contained in:
parent
bb5038defc
commit
5a5cd8d05d
2 changed files with 7 additions and 21 deletions
|
|
@ -3117,10 +3117,6 @@ eap_tls_reader (const char *eap_method,
|
|||
&client_cert,
|
||||
error))
|
||||
return FALSE;
|
||||
/* FIXME: writer does not actually write IEEE_8021X_CLIENT_CERT_PASSWORD and other
|
||||
* certificate related passwords. It should, because otherwise persisting such profiles
|
||||
* to ifcfg looses information. As this currently only matters for PKCS11 URIs, it seems
|
||||
* a seldom used feature so that it is not fixed yet. */
|
||||
_secret_set_from_ifcfg (s_8021x,
|
||||
ifcfg,
|
||||
keys_ifcfg,
|
||||
|
|
|
|||
|
|
@ -358,23 +358,13 @@ write_8021x_certs (NMSetting8021x *s_8021x,
|
|||
if (!write_object (s_8021x, ifcfg, secrets, blobs, otype, error))
|
||||
return FALSE;
|
||||
|
||||
/* Client certificate */
|
||||
if (otype->vtable->format_func (s_8021x) == NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
|
||||
/* Don't need a client certificate with PKCS#12 since the file is both
|
||||
* the client certificate and the private key in one file.
|
||||
*/
|
||||
svSetValueStr (ifcfg,
|
||||
phase2 ? "IEEE_8021X_INNER_CLIENT_CERT" : "IEEE_8021X_CLIENT_CERT",
|
||||
NULL);
|
||||
} else {
|
||||
/* Save the client certificate */
|
||||
if (!write_object (s_8021x, ifcfg, secrets, blobs,
|
||||
phase2
|
||||
? &setting_8021x_scheme_vtable[NM_SETTING_802_1X_SCHEME_TYPE_PHASE2_CLIENT_CERT]
|
||||
: &setting_8021x_scheme_vtable[NM_SETTING_802_1X_SCHEME_TYPE_CLIENT_CERT],
|
||||
error))
|
||||
return FALSE;
|
||||
}
|
||||
/* Save the client certificate */
|
||||
if (!write_object (s_8021x, ifcfg, secrets, blobs,
|
||||
phase2
|
||||
? &setting_8021x_scheme_vtable[NM_SETTING_802_1X_SCHEME_TYPE_PHASE2_CLIENT_CERT]
|
||||
: &setting_8021x_scheme_vtable[NM_SETTING_802_1X_SCHEME_TYPE_CLIENT_CERT],
|
||||
error))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue