Properly clear REMOTE_USER mapping.
authorcantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Tue, 8 Nov 2005 22:02:45 +0000 (22:02 +0000)
committercantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Tue, 8 Nov 2005 22:02:45 +0000 (22:02 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/trunk@1852 cb58f699-b61c-0410-a6fe-9272a202ed29

isapi_shib/isapi_shib.cpp
nsapi_shib/nsapi_shib.cpp

index 26ba6b5..07f05e5 100644 (file)
@@ -397,7 +397,7 @@ public:
   }
   
   virtual void clearHeader(const string &name) {
-    string hdr = name + ":";
+    string hdr = (name=="REMOTE_USER" ? "remote-user" : name) + ":";
     m_pn->SetHeader(m_pfc, const_cast<char*>(hdr.c_str()), "");
   }
   virtual void setHeader(const string &name, const string &value) {
index fe82299..b7424c6 100644 (file)
@@ -238,7 +238,12 @@ public:
     }
   }
   virtual void clearHeader(const string &name) {
-    param_free(pblock_remove(name.c_str(), m_rq->headers));
+    if (name=="REMOTE_USER") {
+        param_free(pblock_remove("auth-user",m_rq->vars));
+        param_free(pblock_remove("remote-user",m_rq->headers));
+    }
+    else
+        param_free(pblock_remove(name.c_str(), m_rq->headers));
   }
   virtual void setHeader(const string &name, const string &value) {
     pblock_nvinsert(name.c_str(), value.c_str() ,m_rq->headers);