Changeset 664

Show
Ignore:
Timestamp:
10/11/06 20:25:03 (2 years ago)
Author:
dp
Message:

nepenthes

  • use proper types for uid/gid
  • dont change user/group if not necessary
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • nepenthes/trunk/nepenthes-core/include/ConsoleLogger.hpp

    r652 r664  
    4545                virtual                 ~ConsoleLogger(); 
    4646                virtual void    log(uint32_t mask, const char *message); 
    47                 virtual bool    setOwnership(int32_t uid, int32_t gid) { return true; } 
     47                virtual bool    setOwnership(uid_t uid, gid_t gid) { return true; } 
    4848        }; 
    4949 
  • nepenthes/trunk/nepenthes-core/include/FileLogger.hpp

    r652 r664  
    4646                virtual void    log(uint32_t mask, const char *message); 
    4747                virtual void    setLogFile(const char *filename); 
    48                 virtual bool    setOwnership(int32_t uid, int32_t gid); 
     48                virtual bool    setOwnership(uid_t uid, gid_t gid); 
    4949 
    5050        private: 
  • nepenthes/trunk/nepenthes-core/include/LogHandler.hpp

    r652 r664  
    3232 
    3333#include <stdint.h> 
     34#include <sys/types.h> 
    3435 
    3536namespace nepenthes 
     
    4647                virtual                 ~LogHandler(); 
    4748                virtual void    log(uint32_t mask, const char *message) = 0; 
    48                 virtual bool    setOwnership(int32_t uid, int32_t gid) = 0; 
     49                virtual bool    setOwnership(uid_t uid, gid_t gid) = 0; 
    4950 
    5051        protected: 
  • nepenthes/trunk/nepenthes-core/include/RingFileLogger.hpp

    r652 r664  
    4848                virtual void    setMaxFiles(uint8_t count); 
    4949                virtual void    setMaxSize(size_t size); 
    50                 virtual bool    setOwnership(int32_t uid, int32_t gid); 
     50                virtual bool    setOwnership(uid_t uid, gid_t gid); 
    5151 
    5252        private: 
  • nepenthes/trunk/nepenthes-core/src/FileLogger.cpp

    r660 r664  
    110110 
    111111 
    112 bool FileLogger::setOwnership(int32_t uid, int32_t gid) 
     112bool FileLogger::setOwnership(uid_t uid, gid_t gid) 
    113113{ 
    114114#if !defined(CYGWIN) && !defined(CYGWIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(WIN32) 
     
    139139        } 
    140140 
    141         if ( chown(m_Filename, uid, gid) != 0
     141        if( s.st_uid != uid || s.st_gid != gid
    142142        { 
    143                 logCrit("Failed to change ownership for file %s: %s\n", m_Filename, strerror(errno)); 
    144                 return false; 
     143                if ( chown(m_Filename, uid, gid) != 0 ) 
     144                { 
     145                        logCrit("Failed to change ownership for file %s: %s\n", m_Filename, strerror(errno)); 
     146                        return false; 
     147                } 
     148 
     149                logInfo("Logfile %s ownership is now %d:%d (%s:%s)\n", m_Filename, uid, gid, getpwuid(uid)->pw_name, 
     150                        getgrgid(gid)->gr_name); 
    145151        } 
    146  
    147         logInfo("Logfile %s ownership is now %d:%d (%s:%s)\n", m_Filename, uid, gid, getpwuid(uid)->pw_name, 
    148                         getgrgid(gid)->gr_name); 
    149152#endif 
    150153 
  • nepenthes/trunk/nepenthes-core/src/RingFileLogger.cpp

    r660 r664  
    166166 
    167167 
    168 bool RingFileLogger::setOwnership(int32_t uid, int32_t gid) 
     168bool RingFileLogger::setOwnership(uid_t uid, gid_t gid) 
    169169{ 
    170170#if !defined(CYGWIN) && !defined(CYGWIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(WIN32) 
     
    197197                } 
    198198 
    199                 if ( chown(filename, uid, gid) != 0
     199                if( s.st_uid != uid || s.st_gid != gid
    200200                { 
    201                         logCrit("Failed to change ownership for file %s: %s\n", filename, strerror(errno)); 
    202                         return false; 
     201                        if ( chown(filename, uid, gid) != 0 ) 
     202                        { 
     203                                logCrit("Failed to change ownership for file %s: %s\n", filename, strerror(errno)); 
     204                                return false; 
     205                        } 
     206 
     207                        logInfo("Logfile %s ownership is now %d:%d (%s:%s)\n", filename, uid, gid, getpwuid(uid)->pw_name, 
     208                                getgrgid(gid)->gr_name); 
    203209                } 
    204  
    205                 logInfo("Logfile %s ownership is now %d:%d (%s:%s)\n", filename, uid, gid, getpwuid(uid)->pw_name, 
    206                                 getgrgid(gid)->gr_name); 
    207210        } 
    208211#endif