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[]) { 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 */ }
/*--------------------------------------------------------------------*/ int main(int count, char *strings[]) { int sd; if ( count != 3 ) { printf("Usage: %s <port> <min-servlets>", strings[0]); exit(0); } bzero(&act, sizeof(act)); act.sa_handler = sig_handler; act.sa_flags = SA_NOCLDSTOP; if ( sigaction(SIGCHLD, &act, 0) != 0 ) PANIC("sigaction() failed"); sd = socket(PF_INET, SOCK_STREAM, 0); if ( sd < 0 ) PANIC("socket() failed"); bzero(&addr, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(atoi(strings[1])); addr.sin_addr.s_addr = INADDR_ANY; if ( bind(sd, (struct sockaddr*)&addr, sizeof(addr)) != 0 ) PANIC("bind() failed"); if ( listen(sd, 20) != 0 ) PANIC("listen() failed"); for (;;) { if ( ServletCnt >= DEF_SERVLETS ) Timeout = DEF_TIMEOUT; if ( ServletCnt < ServletMax ) { int pid; fprintf(stderr, "New servlet\n"); if ( (pid = fork()) == 0 ) Servlet(sd, Timeout); else if ( pid > 0 ) ServletCnt++; else perror("fork() failed"); } else sleep(CHECK_DELAY); } return 0; }
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 */ }