mirror of
https://github.com/falk-werner/webfuse
synced 2024-10-27 20:34:10 +00:00
added use_tls (determine from URL, whether TLS is used)
This commit is contained in:
parent
d18150d305
commit
9f468f600e
@ -8,6 +8,7 @@ struct wsfsp_url_protocol
|
|||||||
char const * name;
|
char const * name;
|
||||||
size_t name_length;
|
size_t name_length;
|
||||||
int default_port;
|
int default_port;
|
||||||
|
bool use_tls;
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool wsfsp_url_readprotocol(
|
static bool wsfsp_url_readprotocol(
|
||||||
@ -16,8 +17,8 @@ static bool wsfsp_url_readprotocol(
|
|||||||
{
|
{
|
||||||
static struct wsfsp_url_protocol const known_protocols[] =
|
static struct wsfsp_url_protocol const known_protocols[] =
|
||||||
{
|
{
|
||||||
{"ws://", 5, 80},
|
{"ws://", 5, 80, false},
|
||||||
{"wss://", 6, 443}
|
{"wss://", 6, 443, true}
|
||||||
};
|
};
|
||||||
static size_t const count = (sizeof(known_protocols) / sizeof(known_protocols[0]));
|
static size_t const count = (sizeof(known_protocols) / sizeof(known_protocols[0]));
|
||||||
|
|
||||||
@ -28,6 +29,7 @@ static bool wsfsp_url_readprotocol(
|
|||||||
if (0 == strncmp(*data, protocol->name, protocol->name_length))
|
if (0 == strncmp(*data, protocol->name, protocol->name_length))
|
||||||
{
|
{
|
||||||
url->port = protocol->default_port;
|
url->port = protocol->default_port;
|
||||||
|
url->use_tls = protocol->use_tls;
|
||||||
*data = *data + protocol->name_length;
|
*data = *data + protocol->name_length;
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ struct wsfsp_url
|
|||||||
char * host;
|
char * host;
|
||||||
int port;
|
int port;
|
||||||
char * path;
|
char * path;
|
||||||
|
bool use_tls;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -8,6 +8,7 @@ TEST(url, ParseWs)
|
|||||||
bool result = wsfsp_url_init(&url, "ws://localhost/");
|
bool result = wsfsp_url_init(&url, "ws://localhost/");
|
||||||
ASSERT_TRUE(result);
|
ASSERT_TRUE(result);
|
||||||
ASSERT_EQ(80, url.port);
|
ASSERT_EQ(80, url.port);
|
||||||
|
ASSERT_FALSE(url.use_tls);
|
||||||
ASSERT_STREQ("localhost", url.host);
|
ASSERT_STREQ("localhost", url.host);
|
||||||
ASSERT_STREQ("/", url.path);
|
ASSERT_STREQ("/", url.path);
|
||||||
|
|
||||||
@ -20,6 +21,7 @@ TEST(url, ParswWss)
|
|||||||
bool result = wsfsp_url_init(&url, "wss://localhost/");
|
bool result = wsfsp_url_init(&url, "wss://localhost/");
|
||||||
ASSERT_TRUE(result);
|
ASSERT_TRUE(result);
|
||||||
ASSERT_EQ(443, url.port);
|
ASSERT_EQ(443, url.port);
|
||||||
|
ASSERT_TRUE(url.use_tls);
|
||||||
ASSERT_STREQ("localhost", url.host);
|
ASSERT_STREQ("localhost", url.host);
|
||||||
ASSERT_STREQ("/", url.path);
|
ASSERT_STREQ("/", url.path);
|
||||||
|
|
||||||
@ -81,7 +83,7 @@ TEST(url, FailToParseMissingProtocol)
|
|||||||
TEST(url, FailToParseMissingPath)
|
TEST(url, FailToParseMissingPath)
|
||||||
{
|
{
|
||||||
struct wsfsp_url url;
|
struct wsfsp_url url;
|
||||||
bool result = wsfsp_url_init(&url, "wss://localhost");
|
bool result = wsfsp_url_init(&url, "ws://localhost");
|
||||||
ASSERT_FALSE(result);
|
ASSERT_FALSE(result);
|
||||||
ASSERT_EQ(0, url.port);
|
ASSERT_EQ(0, url.port);
|
||||||
ASSERT_EQ(nullptr, url.path);
|
ASSERT_EQ(nullptr, url.path);
|
||||||
|
Loading…
Reference in New Issue
Block a user