Curl_checkheaders: make it available for IMAP and SMTP too

... not only HTTP uses this now.

Closes #1875
This commit is contained in:
Daniel Stenberg 2017-09-08 15:13:42 +02:00
parent 7207aaa696
commit 02eb6184ad
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
5 changed files with 30 additions and 25 deletions

View File

@ -172,27 +172,6 @@ CURLcode Curl_http_setup_conn(struct connectdata *conn)
return CURLE_OK;
}
/*
* checkheaders() checks the linked list of custom HTTP headers for a
* particular header (prefix).
*
* Returns a pointer to the first matching header or NULL if none matched.
*/
char *Curl_checkheaders(const struct connectdata *conn,
const char *thisheader)
{
struct curl_slist *head;
size_t thislen = strlen(thisheader);
struct Curl_easy *data = conn->data;
for(head = data->set.headers;head; head=head->next) {
if(strncasecompare(head->data, thisheader, thislen))
return head->data;
}
return NULL;
}
/*
* checkProxyHeaders() checks the linked list of custom proxy headers
* if proxy headers are not available, then it will lookup into http header

View File

@ -40,8 +40,6 @@ bool Curl_compareheader(const char *headerline, /* line to check */
const char *header, /* header keyword _with_ colon */
const char *content); /* content string to find */
char *Curl_checkheaders(const struct connectdata *conn,
const char *thisheader);
char *Curl_copy_header_value(const char *header);
char *Curl_checkProxyheaders(const struct connectdata *conn,

View File

@ -1820,7 +1820,7 @@ CURLcode curl_mime_headers(curl_mimepart *part,
void Curl_mime_initpart(curl_mimepart *part, struct Curl_easy *easy)
{
(void) part;
(void) data;
(void) easy;
}
void Curl_mime_cleanpart(curl_mimepart *part)

View File

@ -74,12 +74,37 @@
#include "non-ascii.h"
#include "http2.h"
#include "mime.h"
#include "strcase.h"
/* The last 3 #include files should be in this order */
#include "curl_printf.h"
#include "curl_memory.h"
#include "memdebug.h"
#if !defined(CURL_DISABLE_HTTP) || !defined(CURL_DISABLE_SMTP) || \
!defined(CURL_DISABLE_IMAP)
/*
* checkheaders() checks the linked list of custom headers for a
* particular header (prefix).
*
* Returns a pointer to the first matching header or NULL if none matched.
*/
char *Curl_checkheaders(const struct connectdata *conn,
const char *thisheader)
{
struct curl_slist *head;
size_t thislen = strlen(thisheader);
struct Curl_easy *data = conn->data;
for(head = data->set.headers;head; head=head->next) {
if(strncasecompare(head->data, thisheader, thislen))
return head->data;
}
return NULL;
}
#endif
/*
* This function will call the read callback to fill our buffer with data
* to upload.

View File

@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -22,6 +22,9 @@
*
***************************************************************************/
char *Curl_checkheaders(const struct connectdata *conn,
const char *thisheader);
void Curl_init_CONNECT(struct Curl_easy *data);
CURLcode Curl_pretransfer(struct Curl_easy *data);