Comparison

net/server_select.lua @ 4429:8e02ba75ef06

net.server_select: Autostart SSL negotiation as the last part of socket setup to avoid a traceback (#262) (thanks Maranda)
author Matthew Wild <mwild1@gmail.com>
date Mon, 28 Nov 2011 03:04:50 +0000
parent 4399:1b4161970842
child 4675:80f2d952d4c5
comparison
equal deleted inserted replaced
4428:0317b01b6bcd 4429:8e02ba75ef06
594 594
595 handler.readbuffer = handshake 595 handler.readbuffer = handshake
596 handler.sendbuffer = handshake 596 handler.sendbuffer = handshake
597 handshake( socket ) -- do handshake 597 handshake( socket ) -- do handshake
598 end 598 end
599 handler.readbuffer = _readbuffer 599 end
600 handler.sendbuffer = _sendbuffer 600
601 601 handler.readbuffer = _readbuffer
602 if sslctx then 602 handler.sendbuffer = _sendbuffer
603 out_put "server.lua: auto-starting ssl negotiation..."
604 handler.autostart_ssl = true;
605 handler:starttls(sslctx);
606 end
607
608 else
609 handler.readbuffer = _readbuffer
610 handler.sendbuffer = _sendbuffer
611 end
612 send = socket.send 603 send = socket.send
613 receive = socket.receive 604 receive = socket.receive
614 shutdown = ( ssl and id ) or socket.shutdown 605 shutdown = ( ssl and id ) or socket.shutdown
615 606
616 _socketlist[ socket ] = handler 607 _socketlist[ socket ] = handler
617 _readlistlen = addsocket(_readlist, socket, _readlistlen) 608 _readlistlen = addsocket(_readlist, socket, _readlistlen)
609
610 if sslctx and luasec then
611 out_put "server.lua: auto-starting ssl negotiation..."
612 handler.autostart_ssl = true;
613 handler:starttls(sslctx);
614 end
615
618 return handler, socket 616 return handler, socket
619 end 617 end
620 618
621 id = function( ) 619 id = function( )
622 end 620 end