Commit 69692587055fefe65e930817ec3d45dbc9378cee
1 parent
d1f4c39d
fix the fix...with the last change taskrambler closes connections unexpectedly. …
…Hopefully this fixes ssl handling.
Showing
2 changed files
with
9 additions
and
7 deletions
... | ... | @@ -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