/** * Fonction de vérification et traitement des données avant l'envoi au serveur */ void submit_network_cb(GtkWidget *submit, Project *project) { Device *device = (Device *)g_object_get_data(G_OBJECT(submit), "device"); if(g_strcmp0(gtk_entry_get_text(GTK_ENTRY(project->networksetup.entry[1])), "") != 0 && g_strcmp0(gtk_entry_get_text(GTK_ENTRY(project->networksetup.entry[2])), "") != 0 && g_strcmp0(gtk_entry_get_text(GTK_ENTRY(project->networksetup.entry[3])), "") != 0 && g_strcmp0(gtk_entry_get_text(GTK_ENTRY(project->networksetup.entry[4])), "") != 0) { if(regex_verification(gtk_entry_get_text(GTK_ENTRY(project->networksetup.entry[1])), IP_ADDR) && regex_verification(gtk_entry_get_text(GTK_ENTRY(project->networksetup.entry[2])), IP_ADDR) && regex_verification(gtk_entry_get_text(GTK_ENTRY(project->networksetup.entry[3])), IP_ADDR)) /*&& regex_verification(gtk_entry_get_text(GTK_ENTRY(project->networksetup.entry[4])), MAC_ADDR))*/ { save_network(project, device); gtk_widget_destroy(project->networksetup.dialog); } else warning_dialog(project->networksetup.dialog, "\nWrong IP Address (format : x.x.x.x) " "or MAC address (format : xx:xx:xx:xx:xx:xx or xx-xx-xx-xx-xx-xx)"); } else warning_dialog(project->networksetup.dialog, "\nAt least one field is empty."); }
static void check_network(struct network *n) { if (!n->n_beaconlen || !n->n_handshake || !n->n_ssid[0]) return; fix_beacon(n); print_network(n); save_network(n); }
void handle_connection(void *pointer) { connection_info info = *(connection_info *) pointer; free(pointer); //printf("New Connection\n"); if(info.counter%100==0){ char buff[256]; sprintf(buff, "unikitty/net_%d.part", info.counter); save_network(info.net, buff); } int fd = info.fd; network net = info.net; int i; for(i = 0; i < net.n; ++i){ if(net.types[i] == CONVOLUTIONAL){ convolutional_layer layer = *(convolutional_layer *) net.layers[i]; read_and_add_into(fd, layer.bias_updates, layer.n); int num = layer.n*layer.c*layer.size*layer.size; read_and_add_into(fd, layer.filter_updates, num); } if(net.types[i] == CONNECTED){ connected_layer layer = *(connected_layer *) net.layers[i]; read_and_add_into(fd, layer.bias_updates, layer.outputs); read_and_add_into(fd, layer.weight_updates, layer.inputs*layer.outputs); } } for(i = 0; i < net.n; ++i){ if(net.types[i] == CONVOLUTIONAL){ convolutional_layer layer = *(convolutional_layer *) net.layers[i]; update_convolutional_layer(layer); write_all(fd, (char*) layer.biases, layer.n*sizeof(float)); int num = layer.n*layer.c*layer.size*layer.size; write_all(fd, (char*) layer.filters, num*sizeof(float)); } if(net.types[i] == CONNECTED){ connected_layer layer = *(connected_layer *) net.layers[i]; update_connected_layer(layer); write_all(fd, (char *)layer.biases, layer.outputs*sizeof(float)); write_all(fd, (char *)layer.weights, layer.outputs*layer.inputs*sizeof(float)); } } //printf("Received updates\n"); close(fd); }