Portability fixes
This commit is contained in:
parent
02c22842f1
commit
cd6c26b444
@ -40,6 +40,11 @@
|
|||||||
# define WPA_SUPPLICANT_PATH "/var/run/wpa_supplicant"
|
# define WPA_SUPPLICANT_PATH "/var/run/wpa_supplicant"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* portability */
|
||||||
|
#ifndef SUN_LEN
|
||||||
|
# define SUN_LEN(su) sizeof(struct sockaddr_un)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* wpa_supplicant */
|
/* wpa_supplicant */
|
||||||
/* private */
|
/* private */
|
||||||
@ -190,16 +195,20 @@ static gboolean _init_timeout(gpointer data)
|
|||||||
gtk_label_set_text(GTK_LABEL(wpa->label), "Not running");
|
gtk_label_set_text(GTK_LABEL(wpa->label), "Not running");
|
||||||
return wpa->helper->error(NULL, path, TRUE);
|
return wpa->helper->error(NULL, path, TRUE);
|
||||||
}
|
}
|
||||||
|
/* create the local socket */
|
||||||
if((wpa->fd = socket(AF_LOCAL, SOCK_DGRAM, 0)) == -1)
|
if((wpa->fd = socket(AF_LOCAL, SOCK_DGRAM, 0)) == -1)
|
||||||
return _wpa_error(wpa, "socket", TRUE);
|
return _wpa_error(wpa, "socket", TRUE);
|
||||||
|
memset(&lu, 0, sizeof(lu));
|
||||||
snprintf(lu.sun_path, sizeof(lu.sun_path), "%s", wpa->path);
|
snprintf(lu.sun_path, sizeof(lu.sun_path), "%s", wpa->path);
|
||||||
lu.sun_family = AF_LOCAL;
|
lu.sun_family = AF_LOCAL;
|
||||||
if(bind(wpa->fd, (struct sockaddr *)&lu, sizeof(lu)) != 0)
|
if(bind(wpa->fd, (struct sockaddr *)&lu, SUN_LEN(&lu)) != 0)
|
||||||
{
|
{
|
||||||
close(wpa->fd);
|
close(wpa->fd);
|
||||||
unlink(wpa->path);
|
unlink(wpa->path);
|
||||||
return _wpa_error(wpa, wpa->path, TRUE);
|
return _wpa_error(wpa, wpa->path, TRUE);
|
||||||
}
|
}
|
||||||
|
/* connect to the wpa_supplicant daemon */
|
||||||
|
memset(&ru, 0, sizeof(ru));
|
||||||
ru.sun_family = AF_UNIX;
|
ru.sun_family = AF_UNIX;
|
||||||
while((de = readdir(dir)) != NULL)
|
while((de = readdir(dir)) != NULL)
|
||||||
{
|
{
|
||||||
@ -211,7 +220,7 @@ static gboolean _init_timeout(gpointer data)
|
|||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
fprintf(stderr, "DEBUG: %s() \"%s\"\n", __func__, de->d_name);
|
fprintf(stderr, "DEBUG: %s() \"%s\"\n", __func__, de->d_name);
|
||||||
#endif
|
#endif
|
||||||
if(connect(wpa->fd, (struct sockaddr *)&ru, sizeof(ru)) != 0)
|
if(connect(wpa->fd, (struct sockaddr *)&ru, SUN_LEN(&ru)) != 0)
|
||||||
{
|
{
|
||||||
wpa->helper->error(NULL, "connect", 1);
|
wpa->helper->error(NULL, "connect", 1);
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user