libpurple/plugins/perl/common/Hash.xs

Tue, 01 Oct 2013 03:19:16 +0530

author
Ankit Vani <a@nevitus.org>
date
Tue, 01 Oct 2013 03:19:16 +0530
branch
soc.2013.gobjectification
changeset 34984
49540359d6fc
parent 34606
bca53cda8ed5
permissions
-rw-r--r--

Removed get_name from Hash.xs

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

mercurial