mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Add previous parent group as condition to migrate to 4.1
This commit is contained in:
@@ -28,6 +28,7 @@ import com.kunzisoft.keepass.database.crypto.kdf.KdfFactory
|
|||||||
import com.kunzisoft.keepass.database.crypto.kdf.KdfParameters
|
import com.kunzisoft.keepass.database.crypto.kdf.KdfParameters
|
||||||
import com.kunzisoft.keepass.database.element.database.CompressionAlgorithm
|
import com.kunzisoft.keepass.database.element.database.CompressionAlgorithm
|
||||||
import com.kunzisoft.keepass.database.element.database.DatabaseKDBX
|
import com.kunzisoft.keepass.database.element.database.DatabaseKDBX
|
||||||
|
import com.kunzisoft.keepass.database.element.database.DatabaseVersioned
|
||||||
import com.kunzisoft.keepass.database.element.entry.EntryKDBX
|
import com.kunzisoft.keepass.database.element.entry.EntryKDBX
|
||||||
import com.kunzisoft.keepass.database.element.group.GroupKDBX
|
import com.kunzisoft.keepass.database.element.group.GroupKDBX
|
||||||
import com.kunzisoft.keepass.database.element.node.NodeKDBXInterface
|
import com.kunzisoft.keepass.database.element.node.NodeKDBXInterface
|
||||||
@@ -95,6 +96,7 @@ class DatabaseHeaderKDBX(private val databaseV4: DatabaseKDBX) : DatabaseHeader(
|
|||||||
var containsCustomIconWithNameOrLastModificationTime = false
|
var containsCustomIconWithNameOrLastModificationTime = false
|
||||||
var containsCustomData = false
|
var containsCustomData = false
|
||||||
var containsCustomDataWithLastModificationTime = false
|
var containsCustomDataWithLastModificationTime = false
|
||||||
|
var containsPreviousParentGroup = false
|
||||||
override fun operate(node: T): Boolean {
|
override fun operate(node: T): Boolean {
|
||||||
if (node.containsCustomIconWithNameOrLastModificationTime()) {
|
if (node.containsCustomIconWithNameOrLastModificationTime()) {
|
||||||
containsCustomIconWithNameOrLastModificationTime = true
|
containsCustomIconWithNameOrLastModificationTime = true
|
||||||
@@ -105,6 +107,9 @@ class DatabaseHeaderKDBX(private val databaseV4: DatabaseKDBX) : DatabaseHeader(
|
|||||||
containsCustomDataWithLastModificationTime = true
|
containsCustomDataWithLastModificationTime = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (node.previousParentGroup != DatabaseVersioned.UUID_ZERO) {
|
||||||
|
containsPreviousParentGroup = true
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -140,6 +145,8 @@ class DatabaseHeaderKDBX(private val databaseV4: DatabaseKDBX) : DatabaseHeader(
|
|||||||
|| groupHandler.containsCustomIconWithNameOrLastModificationTime
|
|| groupHandler.containsCustomIconWithNameOrLastModificationTime
|
||||||
val containsCustomDataWithLastModificationTime = entryHandler.containsCustomDataWithLastModificationTime
|
val containsCustomDataWithLastModificationTime = entryHandler.containsCustomDataWithLastModificationTime
|
||||||
|| groupHandler.containsCustomDataWithLastModificationTime
|
|| groupHandler.containsCustomDataWithLastModificationTime
|
||||||
|
val containsPreviousParentGroup = entryHandler.containsPreviousParentGroup
|
||||||
|
|| groupHandler.containsPreviousParentGroup
|
||||||
|
|
||||||
// https://keepass.info/help/kb/kdbx_4.html
|
// https://keepass.info/help/kb/kdbx_4.html
|
||||||
// If AES is not use, it's at least 4.0
|
// If AES is not use, it's at least 4.0
|
||||||
@@ -151,7 +158,8 @@ class DatabaseHeaderKDBX(private val databaseV4: DatabaseKDBX) : DatabaseHeader(
|
|||||||
return if (containsGroupWithTag
|
return if (containsGroupWithTag
|
||||||
|| containsEntryWithPasswordQualityEstimationDisabled
|
|| containsEntryWithPasswordQualityEstimationDisabled
|
||||||
|| containsCustomIconWithNameOrLastModificationTime
|
|| containsCustomIconWithNameOrLastModificationTime
|
||||||
|| containsCustomDataWithLastModificationTime) {
|
|| containsCustomDataWithLastModificationTime
|
||||||
|
|| containsPreviousParentGroup) {
|
||||||
FILE_VERSION_41
|
FILE_VERSION_41
|
||||||
} else if (kdfIsNotAes
|
} else if (kdfIsNotAes
|
||||||
|| containsHeaderCustomData
|
|| containsHeaderCustomData
|
||||||
|
|||||||
Reference in New Issue
Block a user