[Feature][R306][task-view-173][webui] wifi password generate to random
Change-Id: I3860b53f40aeb2a4db33bcbd61b0c404e77236c9
diff --git a/lynq/CPE_COMMON/ap/app/zte_comm/wlan/src/wlan_config_ssid.c b/lynq/CPE_COMMON/ap/app/zte_comm/wlan/src/wlan_config_ssid.c
index c943a80..a868cb9 100755
--- a/lynq/CPE_COMMON/ap/app/zte_comm/wlan/src/wlan_config_ssid.c
+++ b/lynq/CPE_COMMON/ap/app/zte_comm/wlan/src/wlan_config_ssid.c
@@ -258,20 +258,20 @@
return;
}
-static void generate_random_string(char *str)
+static void generate_random_string(char *str, int seed)
{
int i = 0;
int random_index = 0;
- const char charset[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+ const char charset[] = "abcdefghjkmnpqrstuwxyzACDEFGHJKLMNPQRSTUWXYZ2345679~!@#%";
const int charsetSize = sizeof(charset) - 1;
- if (str == NULL || strlen(str) < 8)
+ if (str == NULL)
{
wf_log("Provided string does not have enough space to store the result.\n");
return;
}
- srand((unsigned int)time(NULL));
+ srand(seed);
for (i = 0; i < 8; i++)
{
@@ -520,6 +520,10 @@
INT i = 0;
INT valid_mac = 0;
INT len = 0, len1 = 0;
+ char generate_seed[32] = {0};
+ char m_generate_seed[32] = {0};
+ int seed = 0;
+ int m_seed = 0;
ret = cfg_get_item ("wifi_mac_num", wifi_mac_num_str, sizeof (wifi_mac_num_str));
if (ret == 0) {
@@ -575,10 +579,16 @@
// setWifiWpsDefPin();
- generate_ascii_password (read_mac, outpassword, sizeof (outpassword));
- generate_ascii_password (m_read_mac, m_outpassword, sizeof (m_outpassword));
- // generate_random_string(outpassword);
- // generate_random_string(m_outpassword);
+ // generate_ascii_password (read_mac, outpassword, sizeof (outpassword));
+ // generate_ascii_password (m_read_mac, m_outpassword, sizeof (m_outpassword));
+ strncpy(generate_seed, &read_mac[6], 6);
+ sscanf(generate_seed, "%X", &seed);
+ strncpy(m_generate_seed, &m_read_mac[6], 6);
+ sscanf(m_generate_seed, "%X", &m_seed);
+ wf_log("generate_seed = %s, m_generate_seed = %s", generate_seed, m_generate_seed);
+ wf_log("seed = %d, m_seed = %d", seed, m_seed);
+ generate_random_string(outpassword, seed);
+ generate_random_string(m_outpassword, m_seed);
cfg_get_item ("wifi_key_fixed", wifi_key_fixed, sizeof (wifi_key_fixed));
if(0 != strcmp(wifi_key_fixed, "1"))