예제 #1
0
// short* : Used for systems (Windows) that use wide-chars in filenames
NODE*  CParseXml::mainXML(const short *szFileName)
{
   int buffLen;
   
   if(bufFile)
      delete bufFile;
   
   bufFile =loadFileW(szFileName, buffLen);
   
   if (bufFile == NULL) {
      DEBUG_T(0,"xml file not found");
      return NULL;
   }
   return parseXml(bufFile, buffLen);
}
예제 #2
0
   void init(){
      if(iInitOk)return;
      iInitOk=1;
      
      CTEditBase b(4096);
      setCfgFN(b,G_CFG_FILE_ID);

      g_Settings.iEnableSHA384=1;
      g_Settings.iSASConfirmClickCount=10;

      
      int iCfgLen=0;
      char *p=loadFileW(b.getText(),iCfgLen);
      if(!p){iInitOk=0;return;}
      setFileBackgroundReadable(b);
     // puts(p);
      
      
      int getCFGItemSz(char *ret, int iMaxSize, char *p, int iCfgLen, const char *key);
      int getCFGItemI(int *ret, char *p, int iCfgLen, const char *key);
      
      
#define  M_FNC_INT_T(_DST,_K)    getCFGItemI(&(_DST),p,iCfgLen,#_K)
      
      M_FNC_INT_T(g_Settings.iDisableDH2K,iDisableDH2K);
      M_FNC_INT_T(g_Settings.iPreferDH2K,iPreferDH2K);
      M_FNC_INT_T(g_Settings.iDisableAES256,iDisableAES256);
      M_FNC_INT_T(g_Settings.iDisable256SAS,iDisable256SAS);
      
      M_FNC_INT_T(g_Settings.iDisableECDH384,iDisableECDH384);
      M_FNC_INT_T(g_Settings.iDisableECDH256,iDisableECDH256);
      M_FNC_INT_T(g_Settings.iEnableSHA384,iEnableSHA384);
      
      M_FNC_INT_T(g_Settings.iDisableSkein,iDisableSkein);
      M_FNC_INT_T(g_Settings.iDisableTwofish,iDisableTwofish);

      int r = M_FNC_INT_T(g_Settings.iPreferNIST,iPreferNIST);
      
      if( r<0 ){//iPreferNIST is not detected 
         g_Settings.iPreferNIST = 0;
         g_Settings.iDisableTwofish = 0;//must override here it was previously 1 
         g_Settings.iDisableSkein = 0;
      }
      
      M_FNC_INT_T(g_Settings.iDisableBernsteinCurve25519,iDisableBernsteinCurve25519);
      M_FNC_INT_T(g_Settings.iDisableBernsteinCurve3617,iDisableBernsteinCurve3617);

      
      if(g_Settings.iDisableECDH384==0){
         g_Settings.iEnableSHA384=1;
         g_Settings.iDisableAES256=0;
      }
      
      M_FNC_INT_T(g_Settings.iHideCfg,iHideCfg);
      
      M_FNC_INT_T(g_Settings.iDontSimplifyVideoUI,iDontSimplifyVideoUI);
      M_FNC_INT_T(g_Settings.iDisplayUnsolicitedVideo,iDisplayUnsolicitedVideo);
      
      M_FNC_INT_T(g_Settings.iAudioUnderflow,iAudioUnderflow);
      g_Settings.iDontSimplifyVideoUI=1;
      
      
      M_FNC_INT_T(g_Settings.iKeepScreenOnIfBatOk,iKeepScreenOnIfBatOk);
      M_FNC_INT_T(g_Settings.iShowRXLed,iShowRXLed);
      M_FNC_INT_T(g_Settings.iDisableSkeinHash,iDisableSkeinHash);
      
      
      
      M_FNC_INT_T(g_Settings.iRetroRingtone,iRetroRingtone);
      
      M_FNC_INT_T(g_Settings.iSASConfirmClickCount,iSASConfirmClickCount);
      
      g_Settings.iSASConfirmClickCount=10;
      
      strcpy(g_Settings.szRingTone,"Default");
      getCFGItemSz(g_Settings.szLastUsedAccount,sizeof(g_Settings.szLastUsedAccount),p,iCfgLen,"szLastUsedAccount");
      
      getCFGItemSz(g_Settings.szRingTone,sizeof(g_Settings.szRingTone),p,iCfgLen,"szRingTone");
      

      
      memcpy(&prevSettings,&g_Settings,sizeof(TG_SETTINS));
      
      delete p;
   }