nixio: Finetuning of TLS-support
[project/luci.git] / libs / nixio / lua / nixio / util.lua
index 5bfcc48..760ec8f 100644 (file)
@@ -14,7 +14,7 @@ $Id$
 
 local table = require "table"
 local nixio = require "nixio"
-local setmetatable, assert = setmetatable, assert
+local getmetatable, assert = getmetatable, assert
 
 module "nixio.util"
 
@@ -22,6 +22,16 @@ local BUFFERSIZE = 8096
 local socket = nixio.socket_meta
 local tls_socket = nixio.tls_socket_meta
 
+function socket.is_socket(self)
+       return (getmetatable(self) == socket)
+end
+tls_socket.is_socket = socket.is_socket
+
+function socket.is_tls_socket(self)
+       return (getmetatable(self) == tls_socket)
+end
+tls_socket.is_tls_socket = socket.is_tls_socket
+
 function socket.recvall(self, len)
        local block, code, msg = self:recv(len)
 
@@ -133,4 +143,9 @@ function socket.blocksource(self, bs, limit)
                end
        end
 end
-tls_socket.blocksource = socket.blocksource
\ No newline at end of file
+tls_socket.blocksource = socket.blocksource
+
+function tls_socket.close(self)
+       self:shutdown()
+       return self.socket:close()
+end
\ No newline at end of file