int main(int count, char *strings[]) { SSL_CTX *ctx; int server; char *portnum; if ( count != 2 ) { printf("Usage: %s <portnum>\n", strings[0]); exit(0); } SSL_library_init(); portnum = strings[1]; ctx = InitServerCTX(); /* initialize SSL */ LoadCertificates(ctx, "cert.pem", "key.pem"); /* load certs */ server = OpenListener(atoi(portnum)); /* create server socket */ while (1) { struct sockaddr_in addr; socklen_t len = sizeof(addr); SSL *ssl; int client = accept(server, (struct sockaddr*)&addr, &len); /* accept connection as usual */ printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); ssl = SSL_new(ctx); /* get new SSL state with context */ SSL_set_fd(ssl, client); /* set connection socket to SSL state */ Servlet(ssl); /* service connection */ } close(server); /* close server socket */ SSL_CTX_free(ctx); /* release context */ }
int main(int argc, char *argv[]) { remove("bankecents.txt"); SSL_CTX *ctx; int server; const char * localport; const char * localhost; if ( argc < 2 ){ printf("Usage:server localhost localport \n"); exit(0); } SSL_library_init(); localhost = argv[1]; localport = argv[2]; ctx = InitServerCTX(); /* initialize SSL */ LoadCertificates(ctx, "mycert2.pem", "mycert2.pem"); /* load certs */ server = OpenListener(localhost, localport); /* create server socket */ while (1) { struct sockaddr_in addr; socklen_t len = sizeof(addr); SSL *ssl; int client = accept(server, (struct sockaddr*)&addr, &len); /* accept connection as usual */ printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); ssl = SSL_new(ctx); /* get new SSL state with context */ SSL_set_fd(ssl, client); /* set connection socket to SSL state */ Servlet(ssl); /* service connection */ } close(server); /* close server socket */ SSL_CTX_free(ctx); /* release context */ }
void *main_server(void* unused) { SSL_CTX *ctx; ctx = InitServerCTX();/* initialize SSL */ LoadCertificates(ctx, "ca.crt", "ca.pem");/* load certs */ SSL_CTX_set_cipher_list(ctx, "ECDH-ECDSA-AES128-GCM-SHA256"); int server = OpenListener(port);/* create server socket */ while (1) { struct sockaddr_in addr; unsigned int len = sizeof(addr); SSL *ssl; int client = accept(server, (struct sockaddr*) &addr, &len);/* accept connection as usual */ ssl = SSL_new(ctx); /* get new SSL state with context */ SSL_set_fd(ssl, client);/* set connection socket to SSL state */ Servlet(client, ssl);/* service connection */ } close(server);/* close server socket */ SSL_CTX_free(ctx);/* release context */ return NULL; }
int main(int count, char *strings[]) { SSL_CTX *ctx; int server; char *portnum; if(!isRoot()) { printf("This program must be run as root/sudo user!!\n"); exit(0); } if ( count != 2 ) { printf("Usage: %s <portnum>\n", strings[0]); exit(0); } SSL_library_init(); portnum = strings[1]; ctx = InitServerCTX(); /* initialize SSL */ //checking if cert and key are availble or not. FILE *f,*g; f = fopen("/home/shagun/ca/certs/server.cert.pem","r"); if(f==NULL) { printf("Certificate doesn't exist. Aborting now.\n"); exit(0); } fclose(f); g = fopen("/home/shagun/ca/private/server.key.pem","r"); if(g==NULL) { printf("Key doesn't exist. Aborting now.\n"); exit(0); } fclose(g); LoadCertificates(ctx, "/home/shagun/ca/certs/server.cert.pem", "/home/shagun/ca/private/server.key.pem"); /* load certs */ server = OpenListener(atoi(portnum)); /* create server socket */ while (1) { struct sockaddr_in addr; socklen_t len = sizeof(addr); SSL *ssl; int client = accept(server, (struct sockaddr*)&addr, &len); /* accept connection as usual */ printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); ssl = SSL_new(ctx); /* get new SSL state with context */ SSL_set_fd(ssl, client); /* set connection socket to SSL state */ Servlet(ssl); /* service connection */ } close(server); /* close server socket */ SSL_CTX_free(ctx); /* release context */ }
/*---------------------------------------------------------------------*/ int main(int count, char *strings[]) { pthread_t threads[NUM_THREADS]; /* Arreglo de hilos */ struct thread_data thread_data_array[NUM_THREADS]; int t=0; int rc; SSL_CTX *ctx; int server; char *portnum; SSL_library_init(); if ( count != 2 ) { printf("Uso: %s <portnum>\n", strings[0]); exit(0); } portnum = strings[1]; ctx = InitServerCTX(); LoadCertificates(ctx, "serv.pem", "serv.key"); server = OpenListener(atoi(portnum)); printf("Esperando por conexiones [%d] \n", server); printf("Inicia a aceptar conexiones \n"); while (1) { struct sockaddr_in addr; SSL *ssl; int len = sizeof(addr); int client = accept(server, (struct sockaddr*)&addr, &len); printf("Connection: %d:%d\n", inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL); if (!SSL_CTX_load_verify_locations(ctx, "cacert.pem", NULL)) { fprintf(stderr,"Certificado Invalido\n"); ERR_print_errors_fp(stderr); exit(1); } /*Se crea contexto*/ ssl = SSL_new(ctx); SSL_set_fd(ssl, client); /*Se da numero de pthread */ t++; /*Se le da el id del thread al thread */ thread_data_array[t].thread_id = t; /*Se le da el asigna el contexto de la conexion al thread */ thread_data_array[t].message = ssl; /*Se crea el hilo y se le manda la estructura rellenada previamente */ rc = pthread_create(&threads[t], NULL, Servlet, (void *) &thread_data_array[t]); } close(server); SSL_CTX_free(ctx); }
/* Begin-Doc Name: thr_watch_port Description: thread handler to listen to a tcp port Syntax: thr_watch_port(port_in_string_form) End-Doc */ void *thr_watch_port(void *threadarg) { int sockfd; int server_port; struct sockaddr_in cli_addr; unsigned int clilen; int newsockfd; char *cliaddr; server_port = atoi((char *)threadarg); Debug(("opening listener socket on port %d\n", server_port)); syslog(LOG_DEBUG, "opening listener socket on port %d", server_port); sockfd = OpenListener(server_port, 10); if (!sockfd) { Error(("Unable to open listener port! (%s)\n", strerror(errno))); syslog(LOG_ERR, "unable to open listener port (%s)\n", strerror(errno)); exit(1); } Debug(("opened listener socket on port %d\n", server_port)); syslog(LOG_DEBUG, "opened listener socket on port %d", server_port); while (1) { clilen = sizeof(cli_addr); Debug(("waiting for socket connection\n")); syslog(LOG_DEBUG, "waiting for socket connection"); newsockfd = accept(sockfd, (struct sockaddr *)&cli_addr, &clilen); if (newsockfd) { syslog(LOG_DEBUG, "got a socket connection"); Debug(("got a socket connection\n")); cliaddr = clientaddr(newsockfd); syslog(LOG_DEBUG, "got a socket connection on port %d from %s, triggering updates", server_port, NullCk(cliaddr)); if (cliaddr) { free(cliaddr); } mark_updated(); close(newsockfd); } else { syslog(LOG_ERR, "error accepting socket connection (%s)", strerror(errno)); } } }
int main(int count, char *strings[]) { SSL_CTX *ctx; int server; char *portnum; char buf[1024]; char reply[1024]; int recvlen = 0; struct sockaddr_in remaddr; /* remote address */ socklen_t addrlen = sizeof(remaddr); if(!isRoot()) { printf("This program must be run as root/sudo user!!"); exit(0); } if ( count != 2 ) { printf("Usage: %s <portnum>\n", strings[0]); exit(0); } SSL_library_init(); portnum = strings[1]; ctx = InitServerCTX(); /* initialize SSL */ char cert[] = "mycert.pem"; LoadCertificates(ctx, cert, cert); /* load certs */ server = OpenListener(atoi(portnum)); /* create server socket */ while (1) { struct sockaddr_in addr; socklen_t len = sizeof(addr); SSL *ssl; recvlen = 0; //int client = accept(server, (struct sockaddr*)&addr, &len); /* accept connection as usual */ while(recvlen == 0) recvlen = recvfrom(server, buf, 1024, 0, (struct sockaddr *)&remaddr, &addrlen); printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); ssl = SSL_new(ctx); /* get new SSL state with context */ SSL_set_fd(ssl, server); /* set connection socket to SSL state */ Servlet(ssl); /* service connection */ } close(server); /* close server socket */ SSL_CTX_free(ctx); /* release context */ }
void PeerConnectionListener::run(int portNum){ SSL_CTX *ctx; int server; SSL_library_init(); ctx = InitServerCTX(); /* initialize SSL */ LoadCertificates(ctx, "cert.pem", "key.pem"); /* load certs */ server = OpenListener(portNum); /* create server socket */ while(1){ struct sockaddr_in addr; socklen_t len = sizeof(addr); SSL *ssl; qDebug() << "listening"; int client = accept(server, (struct sockaddr*)&addr, &len); /* accept connection as usual */ printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); ssl = SSL_new(ctx); /* get new SSL state with context */ SSL_set_fd(ssl, client); /* set connection socket to SSL state */ Servlet(ssl); /* service connection */ } close(server); /* close server socket */ qDebug() << "server socket closed"; SSL_CTX_free(ctx); /* release context */ qDebug() << "context freed"; }
int main(int count, char *strings[]) { SSL_CTX *ctx; int server,err; char *portnum; char *msg = "sagar"; printf("1"); if(!isRoot()) { printf("This program must be run as root/sudo user!!"); exit(0); } if ( count != 2 ) { printf("Usage: %s <portnum>\n", strings[0]); exit(0); } printf("12"); SSL_library_init(); portnum = strings[1]; ctx = InitServerCTX(); /* initialize SSL */ LoadCertificates(ctx, "mycert.pem", "mycert.pem"); /* load certs */ server = OpenListener(atoi(portnum)); /* create server socket */ while (1) { struct sockaddr_in addr; socklen_t len = sizeof(addr); SSL *ssl,*ssl1; int client = accept(server, (struct sockaddr*)&addr, &len); /* accept connection as usual */ printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); ssl = SSL_new(ctx); /* get new SSL state with context */ SSL_set_fd(ssl, client); /* set connection socket to SSL state */ Servlet(ssl); // ssl1 = SSL_new(ctx); /* get new SSL state with context */ //SSL_set_fd(ssl1, client); /* set connection socket to SSL state */ // err=SSL_write(ssl1,msg,strlen(msg)); //RETURN_SSL(err); // Servlet(ssl1); //tostring(a,p); //printf("%s %d\n",a,p); //printf("%s",has1); // //hash(p); printf("22"); /* service connection */ } close(server); /* close server socket */ SSL_CTX_free(ctx); /* release context */ }