equal
deleted
inserted
replaced
573 function interface:inittls(tls_ctx) |
573 function interface:inittls(tls_ctx) |
574 if self._tls then return end |
574 if self._tls then return end |
575 if tls_ctx then self.tls_ctx = tls_ctx; end |
575 if tls_ctx then self.tls_ctx = tls_ctx; end |
576 self._tls = true; |
576 self._tls = true; |
577 self:debug("Starting TLS now"); |
577 self:debug("Starting TLS now"); |
578 self:del(); |
|
579 self:updatenames(); -- Can't getpeer/sockname after wrap() |
578 self:updatenames(); -- Can't getpeer/sockname after wrap() |
580 local ok, conn, err = pcall(luasec.wrap, self.conn, self.tls_ctx); |
579 local ok, conn, err = pcall(luasec.wrap, self.conn, self.tls_ctx); |
581 if not ok then |
580 if not ok then |
582 conn, err = ok, conn; |
581 conn, err = ok, conn; |
583 self:debug("Failed to initialize TLS: %s", err); |
582 self:debug("Failed to initialize TLS: %s", err); |
613 self.ondrain = nil; |
612 self.ondrain = nil; |
614 self.onwritable = interface.tlshandshake; |
613 self.onwritable = interface.tlshandshake; |
615 self.onreadable = interface.tlshandshake; |
614 self.onreadable = interface.tlshandshake; |
616 self:setreadtimeout(cfg.ssl_handshake_timeout); |
615 self:setreadtimeout(cfg.ssl_handshake_timeout); |
617 self:setwritetimeout(cfg.ssl_handshake_timeout); |
616 self:setwritetimeout(cfg.ssl_handshake_timeout); |
618 self:add(true, true); |
617 self:set(true, true); |
619 end |
618 end |
620 |
619 |
621 function interface:tlshandshake() |
620 function interface:tlshandshake() |
622 self:setwritetimeout(false); |
621 self:setwritetimeout(false); |
623 self:setreadtimeout(false); |
622 self:setreadtimeout(false); |