Loading lib/smb.c +121 −0 Original line number Diff line number Diff line Loading @@ -28,8 +28,129 @@ #define BUILDING_CURL_SMB_C #include "smb.h" #include "urldata.h" #include "sendf.h" #include "multiif.h" /* The last #include file should be: */ #include "memdebug.h" /* Local API functions */ static CURLcode smb_setup(struct connectdata *conn); static CURLcode smb_connect(struct connectdata *conn, bool *done); static CURLcode smb_connection_state(struct connectdata *conn, bool *done); static CURLcode smb_request_state(struct connectdata *conn, bool *done); static CURLcode smb_done(struct connectdata *conn, CURLcode status, bool premature); static CURLcode smb_disconnect(struct connectdata *conn, bool dead); static int smb_getsock(struct connectdata *conn, curl_socket_t *socks, int numsocks); /* * SMB handler interface */ const struct Curl_handler Curl_handler_smb = { "SMB", /* scheme */ smb_setup, /* setup_connection */ ZERO_NULL, /* do_it */ smb_done, /* done */ ZERO_NULL, /* do_more */ smb_connect, /* connect_it */ smb_connection_state, /* connecting */ smb_request_state, /* doing */ smb_getsock, /* proto_getsock */ smb_getsock, /* doing_getsock */ ZERO_NULL, /* domore_getsock */ ZERO_NULL, /* perform_getsock */ smb_disconnect, /* disconnect */ ZERO_NULL, /* readwrite */ PORT_SMB, /* defport */ CURLPROTO_SMB, /* protocol */ PROTOPT_NONE /* flags */ }; #ifdef USE_SSL /* * SMBS handler interface */ const struct Curl_handler Curl_handler_smbs = { "SMBS", /* scheme */ smb_setup, /* setup_connection */ ZERO_NULL, /* do_it */ smb_done, /* done */ ZERO_NULL, /* do_more */ smb_connect, /* connect_it */ smb_connection_state, /* connecting */ smb_request_state, /* doing */ smb_getsock, /* proto_getsock */ smb_getsock, /* doing_getsock */ ZERO_NULL, /* domore_getsock */ ZERO_NULL, /* perform_getsock */ smb_disconnect, /* disconnect */ ZERO_NULL, /* readwrite */ PORT_SMBS, /* defport */ CURLPROTO_SMBS, /* protocol */ PROTOPT_SSL /* flags */ }; #endif static CURLcode smb_setup(struct connectdata *conn) { (void) conn; return CURLE_NOT_BUILT_IN; } static CURLcode smb_connect(struct connectdata *conn, bool *done) { (void) conn; (void) done; return CURLE_NOT_BUILT_IN; } static CURLcode smb_connection_state(struct connectdata *conn, bool *done) { (void) conn; (void) done; return CURLE_NOT_BUILT_IN; } static CURLcode smb_request_state(struct connectdata *conn, bool *done) { (void) conn; (void) done; return CURLE_NOT_BUILT_IN; } static CURLcode smb_done(struct connectdata *conn, CURLcode status, bool premature) { (void) conn; (void) status; (void) premature; return CURLE_NOT_BUILT_IN; } static CURLcode smb_disconnect(struct connectdata *conn, bool dead) { (void) conn; (void) dead; return CURLE_NOT_BUILT_IN; } static int smb_getsock(struct connectdata *conn, curl_socket_t *socks, int numsocks) { (void) conn; (void) socks; (void) numsocks; return GETSOCK_BLANK; } #endif /* CURL_DISABLE_SMB && USE_NTLM && USE_WINDOWS_SSPI */ lib/smb.h +8 −0 Original line number Diff line number Diff line Loading @@ -256,4 +256,12 @@ struct smb_tree_disconnect { #endif /* BUILDING_CURL_SMB_C */ #if !defined(CURL_DISABLE_SMB) && defined(USE_NTLM) && \ !defined(USE_WINDOWS_SSPI) extern const struct Curl_handler Curl_handler_smb; extern const struct Curl_handler Curl_handler_smbs; #endif /* CURL_DISABLE_SMB && USE_NTLM && USE_WINDOWS_SSPI */ #endif /* HEADER_CURL_SMB_H */ Loading
lib/smb.c +121 −0 Original line number Diff line number Diff line Loading @@ -28,8 +28,129 @@ #define BUILDING_CURL_SMB_C #include "smb.h" #include "urldata.h" #include "sendf.h" #include "multiif.h" /* The last #include file should be: */ #include "memdebug.h" /* Local API functions */ static CURLcode smb_setup(struct connectdata *conn); static CURLcode smb_connect(struct connectdata *conn, bool *done); static CURLcode smb_connection_state(struct connectdata *conn, bool *done); static CURLcode smb_request_state(struct connectdata *conn, bool *done); static CURLcode smb_done(struct connectdata *conn, CURLcode status, bool premature); static CURLcode smb_disconnect(struct connectdata *conn, bool dead); static int smb_getsock(struct connectdata *conn, curl_socket_t *socks, int numsocks); /* * SMB handler interface */ const struct Curl_handler Curl_handler_smb = { "SMB", /* scheme */ smb_setup, /* setup_connection */ ZERO_NULL, /* do_it */ smb_done, /* done */ ZERO_NULL, /* do_more */ smb_connect, /* connect_it */ smb_connection_state, /* connecting */ smb_request_state, /* doing */ smb_getsock, /* proto_getsock */ smb_getsock, /* doing_getsock */ ZERO_NULL, /* domore_getsock */ ZERO_NULL, /* perform_getsock */ smb_disconnect, /* disconnect */ ZERO_NULL, /* readwrite */ PORT_SMB, /* defport */ CURLPROTO_SMB, /* protocol */ PROTOPT_NONE /* flags */ }; #ifdef USE_SSL /* * SMBS handler interface */ const struct Curl_handler Curl_handler_smbs = { "SMBS", /* scheme */ smb_setup, /* setup_connection */ ZERO_NULL, /* do_it */ smb_done, /* done */ ZERO_NULL, /* do_more */ smb_connect, /* connect_it */ smb_connection_state, /* connecting */ smb_request_state, /* doing */ smb_getsock, /* proto_getsock */ smb_getsock, /* doing_getsock */ ZERO_NULL, /* domore_getsock */ ZERO_NULL, /* perform_getsock */ smb_disconnect, /* disconnect */ ZERO_NULL, /* readwrite */ PORT_SMBS, /* defport */ CURLPROTO_SMBS, /* protocol */ PROTOPT_SSL /* flags */ }; #endif static CURLcode smb_setup(struct connectdata *conn) { (void) conn; return CURLE_NOT_BUILT_IN; } static CURLcode smb_connect(struct connectdata *conn, bool *done) { (void) conn; (void) done; return CURLE_NOT_BUILT_IN; } static CURLcode smb_connection_state(struct connectdata *conn, bool *done) { (void) conn; (void) done; return CURLE_NOT_BUILT_IN; } static CURLcode smb_request_state(struct connectdata *conn, bool *done) { (void) conn; (void) done; return CURLE_NOT_BUILT_IN; } static CURLcode smb_done(struct connectdata *conn, CURLcode status, bool premature) { (void) conn; (void) status; (void) premature; return CURLE_NOT_BUILT_IN; } static CURLcode smb_disconnect(struct connectdata *conn, bool dead) { (void) conn; (void) dead; return CURLE_NOT_BUILT_IN; } static int smb_getsock(struct connectdata *conn, curl_socket_t *socks, int numsocks) { (void) conn; (void) socks; (void) numsocks; return GETSOCK_BLANK; } #endif /* CURL_DISABLE_SMB && USE_NTLM && USE_WINDOWS_SSPI */
lib/smb.h +8 −0 Original line number Diff line number Diff line Loading @@ -256,4 +256,12 @@ struct smb_tree_disconnect { #endif /* BUILDING_CURL_SMB_C */ #if !defined(CURL_DISABLE_SMB) && defined(USE_NTLM) && \ !defined(USE_WINDOWS_SSPI) extern const struct Curl_handler Curl_handler_smb; extern const struct Curl_handler Curl_handler_smbs; #endif /* CURL_DISABLE_SMB && USE_NTLM && USE_WINDOWS_SSPI */ #endif /* HEADER_CURL_SMB_H */