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);