764.c:647:24: error: ‘SSL2_MAX_CONNECTION_ID_LENGTH’ undeclared here (not in a function) unsigned char conn_id[SSL2_MAX_CONNECTION_ID_LENGTH]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 764.c: In function ‘read_ssl_packet’: 764.c:849:19: error: ‘SSL2_MT_ERROR’ undeclared (first use in this function) if ((buf[0] == SSL2_MT_ERROR) && (rec_len == 3)) { ^~~~~~~~~~~~~ 764.c:849:19: note: each undeclared identifier is reported only once for each function it appears in 764.c: In function ‘get_server_hello’: 764.c:981:16: error: ‘SSL2_MT_SERVER_HELLO’ undeclared (first use in this function) if (*(p++) != SSL2_MT_SERVER_HELLO) { ^~~~~~~~~~~~~~~~~~~~ 764.c: In function ‘send_client_master_key’: 764.c:1073:10: error: dereferencing pointer to incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ if (pkey->type !=EVP_PKEY_RSA) { ^~ 764.c: In function ‘get_server_verify’: 764.c:1150:16: error: ‘SSL2_MT_SERVER_VERIFY’ undeclared (first use in this function) if (buf[0] != SSL2_MT_SERVER_VERIFY) { ^~~~~~~~~~~~~~~~~~~~~ 764.c: In function ‘send_client_finished’: 764.c:1162:11: error: ‘SSL2_MT_CLIENT_FINISHED’ undeclared (first use in this function) buf[0] = SSL2_MT_CLIENT_FINISHED; ^~~~~~~~~~~~~~~~~~~~~~~ 764.c: In function ‘get_server_finished’: 764.c:1175:16: error: ‘SSL2_MT_SERVER_FINISHED’ undeclared (first use in this function) if (buf[0] != SSL2_MT_SERVER_FINISHED) { ^~~~~~~~~~~~~~~~~~~~~~~