summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-09-27 17:03:22 +0200
committerThomas Haller <thaller@redhat.com>2018-09-29 11:32:57 +0200
commit679c15ebc39d9204d89346003ee9c23b47783e66 (patch)
treeda0491ba096fc8eaa4c2a71d1ee43384936645d1
parent68e1e69860ff0659da357ebcea4dda5937e1dbf1 (diff)
downloadNetworkManager-th/hexstr2bin-cleanup.tar.gz
supplicant: use _nm_utils_hexstr2bin() for parsing hexstrth/hexstr2bin-cleanup
-rw-r--r--src/supplicant/nm-supplicant-config.c43
1 files changed, 24 insertions, 19 deletions
diff --git a/src/supplicant/nm-supplicant-config.c b/src/supplicant/nm-supplicant-config.c
index 845dade570..574d929e2c 100644
--- a/src/supplicant/nm-supplicant-config.c
+++ b/src/supplicant/nm-supplicant-config.c
@@ -26,6 +26,8 @@
#include <string.h>
#include <stdlib.h>
+#include "nm-core-internal.h"
+
#include "nm-supplicant-settings-verify.h"
#include "nm-setting.h"
#include "nm-auth-subject.h"
@@ -371,7 +373,6 @@ nm_supplicant_config_add_setting_macsec (NMSupplicantConfig * self,
NMSettingMacsec * setting,
GError **error)
{
- gs_unref_bytes GBytes *bytes = NULL;
const char *value;
char buf[32];
int port;
@@ -395,6 +396,9 @@ nm_supplicant_config_add_setting_macsec (NMSupplicantConfig * self,
}
if (nm_setting_macsec_get_mode (setting) == NM_SETTING_MACSEC_MODE_PSK) {
+ gs_free guint8 *buffer = NULL;
+ gsize buffer_len;
+
if (!nm_supplicant_config_add_option (self, "key_mgmt", "NONE", -1, NULL, error))
return FALSE;
@@ -408,14 +412,15 @@ nm_supplicant_config_add_setting_macsec (NMSupplicantConfig * self,
return FALSE;
}
- bytes = nm_utils_hexstr2bin (value);
+ buffer = _nm_utils_hexstr2bin (value, FALSE, FALSE, NULL, NM_SETTING_MACSEC_MKA_CAK_LENGTH / 2, &buffer_len);
if (!nm_supplicant_config_add_option (self,
"mka_cak",
- g_bytes_get_data (bytes, NULL),
- g_bytes_get_size (bytes),
+ (char *) buffer,
+ buffer_len,
"<hidden>",
error))
return FALSE;
+ nm_clear_g_free (&buffer);
/* CKN */
value = nm_setting_macsec_get_mka_ckn (setting);
@@ -427,13 +432,11 @@ nm_supplicant_config_add_setting_macsec (NMSupplicantConfig * self,
return FALSE;
}
-
- g_bytes_unref (bytes);
- bytes = nm_utils_hexstr2bin (value);
+ buffer = _nm_utils_hexstr2bin (value, FALSE, FALSE, NULL, NM_SETTING_MACSEC_MKA_CKN_LENGTH / 2, &buffer_len);
if (!nm_supplicant_config_add_option (self,
"mka_ckn",
- g_bytes_get_data (bytes, NULL),
- g_bytes_get_size (bytes),
+ (char *) buffer,
+ buffer_len,
NULL,
error))
return FALSE;
@@ -699,10 +702,11 @@ add_wep_key (NMSupplicantConfig *self,
if ( (wep_type == NM_WEP_KEY_TYPE_UNKNOWN)
|| (wep_type == NM_WEP_KEY_TYPE_KEY)) {
if ((key_len == 10) || (key_len == 26)) {
- gs_unref_bytes GBytes *bytes = NULL;
+ gs_free guint8 *buffer = NULL;
+ gsize buffer_len;
- bytes = nm_utils_hexstr2bin (key);
- if (!bytes) {
+ buffer = _nm_utils_hexstr2bin (key, FALSE, FALSE, NULL, key_len / 2, &buffer_len);
+ if (!buffer) {
g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
"cannot add wep-key %s to suplicant config because key is not hex",
name);
@@ -710,8 +714,8 @@ add_wep_key (NMSupplicantConfig *self,
}
if (!nm_supplicant_config_add_option (self,
name,
- g_bytes_get_data (bytes, NULL),
- g_bytes_get_size (bytes),
+ (char *) buffer,
+ buffer_len,
"<hidden>",
error))
return FALSE;
@@ -798,11 +802,12 @@ nm_supplicant_config_add_setting_wireless_security (NMSupplicantConfig *self,
size_t psk_len = strlen (psk);
if (psk_len == 64) {
- gs_unref_bytes GBytes *bytes = NULL;
+ gs_free guint8 *buffer = NULL;
+ gsize buffer_len;
/* Hex PSK */
- bytes = nm_utils_hexstr2bin (psk);
- if (!bytes) {
+ buffer = _nm_utils_hexstr2bin (psk, FALSE, FALSE, NULL, psk_len / 2, &buffer_len);
+ if (!buffer) {
g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
"Cannot add psk to supplicant config due to invalid hex");
return FALSE;
@@ -810,8 +815,8 @@ nm_supplicant_config_add_setting_wireless_security (NMSupplicantConfig *self,
if (!nm_supplicant_config_add_option (self,
"psk",
- g_bytes_get_data (bytes, NULL),
- g_bytes_get_size (bytes),
+ (char *) buffer,
+ buffer_len,
"<hidden>",
error))
return FALSE;