From 46975cd9f13fa9ca396253257cd9ef030d948d30 Mon Sep 17 00:00:00 2001 From: uu1101 Date: Sun, 9 Feb 2014 18:51:20 +0100 Subject: [PATCH] Use absolute URIs in Redirect Although most browsers seem to accept relative redirects, it is not allowed by HTTP/1.1. This commit changes relative URIs to absolute ones when redirecting. --- modules/webadmin.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp index 5f72721e..40a28d3b 100644 --- a/modules/webadmin.cpp +++ b/modules/webadmin.cpp @@ -543,7 +543,7 @@ public: WebSock.PrintErrorPage("Please don't delete yourself, suicide is not the answer!"); return true; } else if (CZNC::Get().DeleteUser(sUser)) { - WebSock.Redirect("listusers"); + WebSock.Redirect(GetWebPath() + "listusers"); return true; } @@ -711,7 +711,7 @@ public: return true; } - WebSock.Redirect("editnetwork?user=" + pUser->GetUserName().Escape_n(CString::EURL) + "&network=" + pNetwork->GetName().Escape_n(CString::EURL)); + WebSock.Redirect(GetWebPath() + "editnetwork?user=" + pUser->GetUserName().Escape_n(CString::EURL) + "&network=" + pNetwork->GetName().Escape_n(CString::EURL)); return true; } @@ -985,7 +985,7 @@ public: return true; } - WebSock.Redirect("edituser?user=" + pUser->GetUserName().Escape_n(CString::EURL)); + WebSock.Redirect(GetWebPath() + "edituser?user=" + pUser->GetUserName().Escape_n(CString::EURL)); return true; } @@ -1021,7 +1021,7 @@ public: return true; } - WebSock.Redirect("edituser?user=" + pUser->GetUserName().Escape_n(CString::EURL)); + WebSock.Redirect(GetWebPath() + "edituser?user=" + pUser->GetUserName().Escape_n(CString::EURL)); return false; } @@ -1041,7 +1041,7 @@ public: return true; } - WebSock.Redirect("editnetwork?user=" + pNetwork->GetUser()->GetUserName().Escape_n(CString::EURL) + "&network=" + pNetwork->GetName().Escape_n(CString::EURL)); + WebSock.Redirect(GetWebPath() + "editnetwork?user=" + pNetwork->GetUser()->GetUserName().Escape_n(CString::EURL) + "&network=" + pNetwork->GetName().Escape_n(CString::EURL)); return false; } @@ -1321,9 +1321,9 @@ public: } if (!spSession->IsAdmin()) { - WebSock.Redirect("edituser"); + WebSock.Redirect(GetWebPath() + "edituser"); } else { - WebSock.Redirect("listusers"); + WebSock.Redirect(GetWebPath() + "listusers"); } /* we don't want the template to be printed while we redirect */ @@ -1692,7 +1692,7 @@ public: WebSock.GetSession()->AddError("Settings changed, but config was not written"); } - WebSock.Redirect("settings"); + WebSock.Redirect(GetWebPath() + "settings"); /* we don't want the template to be printed while we redirect */ return false; }