88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
-
+
+
+
+
+
+
+
+
+
+
+
|
}
- (void)close
{
if (_SSL == NULL)
@throw [OFNotOpenException exceptionWithObject: self];
if (_handshakeDone)
if (_handshakeDone) {
SSL_shutdown(_SSL);
while (BIO_ctrl_pending(_writeBIO) > 0) {
int tmp = BIO_read(_writeBIO, _buffer, bufferSize);
OFEnsure(tmp >= 0);
[_underlyingStream writeBuffer: _buffer length: tmp];
[_underlyingStream flushWriteBuffer];
}
}
SSL_free(_SSL);
_SSL = NULL;
_handshakeDone = false;
[_host release];
|