diff options
| author | Adam <Adam@anope.org> | 2012-11-01 13:32:38 -0400 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2012-11-01 14:47:23 -0400 |
| commit | 90930619bc124e94bac5048c0b13c3f4748b559d (patch) | |
| tree | cbe2325f6295aa188a6dd0f0d56d336eab060bbe /modules/extra/webcpanel | |
| parent | 5b1c8230191fa626ef9210c5035f14a8df4c0ed6 (diff) | |
Fixed quite a bit of dumbness with m_ssl. Had to
modify socketengines to allow polling for write &
no read, but is it cleaner now. Made m_httpd able
to listen using SSL.
Diffstat (limited to 'modules/extra/webcpanel')
| -rw-r--r-- | modules/extra/webcpanel/pages/chanserv/access.cpp | 2 | ||||
| -rw-r--r-- | modules/extra/webcpanel/pages/chanserv/akick.cpp | 2 | ||||
| -rw-r--r-- | modules/extra/webcpanel/pages/chanserv/set.cpp | 2 | ||||
| -rw-r--r-- | modules/extra/webcpanel/pages/index.cpp | 2 | ||||
| -rw-r--r-- | modules/extra/webcpanel/pages/logout.cpp | 2 | ||||
| -rw-r--r-- | modules/extra/webcpanel/webcpanel.cpp | 2 | ||||
| -rw-r--r-- | modules/extra/webcpanel/webcpanel.h | 1 |
7 files changed, 8 insertions, 5 deletions
diff --git a/modules/extra/webcpanel/pages/chanserv/access.cpp b/modules/extra/webcpanel/pages/chanserv/access.cpp index dc999c350..a1b8be97f 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"] = "http://" + message.headers["Host"] + "/chanserv/info"; + reply.headers["Location"] = Anope::string("http") + (use_ssl ? "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 70fa5b52e..d5351bfd9 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"] = "http://" + message.headers["Host"] + "/chanserv/info"; + reply.headers["Location"] = Anope::string("http") + (use_ssl ? "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 889e8f24f..4ad551e6a 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"] = "http://" + message.headers["Host"] + "/chanserv/info"; + reply.headers["Location"] = Anope::string("http") + (use_ssl ? "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 357d3ec3b..c97737c21 100644 --- a/modules/extra/webcpanel/pages/index.cpp +++ b/modules/extra/webcpanel/pages/index.cpp @@ -58,7 +58,7 @@ class WebpanelRequest : public IdentifyRequest } reply.error = HTTP_FOUND; - reply.headers["Location"] = "http://" + message.headers["Host"] + "/nickserv/info"; + reply.headers["Location"] = Anope::string("http") + (use_ssl ? "s" : "") + "://" + message.headers["Host"] + "/nickserv/info"; client->SendReply(&reply); } diff --git a/modules/extra/webcpanel/pages/logout.cpp b/modules/extra/webcpanel/pages/logout.cpp index efa93ab4f..d62bde95f 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("webcpanel_ip"); reply.error = HTTP_FOUND; - reply.headers["Location"] = "http://" + message.headers["Host"]; + reply.headers["Location"] = Anope::string("http") + (use_ssl ? "s" : "") + "://" + message.headers["Host"]; return true; } diff --git a/modules/extra/webcpanel/webcpanel.cpp b/modules/extra/webcpanel/webcpanel.cpp index c23b6efbf..77cf606aa 100644 --- a/modules/extra/webcpanel/webcpanel.cpp +++ b/modules/extra/webcpanel/webcpanel.cpp @@ -9,6 +9,7 @@ Module *me; Anope::string provider_name, template_name, template_base, page_title; +bool use_ssl = false; class ModuleWebCPanel : public Module { @@ -53,6 +54,7 @@ class ModuleWebCPanel : public Module template_name = reader.ReadValue("webcpanel", "template", "template", 0); template_base = db_dir + "/modules/webcpanel/templates/" + template_name; page_title = reader.ReadValue("webcpanel", "title", "Anope IRC Services", 0); + use_ssl = reader.ReadFlag("webcpanel", "ssl", "no", 0); // This is dumb, is there a better way to do this? service_reference<HTTPProvider> provider("HTTPProvider", provider_name); if (!provider) diff --git a/modules/extra/webcpanel/webcpanel.h b/modules/extra/webcpanel/webcpanel.h index 926feaf53..99cb2ec3a 100644 --- a/modules/extra/webcpanel/webcpanel.h +++ b/modules/extra/webcpanel/webcpanel.h @@ -14,6 +14,7 @@ extern Module *me; extern Anope::string provider_name, template_name, template_base, page_title; +extern bool use_ssl; struct SubSection { |
