annotate mcabber/connwrap/connwrap.h @ 938:40175f3dcef7

SSL server certificate verification This patch enables SSL server certificate verification.
author Jefferson Ogata <ogata@antibozo.net>
date Sat, 08 Jul 2006 23:32:49 +0200
parents ec86d759ed54
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
1 #ifndef __CONNWRAP_H__
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
2 #define __CONNWRAP_H__
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
3
69
c5a5707f495d [/trunk] Changeset 83 by mikael
mikael
parents: 25
diff changeset
4 #if HAVE_CONFIG_H
c5a5707f495d [/trunk] Changeset 83 by mikael
mikael
parents: 25
diff changeset
5 # include <config.h>
c5a5707f495d [/trunk] Changeset 83 by mikael
mikael
parents: 25
diff changeset
6 #endif
c5a5707f495d [/trunk] Changeset 83 by mikael
mikael
parents: 25
diff changeset
7
25
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
8 #ifdef __cplusplus
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
9 extern "C" {
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
10 #endif
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
11
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
12 #include <sys/types.h>
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
13 #include <sys/socket.h>
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
14
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
15 int cw_connect(int sockfd, const struct sockaddr *serv_addr, int addrlen, int ssl);
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
16
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
17 #define CW_CONNECT_STARTED 0x1
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
18 #define CW_CONNECT_SSL 0x2
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
19 #define CW_CONNECT_WANT_READ 0x4
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
20 #define CW_CONNECT_WANT_WRITE 0x8
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
21 #define CW_CONNECT_WANT_SOMETHING 0xC
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
22 #define CW_CONNECT_BLOCKING 0x10
414
ec86d759ed54 Trailing whitespace cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 235
diff changeset
23
25
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
24 /* non-blocking socket
414
ec86d759ed54 Trailing whitespace cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 235
diff changeset
25 state should be initialized with 0, subsequent calls should keep the
ec86d759ed54 Trailing whitespace cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 235
diff changeset
26 modified state (state is a bitwise OR between CW_CONNECT_XXX)
25
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
27 returns 0 for OK, or if it wants subsequent calls
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
28 -1 for a fatal error
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
29 */
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
30 int cw_nb_connect(int sockfd, const struct sockaddr *serv_addr, int addrlen, int ssl, int *state);
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
31 int cw_accept(int s, struct sockaddr *addr, int *addrlen, int ssl);
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
32
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
33 int cw_write(int fd, const void *buf, int count, int ssl);
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
34 int cw_read(int fd, void *buf, int count, int ssl);
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
35
235
f7f07794d2df [/trunk] Changeset 248 by mikael
mikael
parents: 69
diff changeset
36 void cw_close(int fd);
25
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
37
938
40175f3dcef7 SSL server certificate verification
Jefferson Ogata <ogata@antibozo.net>
parents: 414
diff changeset
38 void cw_set_ssl_options(int sslverify, const char *sslcafile, const char *sslcapath, const char *sslciphers, const char *sslpeer);
40175f3dcef7 SSL server certificate verification
Jefferson Ogata <ogata@antibozo.net>
parents: 414
diff changeset
39 const char *cw_get_ssl_error(void);
25
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
40 void cw_setproxy(const char *aproxyhost, int aproxyport, const char *aproxyuser, const char *aproxypass);
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
41 void cw_setbind(const char *abindaddr);
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
42
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
43 char *cw_base64_encode(const char *in);
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
44
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
45 #ifdef __cplusplus
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
46 }
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
47 #endif
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
48
bf3d6e241714 [/trunk] Changeset 41 by mikael
mikael
parents:
diff changeset
49 #endif