Commit 69692587055fefe65e930817ec3d45dbc9378cee

Authored by Georg Hopp
1 parent d1f4c39d

fix the fix...with the last change taskrambler closes connections unexpectedly. …

…Hopefully this fixes ssl handling.
... ... @@ -66,7 +66,9 @@ streamRead(Stream this, void * buf, size_t count)
66 66 case STREAM_SSL:
67 67 done = SSL_read((this->handle).ssl, buf, count);
68 68
69   - if (0 >= done) {
  69 + if (0 == done) {
  70 + done = -2;
  71 + } else if (0 > done) {
70 72 switch (SSL_get_error((this->handle).ssl, done)) {
71 73 case SSL_ERROR_SYSCALL:
72 74 {
... ... @@ -80,7 +82,7 @@ streamRead(Stream this, void * buf, size_t count)
80 82 done = -1;
81 83 break;
82 84 default:
83   - done = -2;
  85 + done = -1;
84 86 break;
85 87 }
86 88 }
... ... @@ -100,7 +102,6 @@ streamRead(Stream this, void * buf, size_t count)
100 102 // DROP THROUGH
101 103
102 104 case SSL_ERROR_ZERO_RETURN:
103   - default:
104 105 done = -2;
105 106 break;
106 107 }
... ... @@ -109,7 +110,7 @@ streamRead(Stream this, void * buf, size_t count)
109 110 break;
110 111
111 112 default:
112   - done = 0;
  113 + done = -2;
113 114 break;
114 115 }
115 116
... ...
... ... @@ -70,7 +70,9 @@ streamWrite(Stream this, void * buf, size_t count)
70 70 */
71 71 done = SSL_write((this->handle).ssl, buf, count);
72 72
73   - if (0 >= done) {
  73 + if (0 == done) {
  74 + done = -2;
  75 + } else if (0 > done) {
74 76 switch (SSL_get_error((this->handle).ssl, done)) {
75 77 case SSL_ERROR_SYSCALL:
76 78 {
... ... @@ -104,7 +106,6 @@ streamWrite(Stream this, void * buf, size_t count)
104 106 // DROP THROUGH
105 107
106 108 case SSL_ERROR_ZERO_RETURN:
107   - default:
108 109 done = -2;
109 110 break;
110 111 }
... ... @@ -113,7 +114,7 @@ streamWrite(Stream this, void * buf, size_t count)
113 114 break;
114 115
115 116 default:
116   - done = 0;
  117 + done = -2;
117 118 break;
118 119 }
119 120
... ...
Please register or login to post a comment