libpurple/plugins/perl/common/Cipher.xs

Thu, 30 Oct 2008 22:40:49 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Thu, 30 Oct 2008 22:40:49 +0000
changeset 24569
5dbd0617a27d
parent 23983
586866581434
child 27158
1d1bd4413f82
permissions
-rw-r--r--

Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
to detect when we're still using deprecated functions internally (and by
extension, when we've deprecated something we shouldn't have). In the
course of developing this changeset, I fixed a few such cases.

Given that the plan is to switch from PURPLE_HIDE_STRUCTS to
PURPLE_DISABLE_DEPRECATED as each struct is fully dealt with, this will
also ensure we have no regressions on the struct hiding work.

Deprecated functions are still available to the respective .c file, to
avoid missing prototype errors. Also, Perl and DBus undef the
*_DISABLE_DEPRECATED defines as appropriate so that deprecated functions
will still be exported to Perl plugins and via DBus. (Otherwise, we'd
be breaking backwards compatibility.)

11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
1 #include "module.h"
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
2
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
3 MODULE = Purple::Cipher PACKAGE = Purple::Cipher PREFIX = purple_cipher_
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
4 PROTOTYPES: ENABLE
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
5
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
6 BOOT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
7 {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
8 HV *stash = gv_stashpv("Purple::Cipher::BatchMode", 1);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
9 HV *cipher_caps = gv_stashpv("Purple::Cipher::Caps", 1);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
10
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
11 static const constiv *civ, const_iv[] = {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
12 #define const_iv(name) {#name, (IV)PURPLE_CIPHER_BATCH_MODE_##name}
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
13 const_iv(ECB),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
14 const_iv(CBC),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
15 #undef const_iv
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
16 };
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
17
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
18 static const constiv bm_const_iv[] = {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
19 #define const_iv(name) {#name, (IV)PURPLE_CIPHER_CAPS_##name}
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
20 const_iv(SET_OPT),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
21 const_iv(GET_OPT),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
22 const_iv(INIT),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
23 const_iv(RESET),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
24 const_iv(UNINIT),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
25 const_iv(SET_IV),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
26 const_iv(APPEND),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
27 const_iv(DIGEST),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
28 const_iv(ENCRYPT),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
29 const_iv(DECRYPT),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
30 const_iv(SET_SALT),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
31 const_iv(GET_SALT_SIZE),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
32 const_iv(SET_KEY),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
33 const_iv(GET_KEY_SIZE),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
34 const_iv(SET_BATCH_MODE),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
35 const_iv(GET_BATCH_MODE),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
36 const_iv(GET_BLOCK_SIZE),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
37 const_iv(SET_KEY_WITH_LEN),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
38 const_iv(UNKNOWN),
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
39 #undef const_iv
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
40 };
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
41
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
42 for (civ = const_iv + sizeof(const_iv) / sizeof(const_iv[0]); civ-- > const_iv; )
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
43 newCONSTSUB(stash, (char *)civ->name, newSViv(civ->iv));
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
44
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
45 for (civ = bm_const_iv + sizeof(bm_const_iv) / sizeof(bm_const_iv[0]); civ-- > bm_const_iv; )
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
46 newCONSTSUB(cipher_caps, (char *)civ->name, newSViv(civ->iv));
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
47 }
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
48
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
49 const gchar *
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
50 purple_cipher_get_name(cipher)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
51 Purple::Cipher cipher
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
52
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
53 guint
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
54 purple_cipher_get_capabilities(cipher)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
55 Purple::Cipher cipher
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
56
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
57 size_t
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
58 purple_cipher_digest_region(name, data_sv, in_len, digest)
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
59 const gchar *name
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
60 SV *data_sv
11130
55c10e8ff0d0 [gaim-migrate @ 13186]
John H. Kelm <johnkelm@gmail.com>
parents: 11118
diff changeset
61 size_t in_len
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
62 SV *digest
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
63 PREINIT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
64 gboolean ret;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
65 guchar *buff = NULL;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
66 guchar *data = NULL;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
67 size_t data_len;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
68 CODE:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
69 data = SvPV(data_sv, data_len);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
70 SvUPGRADE(digest, SVt_PV);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
71 buff = SvGROW(digest, in_len);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
72 ret = purple_cipher_digest_region(name, data, data_len, in_len, buff, &RETVAL);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
73 if(!ret) {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
74 SvSetSV_nosteal(digest, &PL_sv_undef);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
75 XSRETURN_UNDEF;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
76 }
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
77 SvCUR_set(digest, RETVAL);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
78 SvPOK_only(digest);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
79 OUTPUT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
80 RETVAL
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
81
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
82 gchar_own*
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
83 purple_cipher_http_digest_calculate_response(algorithm, method, digest_uri, qop, entity, nonce, nonce_count, client_nonce, session_key)
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
84 const gchar* algorithm
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
85 const gchar* method
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
86 const gchar* digest_uri
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
87 const gchar* qop
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
88 const gchar* entity
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
89 const gchar* nonce
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
90 const gchar* nonce_count
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
91 const gchar* client_nonce
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
92 const gchar* session_key
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
93
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
94 gchar_own*
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
95 purple_cipher_http_digest_calculate_session_key(algorithm, username, realm, password, nonce, client_nonce)
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
96 const gchar* algorithm
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
97 const gchar* username
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
98 const gchar* realm
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
99 const gchar* password
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
100 const gchar* nonce
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
101 const gchar* client_nonce
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
102
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
103 MODULE = Purple::Cipher PACKAGE = Purple::Ciphers PREFIX = purple_ciphers_
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
104 PROTOTYPES: ENABLE
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
105
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
106 Purple::Cipher
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
107 purple_ciphers_find_cipher(name)
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
108 gchar * name
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
109
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
110 Purple::Cipher
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
111 purple_ciphers_register_cipher(name, ops)
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
112 gchar * name
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
113 Purple::Cipher::Ops ops
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
114
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
115 gboolean
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
116 purple_ciphers_unregister_cipher(cipher)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
117 Purple::Cipher cipher
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
119 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
120 purple_ciphers_get_ciphers()
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
121 PREINIT:
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
122 GList *l;
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
123 PPCODE:
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
124 for (l = purple_ciphers_get_ciphers(); l != NULL; l = l->next) {
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
125 XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Cipher")));
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
126 }
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
127
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
128 Purple::Handle
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
129 purple_ciphers_get_handle()
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
130
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
131 MODULE = Purple::Cipher PACKAGE = Purple::Cipher::Context PREFIX = purple_cipher_context_
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
132 PROTOTYPES: ENABLE
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
133
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
134 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
135 purple_cipher_context_set_option(context, name, value)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
136 Purple::Cipher::Context context
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
137 gchar *name
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
138 gpointer value
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
139
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
140 gpointer
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
141 purple_cipher_context_get_option(context, name)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
142 Purple::Cipher::Context context
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
143 gchar *name
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
144
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
145 Purple::Cipher::Context
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
146 purple_cipher_context_new(klass, cipher, extra = NULL)
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
147 Purple::Cipher cipher
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
148 void *extra
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
149 C_ARGS: cipher, extra
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
150
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
151 Purple::Cipher::Context
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
152 purple_cipher_context_new_by_name(klass, name, extra = NULL)
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
153 gchar *name
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
154 void *extra
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
155 C_ARGS: name, extra
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
156
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
157 void
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
158 purple_cipher_context_reset(context, extra = NULL)
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
159 Purple::Cipher::Context context
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
160 gpointer extra
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
161
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
162 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
163 purple_cipher_context_destroy(context)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
164 Purple::Cipher::Context context
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
165
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
166 void
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
167 purple_cipher_context_set_iv(Purple::Cipher::Context context, guchar *iv, size_t length(iv))
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
168 PROTOTYPE: $$
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
169
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
170 void
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
171 purple_cipher_context_append(Purple::Cipher::Context context, guchar *data, size_t length(data))
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
172 PROTOTYPE: $$
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
173
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
174 size_t
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
175 purple_cipher_context_digest(context, in_len, digest)
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
176 Purple::Cipher::Context context
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
177 size_t in_len
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
178 SV *digest
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
179 PREINIT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
180 gboolean ret;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
181 guchar *buff = NULL;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
182 CODE:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
183 SvUPGRADE(digest, SVt_PV);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
184 buff = SvGROW(digest, in_len);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
185 ret = purple_cipher_context_digest(context, in_len, buff, &RETVAL);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
186 if(!ret) {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
187 SvSetSV_nosteal(digest, &PL_sv_undef);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
188 XSRETURN_UNDEF;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
189 }
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
190 SvCUR_set(digest, RETVAL);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
191 SvPOK_only(digest);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
192 OUTPUT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
193 RETVAL
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
194
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
195 size_t
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
196 purple_cipher_context_digest_to_str(context, in_len, digest_s)
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
197 Purple::Cipher::Context context
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
198 size_t in_len
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
199 SV *digest_s
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
200 PREINIT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
201 gboolean ret;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
202 gchar *buff = NULL;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
203 CODE:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
204 in_len += 1; /* perl shouldn't need to care about '\0' at the end */
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
205 SvUPGRADE(digest_s, SVt_PV);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
206 buff = SvGROW(digest_s, in_len);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
207 ret = purple_cipher_context_digest_to_str(context, in_len, buff, &RETVAL);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
208 if(!ret) {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
209 SvSetSV_nosteal(digest_s, &PL_sv_undef);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
210 XSRETURN_UNDEF;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
211 }
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
212 SvCUR_set(digest_s, RETVAL);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
213 SvPOK_only(digest_s);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
214 OUTPUT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
215 RETVAL
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
216
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
217 gint
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
218 purple_cipher_context_encrypt(context, data_sv, output, OUTLIST size_t outlen)
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
219 Purple::Cipher::Context context
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
220 SV *data_sv
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
221 SV *output
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
222 PROTOTYPE: $$$
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
223 PREINIT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
224 size_t datalen;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
225 guchar *buff = NULL;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
226 guchar *data = NULL;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
227 CODE:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
228 data = SvPV(data_sv, datalen);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
229 SvUPGRADE(output, SVt_PV);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
230 buff = SvGROW(output, datalen);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
231 RETVAL = purple_cipher_context_encrypt(context, data, datalen, buff, &outlen);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
232 if(outlen != 0) {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
233 SvPOK_only(output);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
234 SvCUR_set(output, outlen);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
235 } else {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
236 SvSetSV_nosteal(output, &PL_sv_undef);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
237 }
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
238 OUTPUT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
239 RETVAL
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
240
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
241 gint
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
242 purple_cipher_context_decrypt(context, data_sv, output, OUTLIST size_t outlen)
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
243 Purple::Cipher::Context context
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
244 SV *data_sv
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
245 SV *output
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
246 PROTOTYPE: $$$
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
247 PREINIT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
248 size_t datalen;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
249 guchar *buff = NULL;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
250 guchar *data = NULL;
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
251 CODE:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
252 data = SvPV(data_sv, datalen);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
253 SvUPGRADE(output, SVt_PV);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
254 buff = SvGROW(output, datalen);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
255 RETVAL = purple_cipher_context_decrypt(context, data, datalen, buff, &outlen);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
256 if(outlen != 0) {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
257 SvPOK_only(output);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
258 SvCUR_set(output, outlen);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
259 } else {
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
260 SvSetSV_nosteal(output, &PL_sv_undef);
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
261 }
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
262 OUTPUT:
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
263 RETVAL
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
264
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
265 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
266 purple_cipher_context_set_salt(context, salt)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
267 Purple::Cipher::Context context
11183
be87fe695c93 [gaim-migrate @ 13295]
Mark Doliner <markdoliner@pidgin.im>
parents: 11130
diff changeset
268 guchar *salt
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
269
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
270 size_t
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
271 purple_cipher_context_get_salt_size(context)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
272 Purple::Cipher::Context context
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
273
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
274 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
275 purple_cipher_context_set_key(context, key)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
276 Purple::Cipher::Context context
11183
be87fe695c93 [gaim-migrate @ 13295]
Mark Doliner <markdoliner@pidgin.im>
parents: 11130
diff changeset
277 guchar *key
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
278
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
279 size_t
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
280 purple_cipher_context_get_key_size(context)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
281 Purple::Cipher::Context context
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
282
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
283 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
284 purple_cipher_context_set_data(context, data)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
285 Purple::Cipher::Context context
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
286 gpointer data
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
287
12777
68ba8956a3d7 [gaim-migrate @ 15124]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
288 gpointer
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
289 purple_cipher_context_get_data(context)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
290 Purple::Cipher::Context context
23982
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
291
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
292 Purple::Cipher::BatchMode
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
293 purple_cipher_context_get_batch_mode(context)
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
294 Purple::Cipher::Context context
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
295
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
296 size_t
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
297 purple_cipher_context_get_block_size(context)
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
298 Purple::Cipher::Context context
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
299
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
300 void
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
301 purple_cipher_context_set_batch_mode(context, mode)
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
302 Purple::Cipher::Context context
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
303 Purple::Cipher::BatchMode mode
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
304
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
305 void
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
306 purple_cipher_context_set_key_with_len(Purple::Cipher::Context context, guchar *key, size_t length(key))
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
307 PROTOTYPE: $$
204b6e71f403 Some Perl bindings fixes and additions from Zsombor Welker.
Daniel Atallah <datallah@pidgin.im>
parents: 15894
diff changeset
308

mercurial