A possible bug and a fix (patch attached)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I ran into an issue in config_file.c

The function is

static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)

When writing out the ssid, the quote is omitted. I had to make the
following changes:

#define QUOTED_STR(t) write_quoted_str(f, #t, ssid)

    //STR(ssid);
    QUOTED_STR(ssid);

And I had to add the function :

static void write_quoted_str(FILE *f, const char *field, struct wpa_ssid *ssid)
{
    char *value = wpa_config_get(ssid, field);
    if (value == NULL)
        return;
    fprintf(f, "\t%s=\"%s\"\n", field, value);
    str_clear_free(value);
}

Also I've run into a bug with dpp which can't handle SSID's larger
than 4 characters it appears.

-- 
M. Ranganathan
diff --git a/wpa_supplicant/config_file.c b/wpa_supplicant/config_file.c
index cf4b7bc..864b61c 100644
--- a/wpa_supplicant/config_file.c
+++ b/wpa_supplicant/config_file.c
@@ -496,6 +496,14 @@ static void write_str(FILE *f, const char *field, struct wpa_ssid *ssid)
 	str_clear_free(value);
 }
 
+static void write_quoted_str(FILE *f, const char *field, struct wpa_ssid *ssid)
+{
+	char *value = wpa_config_get(ssid, field);
+	if (value == NULL)
+		return;
+	fprintf(f, "\t%s=\"%s\"\n", field, value);
+	str_clear_free(value);
+}
 
 static void write_int(FILE *f, const char *field, int value, int def)
 {
@@ -748,8 +756,10 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
 #define INTe(t, m) write_int(f, #t, ssid->eap.m, 0)
 #define INT_DEF(t, def) write_int(f, #t, ssid->t, def)
 #define INT_DEFe(t, m, def) write_int(f, #t, ssid->eap.m, def)
+#define QUOTED_STR(t) write_quoted_str(f, #t, ssid)
 
-	STR(ssid);
+	//STR(ssid);
+	QUOTED_STR(ssid);
 	INT(scan_ssid);
 	write_bssid(f, ssid);
 	write_bssid_hint(f, ssid);
@@ -1407,9 +1417,6 @@ static void wpa_config_write_global(FILE *f, struct wpa_config *config)
 		fprintf(f, "\n");
 	}
 
-	if (config->sae_pwe)
-		fprintf(f, "sae_pwe=%d\n", config->sae_pwe);
-
 	if (config->sae_pmkid_in_assoc)
 		fprintf(f, "sae_pmkid_in_assoc=%d\n",
 			config->sae_pmkid_in_assoc);
_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap

[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux