33 #define _BASIC_BASE "Basic "
51 const char *separator;
63 MHD_DLOG (connection->
daemon,
64 "Error decoding basic authentication\n");
69 if (
NULL == (separator = strchr (decode,
':')))
72 MHD_DLOG(connection->
daemon,
73 "Basic authentication doesn't contain ':' separator\n");
78 if (
NULL == (user = strdup (decode)))
83 user[separator - decode] =
'\0';
86 *password = strdup (separator + 1);
87 if (
NULL == *password)
90 MHD_DLOG(connection->
daemon,
91 "Failed to allocate memory for password\n");
121 size_t hlen = strlen(realm) + strlen(
"Basic realm=\"\"") + 1;
126 "Basic realm=\"%s\"",
_MHD_EXTERN const char * MHD_lookup_connection_value(struct MHD_Connection *connection, enum MHD_ValueKind kind, const char *key)
_MHD_EXTERN int MHD_add_response_header(struct MHD_Response *response, const char *header, const char *content)
_MHD_EXTERN int MHD_queue_basic_auth_fail_response(struct MHD_Connection *connection, const char *realm, struct MHD_Response *response)
struct MHD_Daemon * daemon
_MHD_EXTERN char * MHD_basic_auth_get_username_password(struct MHD_Connection *connection, char **password)
internal shared structures
_MHD_EXTERN int MHD_queue_response(struct MHD_Connection *connection, unsigned int status_code, struct MHD_Response *response)
#define MHD_HTTP_UNAUTHORIZED
char * BASE64Decode(const char *src)