Fixed some minor issues
This commit is contained in:
parent
937ecf249b
commit
ff823fb250
3 changed files with 42 additions and 41 deletions
|
@ -53,8 +53,8 @@ void map_addPair(Map *m, Pair p) {
|
||||||
|
|
||||||
Pair map_make_pair(char *key, char *value) {
|
Pair map_make_pair(char *key, char *value) {
|
||||||
Pair result;
|
Pair result;
|
||||||
strcpy(result.key, key);
|
strncpy(result.key, key,65);
|
||||||
strcpy(result.value, value);
|
strncpy(result.value, value,1024);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,36 +4,37 @@
|
||||||
//
|
//
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
Config config_load(){
|
Config config_load() {
|
||||||
Config cfg;
|
Config cfg;
|
||||||
map_init(&cfg);
|
map_init(&cfg);
|
||||||
FILE * f;
|
FILE *f;
|
||||||
f = fopen("config.ini","r");
|
f = fopen("config.ini", "r");
|
||||||
if(f != NULL) {
|
if (f != NULL) {
|
||||||
char buf[256], key[65], value[65];
|
char buf[256], key[65], value[65];
|
||||||
while (fgets(buf, sizeof(buf), f) != NULL)
|
while (fgets(buf, sizeof(buf), f) != NULL) {
|
||||||
{
|
|
||||||
if (buf[0] == '#') continue;
|
if (buf[0] == '#') continue;
|
||||||
sscanf(buf, "%[^=]=%s\n", key, value);
|
if (sscanf(buf, "%[^=]=%s\n", key, value) == 2) {
|
||||||
map_addPair(&cfg, map_make_pair(key, value));
|
map_addPair(&cfg, map_make_pair(key, value));
|
||||||
memset(key,0, 65);
|
memset(key, 0, 65);
|
||||||
memset(value,0, 65);
|
memset(value, 0, 65);
|
||||||
memset(buf,0, 256);
|
memset(buf, 0, 256);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
|
|
||||||
|
|
||||||
f = fopen("config.ini","w");
|
f = fopen("config.ini", "w");
|
||||||
fprintf(f,"#Becenév\n"
|
fprintf(f, "#Becenév\n"
|
||||||
"#nickname=Pelda\n"
|
"#nickname=Pelda\n"
|
||||||
"#A program által használt port (Alapértelmezett: %s)\n"
|
"#A program által használt port (Alapértelmezett: %s)\n"
|
||||||
"port=%s\n"
|
"port=%s\n"
|
||||||
"#Ezne a porton lesz elérhető a felhasználói felület (Alapértelmezett: %s)\n"
|
"#Ezne a porton lesz elérhető a felhasználói felület (Alapértelmezett: %s)\n"
|
||||||
"interface-port=%s\n"
|
"interface-port=%s\n"
|
||||||
"#Ebben a mappában vannak tárolva a html fájlok a felhasználói felülethez (Alapértelmezett: %s)\n"
|
"#Ebben a mappában vannak tárolva a html fájlok a felhasználói felülethez (Alapértelmezett: %s)\n"
|
||||||
"interface-folder=%s\n"
|
"interface-folder=%s\n"
|
||||||
"#A felhasználói felület csak ezen a gépen érhető elő (Alapértelmezett: true;Ajánlott)\n"
|
"#A felhasználói felület csak ezen a gépen érhető elő (Alapértelmezett: true;Ajánlott)\n"
|
||||||
"interface-local=true",DEFAULT_PORT,DEFAULT_PORT,DEFAULT_INTERFACE_PORT,DEFAULT_INTERFACE_PORT,DEFAULT_WWW_FOLDER,DEFAULT_WWW_FOLDER);
|
"interface-local=true", DEFAULT_PORT, DEFAULT_PORT, DEFAULT_INTERFACE_PORT, DEFAULT_INTERFACE_PORT,
|
||||||
|
DEFAULT_WWW_FOLDER, DEFAULT_WWW_FOLDER);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,10 @@
|
||||||
//Kouhai peer
|
//Kouhai peer
|
||||||
//Amikor mi csatlakozunk egy peerhez
|
//Amikor mi csatlakozunk egy peerhez
|
||||||
int peer_ConnetctTo(char *ip, int port, PeerList *peerList, Node_data my, fd_set *fdSet) {
|
int peer_ConnetctTo(char *ip, int port, PeerList *peerList, Node_data my, fd_set *fdSet) {
|
||||||
if(strcmp(ip,"0.0.0.0") == 0)
|
if (strcmp(ip, "0.0.0.0") == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
if (peer_IP_isFound(*peerList, ip, port))
|
||||||
|
return 1;
|
||||||
struct sockaddr_in hint;
|
struct sockaddr_in hint;
|
||||||
hint.sin_family = AF_INET;
|
hint.sin_family = AF_INET;
|
||||||
hint.sin_port = htons(port);
|
hint.sin_port = htons(port);
|
||||||
|
@ -25,7 +26,7 @@ int peer_ConnetctTo(char *ip, int port, PeerList *peerList, Node_data my, fd_set
|
||||||
}
|
}
|
||||||
logger_log("Connected to peer!Sending handshake...");
|
logger_log("Connected to peer!Sending handshake...");
|
||||||
char handshake[DEFAULT_BUFLEN];
|
char handshake[DEFAULT_BUFLEN];
|
||||||
sprintf(handshake, "@id=%s&port=%d&version=%s", my.id, my.port,P2P_CURRENT_VERSION);
|
sprintf(handshake, "@id=%s&port=%d&version=%s", my.id, my.port, P2P_CURRENT_VERSION);
|
||||||
if (strlen(my.nick) != 0) {
|
if (strlen(my.nick) != 0) {
|
||||||
char buf[DEFAULT_BUFLEN];
|
char buf[DEFAULT_BUFLEN];
|
||||||
memset(buf, 0, DEFAULT_BUFLEN);
|
memset(buf, 0, DEFAULT_BUFLEN);
|
||||||
|
@ -52,13 +53,13 @@ int peer_ConnetctTo(char *ip, int port, PeerList *peerList, Node_data my, fd_set
|
||||||
|
|
||||||
if (buf[0] != '@') {
|
if (buf[0] != '@') {
|
||||||
logger_log("Error: Invalid response!");
|
logger_log("Error: Invalid response!");
|
||||||
sendErrorMSG("INVALID_RESPONSE",sock);
|
sendErrorMSG("INVALID_RESPONSE", sock);
|
||||||
closesocket(sock);
|
closesocket(sock);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
Map m = getPacketData(buf);
|
Map m = getPacketData(buf);
|
||||||
if(m.pairs == NULL){
|
if (m.pairs == NULL) {
|
||||||
free(m.pairs);
|
free(m.pairs);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -79,7 +80,7 @@ int peer_ConnetctTo(char *ip, int port, PeerList *peerList, Node_data my, fd_set
|
||||||
strcpy(node.id, id);
|
strcpy(node.id, id);
|
||||||
} else {
|
} else {
|
||||||
logger_log("Error: Invalid response!ID not found in handshake.");
|
logger_log("Error: Invalid response!ID not found in handshake.");
|
||||||
sendErrorMSG("ID_NOT_FOUND",sock);
|
sendErrorMSG("ID_NOT_FOUND", sock);
|
||||||
free(m.pairs);
|
free(m.pairs);
|
||||||
closesocket(sock);
|
closesocket(sock);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -89,7 +90,7 @@ int peer_ConnetctTo(char *ip, int port, PeerList *peerList, Node_data my, fd_set
|
||||||
node.port = atoi(port_str);
|
node.port = atoi(port_str);
|
||||||
} else {
|
} else {
|
||||||
logger_log("Error: Invalid response!Port not found in handshake.");
|
logger_log("Error: Invalid response!Port not found in handshake.");
|
||||||
sendErrorMSG("PORT_NOT_FOUND",sock);
|
sendErrorMSG("PORT_NOT_FOUND", sock);
|
||||||
free(m.pairs);
|
free(m.pairs);
|
||||||
closesocket(sock);
|
closesocket(sock);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -110,18 +111,17 @@ int peer_ConnetctTo(char *ip, int port, PeerList *peerList, Node_data my, fd_set
|
||||||
char *peers = map_getValue(m, "peers");
|
char *peers = map_getValue(m, "peers");
|
||||||
char *rest = peers;
|
char *rest = peers;
|
||||||
if (peers != NULL) {
|
if (peers != NULL) {
|
||||||
char *tmp = strtok(peers, ",");
|
char *tmp = strtok_s(peers, ",", &rest);
|
||||||
while (tmp != NULL) {
|
while (tmp != NULL) {
|
||||||
char ip1[NI_MAXHOST];
|
char ip1[NI_MAXHOST];
|
||||||
int port1;
|
int port1;
|
||||||
if (sscanf(tmp, "%[^:]:%d", ip1, &port1) != 2) {
|
if (sscanf(tmp, "%[^:]:%d", ip1, &port1) != 2) {
|
||||||
tmp = strtok_s(NULL, ",",&rest);
|
tmp = strtok_s(NULL, ",", &rest);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!peer_IP_isFound(*peerList, ip, port))
|
|
||||||
peer_ConnetctTo(ip1, port1, peerList, my, fdSet);
|
|
||||||
|
|
||||||
tmp = strtok_s(NULL, ",",&rest);
|
peer_ConnetctTo(ip1, port1, peerList, my, fdSet);
|
||||||
|
tmp = strtok_s(NULL, ",", &rest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
free(m.pairs);
|
free(m.pairs);
|
||||||
|
@ -141,9 +141,9 @@ int peer_HandleConnection(SOCKET listening, PeerList *peerList, Node_data my, fd
|
||||||
memset(ip, 0, NI_MAXHOST);
|
memset(ip, 0, NI_MAXHOST);
|
||||||
|
|
||||||
inet_ntop(AF_INET, &client.sin_addr, ip, NI_MAXHOST);
|
inet_ntop(AF_INET, &client.sin_addr, ip, NI_MAXHOST);
|
||||||
if(strcmp(ip,"0.0.0.0") == 0)
|
if (strcmp(ip, "0.0.0.0") == 0)
|
||||||
return 0;
|
return 0;
|
||||||
logger_log("Incoming connection from %s...",ip);
|
logger_log("Incoming connection from %s...", ip);
|
||||||
char buf[DEFAULT_BUFLEN];
|
char buf[DEFAULT_BUFLEN];
|
||||||
memset(buf, 0, DEFAULT_BUFLEN);
|
memset(buf, 0, DEFAULT_BUFLEN);
|
||||||
int inBytes = recv(sock, buf, DEFAULT_BUFLEN, 0);
|
int inBytes = recv(sock, buf, DEFAULT_BUFLEN, 0);
|
||||||
|
@ -155,7 +155,7 @@ int peer_HandleConnection(SOCKET listening, PeerList *peerList, Node_data my, fd
|
||||||
}
|
}
|
||||||
if (buf[0] != '@') {
|
if (buf[0] != '@') {
|
||||||
logger_log("Error: Invalid response!");
|
logger_log("Error: Invalid response!");
|
||||||
sendErrorMSG("INVALID_RESPONSE",sock);
|
sendErrorMSG("INVALID_RESPONSE", sock);
|
||||||
closesocket(sock);
|
closesocket(sock);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -200,7 +200,7 @@ int peer_HandleConnection(SOCKET listening, PeerList *peerList, Node_data my, fd
|
||||||
free(m.pairs);
|
free(m.pairs);
|
||||||
logger_log("Handshake recived! Sending response!");
|
logger_log("Handshake recived! Sending response!");
|
||||||
char handshake[DEFAULT_BUFLEN];
|
char handshake[DEFAULT_BUFLEN];
|
||||||
sprintf(handshake, "@id=%s&port=%d&version=%s", my.id, my.port,P2P_CURRENT_VERSION);
|
sprintf(handshake, "@id=%s&port=%d&version=%s", my.id, my.port, P2P_CURRENT_VERSION);
|
||||||
|
|
||||||
if (strlen(my.nick) != 0) {
|
if (strlen(my.nick) != 0) {
|
||||||
memset(buf, 0, DEFAULT_BUFLEN);
|
memset(buf, 0, DEFAULT_BUFLEN);
|
||||||
|
|
Loading…
Reference in a new issue