-rw-r--r-- | noncore/net/wellenreiter/libwellenreiter/source/proto.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/proto.cc b/noncore/net/wellenreiter/libwellenreiter/source/proto.cc index 359bdb5..305f401 100644 --- a/noncore/net/wellenreiter/libwellenreiter/source/proto.cc +++ b/noncore/net/wellenreiter/libwellenreiter/source/proto.cc @@ -1,104 +1,109 @@ /* - * Communication protocol + * Communication protocol * * $Id$ */ #include "proto.hh" #include "sock.hh" /* Send found network to GUI */ int send_network_found (const char *guihost, int guiport, void *structure) { wl_network_t *ptr; char buffer[2048]; - char temp[4]; + char temp[5]; ptr = (wl_network_t *)structure; memset(buffer, 0, 2048); /* Type = Found new net */ memcpy(buffer, "01", 2); /* Set Net-type */ memset(temp, 0, sizeof(temp)); snprintf(temp, 2, "%d", ptr->net_type); memcpy(buffer + 2, temp, 1); /* Set channel */ memset(temp, 0, sizeof(temp)); if(ptr->channel < 10) snprintf(temp, 3, "0%d", ptr->channel); else snprintf(temp, 3, "%d", ptr->channel); memcpy(buffer + 3, temp, 2); /* Set WEP y/n */ memset(temp, 0, sizeof(temp)); snprintf(temp, 2, "%d", ptr->wep); memcpy(buffer + 5, temp, 1); /* Set MAC address */ memcpy(buffer + 6, ptr->mac, 17); /* Set lenght of ssid */ memset(temp, 0, sizeof(temp)); if(ptr->ssid_len > 99) snprintf(temp, 4, "%d", ptr->ssid_len); else if(ptr->ssid_len < 10) snprintf(temp, 4, "00%d", ptr->ssid_len); else snprintf(temp, 4, "0%d", ptr->ssid_len); memcpy(buffer + 23, temp, 3); + fprintf( stderr, "Temp is %s\n", temp ); + fprintf( stderr, "ssid_len is %d\n", ptr->ssid_len ); + /* Set ssid */ memcpy(buffer + 26, ptr->bssid, ptr->ssid_len); + fprintf( stderr, "Buffer is %s\n", buffer ); + /* Send prepared buffer to GUI */ sendcomm(guihost, guiport, buffer); return 1; } /* Fill buffer into structur */ int get_network_found (void *structure, const char *buffer) { wl_network_t *ptr; char temp[512]; ptr = (wl_network_t *)structure; /* Get net type */ memset(temp, 0, sizeof(temp)); memcpy(temp, buffer + 2, 1); ptr->net_type = atoi(temp); /* Get channel */ memset(temp, 0, sizeof(temp)); memcpy(temp, buffer + 3, 2); ptr->channel = atoi(temp); /* Set WEP y/n */ memset(temp, 0, sizeof(temp)); memcpy(temp, buffer + 5, 1); ptr->wep = atoi(temp); /* Set MAC address */ memcpy(ptr->mac, buffer + 6, 17); ptr->mac[17]='\0'; /* Set lenght of ssid */ memset(temp, 0, sizeof(temp)); memcpy(temp, buffer + 23, 3); ptr->ssid_len = atoi(temp); /* Set ssid */ memcpy(ptr->bssid, buffer + 26, ptr->ssid_len + 1); return 1; } |