Add tests for each callback function in ssh_callbacks_struct

There are currently no tests for most of the callback functions in struct ssh_callbacks_struct.

There should be client tests to make sure for example, that the channel_open_request_x11_function callback is executed when the client receives an x11 channel open request.

Edit: jjelen: Cross-posting some explanation from matrix:

The X11 forwarding is confusing first couple of times you look into that. You can see an example of use of the callback in examples/ssh_X11_client.c. Cross-reading also the RFC specification how the X11 forwarding works should be also helpful: https://datatracker.ietf.org/doc/html/rfc4254#section-6.3 The thing is that the client initiates the forwarding with the SSH_MSG_CHANNEL_REQUEST, but then only after this, the server sends the SSH_MSG_CHANNEL_OPEN so the client needs to have defined callback that handles this message. This is counter-intuitive in regards to how opening other channels work (shell, forwarding). But if you will dive into how the X11 protocol works, the ssh client connects to your local X11 server and the SSH server runs a X11 client (therefore it needs to initiate the connection/channel opening to the X11 server running on your client).

Edited by Jakub Jelen
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information