Exemple #1
0
static void server_setup_fill_server(SERVER_CONNECT_REC *conn,
				     SERVER_SETUP_REC *sserver)
{
	g_return_if_fail(IS_SERVER_CONNECT(conn));
	g_return_if_fail(IS_SERVER_SETUP(sserver));

	sserver->last_connect = time(NULL);

        if (sserver->no_proxy)
		g_free_and_null(conn->proxy);

	if (sserver->family != 0 && conn->family == 0)
                conn->family = sserver->family;
	if (sserver->port > 0 && conn->port <= 0)
		conn->port = sserver->port;

	conn->use_ssl = sserver->use_ssl;
	if (conn->ssl_cert == NULL && sserver->ssl_cert != NULL && sserver->ssl_cert[0] != '\0')
		conn->ssl_cert = g_strdup(sserver->ssl_cert);
	if (conn->ssl_pkey == NULL && sserver->ssl_pkey != NULL && sserver->ssl_pkey[0] != '\0')
		conn->ssl_pkey = g_strdup(sserver->ssl_pkey);
	conn->ssl_verify = sserver->ssl_verify;
	if (conn->ssl_cafile == NULL && sserver->ssl_cafile != NULL && sserver->ssl_cafile[0] != '\0')
		conn->ssl_cafile = g_strdup(sserver->ssl_cafile);
	if (conn->ssl_capath == NULL && sserver->ssl_capath != NULL && sserver->ssl_capath[0] != '\0')
		conn->ssl_capath = g_strdup(sserver->ssl_capath);

	server_setup_fill_reconn(conn, sserver);

	signal_emit("server setup fill server", 2, conn, sserver);
}
Exemple #2
0
static void sserver_connect(SERVER_SETUP_REC *rec, SERVER_CONNECT_REC *conn)
{
        conn->family = rec->family;
	conn->address = g_strdup(rec->address);
	if (conn->port == 0) conn->port = rec->port;

	server_setup_fill_reconn(conn, rec);
	server_reconnect_add(conn, rec->last_connect+reconnect_time);
	server_connect_unref(conn);
}
Exemple #3
0
static void sserver_connect(SERVER_SETUP_REC *rec, SERVER_CONNECT_REC *conn)
{
	conn->address = g_strdup(rec->address);
	if (conn->port == 0) conn->port = rec->port;

	server_setup_fill_reconn(conn, rec);
	if (rec->last_connect > time(NULL)-reconnect_time) {
		/* can't reconnect this fast, wait.. */
		server_reconnect_add(conn, rec->last_connect+reconnect_time);
	} else {
		/* connect to server.. */
		server_connect(conn);
	}
}