summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-08-23 01:14:00 -0400
committerAdam <Adam@anope.org>2013-08-23 01:14:00 -0400
commit4d1492d444781069883f82ce00b389bb0ecd5099 (patch)
tree235163615b27ea8449dfb7c33a3f121cc9ea6d6c
parent154fa25e8fc33c2ce77cb0612c1587cec4f32300 (diff)
Remove webpanel:ssl configuration option because its dumb
-rw-r--r--data/modules.example.conf3
-rw-r--r--include/modules/httpd.h8
-rw-r--r--modules/extra/m_httpd.cpp6
-rw-r--r--modules/extra/webcpanel/pages/chanserv/access.cpp2
-rw-r--r--modules/extra/webcpanel/pages/chanserv/akick.cpp2
-rw-r--r--modules/extra/webcpanel/pages/chanserv/set.cpp2
-rw-r--r--modules/extra/webcpanel/pages/index.cpp6
-rw-r--r--modules/extra/webcpanel/pages/logout.cpp2
-rw-r--r--modules/extra/webcpanel/webcpanel.cpp2
-rw-r--r--modules/extra/webcpanel/webcpanel.h3
10 files changed, 17 insertions, 19 deletions
diff --git a/data/modules.example.conf b/data/modules.example.conf
index 030a01258..b284f0769 100644
--- a/data/modules.example.conf
+++ b/data/modules.example.conf
@@ -672,7 +672,4 @@ module { name = "help" }
/* Page title. */
title = "Anope IRC Services";
-
- /* Whether or not to use https on redirecting URLs. */
- ssl = no
}
diff --git a/include/modules/httpd.h b/include/modules/httpd.h
index 6127a51e0..a2f5af04a 100644
--- a/include/modules/httpd.h
+++ b/include/modules/httpd.h
@@ -131,11 +131,12 @@ class HTTPProvider : public ListenSocket, public Service
{
Anope::string ip;
unsigned short port;
+ bool ssl;
public:
Anope::string ext_ip;
std::vector<Anope::string> ext_headers;
- HTTPProvider(Module *c, const Anope::string &n, const Anope::string &i, const unsigned short p) : ListenSocket(i, p, i.find(':') != Anope::string::npos), Service(c, "HTTPProvider", n), ip(i), port(p) { }
+ HTTPProvider(Module *c, const Anope::string &n, const Anope::string &i, const unsigned short p, bool s) : ListenSocket(i, p, i.find(':') != Anope::string::npos), Service(c, "HTTPProvider", n), ip(i), port(p), ssl(s) { }
const Anope::string &GetIP() const
{
@@ -147,6 +148,11 @@ class HTTPProvider : public ListenSocket, public Service
return this->port;
}
+ bool IsSSL() const
+ {
+ return this->ssl;
+ }
+
virtual bool RegisterPage(HTTPPage *page) = 0;
virtual void UnregisterPage(HTTPPage *page) = 0;
virtual HTTPPage* FindPage(const Anope::string &name) = 0;
diff --git a/modules/extra/m_httpd.cpp b/modules/extra/m_httpd.cpp
index bdb3ed602..50eaa3a77 100644
--- a/modules/extra/m_httpd.cpp
+++ b/modules/extra/m_httpd.cpp
@@ -291,9 +291,7 @@ class MyHTTPProvider : public HTTPProvider, public Timer
std::list<Reference<MyHTTPClient> > clients;
public:
- bool ssl;
-
- MyHTTPProvider(Module *c, const Anope::string &n, const Anope::string &i, const unsigned short p, const int t, bool s) : Socket(-1, i.find(':') != Anope::string::npos), HTTPProvider(c, n, i, p), Timer(c, 10, Anope::CurTime, true), timeout(t), ssl(s) { }
+ MyHTTPProvider(Module *c, const Anope::string &n, const Anope::string &i, const unsigned short p, const int t, bool s) : Socket(-1, i.find(':') != Anope::string::npos), HTTPProvider(c, n, i, p, s), Timer(c, 10, Anope::CurTime, true), timeout(t) { }
void Tick(time_t) anope_override
{
@@ -461,7 +459,7 @@ class HTTPD : public Module
{
MyHTTPProvider *p = it->second;
- if (p->ssl && sslref)
+ if (p->IsSSL() && sslref)
try
{
sslref->Init(p);
diff --git a/modules/extra/webcpanel/pages/chanserv/access.cpp b/modules/extra/webcpanel/pages/chanserv/access.cpp
index cb050c223..06b363b53 100644
--- a/modules/extra/webcpanel/pages/chanserv/access.cpp
+++ b/modules/extra/webcpanel/pages/chanserv/access.cpp
@@ -18,7 +18,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s
if (chname.empty())
{
reply.error = HTTP_FOUND;
- reply.headers["Location"] = Anope::string("http") + (use_ssl ? "s" : "") + "://" + message.headers["Host"] + "/chanserv/info";
+ reply.headers["Location"] = Anope::string("http") + (server->IsSSL() ? "s" : "") + "://" + message.headers["Host"] + "/chanserv/info";
return true;
}
diff --git a/modules/extra/webcpanel/pages/chanserv/akick.cpp b/modules/extra/webcpanel/pages/chanserv/akick.cpp
index 5acb8d6da..80a8a6a3d 100644
--- a/modules/extra/webcpanel/pages/chanserv/akick.cpp
+++ b/modules/extra/webcpanel/pages/chanserv/akick.cpp
@@ -18,7 +18,7 @@ bool WebCPanel::ChanServ::Akick::OnRequest(HTTPProvider *server, const Anope::st
if (chname.empty())
{
reply.error = HTTP_FOUND;
- reply.headers["Location"] = Anope::string("http") + (use_ssl ? "s" : "") + "://" + message.headers["Host"] + "/chanserv/info";
+ reply.headers["Location"] = Anope::string("http") + (server->IsSSL() ? "s" : "") + "://" + message.headers["Host"] + "/chanserv/info";
return true;
}
diff --git a/modules/extra/webcpanel/pages/chanserv/set.cpp b/modules/extra/webcpanel/pages/chanserv/set.cpp
index cf3784d62..d0b54d15a 100644
--- a/modules/extra/webcpanel/pages/chanserv/set.cpp
+++ b/modules/extra/webcpanel/pages/chanserv/set.cpp
@@ -18,7 +18,7 @@ bool WebCPanel::ChanServ::Set::OnRequest(HTTPProvider *server, const Anope::stri
if (chname.empty())
{
reply.error = HTTP_FOUND;
- reply.headers["Location"] = Anope::string("http") + (use_ssl ? "s" : "") + "://" + message.headers["Host"] + "/chanserv/info";
+ reply.headers["Location"] = Anope::string("http") + (server->IsSSL() ? "s" : "") + "://" + message.headers["Host"] + "/chanserv/info";
return true;
}
diff --git a/modules/extra/webcpanel/pages/index.cpp b/modules/extra/webcpanel/pages/index.cpp
index be4bbbc6d..44314afc3 100644
--- a/modules/extra/webcpanel/pages/index.cpp
+++ b/modules/extra/webcpanel/pages/index.cpp
@@ -21,7 +21,7 @@ class WebpanelRequest : public IdentifyRequest
void OnSuccess() anope_override
{
- if (!client)
+ if (!client || !server)
return;
NickAlias *na = NickAlias::Find(this->GetAccount());
if (!na)
@@ -58,14 +58,14 @@ class WebpanelRequest : public IdentifyRequest
}
reply.error = HTTP_FOUND;
- reply.headers["Location"] = Anope::string("http") + (use_ssl ? "s" : "") + "://" + message.headers["Host"] + "/nickserv/info";
+ reply.headers["Location"] = Anope::string("http") + (server->IsSSL() ? "s" : "") + "://" + message.headers["Host"] + "/nickserv/info";
client->SendReply(&reply);
}
void OnFail() anope_override
{
- if (!client)
+ if (!client || !server)
return;
replacements["INVALID_LOGIN"] = "Invalid username or password";
TemplateFileServer page("login.html");
diff --git a/modules/extra/webcpanel/pages/logout.cpp b/modules/extra/webcpanel/pages/logout.cpp
index 8fafdcd4e..4cd6b1adf 100644
--- a/modules/extra/webcpanel/pages/logout.cpp
+++ b/modules/extra/webcpanel/pages/logout.cpp
@@ -17,7 +17,7 @@ bool WebCPanel::Logout::OnRequest(HTTPProvider *server, const Anope::string &pag
na->Shrink<Anope::string>("webcpanel_ip");
reply.error = HTTP_FOUND;
- reply.headers["Location"] = Anope::string("http") + (use_ssl ? "s" : "") + "://" + message.headers["Host"] + "/";
+ reply.headers["Location"] = Anope::string("http") + (server->IsSSL() ? "s" : "") + "://" + message.headers["Host"] + "/";
return true;
}
diff --git a/modules/extra/webcpanel/webcpanel.cpp b/modules/extra/webcpanel/webcpanel.cpp
index f92dda579..e91152f5d 100644
--- a/modules/extra/webcpanel/webcpanel.cpp
+++ b/modules/extra/webcpanel/webcpanel.cpp
@@ -9,7 +9,6 @@
Module *me;
Anope::string provider_name, template_name, template_base, page_title;
-bool use_ssl = false;
class ModuleWebCPanel : public Module
{
@@ -59,7 +58,6 @@ class ModuleWebCPanel : public Module
template_name = block->Get<const Anope::string>("template", "default");
template_base = Anope::DataDir + "/modules/webcpanel/templates/" + template_name;
page_title = block->Get<const Anope::string>("title", "Anope IRC Services");
- use_ssl = block->Get<bool>("ssl", "no"); // This is dumb, is there a better way to do this?
provider = ServiceReference<HTTPProvider>("HTTPProvider", provider_name);
if (!provider)
diff --git a/modules/extra/webcpanel/webcpanel.h b/modules/extra/webcpanel/webcpanel.h
index 638a7c1c9..5ff971ca3 100644
--- a/modules/extra/webcpanel/webcpanel.h
+++ b/modules/extra/webcpanel/webcpanel.h
@@ -14,7 +14,6 @@
extern Module *me;
extern Anope::string provider_name, template_name, template_base, page_title;
-extern bool use_ssl;
struct SubSection
{
@@ -89,7 +88,7 @@ class WebPanelProtectedPage : public WebPanelPage
if (!panel || !(na = panel->GetNickFromSession(client, message)))
{
reply.error = HTTP_FOUND;
- reply.headers["Location"] = Anope::string("http") + (use_ssl ? "s" : "") + "://" + message.headers["Host"] + "/";
+ reply.headers["Location"] = Anope::string("http") + (provider->IsSSL() ? "s" : "") + "://" + message.headers["Host"] + "/";
return true; // Access denied
}