Ejemplo n.º 1
0
        public override bool TryBeginImport()
        {
            if (NativeLib.IsUnix())
            {
                MessageService.ShowWarning(KPRes.KeePassLibCNotWindows,
                                           KPRes.KeePassLibCNotWindowsHint);
                return(false);
            }

            Exception exLib;

            if (!KdbFile.IsLibraryInstalled(out exLib))
            {
                MessageService.ShowWarning(KPRes.KeePassLibCNotFound,
                                           KPRes.KdbKeePassLibC, exLib);
                return(false);
            }

            return(true);
        }
Ejemplo n.º 2
0
        private void GetAppComponents()
        {
            ListViewItem lvi = new ListViewItem(PwDefs.ShortProductName);

            lvi.SubItems.Add(PwDefs.VersionString);
            m_lvComponents.Items.Add(lvi);

            lvi = new ListViewItem(KPRes.XslStylesheetsKdbx);
            string strPath = WinUtil.GetExecutable();

            strPath  = UrlUtil.GetFileDirectory(strPath, true, false);
            strPath += AppDefs.XslFilesDir;
            strPath  = UrlUtil.EnsureTerminatingSeparator(strPath, false);
            bool bInstalled = File.Exists(strPath + AppDefs.XslFileHtmlLite);

            bInstalled &= File.Exists(strPath + AppDefs.XslFileHtmlFull);
            bInstalled &= File.Exists(strPath + AppDefs.XslFileHtmlTabular);
            if (!bInstalled)
            {
                lvi.SubItems.Add(KPRes.NotInstalled);
            }
            else
            {
                lvi.SubItems.Add(KPRes.Installed);
            }
            m_lvComponents.Items.Add(lvi);

            lvi = new ListViewItem(KPRes.KeePassLibCLong);
            if (!KdbFile.IsLibraryInstalled())
            {
                lvi.SubItems.Add(KPRes.NotInstalled);
            }
            else
            {
                lvi.SubItems.Add(KdbManager.KeePassVersionString + " (0x" +
                                 KdbManager.LibraryBuild.ToString("X4") + ")");
            }
            m_lvComponents.Items.Add(lvi);
        }
Ejemplo n.º 3
0
        public override bool Export(PwExportInfo pwExportInfo, Stream sOutput,
            IStatusLogger slLogger)
        {
            PwDatabase pd = (pwExportInfo.ContextDatabase ?? new PwDatabase());

            string strTempFile = Program.TempFilesPool.GetTempFileName(false);

            try
            {
                KdbFile kdb = new KdbFile(pd, slLogger);
                kdb.Save(strTempFile, pwExportInfo.DataGroup);

                byte[] pbKdb = File.ReadAllBytes(strTempFile);
                sOutput.Write(pbKdb, 0, pbKdb.Length);
                Array.Clear(pbKdb, 0, pbKdb.Length);
            }
            catch(Exception exKdb)
            {
                if(slLogger != null) slLogger.SetText(exKdb.Message, LogStatusType.Error);

                return false;
            }

            Program.TempFilesPool.Delete(strTempFile);
            return true;
        }
Ejemplo n.º 4
0
        public override void Import(PwDatabase pwStorage, Stream sInput,
            IStatusLogger slLogger)
        {
            string strTempFile = Program.TempFilesPool.GetTempFileName();

            BinaryReader br = new BinaryReader(sInput);
            byte[] pb = br.ReadBytes((int)sInput.Length);
            br.Close();
            File.WriteAllBytes(strTempFile, pb);

            KdbFile kdb = new KdbFile(pwStorage, slLogger);
            kdb.Load(strTempFile);

            Program.TempFilesPool.Delete(strTempFile);
        }