From 13aa791e7b38d5511215930e30e489559459196a Mon Sep 17 00:00:00 2001 From: Anderson Toshiyuki Sasaki Date: Tue, 8 Jan 2019 13:58:45 +0100 Subject: [PATCH] tests: Provide the server state to callbacks This aims to make it easier to implement custom callbacks. Signed-off-by: Anderson Toshiyuki Sasaki Reviewed-by: Andreas Schneider --- tests/server/test_server/default_cb.c | 3 +++ tests/server/test_server/default_cb.h | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/tests/server/test_server/default_cb.c b/tests/server/test_server/default_cb.c index 41da1117..1e60f0cb 100644 --- a/tests/server/test_server/default_cb.c +++ b/tests/server/test_server/default_cb.c @@ -749,6 +749,9 @@ void default_handle_session_cb(ssh_event event, goto end; } + sdata.server_state = (void *)state; + cdata.server_state = (void *)state; + #ifdef WITH_PCAP set_pcap(&sdata, session, state->pcap_file); #endif diff --git a/tests/server/test_server/default_cb.h b/tests/server/test_server/default_cb.h index 90388a75..0db81559 100644 --- a/tests/server/test_server/default_cb.h +++ b/tests/server/test_server/default_cb.h @@ -64,6 +64,10 @@ struct channel_data_st { ssh_event event; /* Terminal size struct. */ struct winsize *winsize; + /* This pointer will hold the server state for default callbacks */ + void *server_state; + /* This pointer is useful to set data for custom callbacks */ + void *extra_data; }; /* A userdata struct for session. */ @@ -77,6 +81,10 @@ struct session_data_st { #ifdef WITH_PCAP ssh_pcap_file pcap; #endif + /* This pointer will hold the server state for default callbacks */ + void *server_state; + /* This pointer is useful to set data for custom callbacks */ + void *extra_data; }; int auth_password_cb(ssh_session session, const char *user,