annotate libpurple/tests/test_jabber_scram.c @ 30722:7a26ff6c0044

propagate from branch 'im.pidgin.pidgin' (head 73717266fa7d3a35ac09e09781fc5b48e2954fab) to branch 'im.pidgin.cpw.qulogic.msnp16' (head 0e28179a771a31a9afec296749d9f6c1e7f7587c)
author Mark Doliner <mark@kingant.net>
date Thu, 22 Apr 2010 17:15:26 +0000
parents 554ae3e78952
children 738741a7a692
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28704
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
1 #include <string.h>
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
2
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
3 #include "tests.h"
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
4 #include "../util.h"
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
5 #include "../protocols/jabber/auth_scram.h"
28724
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
6 #include "../protocols/jabber/jutil.h"
28704
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
7
28722
1c1910b17ae5 jabber: Clean up the SCRAM code a little.
Paul Aurich <paul@darkrain42.org>
parents: 28717
diff changeset
8 static JabberScramHash sha1_mech = { "-SHA-1", "sha1", 20 };
1c1910b17ae5 jabber: Clean up the SCRAM code a little.
Paul Aurich <paul@darkrain42.org>
parents: 28717
diff changeset
9
28704
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
10 #define assert_pbkdf2_equal(password, salt, count, expected) { \
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
11 GString *p = g_string_new(password); \
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
12 GString *s = g_string_new(salt); \
28722
1c1910b17ae5 jabber: Clean up the SCRAM code a little.
Paul Aurich <paul@darkrain42.org>
parents: 28717
diff changeset
13 guchar *result = jabber_scram_hi(&sha1_mech, p, s, count); \
28704
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
14 fail_if(result == NULL, "Hi() returned NULL"); \
28707
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
15 fail_if(0 != memcmp(result, expected, 20), "Hi() returned invalid result"); \
28704
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
16 g_string_free(s, TRUE); \
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
17 g_string_free(p, TRUE); \
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
18 }
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
19
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
20 START_TEST(test_pbkdf2)
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
21 {
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
22 assert_pbkdf2_equal("password", "salt", 1, "\x0c\x60\xc8\x0f\x96\x1f\x0e\x71\xf3\xa9\xb5\x24\xaf\x60\x12\x06\x2f\xe0\x37\xa6");
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
23 assert_pbkdf2_equal("password", "salt", 2, "\xea\x6c\x01\x4d\xc7\x2d\x6f\x8c\xcd\x1e\xd9\x2a\xce\x1d\x41\xf0\xd8\xde\x89\x57");
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
24 assert_pbkdf2_equal("password", "salt", 4096, "\x4b\x00\x79\x01\xb7\x65\x48\x9a\xbe\xad\x49\xd9\x26\xf7\x21\xd0\x65\xa4\x29\xc1");
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
25
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
26 #if 0
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
27 /* This causes libcheck to time out :-D */
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
28 assert_pbkdf2_equal("password", "salt", 16777216, "\xee\xfe\x3d\x61\xcd\x4d\xa4\xe4\xe9\x94\x5b\x3d\x6b\xa2\x15\x8c\x26\x34\xe9\x84");
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
29 #endif
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
30 }
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
31 END_TEST
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
32
28707
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
33 START_TEST(test_proofs)
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
34 {
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
35 JabberScramData *data = g_new0(JabberScramData, 1);
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
36 gboolean ret;
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
37 GString *salt;
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
38 const char *client_proof;
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
39 /* const char *server_signature; */
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
40
28722
1c1910b17ae5 jabber: Clean up the SCRAM code a little.
Paul Aurich <paul@darkrain42.org>
parents: 28717
diff changeset
41 data->hash = &sha1_mech;
28717
464d022d7d6e jabber: Add SASLprep and the username substitution called for in draft-ietf-sasl-scram-10 5.1.
Paul Aurich <paul@darkrain42.org>
parents: 28711
diff changeset
42 data->password = g_strdup("password");
28707
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
43 data->auth_message = g_string_new("n=username@jabber.org,r=8jLxB5515dhFxBil5A0xSXMH,"
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
44 "r=8jLxB5515dhFxBil5A0xSXMHabc,s=c2FsdA==,i=1,"
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
45 "c=biws,r=8jLxB5515dhFxBil5A0xSXMHabc");
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
46 client_proof = "\x48\x61\x30\xa5\x61\x0b\xae\xb9\xe4\x11\xa8\xfd\xa5\xcd\x34\x1d\x8a\x3c\x28\x17";
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
47
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
48 salt = g_string_new("salt");
28709
b0fb53868142 jabber: Handle the case where the server success-with-data is sent as a challenge/response pair.
Paul Aurich <paul@darkrain42.org>
parents: 28707
diff changeset
49 ret = jabber_scram_calc_proofs(data, salt, 1);
28707
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
50 fail_if(ret == FALSE, "Failed to calculate SCRAM proofs!");
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
51
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
52 fail_unless(0 == memcmp(client_proof, data->client_proof->str, 20));
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
53 g_string_free(salt, TRUE);
28717
464d022d7d6e jabber: Add SASLprep and the username substitution called for in draft-ietf-sasl-scram-10 5.1.
Paul Aurich <paul@darkrain42.org>
parents: 28711
diff changeset
54
464d022d7d6e jabber: Add SASLprep and the username substitution called for in draft-ietf-sasl-scram-10 5.1.
Paul Aurich <paul@darkrain42.org>
parents: 28711
diff changeset
55 jabber_scram_data_destroy(data);
28707
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
56 }
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
57 END_TEST
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
58
28724
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
59 #define assert_successful_exchange(pw, nonce, start_data, challenge1, response1, success) { \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
60 JabberScramData *data = g_new0(JabberScramData, 1); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
61 gboolean ret; \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
62 gchar *out; \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
63 \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
64 data->step = 1; \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
65 data->hash = &sha1_mech; \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
66 data->password = jabber_saslprep(pw); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
67 fail_if(data->password == NULL); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
68 data->cnonce = g_strdup(nonce); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
69 data->auth_message = g_string_new(start_data); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
70 \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
71 ret = jabber_scram_feed_parser(data, challenge1, &out); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
72 fail_unless(ret == TRUE); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
73 fail_unless(g_str_equal(out, response1), "Got unexpected response to challenge. Expected %s, got %s", response1, out); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
74 g_free(out); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
75 \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
76 data->step = 2; \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
77 ret = jabber_scram_feed_parser(data, success, &out); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
78 fail_unless(ret == TRUE); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
79 fail_unless(out == NULL); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
80 \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
81 jabber_scram_data_destroy(data); \
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
82 }
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
83
28707
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
84 START_TEST(test_mech)
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
85 {
28724
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
86 assert_successful_exchange("password", "H7yDYKAWBCrM2Fa5SxGa4iez",
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
87 "n=paul,r=H7yDYKAWBCrM2Fa5SxGa4iez",
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
88 "r=H7yDYKAWBCrM2Fa5SxGa4iezFPVDPpDUcGxPkH3RzP,s=3rXeErP/os7jUNqU,i=4096",
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
89 "c=biws,r=H7yDYKAWBCrM2Fa5SxGa4iezFPVDPpDUcGxPkH3RzP,p=pXkak78EuwwOEwk2/h/OzD7NkEI=",
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
90 "v=ldX4EBNnOgDnNTOCmbSfBHAUCOs=");
28707
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
91
28724
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
92 assert_successful_exchange("pass½word", "GNb2HsNI7VnTv8ABsE5AnY8W",
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
93 "n=paul,r=GNb2HsNI7VnTv8ABsE5AnY8W",
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
94 "r=GNb2HsNI7VnTv8ABsE5AnY8W/w/I3eRKM0I7jxFWOH,s=ysAriUjPzFqOXnMQ,i=4096",
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
95 "c=biws,r=GNb2HsNI7VnTv8ABsE5AnY8W/w/I3eRKM0I7jxFWOH,p=n/CtgdWjOYnLQ4m9Na+wPn9D2uY=",
554ae3e78952 Add a second SCRAM test with one of the suggested test characters from the I-D.
Paul Aurich <paul@darkrain42.org>
parents: 28722
diff changeset
96 "v=4TkZwKWy6JHNmrUbU2+IdAaXtos=");
28707
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
97 }
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
98 END_TEST
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
99
28704
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
100 Suite *
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
101 jabber_scram_suite(void)
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
102 {
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
103 Suite *s = suite_create("Jabber SASL SCRAM functions");
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
104
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
105 TCase *tc = tcase_create("PBKDF2 Functionality");
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
106 tcase_add_test(tc, test_pbkdf2);
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
107 suite_add_tcase(s, tc);
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
108
28707
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
109 tc = tcase_create("SCRAM Proofs");
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
110 tcase_add_test(tc, test_proofs);
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
111 suite_add_tcase(s, tc);
c1d41b7484ff jabber: Complete (though untested) SCRAM implementation.
Paul Aurich <paul@darkrain42.org>
parents: 28704
diff changeset
112
28711
65a34cce02e3 jabber: Fix up the remaining issues and add a test case that interoperates with gsasl. Woot.
Paul Aurich <paul@darkrain42.org>
parents: 28709
diff changeset
113 tc = tcase_create("SCRAM exchange");
65a34cce02e3 jabber: Fix up the remaining issues and add a test case that interoperates with gsasl. Woot.
Paul Aurich <paul@darkrain42.org>
parents: 28709
diff changeset
114 tcase_add_test(tc, test_mech);
65a34cce02e3 jabber: Fix up the remaining issues and add a test case that interoperates with gsasl. Woot.
Paul Aurich <paul@darkrain42.org>
parents: 28709
diff changeset
115 suite_add_tcase(s, tc);
28704
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
116 return s;
398ff52e7d62 Fix the Hi() function and actually 'mtn add' the test file.
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
117 }