rc_t KeyRingOpen(KKeyRing** self, const char* path, const struct KFile* pwd_in, struct KFile* pwd_out) { rc_t rc; assert(self && path && pwd_in && pwd_out); *self = (KKeyRing*) malloc(sizeof(**self)); if (*self) { rc = KeyRingInit(*self, path); if (rc == 0) { rc = KeyRingAddRef(*self); if (rc == 0) { KDirectory* wd; rc = KDirectoryNativeDir(&wd); if (rc == 0) { /* open the database */ if (KDirectoryPathType(wd, "%s", (*self)->path) == kptFile) rc = GetPassword(pwd_in, pwd_out, (*self)->passwd); else /* does not exist; create first */ { rc = GetNewPassword(pwd_in, pwd_out, (*self)->passwd); if (rc == 0) rc = CreateDatabase(*self); } if (rc == 0) rc = OpenDatabase(*self); { rc_t rc2; rc2 = KDirectoryRelease(wd); if (rc == 0) rc = rc2; } } } if (rc != 0) { KeyRingWhack(*self); *self = NULL; } } else { free(*self); *self = NULL; } } else rc = RC ( rcApp, rcDatabase, rcOpening, rcMemory, rcExhausted ); return rc; }
UINT CUpdateAccountRequest::ProcessResponse(CHttpFile& pHttpFile) { #ifdef ARTSTORE return 1; #else //Take the HttpFile and parse it. UINT uRet = 1; UINT nFileLength = pHttpFile.GetLength(); CString strBuffer; CString strSearch; CString strList; LPSTR b = strBuffer.GetBuffer(nFileLength); pHttpFile.Read(b, nFileLength); strBuffer.ReleaseBuffer(); uRet = CBasicRequestInfo::ProcessResponse(strBuffer); #if 0 if(uRet == 0) { if(GetNewPassword() != "") { if(GetNewPassword() != GetPassword()) { LPSTR s = GetNewPassword().GetBuffer(255); //WritePrivateProfileString("Server Account", "Password", s, "Pmw.ini"); GET_PMWAPP()->WritePrivateProfileString(SECTION_ServerAccount, ENTRY_ServerPassword, s, GET_PMWAPP()->main_ini); GetNewPassword().ReleaseBuffer(); } } } #endif return uRet; #endif }