-- some fixes for opensuse 64bit build

-- a fix for gnutls detection of invalid sessions
This commit is contained in:
pfelt
2009-03-07 19:14:54 +00:00
parent 6df48db556
commit ca04d0241e
5 changed files with 10 additions and 3 deletions
+1
View File
@@ -22,6 +22,7 @@
#include <config.h>
#include <bongocal.h>
#include <ical.h>
#include <bongocal-raw.h>
#include "bongo-cal-private.h"
typedef struct {
+1
View File
@@ -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)
+3 -3
View File
@@ -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);
+4
View File
@@ -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);
+1
View File
@@ -33,6 +33,7 @@
#include <bongojson.h>
#include <bongocal.h>
#include <nmlib.h>
#include <bongocal-raw.h>
#include <libical/ical.h>