1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| static void get_connect(t_socks *socks)
{
if ((socks->serv.sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
die(SERV_SOCK_KO);
my_putstr(SERV_SOCK_OK);
addr_context(&socks->serv.ac);
if (bind(socks->serv.sock, (SOCKADDR *) &socks->serv.ac, socks->serv.ac_sz) < 0)
die(BIND_KO);
if (listen(socks->serv.sock, 5) < 0)
die(LISTEN_KO);
my_putstr(LISTEN_OK);
/* if ((socks->guest.sock = accept(socks->serv.sock, (SOCKADDR *) &socks->guest.ac, &socks->guest.ac_sz)) < 0) */
/* die(GUEST_KO); */
/* my_putstr(GUEST_OK); */
}
int main(void)
{
t_socks socks;
SSL_CTX *ctx;
SSL *ssl;
socks.guest.ac_sz = sizeof(socks.guest.ac);
socks.serv.ac_sz = sizeof(socks.serv.ac);
SSL_library_init();
if (!(ctx = SSL_CTX_new(SSLv2_server_method())))
die(CTX_KO);
if (!(ssl = SSL_new(ctx)))
die(SSL_KO);
get_connect(&socks);
if (!(SSL_set_fd(ssl, socks.serv.sock)))
die(LINK_SSL_KO);
if (SSL_accept(ssl) <= 0)
die(SSL_ACCEPT_KO);
my_putstr(SSL_OK); |
Partager