コード例 #1
0
ファイル: main.c プロジェクト: moikop/ab
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;
}
コード例 #2
0
ファイル: main.c プロジェクト: mayurdabhi/CodingPractice
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;
}
コード例 #3
0
ファイル: main.c プロジェクト: moikop/ab
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;
}