Skip to content

Commit 92e0cfc

Browse files
authored
Merge pull request #45 from dfxml-working-group/bump_dfxml_version_references
Bump all generated-file and reviewed-file DFXML version references
2 parents 68fef71 + 04b7daa commit 92e0cfc

23 files changed

+58
-60
lines changed

dfxml/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@
6161

6262
tsk_virtual_filenames = set(['$FAT1','$FAT2'])
6363

64+
# This version string is the version of the DFXML Schema.
65+
DFXML_VERSION = "2.0.0-beta.0"
66+
6467
XMLNS_DC = "http://purl.org/dc/elements/1.1/"
6568
XMLNS_DFXML = "http://www.forensicswiki.org/wiki/Category:Digital_Forensics_XML"
6669
XMLNS_DELTA = "http://www.forensicswiki.org/wiki/Forensic_Disk_Differencing"

dfxml/bin/Extractor.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#
1414
# We would appreciate acknowledgement if the software is used.
1515

16-
__version__ = "0.5.2"
16+
__version__ = "0.6.0"
1717

1818
import copy
1919
import hashlib
@@ -70,7 +70,7 @@ def extract_files(image_path, outdir, dfxml_path=None, file_predicate=is_file, f
7070
_path_for_iterparse = dfxml_path or image_path
7171

7272
#Set up base manifest to track extracted files
73-
base_manifest = Objects.DFXMLObject(version="1.2.0")
73+
base_manifest = Objects.DFXMLObject()
7474
base_manifest.program = sys.argv[0]
7575
if sys.argv[0] == os.path.basename(__file__):
7676
base_manifest.program_version = __version__

dfxml/bin/cat_fileobjects.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
Make a new DFXML file of all fileobjects in an input DFXML file.
1818
"""
1919

20-
__version__ = "0.3.1"
20+
__version__ = "0.4.0"
2121

2222
import logging
2323
import os
@@ -39,7 +39,7 @@ def main():
3939
<dfxml
4040
xmlns="%s"
4141
xmlns:delta="%s"
42-
version="1.2.0">
42+
version="%s">
4343
<metadata/>
4444
<creator>
4545
<program>%s</program>
@@ -51,7 +51,7 @@ def main():
5151
<source>
5252
<image_filename>%s</image_filename>
5353
</source>\
54-
""" % (dfxml.XMLNS_DFXML, dfxml.XMLNS_DELTA, sys.argv[0], __version__, " ".join(sys.argv), args.filename))
54+
""" % (dfxml.XMLNS_DFXML, dfxml.XMLNS_DELTA, dfxml.DFXML_VERSION, sys.argv[0], __version__, " ".join(sys.argv), args.filename))
5555

5656
ET.register_namespace("delta", dfxml.XMLNS_DELTA)
5757

dfxml/bin/cat_partitions.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
will create a single DFXML file with two volumes and their file objects contained.
2828
"""
2929

30-
__version__ = "0.2.2"
30+
__version__ = "0.3.0"
3131

3232
import logging
3333
import os
@@ -39,7 +39,7 @@
3939
_logger = logging.getLogger(os.path.basename(__file__))
4040

4141
def main():
42-
d = Objects.DFXMLObject(version="1.2.0")
42+
d = Objects.DFXMLObject()
4343

4444
d.program = sys.argv[0]
4545
d.program_version = __version__

dfxml/bin/idifference.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
4. Replace the old maps with the new maps
3232
"""
3333

34-
__version__ = "0.2.0rfc6"
34+
__version__ = "0.3.0rfc7"
3535

3636
import copy
3737
import logging
@@ -365,6 +365,7 @@ def to_xml(self):
365365
exit(1)
366366

367367
metadict = dict()
368+
metadict["DFXML_VERSION"] = dfxml.DFXML_VERSION
368369
metadict["XMLNS_DFXML"] = dfxml.XMLNS_DFXML
369370
metadict["XMLNS_DELTA"] = dfxml.XMLNS_DELTA
370371
metadict["program"] = sys.argv[0]
@@ -377,7 +378,7 @@ def to_xml(self):
377378
xmlfile.write("""\
378379
<?xml version="1.0" encoding="UTF-8"?>
379380
<dfxml
380-
version="1.0"
381+
version="%(DFXML_VERSION)s"
381382
xmlns='%(XMLNS_DFXML)s'
382383
xmlns:dc='http://purl.org/dc/elements/1.1/'
383384
xmlns:delta='%(XMLNS_DELTA)s'

dfxml/bin/make_differential_dfxml.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
This program's main purpose is matching files correctly. It only performs enough analysis to determine that a fileobject has changed at all. (This is half of the work done by idifference.py.)
2323
"""
2424

25-
__version__ = "0.12.4"
25+
__version__ = "0.13.0"
2626

2727
import argparse
2828
import collections
@@ -103,7 +103,7 @@ def make_differential_dfxml(
103103
_logger.debug("diff_mask_set = " + repr(diff_mask_set))
104104

105105
#d: The container DFXMLObject, ultimately returned.
106-
d = Objects.DFXMLObject(version="1.2.0")
106+
d = Objects.DFXMLObject()
107107
if sys.argv[0] == os.path.basename(__file__):
108108
d.program = sys.argv[0]
109109
d.program_version = __version__

dfxml/bin/walk_to_dfxml.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
Walk current directory, writing DFXML to stdout.
2020
"""
2121

22-
__version__ = "0.4.4"
22+
__version__ = "0.5.0"
2323

2424
import argparse
2525
import collections
@@ -210,7 +210,7 @@ def main() -> None:
210210
using_threading = False
211211
_logger.warning("Python queue support not available. (If running Ubuntu, this is in package python3-queuelib.) Running in single thread only.")
212212

213-
dobj = Objects.DFXMLObject(version="1.2.0")
213+
dobj = Objects.DFXMLObject()
214214
dobj.program = sys.argv[0]
215215
dobj.program_version = __version__
216216
dobj.command_line = " ".join(sys.argv)

dfxml/objects.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,11 +232,11 @@ def child_objects(self):
232232

233233
class DFXMLObject(AbstractParentObject):
234234

235-
def __init__(self, *args, **kwargs) -> None:
235+
def __init__(self, *args: typing.Any, version: str = dfxml.DFXML_VERSION, **kwargs: typing.Any) -> None:
236236
self.command_line = kwargs.get("command_line")
237237
self.program = kwargs.get("program")
238238
self.program_version = kwargs.get("program_version")
239-
self.version = kwargs.get("version")
239+
self.version = version
240240
self.sources = kwargs.get("sources", [])
241241
self.dc = kwargs.get("dc", dict())
242242
self.externals = kwargs.get("externals", OtherNSElementList())

dfxml/writer.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
import __main__
1717
import psutil
1818

19-
__version__="0.1"
19+
from dfxml import DFXML_VERSION
20+
21+
__version__="0.2.0"
2022

2123
###
2224
### Code for working with Apache Spark
@@ -84,7 +86,7 @@ def __init__(self,heartbeat=None,filename=None,prettyprint=False):
8486
"""
8587
self.t0 = time.time()
8688
self.tlast = time.time()
87-
self.doc = ET.Element('dfxml')
89+
self.doc = ET.Element('dfxml', {'version': DFXML_VERSION})
8890
self.add_DFXML_creator(self.doc)
8991
self.filename = filename
9092
self.timers = {}
@@ -122,7 +124,7 @@ def add_application_kva(self,key,value=None,attr=None):
122124

123125
def add_DFXML_creator(self,e):
124126
import __main__
125-
ee = ET.SubElement(e, 'creator', {'version':'1.0'})
127+
ee = ET.SubElement(e, 'creator')
126128
try:
127129
ET.SubElement(ee, 'program').text = str(__main__.__file__)
128130
except AttributeError as e:

samples/difference_test_0.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
xmlns='http://www.forensicswiki.org/wiki/Category:Digital_Forensics_XML'
44
xmlns:dc='http://purl.org/dc/elements/1.1/'
55
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
6-
version='1.1.1'>
6+
version='2.0.0-beta.0'>
77
<metadata>
88
<dc:type>Sample</dc:type>
99
</metadata>

0 commit comments

Comments
 (0)