Mercurial > pidgin
comparison libpurple/tests/test_jabber_scram.c @ 28717:464d022d7d6e
jabber: Add SASLprep and the username substitution called for in draft-ietf-sasl-scram-10 5.1.
The non-libidn code has not been tested.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Mon, 30 Nov 2009 20:34:54 +0000 |
parents | 65a34cce02e3 |
children | 1c1910b17ae5 |
comparison
equal
deleted
inserted
replaced
28716:eb4081c68c57 | 28717:464d022d7d6e |
---|---|
34 GString *salt; | 34 GString *salt; |
35 const char *client_proof; | 35 const char *client_proof; |
36 /* const char *server_signature; */ | 36 /* const char *server_signature; */ |
37 | 37 |
38 data->hash = "sha1"; | 38 data->hash = "sha1"; |
39 data->password = "password"; | 39 data->password = g_strdup("password"); |
40 data->auth_message = g_string_new("n=username@jabber.org,r=8jLxB5515dhFxBil5A0xSXMH," | 40 data->auth_message = g_string_new("n=username@jabber.org,r=8jLxB5515dhFxBil5A0xSXMH," |
41 "r=8jLxB5515dhFxBil5A0xSXMHabc,s=c2FsdA==,i=1," | 41 "r=8jLxB5515dhFxBil5A0xSXMHabc,s=c2FsdA==,i=1," |
42 "c=biws,r=8jLxB5515dhFxBil5A0xSXMHabc"); | 42 "c=biws,r=8jLxB5515dhFxBil5A0xSXMHabc"); |
43 client_proof = "\x48\x61\x30\xa5\x61\x0b\xae\xb9\xe4\x11\xa8\xfd\xa5\xcd\x34\x1d\x8a\x3c\x28\x17"; | 43 client_proof = "\x48\x61\x30\xa5\x61\x0b\xae\xb9\xe4\x11\xa8\xfd\xa5\xcd\x34\x1d\x8a\x3c\x28\x17"; |
44 | 44 |
46 ret = jabber_scram_calc_proofs(data, salt, 1); | 46 ret = jabber_scram_calc_proofs(data, salt, 1); |
47 fail_if(ret == FALSE, "Failed to calculate SCRAM proofs!"); | 47 fail_if(ret == FALSE, "Failed to calculate SCRAM proofs!"); |
48 | 48 |
49 fail_unless(0 == memcmp(client_proof, data->client_proof->str, 20)); | 49 fail_unless(0 == memcmp(client_proof, data->client_proof->str, 20)); |
50 g_string_free(salt, TRUE); | 50 g_string_free(salt, TRUE); |
51 g_string_free(data->auth_message, TRUE); | 51 |
52 g_free(data); | 52 jabber_scram_data_destroy(data); |
53 } | 53 } |
54 END_TEST | 54 END_TEST |
55 | 55 |
56 START_TEST(test_mech) | 56 START_TEST(test_mech) |
57 { | 57 { |
59 gboolean ret; | 59 gboolean ret; |
60 gchar *out; | 60 gchar *out; |
61 | 61 |
62 data->step = 1; | 62 data->step = 1; |
63 data->hash = "sha1"; | 63 data->hash = "sha1"; |
64 data->password = "password"; | 64 data->password = g_strdup("password"); |
65 data->cnonce = g_strdup("H7yDYKAWBCrM2Fa5SxGa4iez"); | 65 data->cnonce = g_strdup("H7yDYKAWBCrM2Fa5SxGa4iez"); |
66 data->auth_message = g_string_new("n=paul,r=H7yDYKAWBCrM2Fa5SxGa4iez"); | 66 data->auth_message = g_string_new("n=paul,r=H7yDYKAWBCrM2Fa5SxGa4iez"); |
67 | 67 |
68 ret = jabber_scram_feed_parser(data, "r=H7yDYKAWBCrM2Fa5SxGa4iezFPVDPpDUcGxPkH3RzP,s=3rXeErP/os7jUNqU,i=4096", &out); | 68 ret = jabber_scram_feed_parser(data, "r=H7yDYKAWBCrM2Fa5SxGa4iezFPVDPpDUcGxPkH3RzP,s=3rXeErP/os7jUNqU,i=4096", &out); |
69 fail_unless(ret == TRUE); | 69 fail_unless(ret == TRUE); |