From 3fd51c2d728e822d18c0247aa391972a0343ab94 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Wed, 21 Sep 2016 16:20:09 -0500 Subject: [PATCH] network: Add network_set_psk --- src/network.c | 10 ++++++++++ src/network.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/network.c b/src/network.c index 2ab0e9d3..361bf9e2 100644 --- a/src/network.c +++ b/src/network.c @@ -317,6 +317,16 @@ const uint8_t *network_get_psk(const struct network *network) return network->psk; } +bool network_set_psk(struct network *network, const uint8_t *psk) +{ + if (network->info->type != SECURITY_PSK) + return false; + + l_free(network->psk); + network->psk = l_memdup(psk, 32); + return true; +} + int network_get_signal_strength(const struct network *network) { struct scan_bss *best_bss = l_queue_peek_head(network->bss_list); diff --git a/src/network.h b/src/network.h index 584156e6..82ee320f 100644 --- a/src/network.h +++ b/src/network.h @@ -43,6 +43,7 @@ const uint8_t *network_get_psk(const struct network *network); int network_get_signal_strength(const struct network *network); struct l_settings *network_get_settings(const struct network *network); +bool network_set_psk(struct network *network, const uint8_t *psk); void network_sync_psk(struct network *network); int network_autoconnect(struct network *network, struct scan_bss *bss);