1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-26 17:43:22 +00:00

[PM-18668] Create importer for xml files from Password Depot 17 (#14760)

* Create importer for xml file from Password Depot 17

- Create importer
- Create test data
- Create unit tests

* Add support for parsing credit cards

* Update comment on importer class

* Wire up the importer to be selectable in the UI

* Import and set favorites based on export file

* Refactor: Extract method for parsing login fields

* Parse comment on credit cards

* Add support for parsing identity records

* Add support for parsing rdp records

* Remove html decoding of password field

* Include setting credit card brand

* Create type to describe the different source item types

* Add support for SoftwareLicense item type

* Add support for teamviewer item type

* Add support for Putty item type

* Skip processing historical entries

* Add support for banking item type

* Add support for information item type

* Add support for certificate into login type

* Rename encrypted-file.xml to noop-encrypted-file due to a source type with the same name

* Add support for encrypted file item type

* Add support for document type

* Add mapping of source field types to bitwarden custom field types

* Remove duplicate code (copy-pasta mistake)

* Added missing docs

* Adding fallback to support MacOS Password Depot 17 xml files

Instead of a version node they have a dataformat node which contains the file format version

* Add support to parse export files from the MacOS client

* Skip creating a folder if it has no name

* Fix recognition and assignment to folders/collections

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
This commit is contained in:
Daniel James Smith
2025-07-01 15:52:04 +02:00
committed by GitHub
parent 5639668d3f
commit 6b627502be
31 changed files with 3133 additions and 0 deletions

View File

@@ -435,6 +435,12 @@
and select Export items &rarr; Enter your Master Password and select Continue. &rarr; Save
the CSV file on your device.
</ng-container>
<ng-container *ngIf="format === 'passworddepot17xml'">
On the desktop application, go to Tools &rarr; Export &rarr; Enter your master password
&rarr; Select XML Format (*.xml) as Export format &rarr; Click on next &rarr; Choose which
entries should be included in the export &rarr; Click on next to export into the location
previously chosen.
</ng-container>
</bit-callout>
<import-lastpass
*ngIf="showLastPassOptions"