[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CVS gsasl/tests
From: |
gsasl-commit |
Subject: |
CVS gsasl/tests |
Date: |
Sun, 19 Dec 2004 21:49:46 +0100 |
Update of /home/cvs/gsasl/tests
In directory dopio:/tmp/cvs-serv3506
Modified Files:
digest-md5.c
Log Message:
Rewrite using new API.
--- /home/cvs/gsasl/tests/digest-md5.c 2004/12/19 20:33:09 1.6
+++ /home/cvs/gsasl/tests/digest-md5.c 2004/12/19 20:49:46 1.7
@@ -34,71 +34,75 @@
#define USERNAME "Ali Baba"
/* "Ali " "\xC2\xAD" "Bab" "\xC2\xAA" */
/* "Al\xC2\xAA""dd\xC2\xAD""in\xC2\xAE" */
+#define AUTHZID "joe"
+#define SERVICE "imap"
+#define HOSTNAME "hostname"
+#define REALM "realm"
static int
-server_cb_retrieve (Gsasl_session_ctx * xctx,
- const char *authentication_id,
- const char *authorization_id,
- const char *realm, char *key, size_t * keylen)
+callback (Gsasl * ctx, Gsasl_session * sctx, Gsasl_property prop)
{
- size_t needlen = strlen (PASSWORD);
+ static int flip = 0;
+ static int flip2 = 0;
+ int rc = GSASL_NO_CALLBACK;
- if (key && *keylen < needlen)
- return GSASL_TOO_SMALL_BUFFER;
+ /* Get user info from user. */
- *keylen = needlen;
- if (key)
- memcpy (key, PASSWORD, *keylen);
-
- return GSASL_OK;
-}
-
-static int
-client_callback_service (Gsasl_session_ctx * ctx,
- char *srv,
- size_t * srvlen,
- char *host,
- size_t * hostlen, char *srvname, size_t * srvnamelen)
-{
- return GSASL_OK;
-}
-
-static int
-client_cb_authentication_id (Gsasl_session_ctx * xctx,
- char *out, size_t * outlen)
-{
- size_t needlen = strlen (USERNAME);
-
- if (out && *outlen < needlen)
- return GSASL_TOO_SMALL_BUFFER;
-
- *outlen = needlen;
- if (out)
- memcpy (out, USERNAME, *outlen);
-
- return GSASL_OK;
-}
-
-static int
-client_cb_password (Gsasl_session_ctx * xctx, char *out, size_t * outlen)
-{
- size_t needlen = strlen (PASSWORD);
-
- if (out && *outlen < needlen)
- return GSASL_TOO_SMALL_BUFFER;
-
- *outlen = needlen;
- if (out)
- memcpy (out, PASSWORD, *outlen);
+ switch (prop)
+ {
+ case GSASL_PASSWORD:
+ gsasl_property_set (sctx, prop, PASSWORD);
+ rc = GSASL_OK;
+ break;
+
+ case GSASL_AUTHID:
+ gsasl_property_set (sctx, prop, USERNAME);
+ rc = GSASL_OK;
+ break;
+
+ case GSASL_AUTHZID:
+ if (flip)
+ gsasl_property_set (sctx, prop, AUTHZID);
+ else
+ gsasl_property_set (sctx, prop, NULL);
+ flip = !flip;
+ rc = GSASL_OK;
+ break;
+
+ case GSASL_SERVICE:
+ gsasl_property_set (sctx, prop, SERVICE);
+ rc = GSASL_OK;
+ break;
+
+ case GSASL_REALM:
+ if (flip2)
+ gsasl_property_set (sctx, prop, REALM);
+ else
+ gsasl_property_set (sctx, prop, NULL);
+ flip2++;
+ if (flip2 == 3)
+ flip2 = 0;
+ rc = GSASL_OK;
+ break;
+
+ case GSASL_HOSTNAME:
+ gsasl_property_set (sctx, prop, HOSTNAME);
+ rc = GSASL_OK;
+ break;
+
+ default:
+ fail ("Unknown callback property %d\n", prop);
+ break;
+ }
- return GSASL_OK;
+ return rc;
}
void
doit (void)
{
- Gsasl_ctx *ctx = NULL;
- Gsasl_session_ctx *server = NULL, *client = NULL;
+ Gsasl *ctx = NULL;
+ Gsasl_session *server = NULL, *client = NULL;
char *s1, *s2;
size_t s1len, s2len;
size_t i;
@@ -111,21 +115,7 @@
return;
}
- if (!gsasl_client_support_p (ctx, "DIGEST-MD5") ||
- !gsasl_server_support_p (ctx, "DIGEST-MD5"))
- {
- printf ("No support for DIGEST-MD5...\n");
- return;
- }
-
- gsasl_server_callback_retrieve_set (ctx, server_cb_retrieve);
-
- gsasl_client_callback_service_set (ctx, client_callback_service);
-
- gsasl_client_callback_authentication_id_set (ctx,
- client_cb_authentication_id);
- gsasl_client_callback_password_set (ctx, client_cb_password);
-
+ gsasl_callback_set (ctx, callback);
for (i = 0; i < 5; i++)
{
@@ -227,8 +217,8 @@
if (debug)
printf ("\n");
- gsasl_client_finish (client);
- gsasl_server_finish (server);
+ gsasl_finish (client);
+ gsasl_finish (server);
}
gsasl_done (ctx);
- CVS gsasl/tests, gsasl-commit, 2004/12/14
- CVS gsasl/tests, gsasl-commit, 2004/12/14
- CVS gsasl/tests, gsasl-commit, 2004/12/19
- CVS gsasl/tests, gsasl-commit, 2004/12/19
- CVS gsasl/tests, gsasl-commit, 2004/12/19
- CVS gsasl/tests,
gsasl-commit <=
- CVS gsasl/tests, gsasl-commit, 2004/12/19
- CVS gsasl/tests, gsasl-commit, 2004/12/19
- CVS gsasl/tests, gsasl-commit, 2004/12/19
- CVS gsasl/tests, gsasl-commit, 2004/12/19
- CVS gsasl/tests, gsasl-commit, 2004/12/26