1
0
mirror of https://github.com/irssi/irssi.git synced 2024-11-03 04:27:19 -05:00

provide net_start_ssl api

fixes #615
This commit is contained in:
ailin-nemui 2017-01-16 20:04:11 +01:00
parent 7fd3c1f50a
commit 28df637055
3 changed files with 20 additions and 1 deletions

View File

@ -6,7 +6,7 @@
#define IRSSI_GLOBAL_CONFIG "irssi.conf" /* config file name in /etc/ */
#define IRSSI_HOME_CONFIG "config" /* config file name in ~/.irssi/ */
#define IRSSI_ABI_VERSION 7
#define IRSSI_ABI_VERSION 8
#define DEFAULT_SERVER_ADD_PORT 6667

View File

@ -20,6 +20,7 @@
#include "module.h"
#include "network.h"
#include "net-sendbuffer.h"
#include "misc.h"
#include "servers.h"
#include "signals.h"
@ -701,6 +702,21 @@ GIOChannel *net_connect_ip_ssl(IPADDR *ip, int port, IPADDR *my_ip, SERVER_REC *
return ssl_handle;
}
GIOChannel *net_start_ssl(SERVER_REC *server)
{
GIOChannel *handle, *ssl_handle;
g_return_val_if_fail(server != NULL, NULL);
handle = net_sendbuffer_handle(server->handle);
if (handle == NULL)
return NULL;
ssl_handle = irssi_ssl_get_iochannel(handle, server->connrec->port, server);
return ssl_handle;
}
int irssi_ssl_handshake(GIOChannel *handle)
{
GIOSSLChannel *chan = (GIOSSLChannel *)handle;

View File

@ -40,6 +40,9 @@ int net_ip_compare(IPADDR *ip1, IPADDR *ip2);
GIOChannel *net_connect(const char *addr, int port, IPADDR *my_ip) G_GNUC_DEPRECATED;
/* Connect to socket with ip address and SSL*/
GIOChannel *net_connect_ip_ssl(IPADDR *ip, int port, IPADDR *my_ip, SERVER_REC *server);
/* Start TLS */
GIOChannel *net_start_ssl(SERVER_REC *server);
int irssi_ssl_handshake(GIOChannel *handle);
/* Connect to socket with ip address */
GIOChannel *net_connect_ip(IPADDR *ip, int port, IPADDR *my_ip);