switch (dhcpcd_wpa_configure_psk(wpa, scan, psk)) {
case DHCPCD_WPA_SUCCESS:
return true;
+ case DHCPCD_WPA_ERR_DISCONN:
+ errt = _("Failed to disconnect.");
+ break;
+ case DHCPCD_WPA_ERR_RECONF:
+ errt = _("Faile to reconfigure.");
+ break;
case DHCPCD_WPA_ERR_SET:
errt = _("Failed to set key management.");
break;
switch (dhcpcd_wpa_configure_psk(wpa, &s, psk)) {
case DHCPCD_WPA_SUCCESS:
return;
+ case DHCPCD_WPA_ERR_DISCONN:
+ errt = tr("Failed to disconnect.");
+ break;
+ case DHCPCD_WPA_ERR_RECONF:
+ errt = tr("Faile to reconfigure.");
+ break;
case DHCPCD_WPA_ERR_SET:
errt = tr("Failed to set key management.");
break;
#define DHCPCD_WPA_ERR_WRITE -5
#define DHCPCD_WPA_ERR_SELECT -6
#define DHCPCD_WPA_ERR_ASSOC -7
+#define DHCPCD_WPA_ERR_DISCONN -8
+#define DHCPCD_WPA_ERR_RECONF -9
int dhcpcd_wpa_configure_psk(DHCPCD_WPA *w, DHCPCD_WI_SCAN *s, const char *p);
char ** dhcpcd_config_blocks(DHCPCD_CONNECTION *, const char *);
assert(wpa);
assert(s);
+ if (!dhcpcd_wpa_disconnect(wpa))
+ return DHCPCD_WPA_ERR_DISCONN;
+
/* reload the configuration so that when we don't save
* the disabled networks to the config file. */
if (!dhcpcd_wpa_reconfigure(wpa))
- return DHCPCD_WPA_ERR;
+ return DHCPCD_WPA_ERR_RECONF;
id = dhcpcd_wpa_network_find_new(wpa, s->ssid);
if (id == -1)