-- some fixes for opensuse 64bit build
-- a fix for gnutls detection of invalid sessions
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include <config.h>
|
||||
#include <bongocal.h>
|
||||
#include <ical.h>
|
||||
#include <bongocal-raw.h>
|
||||
#include "bongo-cal-private.h"
|
||||
|
||||
typedef struct {
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <bongojson.h>
|
||||
#include <bongocal.h>
|
||||
#include <bongo-cal-private.h>
|
||||
#include <bongocal-raw.h>
|
||||
|
||||
static char *
|
||||
ReadStream(char *s, size_t size, void *d)
|
||||
|
||||
@@ -379,7 +379,7 @@ ConnConnectInternal(Connection *conn, struct sockaddr *saddr, socklen_t slen, bo
|
||||
} else if (__gnutls_new(conn, context, GNUTLS_CLIENT) != FALSE) {
|
||||
setsockopt(conn->socket, IPPROTO_TCP, 1, (unsigned char *)&ccode, sizeof(ccode));
|
||||
|
||||
gnutls_transport_set_ptr (conn->ssl.context, (gnutls_transport_ptr_t) conn->socket);
|
||||
gnutls_transport_set_ptr (conn->ssl.context, (gnutls_transport_ptr_t) (long) conn->socket);
|
||||
ccode = gnutls_handshake (conn->ssl.context);
|
||||
if (!ccode) {
|
||||
CONN_TRACE_EVENT(conn, CONN_TRACE_EVENT_SSL_CONNECT);
|
||||
@@ -429,7 +429,7 @@ ConnEncrypt(Connection *conn, bongo_ssl_context *context)
|
||||
if (__gnutls_new(c, context, GNUTLS_CLIENT) != FALSE) {
|
||||
setsockopt(c->socket, IPPROTO_TCP, 1, (unsigned char *)&ccode, sizeof(ccode));
|
||||
|
||||
gnutls_transport_set_ptr(c->ssl.context, (gnutls_transport_ptr_t) c->socket);
|
||||
gnutls_transport_set_ptr(c->ssl.context, (gnutls_transport_ptr_t) (long) c->socket);
|
||||
ccode = gnutls_handshake (c->ssl.context);
|
||||
if (!ccode) {
|
||||
CONN_TRACE_EVENT(c, CONN_TRACE_EVENT_SSL_CONNECT);
|
||||
@@ -463,7 +463,7 @@ ConnNegotiate(Connection *conn, bongo_ssl_context *context)
|
||||
if (__gnutls_new(conn, context, GNUTLS_SERVER) != FALSE) {
|
||||
setsockopt(c->socket, IPPROTO_TCP, 1, (unsigned char *)&ccode, sizeof(ccode));
|
||||
|
||||
gnutls_transport_set_ptr(c->ssl.context, (gnutls_transport_ptr_t) c->socket);
|
||||
gnutls_transport_set_ptr(c->ssl.context, (gnutls_transport_ptr_t) (long) c->socket);
|
||||
ccode = gnutls_handshake(c->ssl.context);
|
||||
if (!ccode) {
|
||||
CONN_TRACE_EVENT(c, CONN_TRACE_EVENT_SSL_CONNECT);
|
||||
|
||||
@@ -107,6 +107,10 @@ ConnTcpRead(Connection *c, char *b, size_t l, int *r)
|
||||
*r = IPrecv((c)->socket, b, l, 0);
|
||||
} else {
|
||||
*r = gnutls_record_recv(c->ssl.context, (void *)b, l);
|
||||
if (*r < 0) {
|
||||
CONN_TRACE_ERROR(c, "RECV", *r);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (*r >= 0) {
|
||||
CONN_TRACE_DATA(c, CONN_TRACE_EVENT_READ, b, *r);
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <bongojson.h>
|
||||
#include <bongocal.h>
|
||||
#include <nmlib.h>
|
||||
#include <bongocal-raw.h>
|
||||
|
||||
#include <libical/ical.h>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user