conn: add 'attach' to protocol handler, make libssh2 use it

The libssh2 backend has SSH session associated with the connection but
the callback context is the easy handle, so when a connection gets
attached to a transfer, the protocol handler now allows for a custom
function to get used to set things up correctly.

Reported-by: Michael O'Farrell
Fixes #6898
Closes #7078
This commit is contained in:
Daniel Stenberg 2021-05-17 08:54:00 +02:00
parent 904b27d18d
commit 0c55fbab45
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
24 changed files with 66 additions and 0 deletions

View file

@ -263,9 +263,12 @@ extern const struct Curl_handler Curl_handler_sftp;
CURLcode Curl_ssh_init(void);
void Curl_ssh_cleanup(void);
size_t Curl_ssh_version(char *buffer, size_t buflen);
void Curl_ssh_attach(struct Curl_easy *data,
struct connectdata *conn);
#else
/* for non-SSH builds */
#define Curl_ssh_cleanup()
#define Curl_ssh_attach(x,y)
#endif
#endif /* HEADER_CURL_SSH_H */