mirror of
				https://github.com/pocoproject/poco.git
				synced 2025-10-23 08:31:43 +02:00 
			
		
		
		
	fix(NetSSL): shutdown behavior
This commit is contained in:
		| @@ -148,10 +148,11 @@ public: | ||||
| 		/// number of connections that can be queued | ||||
| 		/// for this socket. | ||||
|  | ||||
| 	void shutdown(); | ||||
| 	int shutdown(); | ||||
| 		/// Shuts down the connection by attempting | ||||
| 		/// an orderly SSL shutdown, then actually | ||||
| 		/// shutting down the TCP connection. | ||||
| 		/// shutting down the TCP connection in the | ||||
| 		/// send direction. | ||||
|  | ||||
| 	void close(); | ||||
| 		/// Close the socket. | ||||
| @@ -294,7 +295,6 @@ private: | ||||
| 	bool _needHandshake; | ||||
| 	std::string _peerHostName; | ||||
| 	Session::Ptr _pSession; | ||||
| 	bool _bidirectShutdown = true; | ||||
| 	mutable MutexT _mutex; | ||||
|  | ||||
| 	friend class SecureStreamSocketImpl; | ||||
|   | ||||
| @@ -116,14 +116,25 @@ public: | ||||
| 		/// Since SSL does not support a half shutdown, this does | ||||
| 		/// nothing. | ||||
|  | ||||
| 	void shutdownSend() override; | ||||
| 	int shutdownSend() override; | ||||
| 		/// Shuts down the receiving part of the socket connection. | ||||
| 		/// | ||||
| 		/// Since SSL does not support a half shutdown, this does | ||||
| 		/// nothing. | ||||
| 		/// Sends a close notify shutdown alert message to the peer | ||||
| 		/// (if not sent yet), then calls shutdownSend() on the | ||||
| 		/// underlying socket. | ||||
| 		/// | ||||
| 		/// Returns 0 if the message has been sent. | ||||
| 		/// Returns 1 if the message has been sent, but the peer | ||||
| 		/// has not yet sent its shutdown alert message. | ||||
| 		/// In case of a non-blocking socket, returns < 0 if the | ||||
| 		/// message cannot be sent at the moment. In this case, | ||||
| 		/// the call to shutdownSend() must be retried after the | ||||
| 		/// underlying socket becomes writable again. | ||||
|  | ||||
| 	void shutdown() override; | ||||
| 	int shutdown() override; | ||||
| 		/// Shuts down the SSL connection. | ||||
| 		/// | ||||
| 		/// Same as shutdownSend(). | ||||
|  | ||||
| 	void abort(); | ||||
| 		/// Aborts the connection by closing the underlying | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Günter Obiltschnig
					Günter Obiltschnig