Wed, 30 Mar 2016 01:20:31 -0500
Port sslconn.[ch] to Gio
This patch ports purple_ssl_* functions to use Gio's
GTlsClientConnection internally instead of the libpurple
SSL backend plugins.
This temporarily breaks manually accepting certificates until
the request API is ported and the helper functions implement
this functionality.
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
1 | /* purple |
| 6703 | 2 | * |
| 15884 | 3 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 5 | * source distribution. | |
| 6703 | 6 | * |
| 7 | * This program is free software; you can redistribute it and/or modify | |
| 8 | * it under the terms of the GNU General Public License as published by | |
| 9 | * the Free Software Foundation; either version 2 of the License, or | |
| 10 | * (at your option) any later version. | |
| 11 | * | |
| 12 | * This program is distributed in the hope that it will be useful, | |
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 | * GNU General Public License for more details. | |
| 16 | * | |
| 17 | * You should have received a copy of the GNU General Public License | |
| 18 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18487
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 6703 | 20 | */ |
|
35487
494f09f7f331
Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents:
35486
diff
changeset
|
21 | |
|
494f09f7f331
Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents:
35486
diff
changeset
|
22 | #ifndef _PURPLE_SSLCONN_H_ |
|
494f09f7f331
Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents:
35486
diff
changeset
|
23 | #define _PURPLE_SSLCONN_H_ |
|
35442
84e906df98dd
Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35403
diff
changeset
|
24 | /** |
|
84e906df98dd
Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35403
diff
changeset
|
25 | * SECTION:sslconn |
|
84e906df98dd
Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35403
diff
changeset
|
26 | * @section_id: libpurple-sslconn |
|
84e906df98dd
Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35403
diff
changeset
|
27 | * @short_description: <filename>sslconn.h</filename> |
|
84e906df98dd
Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35403
diff
changeset
|
28 | * @title: SSL API |
|
84e906df98dd
Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35403
diff
changeset
|
29 | */ |
|
84e906df98dd
Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35403
diff
changeset
|
30 | |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
31 | /** |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
32 | * PurpleSslErrorType: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
33 | * |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
34 | * Possible SSL errors. |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
35 | */ |
|
7274
42ec5f56e32a
[gaim-migrate @ 7851]
Christian Hammond <chipx86@chipx86.com>
parents:
6783
diff
changeset
|
36 | typedef enum |
|
42ec5f56e32a
[gaim-migrate @ 7851]
Christian Hammond <chipx86@chipx86.com>
parents:
6783
diff
changeset
|
37 | { |
| 15884 | 38 | PURPLE_SSL_HANDSHAKE_FAILED = 1, |
|
18474
7f5cf3fa528d
- Add PURPLE_SSL_CERTIFICATE_INVALID error code
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18464
diff
changeset
|
39 | PURPLE_SSL_CONNECT_FAILED = 2, |
|
7f5cf3fa528d
- Add PURPLE_SSL_CERTIFICATE_INVALID error code
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18464
diff
changeset
|
40 | PURPLE_SSL_CERTIFICATE_INVALID = 3 |
| 15884 | 41 | } PurpleSslErrorType; |
|
7274
42ec5f56e32a
[gaim-migrate @ 7851]
Christian Hammond <chipx86@chipx86.com>
parents:
6783
diff
changeset
|
42 | |
|
37623
53718d3c53f0
Port sslconn.[ch] to Gio
Mike Ruprecht <cmaiku@gmail.com>
parents:
37417
diff
changeset
|
43 | #include <gio/gio.h> |
|
20443
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20147
diff
changeset
|
44 | #include "proxy.h" |
|
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20147
diff
changeset
|
45 | |
|
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20147
diff
changeset
|
46 | #define PURPLE_SSL_DEFAULT_PORT 443 |
|
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20147
diff
changeset
|
47 | |
| 15884 | 48 | typedef struct _PurpleSslConnection PurpleSslConnection; |
|
35466
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
49 | typedef struct _PurpleSslOps PurpleSslOps; |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
50 | |
| 15884 | 51 | typedef void (*PurpleSslInputFunction)(gpointer, PurpleSslConnection *, |
| 52 | PurpleInputCondition); | |
| 53 | typedef void (*PurpleSslErrorFunction)(PurpleSslConnection *, PurpleSslErrorType, | |
|
7274
42ec5f56e32a
[gaim-migrate @ 7851]
Christian Hammond <chipx86@chipx86.com>
parents:
6783
diff
changeset
|
54 | gpointer); |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
55 | |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
56 | /** |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
57 | * PurpleSslConnection: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
58 | * @host: Hostname to which the SSL connection will be made |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
59 | * @port: Port to connect to |
|
35467
975ae62dd895
Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents:
35466
diff
changeset
|
60 | * @connect_cb_data: Data to pass to @connect_cb |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
61 | * @connect_cb: Callback triggered once the SSL handshake is complete |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
62 | * @error_cb: Callback triggered if there is an error during connection |
|
35467
975ae62dd895
Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents:
35466
diff
changeset
|
63 | * @recv_cb_data: Data passed to @recv_cb |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
64 | * @recv_cb: User-defined callback executed when the SSL connection |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
65 | * receives data |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
66 | * @fd: File descriptor used to refer to the socket |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
67 | * @inpa: Glib event source ID; used to refer to the received data |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
68 | * callback in the glib eventloop |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
69 | * @connect_data: Data related to the underlying TCP connection |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
70 | * @private_data: Internal connection data managed by the SSL backend |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
71 | * (GnuTLS/LibNSS/whatever) |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
72 | * @verifier: Verifier to use in authenticating the peer |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
73 | */ |
| 15884 | 74 | struct _PurpleSslConnection |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
75 | { |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
76 | char *host; |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
77 | int port; |
| 6764 | 78 | void *connect_cb_data; |
| 15884 | 79 | PurpleSslInputFunction connect_cb; |
| 80 | PurpleSslErrorFunction error_cb; | |
| 6764 | 81 | void *recv_cb_data; |
| 15884 | 82 | PurpleSslInputFunction recv_cb; |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
83 | |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
84 | int fd; |
|
24262
51ba71b5e5e2
The variable we use to keep track of the watcher of the ssl connection
Mark Doliner <markdoliner@pidgin.im>
parents:
21211
diff
changeset
|
85 | guint inpa; |
| 15884 | 86 | PurpleProxyConnectData *connect_data; |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
87 | |
|
37623
53718d3c53f0
Port sslconn.[ch] to Gio
Mike Ruprecht <cmaiku@gmail.com>
parents:
37417
diff
changeset
|
88 | GTlsConnection *conn; |
|
53718d3c53f0
Port sslconn.[ch] to Gio
Mike Ruprecht <cmaiku@gmail.com>
parents:
37417
diff
changeset
|
89 | GCancellable *cancellable; |
|
53718d3c53f0
Port sslconn.[ch] to Gio
Mike Ruprecht <cmaiku@gmail.com>
parents:
37417
diff
changeset
|
90 | |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
91 | void *private_data; |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
92 | }; |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
93 | |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
94 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
95 | * PurpleSslOps: |
|
35466
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
96 | * @init: Initializes the SSL system provided. See purple_ssl_init(). |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
97 | * <sbr/>Returns: %TRUE if initialization succeeded |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
98 | * @uninit: Unloads the SSL system. Inverse of PurpleSslOps::init. |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
99 | * See purple_ssl_uninit(). |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
100 | * @connectfunc: Sets up the SSL connection for a #PurpleSslConnection once the |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
101 | * TCP connection has been established. See purple_ssl_connect(). |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
102 | * @close: Destroys the internal data of the SSL connection provided. Freeing |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
103 | * @gsc itself is left to purple_ssl_close(). |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
104 | * @read: Reads data from a connection (like POSIX read()). |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
105 | * See purple_ssl_read(). |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
106 | * <sbr/>@gsc: Connection context |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
107 | * <sbr/>@data: Pointer to buffer to drop data into |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
108 | * <sbr/>@len: Maximum number of bytes to read |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
109 | * <sbr/>Returns: Number of bytes actually written into @data |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
110 | * (which may be less than @len), or <0 on error |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
111 | * @write: Writes data to a connection (like POSIX send()). |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
112 | * See purple_ssl_write(). |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
113 | * <sbr/>@gsc: Connection context |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
114 | * <sbr/>@data: Data buffer to send data from |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
115 | * <sbr/>@len: Number of bytes to send from buffer |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
116 | * <sbr/>Returns: The number of bytes written to @data (may be less than |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
117 | * @len) or <0 on error |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
118 | * @get_peer_certificates: Obtains the certificate chain provided by the peer. |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
119 | * See #PurpleCertificate. |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
120 | * <sbr/>@gsc: Connection context |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
121 | * <sbr/>Returns: A newly allocated list containing the |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
122 | * certificates the peer provided. |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
123 | * |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
124 | * SSL implementation operations structure. |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
125 | * |
|
35466
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
126 | * Every SSL implementation must provide all of these and register it via |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
127 | * purple_ssl_set_ops(). |
|
17313
c8b649e48d4f
Clarify documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17312
diff
changeset
|
128 | * These should not be called directly! Instead, use the purple_ssl_* functions. |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
129 | */ |
|
35466
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
130 | struct _PurpleSslOps |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
131 | { |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
132 | gboolean (*init)(void); |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
133 | void (*uninit)(void); |
| 15884 | 134 | void (*connectfunc)(PurpleSslConnection *gsc); |
| 135 | void (*close)(PurpleSslConnection *gsc); | |
| 136 | size_t (*read)(PurpleSslConnection *gsc, void *data, size_t len); | |
| 137 | size_t (*write)(PurpleSslConnection *gsc, const void *data, size_t len); | |
|
35466
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
138 | |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
139 | /* TODO Decide whether the ordering of certificates in this list can be |
|
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
140 | guaranteed. */ |
|
18246
212bfb9c9cc7
- Expose get_peer_certificates in the SslOps struct, and modify gnutls
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17430
diff
changeset
|
141 | GList * (* get_peer_certificates)(PurpleSslConnection * gsc); |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
142 | |
|
35024
eb3afb7643ce
Added /*< private >*/ for padding members, clean them up and add missing ones
Ankit Vani <a@nevitus.org>
parents:
34262
diff
changeset
|
143 | /*< private >*/ |
|
eb3afb7643ce
Added /*< private >*/ for padding members, clean them up and add missing ones
Ankit Vani <a@nevitus.org>
parents:
34262
diff
changeset
|
144 | void (*_purple_reserved1)(void); |
|
16743
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
145 | void (*_purple_reserved2)(void); |
|
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
146 | void (*_purple_reserved3)(void); |
|
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
147 | void (*_purple_reserved4)(void); |
|
35466
e259e75f1c6f
Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents:
35442
diff
changeset
|
148 | }; |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
149 | |
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32604
diff
changeset
|
150 | G_BEGIN_DECLS |
| 6703 | 151 | |
| 152 | /**************************************************************************/ | |
| 35472 | 153 | /* SSL API */ |
| 6703 | 154 | /**************************************************************************/ |
| 155 | ||
| 156 | /** | |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
157 | * purple_ssl_strerror: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
158 | * @error: Error code |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
159 | * |
|
20371
ff774b09aabc
Bunch of documentation tidying for the ssl api, and add a doxycomment to
Will Thompson <resiak@pidgin.im>
parents:
20147
diff
changeset
|
160 | * Returns a human-readable string for an SSL error. |
|
18487
0730e45141fd
- Add purple_ssl_strerror for handy error description power!
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18474
diff
changeset
|
161 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
162 | * Returns: Human-readable error explanation |
|
18487
0730e45141fd
- Add purple_ssl_strerror for handy error description power!
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18474
diff
changeset
|
163 | */ |
|
0730e45141fd
- Add purple_ssl_strerror for handy error description power!
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18474
diff
changeset
|
164 | const gchar * purple_ssl_strerror(PurpleSslErrorType error); |
|
0730e45141fd
- Add purple_ssl_strerror for handy error description power!
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18474
diff
changeset
|
165 | |
|
0730e45141fd
- Add purple_ssl_strerror for handy error description power!
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18474
diff
changeset
|
166 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
167 | * purple_ssl_connect: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
168 | * @account: The account making the connection. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
169 | * @host: The destination host. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
170 | * @port: The destination port. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
171 | * @func: The SSL input handler function. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
172 | * @error_func: The SSL error handler function. This function |
|
35468
65e7b4566de4
Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents:
35467
diff
changeset
|
173 | * should <emphasis>NOT</emphasis> call purple_ssl_close(). In |
|
65e7b4566de4
Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents:
35467
diff
changeset
|
174 | * the event of an error the #PurpleSslConnection will be |
|
65e7b4566de4
Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents:
35467
diff
changeset
|
175 | * destroyed for you. |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
176 | * @data: User-defined data. |
| 6703 | 177 | * |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
178 | * Makes a SSL connection to the specified host and port. The caller |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
179 | * should keep track of the returned value and use it to cancel the |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
180 | * connection, if needed. |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
181 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
182 | * Returns: The SSL connection handle. |
| 6703 | 183 | */ |
| 15884 | 184 | PurpleSslConnection *purple_ssl_connect(PurpleAccount *account, const char *host, |
| 185 | int port, PurpleSslInputFunction func, | |
| 186 | PurpleSslErrorFunction error_func, | |
| 6703 | 187 | void *data); |
| 188 | ||
|
27813
7989c9bb5000
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <darkrain42@pidgin.im>
parents:
25911
diff
changeset
|
189 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
190 | * purple_ssl_connect_with_ssl_cn: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
191 | * @account: The account making the connection. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
192 | * @host: The destination host. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
193 | * @port: The destination port. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
194 | * @func: The SSL input handler function. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
195 | * @error_func: The SSL error handler function. This function |
|
35468
65e7b4566de4
Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents:
35467
diff
changeset
|
196 | * should <emphasis>NOT</emphasis> call purple_ssl_close(). In |
|
65e7b4566de4
Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents:
35467
diff
changeset
|
197 | * the event of an error the #PurpleSslConnection will be |
|
65e7b4566de4
Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents:
35467
diff
changeset
|
198 | * destroyed for you. |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
199 | * @ssl_host: The hostname of the other peer (to verify the CN) |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
200 | * @data: User-defined data. |
|
27813
7989c9bb5000
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <darkrain42@pidgin.im>
parents:
25911
diff
changeset
|
201 | * |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
202 | * Makes a SSL connection to the specified host and port, using the separate |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
203 | * name to verify with the certificate. The caller should keep track of the |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
204 | * returned value and use it to cancel the connection, if needed. |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
205 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
206 | * Returns: The SSL connection handle. |
|
27813
7989c9bb5000
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <darkrain42@pidgin.im>
parents:
25911
diff
changeset
|
207 | */ |
|
7989c9bb5000
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <darkrain42@pidgin.im>
parents:
25911
diff
changeset
|
208 | PurpleSslConnection *purple_ssl_connect_with_ssl_cn(PurpleAccount *account, const char *host, |
|
7989c9bb5000
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <darkrain42@pidgin.im>
parents:
25911
diff
changeset
|
209 | int port, PurpleSslInputFunction func, |
|
7989c9bb5000
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <darkrain42@pidgin.im>
parents:
25911
diff
changeset
|
210 | PurpleSslErrorFunction error_func, |
|
7989c9bb5000
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <darkrain42@pidgin.im>
parents:
25911
diff
changeset
|
211 | const char *ssl_host, |
|
7989c9bb5000
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <darkrain42@pidgin.im>
parents:
25911
diff
changeset
|
212 | void *data); |
|
7989c9bb5000
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <darkrain42@pidgin.im>
parents:
25911
diff
changeset
|
213 | |
|
18449
2d2df64f4303
applied changes from f9186fabb483b56a9d7e8fb7241b2520e9930413
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18246
diff
changeset
|
214 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
215 | * purple_ssl_connect_with_host_fd: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
216 | * @account: The account making the connection. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
217 | * @fd: The file descriptor. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
218 | * @func: The SSL input handler function. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
219 | * @error_func: The SSL error handler function. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
220 | * @host: The hostname of the other peer (to verify the CN) |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
221 | * @data: User-defined data. |
|
20940
925d3d68b3af
Doxygen @since tags for libpurple and pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20371
diff
changeset
|
222 | * |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
223 | * Makes a SSL connection using an already open file descriptor. |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
224 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
225 | * Returns: The SSL connection handle. |
|
20940
925d3d68b3af
Doxygen @since tags for libpurple and pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20371
diff
changeset
|
226 | */ |
|
18449
2d2df64f4303
applied changes from f9186fabb483b56a9d7e8fb7241b2520e9930413
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18246
diff
changeset
|
227 | PurpleSslConnection *purple_ssl_connect_with_host_fd(PurpleAccount *account, int fd, |
|
2d2df64f4303
applied changes from f9186fabb483b56a9d7e8fb7241b2520e9930413
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18246
diff
changeset
|
228 | PurpleSslInputFunction func, |
|
2d2df64f4303
applied changes from f9186fabb483b56a9d7e8fb7241b2520e9930413
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18246
diff
changeset
|
229 | PurpleSslErrorFunction error_func, |
|
2d2df64f4303
applied changes from f9186fabb483b56a9d7e8fb7241b2520e9930413
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18246
diff
changeset
|
230 | const char *host, |
|
2d2df64f4303
applied changes from f9186fabb483b56a9d7e8fb7241b2520e9930413
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18246
diff
changeset
|
231 | void *data); |
|
7274
42ec5f56e32a
[gaim-migrate @ 7851]
Christian Hammond <chipx86@chipx86.com>
parents:
6783
diff
changeset
|
232 | |
|
42ec5f56e32a
[gaim-migrate @ 7851]
Christian Hammond <chipx86@chipx86.com>
parents:
6783
diff
changeset
|
233 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
234 | * purple_ssl_input_add: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
235 | * @gsc: The SSL connection handle. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
236 | * @func: The callback function. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
237 | * @data: User-defined data. |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
238 | * |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
239 | * Adds an input watcher for the specified SSL connection. |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
240 | * Once the SSL handshake is complete, use this to watch for actual data across it. |
| 6764 | 241 | */ |
| 15884 | 242 | void purple_ssl_input_add(PurpleSslConnection *gsc, PurpleSslInputFunction func, |
|
7274
42ec5f56e32a
[gaim-migrate @ 7851]
Christian Hammond <chipx86@chipx86.com>
parents:
6783
diff
changeset
|
243 | void *data); |
|
6762
2349053f14aa
[gaim-migrate @ 7294]
Christian Hammond <chipx86@chipx86.com>
parents:
6738
diff
changeset
|
244 | |
|
2349053f14aa
[gaim-migrate @ 7294]
Christian Hammond <chipx86@chipx86.com>
parents:
6738
diff
changeset
|
245 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
246 | * purple_ssl_input_remove: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
247 | * @gsc: The SSL connection handle. |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
248 | * |
|
34262
3b8ce83bac96
HTTP: get rid of one (of two) msn's own http implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32787
diff
changeset
|
249 | * Removes an input watcher, added with purple_ssl_input_add(). |
|
3b8ce83bac96
HTTP: get rid of one (of two) msn's own http implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32787
diff
changeset
|
250 | * |
|
3b8ce83bac96
HTTP: get rid of one (of two) msn's own http implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32787
diff
changeset
|
251 | * If there is no input watcher set, does nothing. |
|
3b8ce83bac96
HTTP: get rid of one (of two) msn's own http implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32787
diff
changeset
|
252 | */ |
|
3b8ce83bac96
HTTP: get rid of one (of two) msn's own http implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32787
diff
changeset
|
253 | void |
|
3b8ce83bac96
HTTP: get rid of one (of two) msn's own http implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32787
diff
changeset
|
254 | purple_ssl_input_remove(PurpleSslConnection *gsc); |
|
3b8ce83bac96
HTTP: get rid of one (of two) msn's own http implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32787
diff
changeset
|
255 | |
|
3b8ce83bac96
HTTP: get rid of one (of two) msn's own http implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32787
diff
changeset
|
256 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
257 | * purple_ssl_close: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
258 | * @gsc: The SSL connection to close. |
| 6703 | 259 | * |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
260 | * Closes a SSL connection. |
| 6703 | 261 | */ |
| 15884 | 262 | void purple_ssl_close(PurpleSslConnection *gsc); |
| 6703 | 263 | |
| 264 | /** | |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
265 | * purple_ssl_read: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
266 | * @gsc: The SSL connection handle. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
267 | * @buffer: The destination buffer. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
268 | * @len: The maximum number of bytes to read. |
| 6703 | 269 | * |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
270 | * Reads data from an SSL connection. |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
271 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
272 | * Returns: The number of bytes read. |
| 6703 | 273 | */ |
| 15884 | 274 | size_t purple_ssl_read(PurpleSslConnection *gsc, void *buffer, size_t len); |
| 6703 | 275 | |
| 276 | /** | |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
277 | * purple_ssl_write: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
278 | * @gsc: The SSL connection handle. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
279 | * @buffer: The buffer to write. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
280 | * @len: The length of the data to write. |
| 6703 | 281 | * |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
282 | * Writes data to an SSL connection. |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
283 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
284 | * Returns: The number of bytes written. |
| 6703 | 285 | */ |
| 15884 | 286 | size_t purple_ssl_write(PurpleSslConnection *gsc, const void *buffer, size_t len); |
| 6703 | 287 | |
|
18451
304d2fa12f6a
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18449
diff
changeset
|
288 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
289 | * purple_ssl_get_peer_certificates: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
290 | * @gsc: The SSL connection handle |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
291 | * |
|
18451
304d2fa12f6a
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18449
diff
changeset
|
292 | * Obtains the peer's presented certificates |
|
304d2fa12f6a
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18449
diff
changeset
|
293 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
294 | * Returns: The peer certificate chain, in the order of certificate, issuer, |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
295 | * issuer's issuer, etc. %NULL if no certificates have been provided, |
|
18451
304d2fa12f6a
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18449
diff
changeset
|
296 | */ |
|
304d2fa12f6a
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18449
diff
changeset
|
297 | GList * purple_ssl_get_peer_certificates(PurpleSslConnection *gsc); |
|
304d2fa12f6a
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18449
diff
changeset
|
298 | |
| 6703 | 299 | /**************************************************************************/ |
| 35472 | 300 | /* Subsystem API */ |
| 6703 | 301 | /**************************************************************************/ |
| 302 | ||
| 303 | /** | |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
304 | * purple_ssl_set_ops: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
305 | * @ops: The SSL operations structure to assign. |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
306 | * |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
307 | * Sets the current SSL operations structure. |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
308 | */ |
| 15884 | 309 | void purple_ssl_set_ops(PurpleSslOps *ops); |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
310 | |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
311 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
312 | * purple_ssl_get_ops: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
313 | * |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
314 | * Returns the current SSL operations structure. |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
315 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
316 | * Returns: The SSL operations structure. |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
317 | */ |
| 15884 | 318 | PurpleSslOps *purple_ssl_get_ops(void); |
|
6738
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
319 | |
|
aa797bcc69dd
[gaim-migrate @ 7270]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
320 | /** |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
321 | * purple_ssl_init: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
322 | * |
| 6703 | 323 | * Initializes the SSL subsystem. |
| 324 | */ | |
| 15884 | 325 | void purple_ssl_init(void); |
| 6703 | 326 | |
| 327 | /** | |
|
35403
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
328 | * purple_ssl_uninit: |
|
9282701d7aa9
Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
329 | * |
| 6703 | 330 | * Uninitializes the SSL subsystem. |
| 331 | */ | |
| 15884 | 332 | void purple_ssl_uninit(void); |
| 6703 | 333 | |
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32604
diff
changeset
|
334 | G_END_DECLS |
| 6703 | 335 | |
| 15884 | 336 | #endif /* _PURPLE_SSLCONN_H_ */ |