projects
/
project
/
uclient.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add utilities for calculating http digest hashes
[project/uclient.git]
/
uclient-utils.h
diff --git
a/uclient-utils.h
b/uclient-utils.h
index
a7eaf1c
..
83ab09a
100644
(file)
--- a/
uclient-utils.h
+++ b/
uclient-utils.h
@@
-3,14
+3,28
@@
#include <stdbool.h>
#include <stdbool.h>
+struct http_digest_data {
+ const char *uri;
+ const char *method;
+
+ const char *auth_hash; /* H(A1) */
+ const char *qop;
+ const char *nc;
+ const char *nonce;
+ const char *cnonce;
+};
+
static inline int base64_len(int len)
{
return ((len + 2) / 3) * 4;
}
void base64_encode(const void *inbuf, unsigned int len, void *out);
static inline int base64_len(int len)
{
return ((len + 2) / 3) * 4;
}
void base64_encode(const void *inbuf, unsigned int len, void *out);
+void bin_to_hex(char *dest, const void *buf, int len);
int uclient_urldecode(const char *in, char *out, bool decode_plus);
int uclient_urldecode(const char *in, char *out, bool decode_plus);
+void http_digest_calculate_auth_hash(char *dest, const char *user, const char *realm, const char *password);
+void http_digest_calculate_response(char *dest, const struct http_digest_data *data);
#endif
#endif