dissect.database 1.2.dev9__tar.gz → 1.2.dev10__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.2.dev9 → dissect_database-1.2.dev10}/PKG-INFO +1 -1
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/ntds.py +5 -0
- dissect_database-1.2.dev10/dissect/database/ese/ntds/objects/c_dnsnode.py +109 -0
- dissect_database-1.2.dev10/dissect/database/ese/ntds/objects/c_dnsnode.pyi +146 -0
- dissect_database-1.2.dev10/dissect/database/ese/ntds/objects/dnsnode.py +443 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/util.py +3 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect.database.egg-info/PKG-INFO +1 -1
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect.database.egg-info/SOURCES.txt +4 -0
- dissect_database-1.2.dev10/tests/ese/ntds/objects/test_dnsnode.py +260 -0
- dissect_database-1.2.dev10/tests/sqlite3/__init__.py +0 -0
- dissect_database-1.2.dev9/dissect/database/ese/ntds/objects/dnsnode.py +0 -13
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/.git-blame-ignore-revs +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/COPYRIGHT +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/LICENSE +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/MANIFEST.in +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/README.md +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/bsd/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/bsd/c_db.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/bsd/c_db.pyi +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/bsd/db.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/bsd/tools/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/bsd/tools/c_rpm.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/bsd/tools/c_rpm.pyi +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/bsd/tools/rpm.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/c_ese.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/c_ese.pyi +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/compression.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/cursor.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ese.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/exception.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/index.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/lcmapstring.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/c_ds.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/c_ds.pyi +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/c_pek.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/c_pek.pyi +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/c_sd.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/c_sd.pyi +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/database.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/applicationsettings.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/attributeschema.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/builtindomain.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/certificationauthority.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/classschema.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/classstore.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/computer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/configuration.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/container.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/controlaccessright.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/crldistributionpoint.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/crossref.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/crossrefcontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/dfsconfiguration.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/displayspecifier.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/dmd.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/dnszone.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/domain.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/domaindns.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/domainpolicy.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/dsuisettings.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/filelinktracking.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/foreignsecurityprincipal.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/group.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/grouppolicycontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/infrastructureupdate.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/intersitetransport.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/intersitetransportcontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ipsecbase.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ipsecfilter.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ipsecisakmppolicy.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ipsecnegotiationpolicy.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ipsecnfa.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ipsecpolicy.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/leaf.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/linktrackobjectmovetable.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/linktrackvolumetable.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/locality.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/lostandfound.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msauthz_centralaccesspolicies.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msauthz_centralaccessrules.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdfsr_content.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdfsr_contentset.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdfsr_globalsettings.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdfsr_localsettings.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdfsr_member.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdfsr_replicationgroup.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdfsr_subscriber.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdfsr_subscription.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdfsr_topology.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msdns_serversettings.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_authnpolicies.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_authnpolicysilos.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_claimstransformationpolicies.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_claimtype.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_claimtypepropertybase.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_claimtypes.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_optionalfeature.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_passwordsettingscontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_quotacontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_resourceproperties.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_resourceproperty.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_resourcepropertylist.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_shadowprincipalcontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msds_valuetype.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msfve_recoveryinformation.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msimaging_psps.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/mskds_provserverconfiguration.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msmqenterprisesettings.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/mspki_enterpriseoid.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/mspki_privatekeyrecoveryagent.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/msspp_activationobjectscontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/mstpm_informationobjectscontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ntdsconnection.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ntdsdsa.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ntdsservice.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ntdssitesettings.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ntfrssettings.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/object.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/organizationalperson.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/organizationalunit.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/person.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/physicallocation.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/pkicertificatetemplate.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/pkienrollmentservice.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/querypolicy.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ridmanager.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/ridset.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/rpccontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/rrasadministrationdictionary.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/samserver.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/secret.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/securityobject.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/server.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/serverscontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/site.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/sitelink.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/sitescontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/subnetcontainer.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/subschema.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/top.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/trusteddomain.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/objects/user.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/pek.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/query.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/schema.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/sd.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/tools/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/ntds/tools/ntds.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/page.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/record.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/sorting_table.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/table.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/tools/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/tools/certlog.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/tools/impacket.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/tools/sru.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/tools/ual.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/ese/util.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/exception.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/c_sqlite3.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/c_sqlite3.pyi +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/encryption/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/encryption/sqlcipher/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/encryption/sqlcipher/exception.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/encryption/sqlcipher/sqlcipher.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/exception.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/sqlite3.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/util.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect/database/sqlite3/wal.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect.database.egg-info/dependency_links.txt +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect.database.egg-info/entry_points.txt +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect.database.egg-info/requires.txt +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/dissect.database.egg-info/top_level.txt +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/pyproject.toml +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/setup.cfg +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/_docs/Makefile +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/_docs/conf.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/_docs/index.rst +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/_tools/sqlite3/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/_tools/sqlite3/generate_sqlite.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/_util.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/bsd/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/bsd/conftest.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/bsd/test_db.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/bsd/test_rpm.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/conftest.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/conftest.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/ntds/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/ntds/conftest.py +0 -0
- {dissect_database-1.2.dev9/tests/ese/tools → dissect_database-1.2.dev10/tests/ese/ntds/objects}/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/ntds/test_benchmark.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/ntds/test_ntds.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/ntds/test_pek.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/ntds/test_query.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/ntds/test_schema.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/ntds/test_sd.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/ntds/test_util.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/test_cursor.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/test_ese.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/test_index.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/test_page.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/test_record.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/test_table.py +0 -0
- {dissect_database-1.2.dev9/tests/sqlite3 → dissect_database-1.2.dev10/tests/ese/tools}/__init__.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/tools/test_certlog.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/tools/test_sru.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/ese/tools/test_ual.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/sqlite3/conftest.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/sqlite3/test_default_values.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/sqlite3/test_row.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/sqlite3/test_sqlcipher.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/sqlite3/test_sqlite3.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/sqlite3/test_util.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tests/sqlite3/test_wal.py +0 -0
- {dissect_database-1.2.dev9 → dissect_database-1.2.dev10}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dissect.database
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.dev10
|
|
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
|
|
@@ -11,6 +11,7 @@ if TYPE_CHECKING:
|
|
|
11
11
|
|
|
12
12
|
from dissect.database.ese.ntds.objects import (
|
|
13
13
|
Computer,
|
|
14
|
+
DnsNode,
|
|
14
15
|
DomainDNS,
|
|
15
16
|
Group,
|
|
16
17
|
GroupPolicyContainer,
|
|
@@ -118,6 +119,10 @@ class NTDS:
|
|
|
118
119
|
"""Get all secret objects from the database."""
|
|
119
120
|
yield from self.search(objectClass="secret")
|
|
120
121
|
|
|
122
|
+
def dns_nodes(self) -> Iterator[DnsNode]:
|
|
123
|
+
"""Get all DnsNode objects from the database."""
|
|
124
|
+
yield from self.search(objectClass="dnsNode")
|
|
125
|
+
|
|
121
126
|
def backup_keys(self) -> Iterator[BackupKey]:
|
|
122
127
|
"""Get all DPAPI backup keys from the database."""
|
|
123
128
|
if not self.pek.unlocked:
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from dissect.cstruct import cstruct
|
|
4
|
+
|
|
5
|
+
dns_record_def = """
|
|
6
|
+
|
|
7
|
+
// https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/39b03b89-2264-4063-8198-d62f62a6441a
|
|
8
|
+
enum DNS_RECORD_TYPE : WORD {
|
|
9
|
+
ZERO = 0x0000, // An empty record type ([RFC1034] section 3.6 and [RFC1035] section 3.2.2).
|
|
10
|
+
A = 0x0001, // An A record type, used for storing an IP address ([RFC1035] section 3.2.2).
|
|
11
|
+
NS = 0x0002, // An authoritative name-server
|
|
12
|
+
// record type ([RFC1034] section 3.6 and [RFC1035] section 3.2.2).
|
|
13
|
+
MD = 0x0003, // A mail-destination record type ([RFC1035] section 3.2.2).
|
|
14
|
+
MF = 0x0004, // A mail forwarder record type ([RFC1035] section 3.2.2).
|
|
15
|
+
CNAME = 0x0005, // A record type that contains the canonical name of a DNS alias ([RFC1035] section 3.2.2).
|
|
16
|
+
SOA = 0x0006, // A Start of Authority (SOA) record type ([RFC1035] section 3.2.2).
|
|
17
|
+
MB = 0x0007, // A mailbox record type ([RFC1035] section 3.2.2).
|
|
18
|
+
MG = 0x0008, // A mail group member record type ([RFC1035] section 3.2.2).
|
|
19
|
+
MR = 0x0009, // A mail-rename record type ([RFC1035] section 3.2.2).
|
|
20
|
+
NULL = 0x000A, // A record type for completion queries ([RFC1035] section 3.2.2).
|
|
21
|
+
WKS = 0x000B, // A record type for a well-known service ([RFC1035] section 3.2.2).
|
|
22
|
+
PTR = 0x000C, // A record type containing FQDN pointer ([RFC1035] section 3.2.2).
|
|
23
|
+
HINFO = 0x000D, // A host information record type ([RFC1035] section 3.2.2).
|
|
24
|
+
MINFO = 0x000E, // A mailbox or mailing list information record type ([RFC1035] section 3.2.2).
|
|
25
|
+
MX = 0x000F, // A mail-exchanger record type ([RFC1035] section 3.2.2).
|
|
26
|
+
TXT = 0x0010, // A record type containing a text string ([RFC1035] section 3.2.2).
|
|
27
|
+
RP = 0x0011, // A responsible-person record type [RFC1183].
|
|
28
|
+
AFSDB = 0x0012, // A record type containing AFS database location [RFC1183].
|
|
29
|
+
X25 = 0x0013, // An X25 PSDN address record type [RFC1183].
|
|
30
|
+
ISDN = 0x0014, // An ISDN address record type [RFC1183].
|
|
31
|
+
RT = 0x0015, // A route through record type [RFC1183].
|
|
32
|
+
SIG = 0x0018, // A cryptographic public key signature record type [RFC2931].
|
|
33
|
+
KEY = 0x0019, // A record type containing public key used in DNSSEC [RFC2535].
|
|
34
|
+
AAAA = 0x001C, // An IPv6 address record type [RFC3596].
|
|
35
|
+
LOC = 0x001D, // A location information record type [RFC1876].
|
|
36
|
+
NXT = 0x001E, // A next-domain record type [RFC2065].
|
|
37
|
+
SRV = 0x0021, // A server selection record type [RFC2782].
|
|
38
|
+
ATMA = 0x0022, // An Asynchronous Transfer Mode (ATM) address record type [ATMA].
|
|
39
|
+
NAPTR = 0x0023, // An NAPTR record type [RFC2915].
|
|
40
|
+
DNAME = 0x0027, // A DNAME record type [RFC2672].
|
|
41
|
+
DS = 0x002B, // A DS record type [RFC4034].
|
|
42
|
+
RRSIG = 0x002E, // An RRSIG record type [RFC4034].
|
|
43
|
+
NSEC = 0x002F, // An NSEC record type [RFC4034].
|
|
44
|
+
DNSKEY = 0x0030, // A DNSKEY record type [RFC4034].
|
|
45
|
+
DHCID = 0x0031, // A DHCID record type [RFC4701].
|
|
46
|
+
NSEC3 = 0x0032, // An NSEC3 record type [RFC5155].
|
|
47
|
+
NSEC3PARAM = 0x0033, // An NSEC3PARAM record type [RFC5155].
|
|
48
|
+
TLSA = 0x0034, // A TLSA record type [RFC6698].
|
|
49
|
+
ALL = 0x00FF, // A query-only type requesting all records [RFC1035].
|
|
50
|
+
WINS = 0xFF01, // A record type containing Windows Internet Name Service (WINS)
|
|
51
|
+
// forward lookup data [MS-WINSRADNS_TYPE_WINSR].
|
|
52
|
+
WINSR = 0xFF02 // A record type containing WINS reverse lookup data [MS-WINSRA].
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
// https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/6912b338-5472-4f59-b912-0edb536b6ed8
|
|
56
|
+
typedef struct DNS_RECORD_HEADER {
|
|
57
|
+
WORD DataLength;
|
|
58
|
+
DNS_RECORD_TYPE Type;
|
|
59
|
+
BYTE Version; // Must be 0x05
|
|
60
|
+
BYTE Rank;
|
|
61
|
+
WORD Flags; // Must be 0x00
|
|
62
|
+
DWORD Serial;
|
|
63
|
+
DWORD TtlSeconds; // Big Endian
|
|
64
|
+
DWORD Reserved; // MUST be 0x00000000.
|
|
65
|
+
DWORD TimeStamp;
|
|
66
|
+
CHAR Data[DataLength];
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
// https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/3fd41adc-c69e-407b-979e-721251403132
|
|
70
|
+
// MS docs indicate that structure is 4 byte aligned, and that the string MUST NOT be null-terminated.
|
|
71
|
+
// But observed reality is a null terminated string (null char not counted in NameLength)
|
|
72
|
+
typedef struct DNS_RPC_NAME{
|
|
73
|
+
BYTE NameLength;
|
|
74
|
+
CHAR dnsName[NameLength];
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
// https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/db37cab7-f121-43ba-81c5-ca0e198d4b9a
|
|
78
|
+
typedef struct DNS_RPC_RECORD_SRV {
|
|
79
|
+
WORD Priority;
|
|
80
|
+
WORD Weight;
|
|
81
|
+
WORD Port;
|
|
82
|
+
DNS_RPC_NAME nameTarget;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
// https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/f647d391-6614-4c3e-b38b-4df971590eb6
|
|
86
|
+
typedef struct DNS_RPC_RECORD_NAME_PREFERENCE {
|
|
87
|
+
WORD Preference;
|
|
88
|
+
DNS_RPC_NAME nameExchange;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
// https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/dcd3ec16-d6bf-4bb4-9128-6172f9e5f066
|
|
92
|
+
typedef struct DNS_RPC_RECORD_SOA {
|
|
93
|
+
DWORD Serial;
|
|
94
|
+
DWORD Refresh;
|
|
95
|
+
DWORD Retry;
|
|
96
|
+
DWORD Expire;
|
|
97
|
+
DWORD MinimumTtl;
|
|
98
|
+
DNS_RPC_NAME namePrimaryServer;
|
|
99
|
+
BYTE _pad;
|
|
100
|
+
DNS_RPC_NAME ZoneAdministratorEmail;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
// https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/def7736a-dd09-4b4a-b8d6-6a702a7ecde0
|
|
104
|
+
typedef struct DNS_RPC_RECORD_TS {
|
|
105
|
+
QWORD EntombedTime;
|
|
106
|
+
};
|
|
107
|
+
"""
|
|
108
|
+
c_dns_record = cstruct(dns_record_def)
|
|
109
|
+
DNS_RECORD_TYPE = c_dns_record.DNS_RECORD_TYPE
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Generated by cstruct-stubgen
|
|
2
|
+
from typing import BinaryIO, Literal, TypeAlias, overload
|
|
3
|
+
|
|
4
|
+
import dissect.cstruct as __cs__
|
|
5
|
+
|
|
6
|
+
class _c_dns_record(__cs__.cstruct):
|
|
7
|
+
class DNS_RECORD_TYPE(__cs__.Enum):
|
|
8
|
+
ZERO = ...
|
|
9
|
+
A = ...
|
|
10
|
+
NS = ...
|
|
11
|
+
MD = ...
|
|
12
|
+
MF = ...
|
|
13
|
+
CNAME = ...
|
|
14
|
+
SOA = ...
|
|
15
|
+
MB = ...
|
|
16
|
+
MG = ...
|
|
17
|
+
MR = ...
|
|
18
|
+
NULL = ...
|
|
19
|
+
WKS = ...
|
|
20
|
+
PTR = ...
|
|
21
|
+
HINFO = ...
|
|
22
|
+
MINFO = ...
|
|
23
|
+
MX = ...
|
|
24
|
+
TXT = ...
|
|
25
|
+
RP = ...
|
|
26
|
+
AFSDB = ...
|
|
27
|
+
X25 = ...
|
|
28
|
+
ISDN = ...
|
|
29
|
+
RT = ...
|
|
30
|
+
SIG = ...
|
|
31
|
+
KEY = ...
|
|
32
|
+
AAAA = ...
|
|
33
|
+
LOC = ...
|
|
34
|
+
NXT = ...
|
|
35
|
+
SRV = ...
|
|
36
|
+
ATMA = ...
|
|
37
|
+
NAPTR = ...
|
|
38
|
+
DNAME = ...
|
|
39
|
+
DS = ...
|
|
40
|
+
RRSIG = ...
|
|
41
|
+
NSEC = ...
|
|
42
|
+
DNSKEY = ...
|
|
43
|
+
DHCID = ...
|
|
44
|
+
NSEC3 = ...
|
|
45
|
+
NSEC3PARAM = ...
|
|
46
|
+
TLSA = ...
|
|
47
|
+
ALL = ...
|
|
48
|
+
WINS = ...
|
|
49
|
+
WINSR = ...
|
|
50
|
+
|
|
51
|
+
class DNS_RECORD_HEADER(__cs__.Structure):
|
|
52
|
+
DataLength: _c_dns_record.uint16
|
|
53
|
+
Type: _c_dns_record.DNS_RECORD_TYPE
|
|
54
|
+
Version: _c_dns_record.uint8
|
|
55
|
+
Rank: _c_dns_record.uint8
|
|
56
|
+
Flags: _c_dns_record.uint16
|
|
57
|
+
Serial: _c_dns_record.uint32
|
|
58
|
+
TtlSeconds: _c_dns_record.uint32
|
|
59
|
+
Reserved: _c_dns_record.uint32
|
|
60
|
+
TimeStamp: _c_dns_record.uint32
|
|
61
|
+
Data: __cs__.CharArray
|
|
62
|
+
@overload
|
|
63
|
+
def __init__(
|
|
64
|
+
self,
|
|
65
|
+
DataLength: _c_dns_record.uint16 | None = ...,
|
|
66
|
+
Type: _c_dns_record.DNS_RECORD_TYPE | None = ...,
|
|
67
|
+
Version: _c_dns_record.uint8 | None = ...,
|
|
68
|
+
Rank: _c_dns_record.uint8 | None = ...,
|
|
69
|
+
Flags: _c_dns_record.uint16 | None = ...,
|
|
70
|
+
Serial: _c_dns_record.uint32 | None = ...,
|
|
71
|
+
TtlSeconds: _c_dns_record.uint32 | None = ...,
|
|
72
|
+
Reserved: _c_dns_record.uint32 | None = ...,
|
|
73
|
+
TimeStamp: _c_dns_record.uint32 | None = ...,
|
|
74
|
+
Data: __cs__.CharArray | None = ...,
|
|
75
|
+
): ...
|
|
76
|
+
@overload
|
|
77
|
+
def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...
|
|
78
|
+
|
|
79
|
+
class DNS_RPC_NAME(__cs__.Structure):
|
|
80
|
+
NameLength: _c_dns_record.uint8
|
|
81
|
+
dnsName: __cs__.CharArray
|
|
82
|
+
@overload
|
|
83
|
+
def __init__(self, NameLength: _c_dns_record.uint8 | None = ..., dnsName: __cs__.CharArray | None = ...): ...
|
|
84
|
+
@overload
|
|
85
|
+
def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...
|
|
86
|
+
|
|
87
|
+
class DNS_RPC_RECORD_SRV(__cs__.Structure):
|
|
88
|
+
Priority: _c_dns_record.uint16
|
|
89
|
+
Weight: _c_dns_record.uint16
|
|
90
|
+
Port: _c_dns_record.uint16
|
|
91
|
+
nameTarget: _c_dns_record.DNS_RPC_NAME
|
|
92
|
+
@overload
|
|
93
|
+
def __init__(
|
|
94
|
+
self,
|
|
95
|
+
Priority: _c_dns_record.uint16 | None = ...,
|
|
96
|
+
Weight: _c_dns_record.uint16 | None = ...,
|
|
97
|
+
Port: _c_dns_record.uint16 | None = ...,
|
|
98
|
+
nameTarget: _c_dns_record.DNS_RPC_NAME | None = ...,
|
|
99
|
+
): ...
|
|
100
|
+
@overload
|
|
101
|
+
def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...
|
|
102
|
+
|
|
103
|
+
class DNS_RPC_RECORD_NAME_PREFERENCE(__cs__.Structure):
|
|
104
|
+
Preference: _c_dns_record.uint16
|
|
105
|
+
nameExchange: _c_dns_record.DNS_RPC_NAME
|
|
106
|
+
@overload
|
|
107
|
+
def __init__(
|
|
108
|
+
self, Preference: _c_dns_record.uint16 | None = ..., nameExchange: _c_dns_record.DNS_RPC_NAME | None = ...
|
|
109
|
+
): ...
|
|
110
|
+
@overload
|
|
111
|
+
def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...
|
|
112
|
+
|
|
113
|
+
class DNS_RPC_RECORD_SOA(__cs__.Structure):
|
|
114
|
+
Serial: _c_dns_record.uint32
|
|
115
|
+
Refresh: _c_dns_record.uint32
|
|
116
|
+
Retry: _c_dns_record.uint32
|
|
117
|
+
Expire: _c_dns_record.uint32
|
|
118
|
+
MinimumTtl: _c_dns_record.uint32
|
|
119
|
+
namePrimaryServer: _c_dns_record.DNS_RPC_NAME
|
|
120
|
+
_pad: _c_dns_record.uint8
|
|
121
|
+
ZoneAdministratorEmail: _c_dns_record.DNS_RPC_NAME
|
|
122
|
+
@overload
|
|
123
|
+
def __init__(
|
|
124
|
+
self,
|
|
125
|
+
Serial: _c_dns_record.uint32 | None = ...,
|
|
126
|
+
Refresh: _c_dns_record.uint32 | None = ...,
|
|
127
|
+
Retry: _c_dns_record.uint32 | None = ...,
|
|
128
|
+
Expire: _c_dns_record.uint32 | None = ...,
|
|
129
|
+
MinimumTtl: _c_dns_record.uint32 | None = ...,
|
|
130
|
+
namePrimaryServer: _c_dns_record.DNS_RPC_NAME | None = ...,
|
|
131
|
+
_pad: _c_dns_record.uint8 | None = ...,
|
|
132
|
+
ZoneAdministratorEmail: _c_dns_record.DNS_RPC_NAME | None = ...,
|
|
133
|
+
): ...
|
|
134
|
+
@overload
|
|
135
|
+
def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...
|
|
136
|
+
|
|
137
|
+
class DNS_RPC_RECORD_TS(__cs__.Structure):
|
|
138
|
+
EntombedTime: _c_dns_record.uint64
|
|
139
|
+
@overload
|
|
140
|
+
def __init__(self, EntombedTime: _c_dns_record.uint64 | None = ...): ...
|
|
141
|
+
@overload
|
|
142
|
+
def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...
|
|
143
|
+
|
|
144
|
+
# Technically `c_dns_record` is an instance of `_c_dns_record`, but then we can't use it in type hints
|
|
145
|
+
c_dns_record: TypeAlias = _c_dns_record
|
|
146
|
+
DNS_RECORD_TYPE: TypeAlias = _c_dns_record.DNS_RECORD_TYPE
|