Mercurial > prosody-hg
comparison net/server_epoll.lua @ 9301:2f9687c09e6e
net.server_epoll: Remove coercion of connections to strings
No longer needed since util.logger does this now
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 13 Sep 2018 17:02:26 +0200 |
| parents | 1df8832bd29e |
| children | 35c128b42509 |
comparison
equal
deleted
inserted
replaced
| 9300:1df8832bd29e | 9301:2f9687c09e6e |
|---|---|
| 388 -- Close, possibly after writing is done | 388 -- Close, possibly after writing is done |
| 389 function interface:close() | 389 function interface:close() |
| 390 if self.writebuffer and self.writebuffer[1] then | 390 if self.writebuffer and self.writebuffer[1] then |
| 391 self:setflags(false, true); -- Flush final buffer contents | 391 self:setflags(false, true); -- Flush final buffer contents |
| 392 self.write, self.send = noop, noop; -- No more writing | 392 self.write, self.send = noop, noop; -- No more writing |
| 393 log("debug", "Close %s after writing", tostring(self)); | 393 log("debug", "Close %s after writing", self); |
| 394 self.ondrain = interface.close; | 394 self.ondrain = interface.close; |
| 395 else | 395 else |
| 396 log("debug", "Close %s now", tostring(self)); | 396 log("debug", "Close %s now", self); |
| 397 self.write, self.send = noop, noop; | 397 self.write, self.send = noop, noop; |
| 398 self.close = noop; | 398 self.close = noop; |
| 399 self:on("disconnect"); | 399 self:on("disconnect"); |
| 400 self:destroy(); | 400 self:destroy(); |
| 401 end | 401 end |
| 419 end | 419 end |
| 420 | 420 |
| 421 function interface:starttls(tls_ctx) | 421 function interface:starttls(tls_ctx) |
| 422 if tls_ctx then self.tls_ctx = tls_ctx; end | 422 if tls_ctx then self.tls_ctx = tls_ctx; end |
| 423 if self.writebuffer and self.writebuffer[1] then | 423 if self.writebuffer and self.writebuffer[1] then |
| 424 log("debug", "Start TLS on %s after write", tostring(self)); | 424 log("debug", "Start TLS on %s after write", self); |
| 425 self.ondrain = interface.starttls; | 425 self.ondrain = interface.starttls; |
| 426 self.starttls = false; | 426 self.starttls = false; |
| 427 self:setflags(nil, true); -- make sure wantwrite is set | 427 self:setflags(nil, true); -- make sure wantwrite is set |
| 428 else | 428 else |
| 429 log("debug", "Start TLS on %s now", tostring(self)); | 429 log("debug", "Start TLS on %s now", self); |
| 430 self:setflags(false, false); | 430 self:setflags(false, false); |
| 431 local conn, err = luasec.wrap(self.conn, tls_ctx or self.tls_ctx); | 431 local conn, err = luasec.wrap(self.conn, tls_ctx or self.tls_ctx); |
| 432 if not conn then | 432 if not conn then |
| 433 self:on("disconnect", err); | 433 self:on("disconnect", err); |
| 434 self:destroy(); | 434 self:destroy(); |
| 447 function interface:tlshandskake() | 447 function interface:tlshandskake() |
| 448 self:setwritetimeout(false); | 448 self:setwritetimeout(false); |
| 449 self:setreadtimeout(false); | 449 self:setreadtimeout(false); |
| 450 local ok, err = self.conn:dohandshake(); | 450 local ok, err = self.conn:dohandshake(); |
| 451 if ok then | 451 if ok then |
| 452 log("debug", "TLS handshake on %s complete", tostring(self)); | 452 log("debug", "TLS handshake on %s complete", self); |
| 453 self.onwritable = nil; | 453 self.onwritable = nil; |
| 454 self.onreadable = nil; | 454 self.onreadable = nil; |
| 455 self._tls = true; | 455 self._tls = true; |
| 456 self:on("status", "ssl-handshake-complete"); | 456 self:on("status", "ssl-handshake-complete"); |
| 457 self:init(); | 457 self:init(); |
| 458 elseif err == "wantread" then | 458 elseif err == "wantread" then |
| 459 log("debug", "TLS handshake on %s to wait until readable", tostring(self)); | 459 log("debug", "TLS handshake on %s to wait until readable", self); |
| 460 self:setflags(true, false); | 460 self:setflags(true, false); |
| 461 self:setreadtimeout(cfg.handshake_timeout); | 461 self:setreadtimeout(cfg.handshake_timeout); |
| 462 elseif err == "wantwrite" then | 462 elseif err == "wantwrite" then |
| 463 log("debug", "TLS handshake on %s to wait until writable", tostring(self)); | 463 log("debug", "TLS handshake on %s to wait until writable", self); |
| 464 self:setflags(false, true); | 464 self:setflags(false, true); |
| 465 self:setwritetimeout(cfg.handshake_timeout); | 465 self:setwritetimeout(cfg.handshake_timeout); |
| 466 else | 466 else |
| 467 log("debug", "TLS handshake error on %s: %s", tostring(self), err); | 467 log("debug", "TLS handshake error on %s: %s", self, err); |
| 468 self:on("disconnect", err); | 468 self:on("disconnect", err); |
| 469 self:destroy(); | 469 self:destroy(); |
| 470 end | 470 end |
| 471 end | 471 end |
| 472 | 472 |
