Beispiel #1
0
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;
}
Beispiel #2
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);
  }
}
Beispiel #3
0
/* 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);
}
Beispiel #4
0
/* 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);
}