aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip M. Gollucci <pgollucci@FreeBSD.org>2009-07-20 05:33:48 +0000
committerPhilip M. Gollucci <pgollucci@FreeBSD.org>2009-07-20 05:33:48 +0000
commit2733280dcc88e7e3bf7fce97df6afc81cea67a4a (patch)
tree33961a61a17237c13cbe0f450ee0b34c33c60044
parenta80362c9ff2a22ce34e838e38f7cbfaa62c2c6d6 (diff)
Notes
-rw-r--r--devel/gwenhywfar/files/patch-src::iolayer::io_tls.c20
-rw-r--r--devel/gwenhywfar/files/patch-src::os::posix::inetsocket.c56
2 files changed, 76 insertions, 0 deletions
diff --git a/devel/gwenhywfar/files/patch-src::iolayer::io_tls.c b/devel/gwenhywfar/files/patch-src::iolayer::io_tls.c
new file mode 100644
index 000000000000..af0211f437c4
--- /dev/null
+++ b/devel/gwenhywfar/files/patch-src::iolayer::io_tls.c
@@ -0,0 +1,20 @@
+# $FreeBSD$
+--- src/iolayer/io_tls.c.orig 2009-06-18 13:56:27.000000000 -0700
++++ src/iolayer/io_tls.c 2009-07-12 09:56:45.000000000 -0700
+@@ -310,6 +310,7 @@
+ if (lflags & GWEN_IO_LAYER_TLS_FLAGS_FORCE_SSL_V3) {
+ const int proto_prio[2] = { GNUTLS_SSL3, 0 };
+
++ DBG_INFO(GWEN_LOGDOMAIN, "Forcing SSL v3");
+ rv=gnutls_protocol_set_priority(xio->session, proto_prio);
+ if (rv) {
+ DBG_ERROR(GWEN_LOGDOMAIN, "gnutls_protocol_set_priority: %d (%s)", rv, gnutls_strerror(rv));
+@@ -840,7 +841,7 @@
+
+ rv=GWEN_Io_LayerCodec_CheckWriteOut(io);
+ if (rv) {
+- if (rv==GWEN_ERROR_TRY_AGAIN) {
++ if (rv==GWEN_ERROR_TRY_AGAIN || rv==GWEN_ERROR_IN_PROGRESS) {
+ DBG_INFO(GWEN_LOGDOMAIN, "here (%d)", rv);
+ #ifdef HAVE_GNUTLS_TRANSPORT_SET_ERRNO
+ gnutls_transport_set_errno(xio->session, EAGAIN);
diff --git a/devel/gwenhywfar/files/patch-src::os::posix::inetsocket.c b/devel/gwenhywfar/files/patch-src::os::posix::inetsocket.c
new file mode 100644
index 000000000000..a7e795fc1998
--- /dev/null
+++ b/devel/gwenhywfar/files/patch-src::os::posix::inetsocket.c
@@ -0,0 +1,56 @@
+# $FreeBSD$
+--- src/os/posix/inetsocket.c.orig 2008-07-31 10:56:06.000000000 -0700
++++ src/os/posix/inetsocket.c 2009-07-12 09:59:23.000000000 -0700
+@@ -74,6 +74,7 @@
+ int GWEN_Socket_NetError2GwenError(int rv) {
+ switch(rv) {
+ case EINTR: return GWEN_ERROR_INTERRUPTED;
++ case ENOTCONN:
+ case EWOULDBLOCK: return GWEN_ERROR_TIMEOUT;
+ case EACCES:
+ case EPERM: return GWEN_ERROR_PERMISSIONS;
+@@ -348,7 +349,7 @@
+ if (localSocket->socket==-1) {
+ GWEN_InetAddr_free(localAddr);
+ GWEN_Socket_free(localSocket);
+- if (errno==EAGAIN)
++ if (errno==EAGAIN || errno==ENOTCONN)
+ return GWEN_ERROR_TIMEOUT;
+ else {
+ DBG_INFO(GWEN_LOGDOMAIN, "accept(): %s", strerror(errno));
+@@ -498,7 +499,7 @@
+ assert(bsize);
+ i=recv(sp->socket,buffer, *bsize,0);
+ if (i<0) {
+- if (errno==EAGAIN)
++ if (errno==EAGAIN || errno==ENOTCONN)
+ return GWEN_ERROR_TIMEOUT;
+ else if (errno==EINTR)
+ return GWEN_ERROR_INTERRUPTED;
+@@ -542,7 +543,7 @@
+ );
+
+ if (i<0) {
+- if (errno==EAGAIN)
++ if (errno==EAGAIN || errno==ENOTCONN)
+ return GWEN_ERROR_TIMEOUT;
+ else if (errno==EINTR)
+ return GWEN_ERROR_INTERRUPTED;
+@@ -594,7 +595,7 @@
+ &addrlen);
+ if (i<0) {
+ GWEN_InetAddr_free(localAddr);
+- if (errno==EAGAIN)
++ if (errno==EAGAIN || errno==ENOTCONN)
+ return GWEN_ERROR_TIMEOUT;
+ else if (errno==EINTR)
+ return GWEN_ERROR_INTERRUPTED;
+@@ -632,7 +633,7 @@
+ addr->address,
+ addr->size);
+ if (i<0) {
+- if (errno==EAGAIN)
++ if (errno==EAGAIN || errno==ENOTCONN)
+ return GWEN_ERROR_TIMEOUT;
+ else if (errno==EINTR)
+ return GWEN_ERROR_INTERRUPTED;