and added files
[bcm963xx.git] / userapps / opensource / siproxd / src / digcalc.h
diff --git a/userapps/opensource/siproxd/src/digcalc.h b/userapps/opensource/siproxd/src/digcalc.h
new file mode 100755 (executable)
index 0000000..7e0805b
--- /dev/null
@@ -0,0 +1,42 @@
+
+/* TAKEN from rcf2617.txt */
+
+/* $Id: digcalc.h,v 1.2 2004/04/11 10:40:00 hb9xar Exp $ */
+
+#ifndef _DIGCALC_H_
+#define _DIGCALC_H_
+
+#define HASHLEN 16
+typedef char HASH[HASHLEN];
+#define HASHHEXLEN 32
+typedef char HASHHEX[HASHHEXLEN+1];
+#define IN
+#define OUT
+
+/* calculate H(A1) as per HTTP Digest spec */
+void DigestCalcHA1(
+    IN char * pszAlg,
+    IN char * pszUserName,
+    IN char * pszRealm,
+    IN char * pszPassword,
+    IN char * pszNonce,
+    IN char * pszCNonce,
+    OUT HASHHEX SessionKey
+    );
+
+/* calculate request-digest/response-digest as per HTTP Digest spec */
+void DigestCalcResponse(
+    IN HASHHEX HA1,           /* H(A1) */
+    IN char * pszNonce,       /* nonce from server */
+    IN char * pszNonceCount,  /* 8 hex digits */
+    IN char * pszCNonce,      /* client nonce */
+    IN char * pszQop,         /* qop-value: "", "auth", "auth-int" */
+    IN char * pszMethod,      /* method from the request */
+    IN char * pszDigestUri,   /* requested URL */
+    IN HASHHEX HEntity,       /* H(entity body) if qop="auth-int" */
+    OUT HASHHEX Response      /* request-digest or response-digest */
+    );
+
+
+
+#endif