Hello community, here is the log from the commit of package python-pymisp for openSUSE:Factory checked in at 2019-12-23 22:45:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pymisp (Old) and /work/SRC/openSUSE:Factory/.python-pymisp.new.6675 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pymisp" Mon Dec 23 22:45:46 2019 rev:19 rq:758907 version:2.4.119 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pymisp/python-pymisp.changes 2019-12-04 14:20:03.914422211 +0100 +++ /work/SRC/openSUSE:Factory/.python-pymisp.new.6675/python-pymisp.changes 2019-12-23 22:48:54.902100235 +0100 @@ -1,0 +2,14 @@ +Sun Dec 15 22:07:31 UTC 2019 - Sebastian Wagner <[email protected]> + +- update to version 2.4.119: + - Changes + - Bump version. [Raphaël Vinot] + - Bump dependencies. [Raphaël Vinot] + - Fix + - Bump lief to 0.10.1. [Raphaël Vinot] + - Update tests. [Raphaël Vinot] + - Raise PyMISPError instead of Exception. [Raphaël Vinot] + - Rename feed_meta_generator so it clearly fails with python<3.6. + [Raphaël Vinot] + +------------------------------------------------------------------- Old: ---- pymisp-2.4.117.3.tar.gz New: ---- pymisp-2.4.119.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pymisp.spec ++++++ --- /var/tmp/diff_new_pack.p19TvX/_old 2019-12-23 22:48:55.486100451 +0100 +++ /var/tmp/diff_new_pack.p19TvX/_new 2019-12-23 22:48:55.502100457 +0100 @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-pymisp -Version: 2.4.117.3 +Version: 2.4.119 Release: 0 Summary: Python API for MISP License: BSD-2-Clause ++++++ pymisp-2.4.117.3.tar.gz -> pymisp-2.4.119.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/CHANGELOG.txt new/pymisp-2.4.119/CHANGELOG.txt --- old/pymisp-2.4.117.3/CHANGELOG.txt 2019-11-25 16:48:15.000000000 +0100 +++ new/pymisp-2.4.119/CHANGELOG.txt 2019-12-02 09:55:23.000000000 +0100 @@ -2,6 +2,23 @@ ========= +v2.4.119 (2019-12-02) +--------------------- + +Changes +~~~~~~~ +- Bump version. [Raphaël Vinot] +- Bump dependencies. [Raphaël Vinot] + +Fix +~~~ +- Bump lief to 0.10.1. [Raphaël Vinot] +- Update tests. [Raphaël Vinot] +- Raise PyMISPError instead of Exception. [Raphaël Vinot] +- Rename feed_meta_generator so it clearly fails with python<3.6. + [Raphaël Vinot] + + v2.4.117.3 (2019-11-25) ----------------------- @@ -22,6 +39,7 @@ Changes ~~~~~~~ +- Bump changelog. [Raphaël Vinot] - Bump version. [Raphaël Vinot] - Bump dependencies. [Raphaël Vinot] - Require stable version of lief again. [Raphaël Vinot] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/PKG-INFO new/pymisp-2.4.119/PKG-INFO --- old/pymisp-2.4.117.3/PKG-INFO 2019-11-25 16:51:24.000000000 +0100 +++ new/pymisp-2.4.119/PKG-INFO 2019-12-02 10:01:08.000000000 +0100 @@ -1,14 +1,14 @@ Metadata-Version: 2.1 Name: pymisp -Version: 2.4.117.3 +Version: 2.4.119 Summary: Python API for MISP. Home-page: https://github.com/MISP/PyMISP Author: Raphaël Vinot Author-email: [email protected] Maintainer: Raphaël Vinot License: UNKNOWN -Project-URL: Documentation, http://pymisp.readthedocs.io Project-URL: Source, https://github.com/MISP/PyMISP +Project-URL: Documentation, http://pymisp.readthedocs.io Project-URL: Tracker, https://github.com/MISP/PyMISP/issues Description: README ====== @@ -189,9 +189,9 @@ Classifier: Topic :: Security Classifier: Topic :: Internet Description-Content-Type: text/markdown +Provides-Extra: docs Provides-Extra: fileobjects Provides-Extra: neo Provides-Extra: openioc -Provides-Extra: virustotal -Provides-Extra: docs Provides-Extra: pdfexport +Provides-Extra: virustotal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp/__init__.py new/pymisp-2.4.119/pymisp/__init__.py --- old/pymisp-2.4.117.3/pymisp/__init__.py 2019-11-25 16:48:15.000000000 +0100 +++ new/pymisp-2.4.119/pymisp/__init__.py 2019-12-02 09:55:23.000000000 +0100 @@ -1,4 +1,4 @@ -__version__ = '2.4.117.3' +__version__ = '2.4.119' import logging import warnings import sys diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp/abstract.py new/pymisp-2.4.119/pymisp/abstract.py --- old/pymisp-2.4.117.3/pymisp/abstract.py 2019-11-25 16:48:15.000000000 +0100 +++ new/pymisp-2.4.119/pymisp/abstract.py 2019-12-02 09:55:23.000000000 +0100 @@ -24,7 +24,7 @@ import logging from enum import Enum -from .exceptions import PyMISPInvalidFormat +from .exceptions import PyMISPInvalidFormat, PyMISPError logger = logging.getLogger('pymisp') @@ -284,7 +284,7 @@ def _to_feed(self): if not hasattr(self, '_fields_for_feed'): - raise Exception('Unable to export in the feed format, _fields_for_feed is missing.') + raise PyMISPError('Unable to export in the feed format, _fields_for_feed is missing.') to_return = {} for field in self._fields_for_feed: if getattr(self, field, None) is not None: @@ -343,7 +343,7 @@ if isinstance(val, bool): self.__edited = val else: - raise Exception('edited can only be True or False') + raise PyMISPError('edited can only be True or False') def __setattr__(self, name, value): if name[0] != '_' and not self.__edited and name in self.keys(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp/aping.py new/pymisp-2.4.119/pymisp/aping.py --- old/pymisp-2.4.117.3/pymisp/aping.py 2019-11-25 16:48:15.000000000 +0100 +++ new/pymisp-2.4.119/pymisp/aping.py 2019-12-02 09:55:23.000000000 +0100 @@ -1895,7 +1895,7 @@ if adhereToWarninglists in wl_params: query['adhereToWarninglists'] = adhereToWarninglists else: - raise Exception('Invalid parameter, adhereToWarninglists Can only be {}'.format(', '.join(wl_params))) + raise PyMISPError('Invalid parameter, adhereToWarninglists Can only be {}'.format(', '.join(wl_params))) if distribution is not None: query['distribution'] = distribution if returnMetaAttributes: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp/data/misp-objects/objects/pe/definition.json new/pymisp-2.4.119/pymisp/data/misp-objects/objects/pe/definition.json --- old/pymisp-2.4.117.3/pymisp/data/misp-objects/objects/pe/definition.json 2018-09-06 08:44:38.000000000 +0200 +++ new/pymisp-2.4.119/pymisp/data/misp-objects/objects/pe/definition.json 2019-12-02 09:55:41.000000000 +0100 @@ -1,6 +1,7 @@ { "requiredOneOf": [ "text", + "type", "original-filename", "internal-filename", "entrypoint-address" @@ -118,7 +119,7 @@ "misp-attribute": "text" } }, - "version": 3, + "version": 4, "description": "Object describing a Portable Executable", "meta-category": "file", "uuid": "cf7adecc-d4f0-4e88-9d90-f978ee151a07", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp/mispevent.py new/pymisp-2.4.119/pymisp/mispevent.py --- old/pymisp-2.4.117.3/pymisp/mispevent.py 2019-11-25 16:48:15.000000000 +0100 +++ new/pymisp-2.4.119/pymisp/mispevent.py 2019-12-02 09:55:23.000000000 +0100 @@ -99,7 +99,7 @@ return False return True else: - raise Exception('Unable to convert {} to a boolean.'.format(value)) + raise PyMISPError('Unable to convert {} to a boolean.'.format(value)) class MISPAttribute(AbstractMISP): @@ -378,7 +378,7 @@ try: with ZipFile(self.data) as f: if not self.__is_misp_encrypted_file(f): - raise Exception('Not an existing malware sample') + raise PyMISPError('Not an existing malware sample') for name in f.namelist(): if name.endswith('.filename.txt'): with f.open(name, pwd=b'infected') as unpacked: @@ -798,7 +798,7 @@ attributes.append(a) if not attributes: - raise Exception('No attribute with identifier {} found.'.format(attribute_identifier)) + raise PyMISPError('No attribute with identifier {} found.'.format(attribute_identifier)) self.edited = True return attributes @@ -820,7 +820,7 @@ found = True break if not found: - raise Exception('No attribute with UUID/ID {} found.'.format(attribute_id)) + raise PyMISPError('No attribute with UUID/ID {} found.'.format(attribute_id)) def add_attribute(self, type, value, **kwargs): """Add an attribute. type and value are required but you can pass all @@ -1021,6 +1021,8 @@ if 'User' in kwargs: kwargs = kwargs['User'] super(MISPUser, self).from_dict(**kwargs) + if hasattr(self, 'password') and set(self.password) == set(['*']): + self.password = None def __repr__(self): if hasattr(self, 'email'): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp/tools/__init__.py new/pymisp-2.4.119/pymisp/tools/__init__.py --- old/pymisp-2.4.117.3/pymisp/tools/__init__.py 2019-11-25 16:48:15.000000000 +0100 +++ new/pymisp-2.4.119/pymisp/tools/__init__.py 2019-12-02 09:55:23.000000000 +0100 @@ -21,4 +21,4 @@ from .vehicleobject import VehicleObject # noqa from .csvloader import CSVLoader # noqa from .sshauthkeyobject import SSHAuthorizedKeysObject # noqa - from .feed_meta_generator import feed_meta_generator # noqa + from .feed import feed_meta_generator # noqa diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp/tools/feed.py new/pymisp-2.4.119/pymisp/tools/feed.py --- old/pymisp-2.4.117.3/pymisp/tools/feed.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pymisp-2.4.119/pymisp/tools/feed.py 2019-12-02 09:55:23.000000000 +0100 @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +from pathlib import Path +from pymisp import MISPEvent +import json + + +def feed_meta_generator(path: Path): + manifests = {} + hashes = [] + + for f_name in path.glob('*.json'): + if str(f_name.name) == 'manifest.json': + continue + event = MISPEvent() + event.load_file(str(f_name)) + manifests.update(event.manifest) + hashes += [f'{h},{event.uuid}' for h in event.attributes_hashes('md5')] + + with (path / 'manifest.json').open('w') as f: + json.dump(manifests, f) + + with (path / 'hashes.csv').open('w') as f: + for h in hashes: + f.write(f'{h}\n') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp/tools/feed_meta_generator.py new/pymisp-2.4.119/pymisp/tools/feed_meta_generator.py --- old/pymisp-2.4.117.3/pymisp/tools/feed_meta_generator.py 2019-11-25 16:48:15.000000000 +0100 +++ new/pymisp-2.4.119/pymisp/tools/feed_meta_generator.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -from pathlib import Path -from pymisp import MISPEvent -import json - - -def feed_meta_generator(path: Path): - manifests = {} - hashes = [] - - for f_name in path.glob('*.json'): - if str(f_name.name) == 'manifest.json': - continue - event = MISPEvent() - event.load_file(str(f_name)) - manifests.update(event.manifest) - hashes += [f'{h},{event.uuid}' for h in event.attributes_hashes('md5')] - - with (path / 'manifest.json').open('w') as f: - json.dump(manifests, f) - - with (path / 'hashes.csv').open('w') as f: - for h in hashes: - f.write(f'{h}\n') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp.egg-info/PKG-INFO new/pymisp-2.4.119/pymisp.egg-info/PKG-INFO --- old/pymisp-2.4.117.3/pymisp.egg-info/PKG-INFO 2019-11-25 16:51:24.000000000 +0100 +++ new/pymisp-2.4.119/pymisp.egg-info/PKG-INFO 2019-12-02 10:01:07.000000000 +0100 @@ -1,14 +1,14 @@ Metadata-Version: 2.1 Name: pymisp -Version: 2.4.117.3 +Version: 2.4.119 Summary: Python API for MISP. Home-page: https://github.com/MISP/PyMISP Author: Raphaël Vinot Author-email: [email protected] Maintainer: Raphaël Vinot License: UNKNOWN -Project-URL: Documentation, http://pymisp.readthedocs.io Project-URL: Source, https://github.com/MISP/PyMISP +Project-URL: Documentation, http://pymisp.readthedocs.io Project-URL: Tracker, https://github.com/MISP/PyMISP/issues Description: README ====== @@ -189,9 +189,9 @@ Classifier: Topic :: Security Classifier: Topic :: Internet Description-Content-Type: text/markdown +Provides-Extra: docs Provides-Extra: fileobjects Provides-Extra: neo Provides-Extra: openioc -Provides-Extra: virustotal -Provides-Extra: docs Provides-Extra: pdfexport +Provides-Extra: virustotal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp.egg-info/SOURCES.txt new/pymisp-2.4.119/pymisp.egg-info/SOURCES.txt --- old/pymisp-2.4.117.3/pymisp.egg-info/SOURCES.txt 2019-11-25 16:51:24.000000000 +0100 +++ new/pymisp-2.4.119/pymisp.egg-info/SOURCES.txt 2019-12-02 10:01:08.000000000 +0100 @@ -307,7 +307,7 @@ pymisp/tools/emailobject.py pymisp/tools/ext_lookups.py pymisp/tools/fail2banobject.py -pymisp/tools/feed_meta_generator.py +pymisp/tools/feed.py pymisp/tools/fileobject.py pymisp/tools/genericgenerator.py pymisp/tools/geolocationobject.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/pymisp.egg-info/requires.txt new/pymisp-2.4.119/pymisp.egg-info/requires.txt --- old/pymisp-2.4.117.3/pymisp.egg-info/requires.txt 2019-11-25 16:51:24.000000000 +0100 +++ new/pymisp-2.4.119/pymisp.egg-info/requires.txt 2019-12-02 10:01:07.000000000 +0100 @@ -1,30 +1,30 @@ -six -requests -python-dateutil +deprecated jsonschema python-dateutil -deprecated +python-dateutil +requests +six [:python_version < "3.0"] -functools32 cachetools +functools32 [:python_version < "3.4"] enum34 [docs] -sphinx-autodoc-typehints recommonmark +sphinx-autodoc-typehints [fileobjects] -python-magic pydeep +python-magic [fileobjects:python_version < "3.5"] lief<0.10,>=0.8 [fileobjects:python_version > "3.5"] -lief>=0.10 +lief>=0.10.1 [neo] py2neo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/setup.py new/pymisp-2.4.119/setup.py --- old/pymisp-2.4.117.3/setup.py 2019-11-25 16:48:15.000000000 +0100 +++ new/pymisp-2.4.119/setup.py 2019-12-02 09:55:23.000000000 +0100 @@ -42,7 +42,7 @@ install_requires=['six', 'requests', 'python-dateutil', 'jsonschema', 'python-dateutil', 'enum34;python_version<"3.4"', 'functools32;python_version<"3.0"', 'deprecated', 'cachetools;python_version<"3.0"'], - extras_require={'fileobjects': ['lief>=0.8,<0.10;python_version<"3.5"', 'lief>=0.10;python_version>"3.5"', 'python-magic', 'pydeep'], + extras_require={'fileobjects': ['lief>=0.8,<0.10;python_version<"3.5"', 'lief>=0.10.1;python_version>"3.5"', 'python-magic', 'pydeep'], 'neo': ['py2neo'], 'openioc': ['beautifulsoup4'], 'virustotal': ['validators'], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymisp-2.4.117.3/tests/testlive_comprehensive.py new/pymisp-2.4.119/tests/testlive_comprehensive.py --- old/pymisp-2.4.117.3/tests/testlive_comprehensive.py 2019-11-25 16:48:15.000000000 +0100 +++ new/pymisp-2.4.119/tests/testlive_comprehensive.py 2019-12-02 09:55:23.000000000 +0100 @@ -23,6 +23,8 @@ import logging logging.disable(logging.CRITICAL) +logger = logging.getLogger('pymisp') + try: from pymisp import ExpandedPyMISP, MISPEvent, MISPOrganisation, MISPUser, Distribution, ThreatLevel, Analysis, MISPObject, MISPAttribute, MISPSighting, MISPShadowAttribute, MISPTag, MISPSharingGroup, MISPFeed, MISPServer, MISPUserSetting @@ -75,7 +77,7 @@ user.email = '[email protected]' user.org_id = cls.test_org.id cls.test_usr = cls.admin_misp_connector.add_user(user, pythonify=True) - cls.user_misp_connector = ExpandedPyMISP(url, cls.test_usr.authkey, verifycert, debug=False) + cls.user_misp_connector = ExpandedPyMISP(url, cls.test_usr.authkey, verifycert, debug=True) cls.user_misp_connector.toggle_global_pythonify() # Creates a publisher user = MISPUser() @@ -1185,7 +1187,9 @@ self.assertFalse(first.attributes[0].tags) # Reference: https://github.com/MISP/PyMISP/issues/483 r = self.delegate_user_misp_connector.tag(first, tag_org_restricted) - self.assertEqual(r['errors'][1]['message'], 'Invalid Tag. This tag can only be set by a fixed organisation.') + # FIXME: The error message changed and is unhelpful. + # self.assertEqual(r['errors'][1]['message'], 'Invalid Tag. This tag can only be set by a fixed organisation.') + self.assertEqual(r['errors'][1]['message'], 'Invalid Target.') r = self.user_misp_connector.tag(first, tag_org_restricted) self.assertEqual(r['name'], f'Global tag {tag_org_restricted.name}({tag_org_restricted.id}) successfully attached to Event({first.id}).') r = self.pub_misp_connector.tag(first.attributes[0], tag_user_restricted)
