int main(int argc, char **argv) { int ret; if ((ret = gnutls_global_init()) < 0) { fprintf(stderr, "global_init: %s\n", gnutls_strerror(ret)); exit(1); } optionProcess(&ocsptoolOptions, argc, argv); gnutls_global_set_log_function(tls_log_func); gnutls_global_set_log_level(OPT_VALUE_DEBUG); if (HAVE_OPT(OUTFILE)) { outfile = fopen(OPT_ARG(OUTFILE), "wb"); if (outfile == NULL) { fprintf(stderr, "%s\n", OPT_ARG(OUTFILE)); exit(1); } } else outfile = stdout; if (HAVE_OPT(INFILE)) { infile = fopen(OPT_ARG(INFILE), "rb"); if (infile == NULL) { fprintf(stderr, "%s\n", OPT_ARG(INFILE)); exit(1); } } else infile = stdin; if (ENABLED_OPT(INDER)) encoding = GNUTLS_X509_FMT_DER; else encoding = GNUTLS_X509_FMT_PEM; if (HAVE_OPT(REQUEST_INFO)) request_info(); else if (HAVE_OPT(RESPONSE_INFO)) response_info(); else if (HAVE_OPT(GENERATE_REQUEST)) generate_request(NULL); else if (HAVE_OPT(VERIFY_RESPONSE)) verify_response(NULL); else if (HAVE_OPT(ASK)) ask_server(OPT_ARG(ASK)); else { USAGE(1); } return 0; }
int main() { char request[1000], rfc[50], host[50], port[50], title[100], response[1000]; int err = OK; int method = LISTALL; int i; int recvmethod; generate_request(request, method, 1234, "www.google.com", "5675", "ABCD"); // client printf("sending request:\n%s\n", request); err = parse_request(request, rfc, host, port, title, &recvmethod); // server printf("method is: %d\n", recvmethod); if(err == OK) { generate_response(response, err, recvmethod); append_response(response, atoi(rfc), host, port, title); append_response(response, atoi(rfc), "www.facebook.com", port, title); printf("\nsending\n %s\n", response); printf("\n------Parsing-------\n"); for(i=0; i <100; i++) { if(parse_response(response, i, rfc, title, host, port) > 0) { printf("parsed rfc: %s\n", rfc); printf("parsed host: %s\n", host); printf("parsed title: %s\n", title); printf("parsed port: %s\n", port); } else { printf("\nbreaking at i: %d\n", i); break; } } } else { generate_response(request, err, method); printf("server replied: %s\n", request); } }
/* Threads starts here */ void *process_thread(void *param) { /* Process number */ int i = (int) (long) param, j; printf("PROC %d\n", i); /* Allocate request vector */ int *request = malloc(n*sizeof(int)); int q; for(q = 0; q < n; q++){ request[q] = 0; } int legal = 0; while (1) { /* Generate request */ generate_request(i, request); while (!resource_request(i, request)) { printf("%s\n", "Waiting"); /* Wait */ Sleep(1000); } /* Generate release */ generate_release(i, request); /* Release resources */ resource_release(i, request); /* Wait */ Sleep(1000); } free(request); }
/* Threads starts here */ void *process_thread(void *param) { /* Process number */ int i = (int) (long) param, j; /* Allocate request vector */ int *request = malloc(n*sizeof(int)); while (1) { /* Generate request */ generate_request(i, request); while (!resource_request(i, request)) { /* Wait */ Sleep(100); } /* Generate release */ generate_release(i, request); /* Release resources */ resource_release(i, request); /* Wait */ Sleep(1000); } free(request); }