Merge pull request #2537 from cuberite/NetworkSslClientTest
Added 'net sclient' command to NetworkTest plugin.
This commit is contained in:
commit
4a1cec01e8
@ -90,6 +90,23 @@ g_PluginInfo =
|
|||||||
},
|
},
|
||||||
}, -- lookup
|
}, -- lookup
|
||||||
|
|
||||||
|
sclient =
|
||||||
|
{
|
||||||
|
HelpString = "Connects, as an SSL client, to a specified webpage (github.com by default) and downloads its front page using HTTPS",
|
||||||
|
Handler = HandleConsoleNetSClient,
|
||||||
|
ParameterCombinations =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
Params = "",
|
||||||
|
Help = "Connects, as an SSL client, to github.com and downloads its front page using HTTPS",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Params = "host [port]",
|
||||||
|
Help = "Connects, as an SSL client, to the specified host and downloads its front page using HTTPS",
|
||||||
|
},
|
||||||
|
}, -- ParameterCombinations
|
||||||
|
}, -- sclient
|
||||||
|
|
||||||
udp =
|
udp =
|
||||||
{
|
{
|
||||||
Subcommands =
|
Subcommands =
|
||||||
|
@ -371,6 +371,49 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function HandleConsoleNetSClient(a_Split)
|
||||||
|
-- Get the address to connect to:
|
||||||
|
local Host = a_Split[3] or "github.com"
|
||||||
|
local Port = a_Split[4] or 443
|
||||||
|
|
||||||
|
-- Create the callbacks "personalised" for the address:
|
||||||
|
local Callbacks =
|
||||||
|
{
|
||||||
|
OnConnected = function (a_Link)
|
||||||
|
LOG("Connected to " .. Host .. ":" .. Port .. ".")
|
||||||
|
LOG("Connection stats: Remote address: " .. a_Link:GetRemoteIP() .. ":" .. a_Link:GetRemotePort() .. ", Local address: " .. a_Link:GetLocalIP() .. ":" .. a_Link:GetLocalPort())
|
||||||
|
LOG("Sending HTTP request for front page.")
|
||||||
|
a_Link:StartTLSClient()
|
||||||
|
a_Link:Send("GET / HTTP/1.0\r\nHost: " .. Host .. "\r\n\r\n")
|
||||||
|
end,
|
||||||
|
|
||||||
|
OnError = function (a_Link, a_ErrorCode, a_ErrorMsg)
|
||||||
|
LOG("Connection to " .. Host .. ":" .. Port .. " failed: " .. a_ErrorCode .. " (" .. a_ErrorMsg .. ")")
|
||||||
|
end,
|
||||||
|
|
||||||
|
OnReceivedData = function (a_Link, a_Data)
|
||||||
|
LOG("Received data from " .. Host .. ":" .. Port .. ":\r\n" .. a_Data)
|
||||||
|
end,
|
||||||
|
|
||||||
|
OnRemoteClosed = function (a_Link)
|
||||||
|
LOG("Connection to " .. Host .. ":" .. Port .. " was closed by the remote peer.")
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Queue a connect request:
|
||||||
|
local res = cNetwork:Connect(Host, Port, Callbacks)
|
||||||
|
if not(res) then
|
||||||
|
LOGWARNING("cNetwork:Connect call failed immediately")
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
return true, "SSL Client connection request queued."
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function HandleConsoleNetUdpClose(a_Split)
|
function HandleConsoleNetUdpClose(a_Split)
|
||||||
-- Get the port to close:
|
-- Get the port to close:
|
||||||
local Port = tonumber(a_Split[4] or 1024)
|
local Port = tonumber(a_Split[4] or 1024)
|
||||||
|
Loading…
Reference in New Issue
Block a user