0
0
mirror of https://github.com/darkk/redsocks.git synced 2025-08-24 18:58:36 +00:00
redsocks/http-auth.h
Leonid Evdokimov 7963de73d4 Add on_proxy_fail to inform user's browser about sort of failure
Use the feature with care, enable it only for HTTP port to avoid
confusion, no client protocol detection is done at the moment.
2016-04-13 02:30:08 +03:00

36 lines
922 B
C

#ifndef HTTP_AUTH_H
#define HTTP_AUTH_H
#include "redsocks.h"
typedef struct http_auth_t {
char *last_auth_query;
int last_auth_count;
} http_auth;
static inline http_auth* red_http_auth(redsocks_instance *i)
{
return (http_auth*)(i + 1);
}
/*
* Create the authentication header contents for the `Basic' scheme.
* This is done by encoding the string "USER:PASS" to base64 and
* prepending the string "Basic " in front of it.
*
*/
char* basic_authentication_encode(const char *user, const char *passwd);
/*
* Create the authentication header contents for the 'Digest' scheme.
* only md5 method is available, see RFC 2617 for detail.
*
*/
char* digest_authentication_encode(const char *line, const char *user, const char *passwd,
const char *method, const char *path, int count, const char *cnonce);
char *http_auth_request_header(struct evbuffer *src, struct evbuffer *tee);
#endif /* HTTP_AUTH_H */