Sat, 22 Jun 2013 15:58:44 +0530
Added ciphers and hashes _new functions to .xs files
|
34567
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1 | #include "module.h" |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
2 | |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
3 | MODULE = Purple::Hash PACKAGE = Purple::Hash PREFIX = purple_hash_ |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
4 | PROTOTYPES: ENABLE |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
5 | |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
6 | const gchar * |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
7 | purple_hash_get_name(hash) |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
8 | Purple::Hash hash |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
9 | |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
10 | gchar_own* |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
11 | purple_http_digest_calculate_response(algorithm, method, digest_uri, qop, entity, nonce, nonce_count, client_nonce, session_key) |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
12 | const gchar* algorithm |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
13 | const gchar* method |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
14 | const gchar* digest_uri |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
15 | const gchar* qop |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
16 | const gchar* entity |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
17 | const gchar* nonce |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
18 | const gchar* nonce_count |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
19 | const gchar* client_nonce |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
20 | const gchar* session_key |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
21 | |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
22 | gchar_own* |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
23 | purple_http_digest_calculate_session_key(algorithm, username, realm, password, nonce, client_nonce) |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
24 | const gchar* algorithm |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
25 | const gchar* username |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
26 | const gchar* realm |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
27 | const gchar* password |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
28 | const gchar* nonce |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
29 | const gchar* client_nonce |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
30 | |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
31 | void |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
32 | purple_hash_reset(hash) |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
33 | Purple::Hash hash |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
34 | |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
35 | void |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
36 | purple_hash_append(Purple::Hash hash, guchar *data, size_t length(data)) |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
37 | PROTOTYPE: $$ |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
38 | |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
39 | gboolean |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
40 | purple_hash_digest(hash, digest) |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
41 | Purple::Hash hash |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
42 | SV *digest |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
43 | PREINIT: |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
44 | guchar *buff = NULL; |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
45 | size_t digest_size; |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
46 | CODE: |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
47 | digest_size = purple_hash_get_digest_size(hash); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
48 | SvUPGRADE(digest, SVt_PV); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
49 | buff = (guchar *)SvGROW(digest, digest_size); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
50 | if (purple_hash_digest(hash, buff, digest_size)) { |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
51 | SvCUR_set(digest, digest_size); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
52 | SvPOK_only(digest); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
53 | RETVAL = 1; |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
54 | } else { |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
55 | SvSetSV_nosteal(digest, &PL_sv_undef); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
56 | RETVAL = 0; |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
57 | } |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
58 | OUTPUT: |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
59 | RETVAL |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
60 | |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
61 | gboolean |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
62 | purple_hash_digest_to_str(hash, digest_s) |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
63 | Purple::Hash hash |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
64 | SV *digest_s |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
65 | PREINIT: |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
66 | gchar *buff = NULL; |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
67 | size_t digest_size, str_len; |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
68 | CODE: |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
69 | digest_size = purple_hash_get_digest_size(hash); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
70 | str_len = 2 * digest_size; |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
71 | SvUPGRADE(digest_s, SVt_PV); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
72 | buff = SvGROW(digest_s, str_len + 1); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
73 | if (purple_hash_digest_to_str(hash, buff, str_len + 1)) { |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
74 | SvCUR_set(digest_s, str_len); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
75 | SvPOK_only(digest_s); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
76 | RETVAL = 1; |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
77 | } else { |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
78 | SvSetSV_nosteal(digest_s, &PL_sv_undef); |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
79 | RETVAL = 0; |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
80 | } |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
81 | OUTPUT: |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
82 | RETVAL |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
83 | |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
84 | size_t |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
85 | purple_hash_get_block_size(hash) |
|
ea5103f66b0e
Refactor the codebase to use PurpleHash
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
86 | Purple::Hash hash |
|
34606
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
87 | |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
88 | MODULE = Purple::Hash PACKAGE = Purple::MD4Hash PREFIX = purple_md4_hash_ |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
89 | PROTOTYPES: ENABLE |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
90 | |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
91 | Purple::Hash |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
92 | purple_md4_hash_new() |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
93 | |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
94 | MODULE = Purple::Hash PACKAGE = Purple::MD5Hash PREFIX = purple_md5_hash_ |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
95 | PROTOTYPES: ENABLE |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
96 | |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
97 | Purple::Hash |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
98 | purple_md5_hash_new() |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
99 | |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
100 | MODULE = Purple::Hash PACKAGE = Purple::SHA1Hash PREFIX = purple_sha1_hash_ |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
101 | PROTOTYPES: ENABLE |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
102 | |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
103 | Purple::Hash |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
104 | purple_sha1_hash_new() |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
105 | |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
106 | MODULE = Purple::Hash PACKAGE = Purple::SHA256Hash PREFIX = purple_sha256_hash_ |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
107 | PROTOTYPES: ENABLE |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
108 | |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
109 | Purple::Hash |
|
bca53cda8ed5
Added ciphers and hashes _new functions to .xs files
Ankit Vani <a@nevitus.org>
parents:
34573
diff
changeset
|
110 | purple_sha256_hash_new() |