Changeset febff5f in nscp


Ignore:
Timestamp:
03/11/08 06:57:12 (5 years ago)
Author:
Michael Medin <michael@…>
Branches:
master, 0.4.0, 0.4.1, 0.4.2, stable
Children:
d76af81, 8484679
Parents:
7f596ce
Message:

0.3.1 release

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • AutoBuild.h

    r7f596ce rfebff5f  
    33// change the FALSE to TRUE for autoincrement of build number 
    44#define INCREMENT_VERSION TRUE 
    5 #define FILEVER        0,3,1,9 
    6 #define PRODUCTVER     0,3,1,9 
    7 #define STRFILEVER     _T("0.3.1.9") 
    8 #define STRPRODUCTVER  _T("0.3.1.9") 
    9 #define STRPRODUCTDATE  _T("2008-03-06") 
     5#define FILEVER        0,3,1,12 
     6#define PRODUCTVER     0,3,1,12 
     7#define STRFILEVER     _T("0.3.1.12") 
     8#define STRPRODUCTVER  _T("0.3.1.12") 
     9#define STRPRODUCTDATE  _T("2008-03-11") 
    1010#endif // AUTOBUILD_H 
  • changelog

    r7f596ce rfebff5f  
    66 * Improved socket performance (would be nice if we could be used as a "hub") 
    77 * "The message is blocked by User Interface Privilege Isolation, Administrative applications that need to see it can allow it through by calling ChangeWindowMessageFilter after making sure the necessary security precautions are in place. " 
     8 
     92007-03-11 MickeM 
     10 ! 0.3.1 Released 
    811 
    9122008-03-08 MickeM 
     
    1619 + Since log module is loaded "after" the client has booted I added a "hello" message that prints the current version 
    1720    (if you find this annoying let me know, I will make it optional :) 
     21 * Fixed some issues in the registry handling 
    1822 
    19232008-03-06 MickeM 
  • include/REGSettings.h

    r978bd31 rfebff5f  
    7777    } 
    7878    DWORD cbData = static_cast<DWORD>(wcslen(value)); 
    79     BYTE *bData = new BYTE[cbData+1]; 
    80     wcsncpy_s(reinterpret_cast<TCHAR*>(bData), cbData+1, value, cbData); 
    81     BOOL bRet = RegSetValueEx(hTemp, lpszKey, NULL, REG_SZ, bData, cbData); 
     79    TCHAR *bData = new TCHAR[cbData+2]; 
     80    wcsncpy_s(bData, cbData+1, value, cbData); 
     81    BOOL bRet = RegSetValueEx(hTemp, lpszKey, NULL, REG_SZ, reinterpret_cast<BYTE*>(bData), cbData); 
    8282    RegCloseKey(hTemp); 
    8383    delete [] bData; 
     
    115115    if (lRet == ERROR_SUCCESS) { 
    116116      if (type == REG_SZ) { 
    117         if (cbData < data_length-1) { 
     117        if (cbData == 0) 
     118          return _T(""); 
     119        else if (cbData < data_length-1) { 
    118120          bData[cbData] = 0; 
    119           ret = reinterpret_cast<LPCTSTR>(bData); 
     121          const TCHAR *ptr = reinterpret_cast<TCHAR*>(bData); 
     122          ret = ptr; 
    120123        } else { 
    121124          std::wcout << _T("getString_::Buffersize to small: ") << lpszPath << "." << lpszKey << ": " << type << std::endl; 
  • include/Settings.h

    r978bd31 rfebff5f  
    104104    bool bNew = false; 
    105105    TSettings *sM = settingsManager; 
     106    if (settingsManager == NULL) 
     107      throw SettingsException(_T("No settings method specified, cannot start")); 
    106108    if ((type != -1)&&(type != settingsManager->getActiveTypeID())) { 
    107109      if (type == REGSettings::getType()) { 
     
    161163    bool bNew = false; 
    162164    TSettings *sM = settingsManager; 
     165    if (settingsManager == NULL) 
     166      throw SettingsException(_T("No settings method specified, cannot start")); 
    163167    if ((type != -1)&&(type != settingsManager->getActiveTypeID())) { 
    164168      if (type == REGSettings::getType()) { 
  • modules/FileLogger/FileLogger.cpp

    r7e33d82 rfebff5f  
    2525#include <sys/timeb.h> 
    2626#include <time.h> 
     27#include <utils.h> 
    2728 
    2829FileLogger gFileLogger; 
     
    3435} 
    3536 
    36 FileLogger::FileLogger() { 
     37FileLogger::FileLogger() : init_(false) { 
    3738} 
    3839FileLogger::~FileLogger() { 
     
    5354  getFileName(); 
    5455  format_ = NSCModuleHelper::getSettingsString(LOG_SECTION_TITLE, LOG_DATEMASK, LOG_DATEMASK_DEFAULT); 
     56  init_ = true; 
     57  std::wstring hello = _T("Starting to log for: ") + NSCModuleHelper::getApplicationName() + _T(" - ") + NSCModuleHelper::getApplicationVersionString(); 
     58  handleMessage(NSCAPI::log, __FILEW__, __LINE__, hello.c_str()); 
    5559  return true; 
    5660} 
     
    6468  return true; 
    6569} 
    66 void FileLogger::handleMessage(int msgType, TCHAR* file, int line, TCHAR* message) { 
     70void FileLogger::writeEntry(std::wstring line) { 
     71  DWORD numberOfBytesWritten; 
     72  HANDLE hFile = ::CreateFile(file_.c_str(), GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 
     73  if (hFile == INVALID_HANDLE_VALUE) { 
     74    hFile = ::CreateFile(file_.c_str(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); 
     75    if (hFile == INVALID_HANDLE_VALUE) { 
     76      std::wcout << _T("Failed to write to log file: ") << file_ << std::endl; 
     77      return; 
     78    } 
     79    WORD wBOM = 0xFEFF; 
     80    ::WriteFile(hFile, &wBOM, sizeof(WORD), &numberOfBytesWritten, NULL); 
     81  } 
     82  //::WriteFile(hFile, &wBOM, sizeof(WORD), &NumberOfBytesWritten, NULL); 
     83  if (::SetFilePointer(hFile, 0, NULL, FILE_END) == INVALID_SET_FILE_POINTER) { 
     84    std::wcout << _T("Failed to move pointer to end of file...") << std::endl; 
     85  } 
     86  ::WriteFile(hFile, line.c_str(), (line.length())*(sizeof(TCHAR)), &numberOfBytesWritten, NULL); 
     87  ::CloseHandle(hFile); 
     88} 
     89 
     90void FileLogger::handleMessage(int msgType, TCHAR* file, int line, const TCHAR* message) { 
     91  if (!init_) 
     92    return; 
    6793  TCHAR buffer[65]; 
    68   std::wofstream stream(file_.c_str(), std::ios::app); 
    6994  __time64_t ltime; 
    7095  _time64( &ltime ); 
     
    79104    wcsncpy_s(buffer, 64, _T("???"), 63); 
    80105  } 
    81   stream << buffer << _T(": ") << NSCHelper::translateMessageType(msgType) << _T(":") << file << _T(":") << line << _T(": ") << message << std::endl; 
     106  writeEntry(std::wstring(buffer) + _T(": ") +  
     107    NSCHelper::translateMessageType(msgType) + _T(":") +  
     108    std::wstring(file) + _T(":") + strEx::itos(line) +_T(": ") +  
     109    message + _T("\r\n")); 
    82110} 
    83111 
  • modules/FileLogger/FileLogger.h

    r99e4d8f rfebff5f  
    2727  std::wstring file_; 
    2828  std::wstring format_; 
     29  bool init_; 
    2930 
    3031public: 
     
    5051  bool hasCommandHandler(); 
    5152  bool hasMessageHandler(); 
    52   void handleMessage(int msgType, TCHAR* file, int line, TCHAR* message); 
     53  void handleMessage(int msgType, TCHAR* file, int line, const TCHAR* message); 
    5354  int handleCommand(TCHAR* command, TCHAR **argument, TCHAR *returnBuffer, int returnBufferLen); 
     55  void writeEntry(std::wstring line); 
    5456 
    5557 
Note: See TracChangeset for help on using the changeset viewer.