📄 server.c
字号:
#include "common.h"#include "server.h"int tcp_listen() { int sock; struct sockaddr_in sin; int val=1; if((sock=socket(AF_INET,SOCK_STREAM,0))<0) err_exit("Couldn't make socket"); memset(&sin,0,sizeof(sin)); sin.sin_addr.s_addr=INADDR_ANY; sin.sin_family=AF_INET; sin.sin_port=htons(PORT); setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,&val,sizeof(val)); if(bind(sock,(struct sockaddr *)&sin,sizeof(sin))<0) berr_exit("Couldn't bind"); listen(sock,5); return(sock); }void load_dh_params(ctx,file) SSL_CTX *ctx; char *file; { DH *ret=0; BIO *bio; if ((bio=BIO_new_file(file,"r")) == NULL) berr_exit("Couldn't open DH file"); ret=PEM_read_bio_DHparams(bio,NULL,NULL,NULL); BIO_free(bio); if(SSL_CTX_set_tmp_dh(ctx,ret)<0) berr_exit("Couldn't set DH parameters"); }void generate_eph_rsa_key(ctx) SSL_CTX *ctx; { RSA *rsa; rsa=RSA_generate_key(512,RSA_F4,NULL,NULL); if (!SSL_CTX_set_tmp_rsa(ctx,rsa)) berr_exit("Couldn't set RSA key"); RSA_free(rsa); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -