mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
set_userpass: convert from protocol-specific to generic
The protocol handler's flags field now can set that the protocol requires a password, so that the set_userpass function doesn't have to have the specific knowledge of which protocols that do.
This commit is contained in:
parent
9c629e5348
commit
32001ac414
@ -181,7 +181,7 @@ const struct Curl_handler Curl_handler_ftp = {
|
|||||||
ZERO_NULL, /* readwrite */
|
ZERO_NULL, /* readwrite */
|
||||||
PORT_FTP, /* defport */
|
PORT_FTP, /* defport */
|
||||||
CURLPROTO_FTP, /* protocol */
|
CURLPROTO_FTP, /* protocol */
|
||||||
PROTOPT_DUAL | PROTOPT_CLOSEACTION /* flags */
|
PROTOPT_DUAL | PROTOPT_CLOSEACTION | PROTOPT_NEEDSPWD /* flags */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -206,7 +206,8 @@ const struct Curl_handler Curl_handler_ftps = {
|
|||||||
ZERO_NULL, /* readwrite */
|
ZERO_NULL, /* readwrite */
|
||||||
PORT_FTPS, /* defport */
|
PORT_FTPS, /* defport */
|
||||||
CURLPROTO_FTP | CURLPROTO_FTPS, /* protocol */
|
CURLPROTO_FTP | CURLPROTO_FTPS, /* protocol */
|
||||||
PROTOPT_SSL | PROTOPT_DUAL | PROTOPT_CLOSEACTION /* flags */
|
PROTOPT_SSL | PROTOPT_DUAL | PROTOPT_CLOSEACTION |
|
||||||
|
PROTOPT_NEEDSPWD /* flags */
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ const struct Curl_handler Curl_handler_imap = {
|
|||||||
ZERO_NULL, /* readwrite */
|
ZERO_NULL, /* readwrite */
|
||||||
PORT_IMAP, /* defport */
|
PORT_IMAP, /* defport */
|
||||||
CURLPROTO_IMAP, /* protocol */
|
CURLPROTO_IMAP, /* protocol */
|
||||||
PROTOPT_CLOSEACTION /* flags */
|
PROTOPT_CLOSEACTION | PROTOPT_NEEDSPWD /* flags */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ const struct Curl_handler Curl_handler_imaps = {
|
|||||||
ZERO_NULL, /* readwrite */
|
ZERO_NULL, /* readwrite */
|
||||||
PORT_IMAPS, /* defport */
|
PORT_IMAPS, /* defport */
|
||||||
CURLPROTO_IMAP | CURLPROTO_IMAPS, /* protocol */
|
CURLPROTO_IMAP | CURLPROTO_IMAPS, /* protocol */
|
||||||
PROTOPT_CLOSEACTION | PROTOPT_SSL /* flags */
|
PROTOPT_CLOSEACTION | PROTOPT_SSL | PROTOPT_NEEDSPWD /* flags */
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -4452,7 +4452,7 @@ static CURLcode set_userpass(struct connectdata *conn,
|
|||||||
const char *user, const char *passwd)
|
const char *user, const char *passwd)
|
||||||
{
|
{
|
||||||
/* If our protocol needs a password and we have none, use the defaults */
|
/* If our protocol needs a password and we have none, use the defaults */
|
||||||
if((conn->handler->protocol & (CURLPROTO_FTP|CURLPROTO_IMAP)) &&
|
if((conn->handler->flags & PROTOPT_NEEDSPWD) &&
|
||||||
!conn->bits.user_passwd) {
|
!conn->bits.user_passwd) {
|
||||||
|
|
||||||
conn->user = strdup(CURL_DEFAULT_USER);
|
conn->user = strdup(CURL_DEFAULT_USER);
|
||||||
|
@ -703,7 +703,9 @@ struct Curl_handler {
|
|||||||
the send function might need to be called while uploading, or vice versa.
|
the send function might need to be called while uploading, or vice versa.
|
||||||
*/
|
*/
|
||||||
#define PROTOPT_DIRLOCK (1<<3)
|
#define PROTOPT_DIRLOCK (1<<3)
|
||||||
#define PROTOPT_NONETWORK (1<<4) /* protocol doesn't use the network! */
|
#define PROTOPT_NONETWORK (1<<4) /* protocol doesn't use the network! */
|
||||||
|
#define PROTOPT_NEEDSPWD (1<<5) /* needs a password, and if none is set it
|
||||||
|
gets a default */
|
||||||
|
|
||||||
|
|
||||||
/* return the count of bytes sent, or -1 on error */
|
/* return the count of bytes sent, or -1 on error */
|
||||||
|
Loading…
Reference in New Issue
Block a user