int loadTree(tdns *dns, char *configFile) { FILE *cfile; tdomain temp; char line[MAX_LINE]; char Ipa[IP_MAX*2]; char url[DOMAIN_TAG_MAX*2]; char* buffer; char url_aux[DOMAIN_TAG_MAX*2]; int error; cfile = fopen(configFile, "r"); if(!cfile) { printf("No se pudo abrir el archivo de configuracion.\n"); return RES_ERROR; } printf("loadTree: se pudo abrir el archivo de configuracion.\n"); printf("loadTree: empiezo a recorrer el archivo de configuracion.\n"); while(!feof(cfile)) { if (fgets(line, MAX_LINE-1, cfile)) { printf("loadTree: tomo una linea.\n"); buffer = strtok(line," "); printf("loadTree: primer palabra = %s\n",buffer); strcpy(url, buffer); buffer = strtok(NULL," "); printf("loadTree: segunda palabra = %s\n",buffer); strcpy(Ipa, buffer); if(validateURL(url)!=RES_OK && validateIP(Ipa)!=RES_OK) { printf("loadTree: par url-ip no validos.\n"); printf("loadTree: url = %s, ip = %s\n",url,Ipa); fclose(cfile); return RES_ERROR; /** De aca tiene que eliminar el TDA DNS**/ } strcpy(url_aux,url); buffer = strtok(url_aux,DOT); strcpy(temp.domain,buffer); strcpy(temp.ip,Ipa); temp.offset = genoffset(url); AB_Crear(&(temp.subab),sizeof(tdomain)); printf("loadTree: url = %s, ip = %s, offset = %c\n",url,Ipa,temp.offset); error = addDomain(dns,url,&temp); if(error!=RES_OK) { printf("loadTree: No se pudo agregar al arbol de DNS.\n"); fclose(cfile); return error; } } } fclose(cfile); return RES_OK; }
int main(){ char ip[SIZE]; gets(ip); //validate fun call if(validateIP(ip)){ printf("VALID:%s\n",ip); } else{ printf("INVALID:%s\n",ip); } return 0; }
int validateInput(int argc, char** argv, char* cmd) { if(argc!=ARGS_DNS_SEND && argc!=ARGS_DNS_GET_IP && argc!=ARGS_DNS_ADD_DOMAIN && argc!=ARGS_DNS_DELETE_DOMAIN) return RES_ERROR; if (strcmp(argv[1],CMD_SEND)==0 && argc==ARGS_DNS_SEND && validateURL(argv[2])==RES_OK && validateURL(argv[3])==RES_OK) { strcpy(cmd,CMD_SEND); } else if (strcmp(argv[1],CMD_GETIP)==0 && argc==ARGS_DNS_GET_IP && validateURL(argv[2])==RES_OK && validateURL(argv[3])==RES_OK) { strcpy(cmd,CMD_GETIP); } else if (strcmp(argv[1],CMD_ADDDOMAIN)==0 && argc==ARGS_DNS_ADD_DOMAIN && validateURL(argv[2])==RES_OK && validateIP(argv[3])==RES_OK) { strcpy(cmd,CMD_ADDDOMAIN); } else if (strcmp(argv[1],CMD_DELETEDOMAIN)==0 && argc==ARGS_DNS_DELETE_DOMAIN && validateURL(argv[2])==RES_OK) { strcpy(cmd,CMD_DELETEDOMAIN); } else { if(validateURL(argv[2])!=RES_OK) printf("valida mal la url.\n"); printf("parratro"); printf("%i %s %s %s %s ",argc,argv[0],argv[1],argv[2],argv[3]); return RES_ERROR; } return RES_OK; }