int main(int argc, char *argv[]){ if(argc<4){ fprintf(stderr,"Error, missing args\n\t1: id (string)\n\t2: udp_port (int)\n\t3: tcp_port (int)"); } id = argv[1]; udp_port = atoi(argv[2]); tcp_port = atoi(argv[3]); getOwnIp(); int exit = 0; char* cmd = malloc(100); ip_str = IptoStr(inet_ntoa(my_ip)); //printf("%s\n",ip_str); while(!exit){ fgets(cmd,99,stdin); char *token = strsep(&cmd, " "); //printf("%s\n",cmd); //printf("test\n"); if(strcmp(token,"RING") == 0){ ring(cmd); }else if(strcmp(token, "JOIN") == 0){ //printf("test\n"); connectWELC(cmd); } } }
int main(int argc, char **argv) { char http[HTTPRESULT] = { 0 }; char **list = NULL, **coolProxies = NULL, **sourceProxies = NULL; char ownIp[IPSIZE]; size_t sizeSources = 0,sizeCoolProxies = 0, sizeList = 0; int i = 0; CURL *curl; if(argc != 1) usage(argv); fprintf(stdout, "\nDcLabs 2010 - CoolProxy %s", VERSION); fprintf(stdout, "\n Retrieving and testing proxies...\n"); /* * READING CONFIGURATION FILE */ if(sourceProxies == NULL) { sourceProxies = malloc(sizeof(int)); sourceProxies[0] = strdup(DEFAULTSITE); sizeSources++; } readIni(&sizeSources, sourceProxies); /* * GETTING OWN IP */ getOwnIp(ownIp); /* * LOOP THAT GET AND TEST PROXIES */ curl = curl_easy_init(); curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)http); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, readCurl); for(i = 0; i < sizeSources; i++) { /* * GETTING PROXIES */ curl_easy_setopt(curl, CURLOPT_URL, sourceProxies[i]); curl_easy_perform(curl); if(http == NULL) continue; /* * FILTERING THE IP's FROM HTTP RESPONSE */ list = regexFilter(http, &sizeList, IPPORT_REGEXP); /* * TESTING PROXIES */ coolProxies = testProxies(list, sizeList, &sizeCoolProxies, ownIp); /* * RESET TO NEXT ROUND */ if(list != NULL) freeReallocd(list, sizeList); if(coolProxies != NULL) freeReallocd(coolProxies, sizeCoolProxies); sizeCoolProxies = 0; sizeList = 0; } /* * FREEING MEMORY ALLOC'ED BY regexFilter() */ freeReallocd(sourceProxies, sizeSources); curl_easy_cleanup(curl); return 0; }