dissect.database 1.1.dev7__tar.gz → 1.1.dev8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dissect_database-1.1.dev7/dissect.database.egg-info → dissect_database-1.1.dev8}/PKG-INFO +1 -1
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/object.py +5 -1
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/util.py +37 -1
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8/dissect.database.egg-info}/PKG-INFO +1 -1
- dissect_database-1.1.dev8/tests/ese/ntds/test_pek.py +51 -0
- dissect_database-1.1.dev7/tests/ese/ntds/test_pek.py +0 -37
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/COPYRIGHT +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/LICENSE +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/MANIFEST.in +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/README.md +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/c_db.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/c_db.pyi +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/db.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/tools/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/tools/c_rpm.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/tools/c_rpm.pyi +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/tools/rpm.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/btree.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/c_ese.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/c_ese.pyi +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/compression.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/cursor.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ese.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/exception.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/index.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/lcmapstring.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/c_ds.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/c_ds.pyi +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/c_pek.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/c_pek.pyi +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/c_sd.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/c_sd.pyi +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/database.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/ntds.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/applicationsettings.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/attributeschema.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/builtindomain.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/certificationauthority.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/classschema.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/classstore.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/computer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/configuration.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/container.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/controlaccessright.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/crldistributionpoint.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/crossref.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/crossrefcontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/dfsconfiguration.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/displayspecifier.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/dmd.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/dnsnode.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/dnszone.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/domain.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/domaindns.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/domainpolicy.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/dsuisettings.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/filelinktracking.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/foreignsecurityprincipal.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/group.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/grouppolicycontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/infrastructureupdate.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/intersitetransport.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/intersitetransportcontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ipsecbase.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ipsecfilter.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ipsecisakmppolicy.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ipsecnegotiationpolicy.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ipsecnfa.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ipsecpolicy.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/leaf.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/linktrackobjectmovetable.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/linktrackvolumetable.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/locality.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/lostandfound.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msauthz_centralaccesspolicies.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msauthz_centralaccessrules.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdfsr_content.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdfsr_contentset.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdfsr_globalsettings.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdfsr_localsettings.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdfsr_member.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdfsr_replicationgroup.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdfsr_subscriber.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdfsr_subscription.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdfsr_topology.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msdns_serversettings.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_authnpolicies.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_authnpolicysilos.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_claimstransformationpolicies.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_claimtype.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_claimtypepropertybase.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_claimtypes.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_optionalfeature.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_passwordsettingscontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_quotacontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_resourceproperties.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_resourceproperty.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_resourcepropertylist.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_shadowprincipalcontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msds_valuetype.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msimaging_psps.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/mskds_provserverconfiguration.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msmqenterprisesettings.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/mspki_enterpriseoid.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/mspki_privatekeyrecoveryagent.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/msspp_activationobjectscontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/mstpm_informationobjectscontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ntdsconnection.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ntdsdsa.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ntdsservice.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ntdssitesettings.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ntfrssettings.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/organizationalperson.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/organizationalunit.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/person.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/physicallocation.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/pkicertificatetemplate.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/pkienrollmentservice.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/querypolicy.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ridmanager.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ridset.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/rpccontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/rrasadministrationdictionary.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/samserver.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/secret.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/securityobject.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/server.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/serverscontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/site.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/sitelink.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/sitescontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/subnetcontainer.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/subschema.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/top.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/trusteddomain.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/user.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/pek.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/query.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/schema.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/sd.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/page.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/record.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/sorting_table.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/table.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/tools/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/tools/certlog.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/tools/impacket.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/tools/sru.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/tools/ual.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/util.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/exception.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/c_sqlite3.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/c_sqlite3.pyi +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/exception.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/sqlite3.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/util.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/wal.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect.database.egg-info/SOURCES.txt +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect.database.egg-info/dependency_links.txt +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect.database.egg-info/requires.txt +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect.database.egg-info/top_level.txt +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/pyproject.toml +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/setup.cfg +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/_docs/Makefile +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/_docs/conf.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/_docs/index.rst +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/_tools/sqlite3/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/_tools/sqlite3/generate_sqlite.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/_util.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/bsd/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/bsd/conftest.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/bsd/test_db.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/bsd/test_rpm.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/conftest.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/conftest.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/ntds/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/ntds/conftest.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/ntds/test_benchmark.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/ntds/test_ntds.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/ntds/test_query.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/ntds/test_schema.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/ntds/test_sd.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/ntds/test_util.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/test_cursor.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/test_ese.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/test_index.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/test_page.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/test_record.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/test_table.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/tools/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/tools/test_certlog.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/tools/test_sru.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/ese/tools/test_ual.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/sqlite3/__init__.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/sqlite3/conftest.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/sqlite3/test_default_values.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/sqlite3/test_row.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/sqlite3/test_sqlite3.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/sqlite3/test_util.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/sqlite3/test_wal.py +0 -0
- {dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dissect.database
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.dev8
|
|
4
4
|
Summary: A Dissect module implementing parsers for various database formats, including Berkeley DB, Microsofts Extensible Storage Engine (ESE) and SQLite3
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/object.py
RENAMED
|
@@ -64,7 +64,7 @@ class Object:
|
|
|
64
64
|
db: The database instance associated with this object.
|
|
65
65
|
record: The :class:`Record` instance representing this object.
|
|
66
66
|
"""
|
|
67
|
-
if (object_classes := _get_attribute(db, record, "objectClass"))
|
|
67
|
+
if (object_classes := _get_attribute(db, record, "objectClass")) and (
|
|
68
68
|
known_cls := cls.__known_classes__.get(object_classes[0])
|
|
69
69
|
) is not None:
|
|
70
70
|
return known_cls(db, record)
|
|
@@ -261,6 +261,10 @@ def _get_attribute(db: Database, record: Record, name: str, *, raw: bool = False
|
|
|
261
261
|
# There are a few attributes that have the flag IsSingleValued but are marked as MultiValue in ESE
|
|
262
262
|
value = value[0]
|
|
263
263
|
|
|
264
|
+
if not schema.is_single_valued and value is None:
|
|
265
|
+
# Return an empty list for multi-valued attributes that are not set
|
|
266
|
+
value = []
|
|
267
|
+
|
|
264
268
|
if raw:
|
|
265
269
|
return value
|
|
266
270
|
|
|
@@ -280,6 +280,29 @@ def _decode_supplemental_credentials(db: Database, value: bytes) -> dict[str, by
|
|
|
280
280
|
return result
|
|
281
281
|
|
|
282
282
|
|
|
283
|
+
def _decode_pwd_history(db: Database, value: list[bytes]) -> list[bytes]:
|
|
284
|
+
"""Decode the ``ntPwdHistory`` or ``lmPwdHistory`` attribute value.
|
|
285
|
+
|
|
286
|
+
Args:
|
|
287
|
+
db: The associated NTDS database instance.
|
|
288
|
+
value: The raw list of bytes values for the password history attribute.
|
|
289
|
+
|
|
290
|
+
Returns:
|
|
291
|
+
A list of decrypted password hashes, or the original value if the PEK is locked.
|
|
292
|
+
"""
|
|
293
|
+
if db.data.pek is None or not db.data.pek.unlocked:
|
|
294
|
+
return value
|
|
295
|
+
|
|
296
|
+
result = []
|
|
297
|
+
for buf in value:
|
|
298
|
+
buf = db.data.pek.decrypt(buf)
|
|
299
|
+
# The history attributes can contain multiple hashes concatenated together, so we need to split them up
|
|
300
|
+
# NT and LM hashes are both 16 bytes long
|
|
301
|
+
result.extend(buf[i : i + 16] for i in range(0, len(buf), 16))
|
|
302
|
+
|
|
303
|
+
return result
|
|
304
|
+
|
|
305
|
+
|
|
283
306
|
ATTRIBUTE_ENCODE_DECODE_MAP: dict[
|
|
284
307
|
str, tuple[Callable[[Database, Any], Any] | None, Callable[[Database, Any], Any] | None]
|
|
285
308
|
] = {
|
|
@@ -314,6 +337,13 @@ ATTRIBUTE_ENCODE_DECODE_MAP: dict[
|
|
|
314
337
|
"msDS-ExecuteScriptPassword": (None, _pek_decrypt),
|
|
315
338
|
}
|
|
316
339
|
|
|
340
|
+
ATTRIBUTE_LIST_ENCODE_DECODE_MAP: dict[
|
|
341
|
+
str, tuple[Callable[[Database, list[Any]], list[Any]], Callable[[Database, list[Any]], list[Any]]]
|
|
342
|
+
] = {
|
|
343
|
+
"ntPwdHistory": (None, _decode_pwd_history),
|
|
344
|
+
"lmPwdHistory": (None, _decode_pwd_history),
|
|
345
|
+
}
|
|
346
|
+
|
|
317
347
|
|
|
318
348
|
def _ldapDisplayName_to_DNT(db: Database, value: str) -> int | str:
|
|
319
349
|
"""Convert an LDAP display name to its corresponding DNT value.
|
|
@@ -494,7 +524,13 @@ def decode_value(db: Database, attribute: str, value: Any) -> Any:
|
|
|
494
524
|
if value is None:
|
|
495
525
|
return value
|
|
496
526
|
|
|
497
|
-
# First check
|
|
527
|
+
# First check if we have a special decoder for this attribute
|
|
528
|
+
# Check for special handing of multi-valued attributes first
|
|
529
|
+
if isinstance(value, list):
|
|
530
|
+
_, decode = ATTRIBUTE_LIST_ENCODE_DECODE_MAP.get(attribute, (None, None))
|
|
531
|
+
if decode is not None:
|
|
532
|
+
return decode(db, value)
|
|
533
|
+
|
|
498
534
|
_, decode = ATTRIBUTE_ENCODE_DECODE_MAP.get(attribute, (None, None))
|
|
499
535
|
if decode is None:
|
|
500
536
|
# Next, try it using the regular OID_ENCODE_DECODE_MAP mapping
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dissect.database
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.dev8
|
|
4
4
|
Summary: A Dissect module implementing parsers for various database formats, including Berkeley DB, Microsofts Extensible Storage Engine (ESE) and SQLite3
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
from dissect.database.ese.ntds import NTDS
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def test_pek(goad: NTDS) -> None:
|
|
10
|
+
"""Test PEK unlocking and decryption."""
|
|
11
|
+
syskey = bytes.fromhex("079f95655b66f16deb28aa1ab3a81eb0")
|
|
12
|
+
|
|
13
|
+
user = next((u for u in goad.users() if u.name == "ESSOS$"), None)
|
|
14
|
+
assert user is not None
|
|
15
|
+
|
|
16
|
+
encrypted = user.unicodePwd
|
|
17
|
+
# Verify encrypted value
|
|
18
|
+
assert encrypted == bytes.fromhex(
|
|
19
|
+
"1300000000000000248a47921aa22e6886017494709f23bb10000000708afcb8360cfb0b4a972c5bc65b2864540436aad24654c2e037c83eafe70d43"
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
assert user.lmPwdHistory == [
|
|
23
|
+
bytes.fromhex(
|
|
24
|
+
"1300000000000000771e30dbd13e7f1a641ecd8e3ec85765200000005e5c46e1eb6ffaff7bee7fa75a092215e5c9bc34e1223a09322f9c15260310b98b30a2045e2f1bc8dcab1ad8b8ce13c3"
|
|
25
|
+
)
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
goad.pek.unlock(syskey)
|
|
29
|
+
assert goad.pek.unlocked
|
|
30
|
+
|
|
31
|
+
# Test decryption of the user's password
|
|
32
|
+
assert goad.pek.decrypt(encrypted) == bytes.fromhex("909e2178d8b7944d60a5cd2053fef570")
|
|
33
|
+
# Should work transparently now too
|
|
34
|
+
assert user.unicodePwd == bytes.fromhex("909e2178d8b7944d60a5cd2053fef570")
|
|
35
|
+
assert user.lmPwdHistory == [
|
|
36
|
+
bytes.fromhex("f4badffd76f158087909e33b4e4b40c1"),
|
|
37
|
+
bytes.fromhex("4383d43a2d9bbc9bda43c5a3d0e4f38c"),
|
|
38
|
+
]
|
|
39
|
+
assert user.ntPwdHistory == [
|
|
40
|
+
bytes.fromhex("909e2178d8b7944d60a5cd2053fef570"),
|
|
41
|
+
bytes.fromhex("909e2178d8b7944d60a5cd2053fef570"),
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def test_pek_adam(adam: NTDS) -> None:
|
|
46
|
+
"""Test PEK unlocking and decryption for AD LDS NTDS.dit."""
|
|
47
|
+
# The PEK in AD LDS is derived within the database itself
|
|
48
|
+
assert adam.pek.unlocked
|
|
49
|
+
|
|
50
|
+
user = next(adam.users(), None)
|
|
51
|
+
assert user.unicodePwd == bytes.fromhex("8846f7eaee8fb117ad06bdd830b7586c")
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import TYPE_CHECKING
|
|
4
|
-
|
|
5
|
-
if TYPE_CHECKING:
|
|
6
|
-
from dissect.database.ese.ntds import NTDS
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def test_pek(goad: NTDS) -> None:
|
|
10
|
-
"""Test PEK unlocking and decryption."""
|
|
11
|
-
syskey = bytes.fromhex("079f95655b66f16deb28aa1ab3a81eb0")
|
|
12
|
-
|
|
13
|
-
user = next(goad.users(), None)
|
|
14
|
-
assert user is not None
|
|
15
|
-
|
|
16
|
-
encrypted = user.unicodePwd
|
|
17
|
-
# Verify encrypted value
|
|
18
|
-
assert encrypted == bytes.fromhex(
|
|
19
|
-
"130000000000000029fbdaafb52bf724a51052f668152ac5100000006d06616d95c026064fff245bd256f3d4990f7bffb546f76de566723da4855227"
|
|
20
|
-
)
|
|
21
|
-
|
|
22
|
-
goad.pek.unlock(syskey)
|
|
23
|
-
assert goad.pek.unlocked
|
|
24
|
-
|
|
25
|
-
# Test decryption of the user's password
|
|
26
|
-
assert goad.pek.decrypt(encrypted) == bytes.fromhex("06bb564317712dc60761a32914e4048c")
|
|
27
|
-
# Should work transparently now too
|
|
28
|
-
assert user.unicodePwd == bytes.fromhex("06bb564317712dc60761a32914e4048c")
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def test_pek_adam(adam: NTDS) -> None:
|
|
32
|
-
"""Test PEK unlocking and decryption for AD LDS NTDS.dit."""
|
|
33
|
-
# The PEK in AD LDS is derived within the database itself
|
|
34
|
-
assert adam.pek.unlocked
|
|
35
|
-
|
|
36
|
-
user = next(adam.users(), None)
|
|
37
|
-
assert user.unicodePwd == bytes.fromhex("8846f7eaee8fb117ad06bdd830b7586c")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/bsd/tools/c_rpm.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/database.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/dmd.py
RENAMED
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/dnsnode.py
RENAMED
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/dnszone.py
RENAMED
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/domain.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/leaf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ntdsdsa.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/person.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/ridset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/secret.py
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/server.py
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/site.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/top.py
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/ntds/objects/user.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/sorting_table.py
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/tools/__init__.py
RENAMED
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/tools/certlog.py
RENAMED
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/ese/tools/impacket.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/__init__.py
RENAMED
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/c_sqlite3.py
RENAMED
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/c_sqlite3.pyi
RENAMED
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect/database/sqlite3/exception.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect.database.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect.database.egg-info/requires.txt
RENAMED
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/dissect.database.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/_tools/sqlite3/generate_sqlite.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_database-1.1.dev7 → dissect_database-1.1.dev8}/tests/sqlite3/test_default_values.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|