34 #define _BASIC_BASE "Basic "
52 const char *separator;
62 (0 != strncmp (header,
70 MHD_DLOG (connection->
daemon,
71 _ (
"Error decoding basic authentication.\n"));
76 if (
NULL == (separator = strchr (decode,
80 MHD_DLOG (connection->
daemon,
81 _ (
"Basic authentication doesn't contain ':' separator.\n"));
86 if (
NULL == (user = strdup (decode)))
91 user[separator - decode] =
'\0';
94 *password = strdup (separator + 1);
95 if (
NULL == *password)
98 MHD_DLOG (connection->
daemon,
99 _ (
"Failed to allocate memory for password.\n"));
130 size_t hlen = strlen (realm) + strlen (
"Basic realm=\"\"") + 1;
133 header = (
char *) malloc (hlen);
137 MHD_DLOG (connection->
daemon,
138 "Failed to allocate memory for auth header.\n");
142 res = MHD_snprintf_ (header,
144 "Basic realm=\"%s\"",
146 if ((res > 0) && ((
size_t) res < hlen))
163 MHD_DLOG (connection->
daemon,
164 _ (
"Failed to add Basic auth header.\n"));
char * BASE64Decode(const char *src)
_MHD_EXTERN char * MHD_basic_auth_get_username_password(struct MHD_Connection *connection, char **password)
_MHD_EXTERN enum MHD_Result MHD_queue_basic_auth_fail_response(struct MHD_Connection *connection, const char *realm, struct MHD_Response *response)
#define MHD_HTTP_UNAUTHORIZED
_MHD_EXTERN enum MHD_Result MHD_lookup_connection_value_n(struct MHD_Connection *connection, enum MHD_ValueKind kind, const char *key, size_t key_size, const char **value_ptr, size_t *value_size_ptr)
_MHD_EXTERN enum MHD_Result MHD_queue_response(struct MHD_Connection *connection, unsigned int status_code, struct MHD_Response *response)
_MHD_EXTERN enum MHD_Result MHD_add_response_header(struct MHD_Response *response, const char *header, const char *content)
#define MHD_STATICSTR_LEN_(macro)
internal shared structures
Header for platform missing functions.
limits values definitions
struct MHD_Daemon * daemon