Github user zellerh commented on a diff in the pull request:

    https://github.com/apache/trafodion/pull/1721#discussion_r221698725
  
    --- Diff: core/sql/common/ComMisc.cpp ---
    @@ -357,3 +358,119 @@ NABoolean ComTrafReservedColName(
     
       return FALSE;
     }
    +
    +
    +Int32  ComGenerateUdrCachedLibName(NAString libname,Int64 redeftime, 
NAString schemaName, NAString userid, NAString &cachedLibName, NAString 
&cachedLibPath)
    +{
    +  NAString libPrefix, libSuffix;
    +  struct stat statbuf;
    +  NAString redefTimeString = Int64ToNAString(redeftime);
    +  size_t lastDot = libname.last('.');
    +  if (lastDot != NA_NPOS)
    +    {
    +      libSuffix = libname(lastDot,libname.length()-lastDot);
    +      libPrefix = libname(0,lastDot);
    +    }
    + 
    +  //when isolated user support is added   
    +  if (userid.length()!=0)       
    +    {
    +
    +      cachedLibPath = getenv("TRAF_HOME") ;
    +      cachedLibPath += "/udr";
    +      if ( stat(cachedLibPath, &statbuf) != 0)
    +         {
    +           if (mkdir(cachedLibPath,S_IRWXU|S_IRWXG|S_IRWXO))
    +             {
    +               return -1;
    +             }
    +               
    +         }
    +      cachedLibPath += "/";
    +      cachedLibPath += getenv("MY_UDR_CACHE_LIBDIR");
    +      if ( stat(cachedLibPath, &statbuf) != 0)
    +         {
    +           if (mkdir(cachedLibPath,S_IRWXU|S_IRWXG|S_IRWXO))
    --- End diff --
    
    The user id (or DB__ROOT) should be above the cached_libs directory, so 
that all the files for a particular user id are together in a single directory 
tree. Also, I don't think we should allow others to write to this directory. 
Right now the permission on my system is 755, which seems ok to me. Similar 
comments to other places where we give write access to others. I would think 
that 755 (S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) should be ok for all these 
directories that get created.


---

Reply via email to