Skip to content

Commit b587834

Browse files
committed
[WRAPPER] Added 1 more symbol to libssl.so.3
1 parent 548fd15 commit b587834

File tree

4 files changed

+31
-1
lines changed

4 files changed

+31
-1
lines changed

src/wrapped/generated/functions_list.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6054,6 +6054,7 @@ wrappedlibssl3:
60546054
- SSL_CTX_set_default_passwd_cb
60556055
- SSL_CTX_set_keylog_callback
60566056
- SSL_CTX_set_msg_callback
6057+
- SSL_CTX_set_psk_server_callback
60576058
- SSL_set_info_callback
60586059
- SSL_set_msg_callback
60596060
- SSL_set_psk_client_callback

src/wrapped/generated/wrappedlibssl3types.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ typedef int32_t (*iFlpppp_t)(intptr_t, void*, void*, void*, void*);
3030
GO(SSL_CTX_set_default_passwd_cb, vFpp_t) \
3131
GO(SSL_CTX_set_keylog_callback, vFpp_t) \
3232
GO(SSL_CTX_set_msg_callback, vFpp_t) \
33+
GO(SSL_CTX_set_psk_server_callback, vFpp_t) \
3334
GO(SSL_set_info_callback, vFpp_t) \
3435
GO(SSL_set_msg_callback, vFpp_t) \
3536
GO(SSL_set_psk_client_callback, vFpp_t) \

src/wrapped/wrappedlibssl3.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,29 @@ static void* find_psk_server_cb_Fct(void* fct)
476476
printf_log(LOG_NONE, "Warning, no more slot for ssl3 psk_server_cb callback\n");
477477
return NULL;
478478
}
479+
// psk_server_callback
480+
#define GO(A) \
481+
static uintptr_t my_psk_server_callback_fct_##A = 0; \
482+
static uint32_t my_psk_server_callback_##A(void* a, void* b, void* c, int d) \
483+
{ \
484+
return (uint32_t)RunFunctionFmt(my_psk_server_callback_fct_##A, "pppi", a, b, c, d); \
485+
}
486+
SUPER()
487+
#undef GO
488+
static void* find_psk_server_callback_Fct(void* fct)
489+
{
490+
if(!fct) return NULL;
491+
void* p;
492+
if((p = GetNativeFnc((uintptr_t)fct))) return p;
493+
#define GO(A) if(my_psk_server_callback_fct_##A == (uintptr_t)fct) return my_psk_server_callback_##A;
494+
SUPER()
495+
#undef GO
496+
#define GO(A) if(my_psk_server_callback_fct_##A == 0) {my_psk_server_callback_fct_##A = (uintptr_t)fct; return my_psk_server_callback_##A; }
497+
SUPER()
498+
#undef GO
499+
printf_log(LOG_NONE, "Warning, no more slot for ssl3 psk_server_callback callback\n");
500+
return NULL;
501+
}
479502
// read_write
480503
#define GO(A) \
481504
static uintptr_t my_read_write_fct_##A = 0; \
@@ -727,6 +750,11 @@ EXPORT int my3_BIO_meth_set_destroy(x64emu_t* emu, void* biom, void* f)
727750
return my->BIO_meth_set_destroy(biom, find_create_destroy_Fct(f));
728751
}
729752

753+
EXPORT void my3_SSL_CTX_set_psk_server_callback(x64emu_t* emu, void* ssl, void* cb)
754+
{
755+
my->SSL_CTX_set_psk_server_callback(ssl, find_psk_server_callback_Fct(cb));
756+
}
757+
730758
#define ALTMY my3_
731759

732760
#define NEEDED_LIBS "libcrypto.so.3", "libpthread.so.0"

src/wrapped/wrappedlibssl3_private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ GO(SSL_CTX_set_num_tickets, iFpL)
353353
GO(SSL_CTX_set_options, UFpU)
354354
GO(SSL_CTX_set_post_handshake_auth, vFpi)
355355
//GOM(SSL_CTX_set_psk_client_callback, vFEpp)
356-
//GOM(SSL_CTX_set_psk_server_callback, vFEpp)
356+
GOM(SSL_CTX_set_psk_server_callback, vFEpp)
357357
GO(SSL_CTX_set_purpose, iFpi)
358358
GO(SSL_CTX_set_quiet_shutdown, vFpi)
359359
GO(SSL_CTX_set_security_level, vFpi)

0 commit comments

Comments
 (0)