You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by rm...@apache.org on 2016/11/01 14:57:12 UTC

[1/2] incubator-trafodion git commit: TRAFODION-2330 Using trafci, a select from a table succeeds even if the user does not have the priv

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master 59cbda3f8 -> 9c712a4aa


TRAFODION-2330 Using trafci, a select from a table succeeds even if the user
               does not have the priv

There is a problem when the session user changes in a mxosrvr process.  The
existing compiler caches are not getting cleared so the new user will be
accessing the previous users' caches.  This could lead to allowing someone
that does not have privileges to gain access to an object.

The change is to clear all caches during a session user change operation.


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/6cd6be85
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/6cd6be85
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/6cd6be85

Branch: refs/heads/master
Commit: 6cd6be853fb1508e7b33d8e12c0fea0a0a8ef044
Parents: 1c8f25b
Author: Roberta Marton <rm...@edev07.esgyn.local>
Authored: Tue Nov 1 05:22:44 2016 +0000
Committer: Roberta Marton <rm...@edev07.esgyn.local>
Committed: Tue Nov 1 05:22:44 2016 +0000

----------------------------------------------------------------------
 core/sql/arkcmp/CmpContext.cpp | 12 ++++++++++++
 core/sql/arkcmp/CmpContext.h   |  2 ++
 core/sql/cli/Context.cpp       | 14 ++++++++++++++
 3 files changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/6cd6be85/core/sql/arkcmp/CmpContext.cpp
----------------------------------------------------------------------
diff --git a/core/sql/arkcmp/CmpContext.cpp b/core/sql/arkcmp/CmpContext.cpp
index a256db0..c0ab3a4 100644
--- a/core/sql/arkcmp/CmpContext.cpp
+++ b/core/sql/arkcmp/CmpContext.cpp
@@ -1157,4 +1157,16 @@ void CmpContext::resetLogmxEventSqlText()
    delete sqlTextBuf_ ;
    sqlTextBuf_ = NULL ;
 }
+
+void CmpContext::clearAllCaches()
+{
+   qcache_->makeEmpty();
+   schemaDB_->getNATableDB()->setCachingOFF();
+   schemaDB_->getNATableDB()->setCachingON();
+   schemaDB_->getNARoutineDB()->setCachingOFF();
+   schemaDB_->getNARoutineDB()->setCachingON();
+   if(histogramCache_)
+      histogramCache_->invalidateCache();
+}
+
 #endif // NA_CMPDLL

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/6cd6be85/core/sql/arkcmp/CmpContext.h
----------------------------------------------------------------------
diff --git a/core/sql/arkcmp/CmpContext.h b/core/sql/arkcmp/CmpContext.h
index 37d2df7..8268639 100644
--- a/core/sql/arkcmp/CmpContext.h
+++ b/core/sql/arkcmp/CmpContext.h
@@ -479,6 +479,8 @@ public :
 
   NAList<DDLObjInfo>& ddlObjsList() { return ddlObjs_; }
 
+  void clearAllCaches();
+
 // MV
 private:
 // Adding support for multi threaded requestor (multi transactions) handling

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/6cd6be85/core/sql/cli/Context.cpp
----------------------------------------------------------------------
diff --git a/core/sql/cli/Context.cpp b/core/sql/cli/Context.cpp
index b454a3a..33b935c 100644
--- a/core/sql/cli/Context.cpp
+++ b/core/sql/cli/Context.cpp
@@ -2864,7 +2864,21 @@ void ContextCli::completeSetAuthID(
 // Recreate MXCMP if previously connected and currently connected user id's 
 // are different.
    if ( recreateMXCMP )
+   {
+      // reset rolelist in anticipation of the new user
+      resetRoleList();
+
+      // create all the caches
+      CmpContextInfo *cmpCntxtInfo;
+      for (int i = 0; i < cmpContextInfo_.entries(); i++)
+      {
+         cmpCntxtInfo = cmpContextInfo_[i];
+         cmpCntxtInfo->getCmpContext()->clearAllCaches();
+      }
+
+      // clear caches in secondary arkcmps
       killAndRecreateMxcmp();
+   }
  
    if (eraseCQDs)
    {


[2/2] incubator-trafodion git commit: Merge TRAFODION-2330 PR 806 a select from a table succeeds even if user has no priv

Posted by rm...@apache.org.
Merge TRAFODION-2330 PR 806 a select from a table succeeds even if user has no priv


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/9c712a4a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/9c712a4a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/9c712a4a

Branch: refs/heads/master
Commit: 9c712a4aa78e8dd2601ca4aeb803e3beefbc753f
Parents: 59cbda3 6cd6be8
Author: Roberta Marton <ro...@apache.org>
Authored: Tue Nov 1 14:56:43 2016 +0000
Committer: Roberta Marton <ro...@apache.org>
Committed: Tue Nov 1 14:56:43 2016 +0000

----------------------------------------------------------------------
 core/sql/arkcmp/CmpContext.cpp | 12 ++++++++++++
 core/sql/arkcmp/CmpContext.h   |  2 ++
 core/sql/cli/Context.cpp       | 14 ++++++++++++++
 3 files changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9c712a4a/core/sql/arkcmp/CmpContext.cpp
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9c712a4a/core/sql/arkcmp/CmpContext.h
----------------------------------------------------------------------