Software / code / prosody
Comparison
net/server_event.lua @ 6817:07f43c7aa059
net/server_event: pcall require ssl rather than relying on globals
| author | daurnimator <quae@daurnimator.com> |
|---|---|
| date | Wed, 18 Dec 2013 18:11:17 -0500 |
| parent | 6816:36367fb1ecf9 |
| child | 6818:ae9d1289a868 |
comparison
equal
deleted
inserted
replaced
| 6816:36367fb1ecf9 | 6817:07f43c7aa059 |
|---|---|
| 714 return interface | 714 return interface |
| 715 end | 715 end |
| 716 end | 716 end |
| 717 | 717 |
| 718 local addserver = ( function( ) | 718 local addserver = ( function( ) |
| 719 return function( addr, port, listener, pattern, sslcfg, startssl ) -- TODO: check arguments | 719 return function( addr, port, listener, pattern, sslctx, startssl ) -- TODO: check arguments |
| 720 --vdebug( "creating new tcp server with following parameters:", addr or "nil", port or "nil", sslcfg or "nil", startssl or "nil") | 720 --vdebug( "creating new tcp server with following parameters:", addr or "nil", port or "nil", sslctx or "nil", startssl or "nil") |
| 721 if sslctx and not has_luasec then | |
| 722 debug "fatal error: luasec not found" | |
| 723 return nil, "luasec not found" | |
| 724 end | |
| 721 local server, err = socket.bind( addr, port, cfg.ACCEPT_QUEUE ) -- create server socket | 725 local server, err = socket.bind( addr, port, cfg.ACCEPT_QUEUE ) -- create server socket |
| 722 if not server then | 726 if not server then |
| 723 debug( "creating server socket on "..addr.." port "..port.." failed:", err ) | 727 debug( "creating server socket on "..addr.." port "..port.." failed:", err ) |
| 724 return nil, err | 728 return nil, err |
| 725 end | |
| 726 local sslctx | |
| 727 if sslcfg then | |
| 728 if not has_luasec then | |
| 729 debug "fatal error: luasec not found" | |
| 730 return nil, "luasec not found" | |
| 731 end | |
| 732 sslctx, err = sslcfg | |
| 733 if err then | |
| 734 debug( "error while creating new ssl context for server socket:", err ) | |
| 735 return nil, err | |
| 736 end | |
| 737 end | 729 end |
| 738 local interface = handleserver( server, addr, port, pattern, listener, sslctx, startssl ) -- new server handler | 730 local interface = handleserver( server, addr, port, pattern, listener, sslctx, startssl ) -- new server handler |
| 739 debug( "new server created with id:", tostring(interface)) | 731 debug( "new server created with id:", tostring(interface)) |
| 740 return interface | 732 return interface |
| 741 end | 733 end |
| 749 return interface, client | 741 return interface, client |
| 750 --function handleclient( client, ip, port, server, pattern, listener, _, sslctx ) -- creates an client interface | 742 --function handleclient( client, ip, port, server, pattern, listener, _, sslctx ) -- creates an client interface |
| 751 end | 743 end |
| 752 | 744 |
| 753 function addclient( addr, serverport, listener, pattern, sslctx ) | 745 function addclient( addr, serverport, listener, pattern, sslctx ) |
| 754 if sslctx and not ssl then | 746 if sslctx and not has_luasec then |
| 755 debug "need luasec, but not available" | 747 debug "need luasec, but not available" |
| 756 return nil, "luasec not found" | 748 return nil, "luasec not found" |
| 757 end | 749 end |
| 758 local client, err = socket.tcp() -- creating new socket | 750 local client, err = socket.tcp() -- creating new socket |
| 759 if not client then | 751 if not client then |