Hello community,
here is the log from the commit of package python-netifaces for
openSUSE:Factory checked in at 2019-06-01 09:45:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-netifaces (Old)
and /work/SRC/openSUSE:Factory/.python-netifaces.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-netifaces"
Sat Jun 1 09:45:09 2019 rev:14 rq:705225 version:0.10.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-netifaces/python-netifaces.changes
2018-09-14 00:01:00.909970959 +0200
+++
/work/SRC/openSUSE:Factory/.python-netifaces.new.5148/python-netifaces.changes
2019-06-01 09:45:22.463408791 +0200
@@ -1,0 +2,9 @@
+Fri May 24 11:00:13 UTC 2019 - [email protected]
+
+- version update to 0.10.9
+ * Fixed a bug that in certain circumstances could lead to an infinite
+ loop in netifaces.gateways() (thanks asomers).
+ * Fixed a memory management bug in an error path (thanks NicoPy).
+- created a small test
+
+-------------------------------------------------------------------
Old:
----
netifaces-0.10.7.tar.gz
New:
----
LICENSE
netifaces-0.10.9.tar.gz
test.py
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-netifaces.spec ++++++
--- /var/tmp/diff_new_pack.1SbBey/_old 2019-06-01 09:45:23.127408564 +0200
+++ /var/tmp/diff_new_pack.1SbBey/_new 2019-06-01 09:45:23.127408564 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-netifaces
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2011 Novell
#
# All modifications and additions to the file contributed by third parties
@@ -13,19 +13,22 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-netifaces
-Version: 0.10.7
+Version: 0.10.9
Release: 0
Summary: Portable network interface information
License: MIT
Group: Development/Languages/Python
-Url: http://alastairs-place.net/projects/netifaces/
-Source:
https://pypi.io/packages/source/n/netifaces/netifaces-%{version}.tar.gz
+Url: https://github.com/al45tair/netifaces
+Source0:
https://pypi.io/packages/source/n/netifaces/netifaces-%{version}.tar.gz
+# https://github.com/al45tair/netifaces/issues/40
+Source1:
https://raw.githubusercontent.com/al45tair/netifaces/master/LICENSE
+Source2:
https://raw.githubusercontent.com/al45tair/netifaces/master/test.py
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: python-rpm-macros
@@ -48,6 +51,7 @@
%prep
%setup -q -n netifaces-%{version}
+cp %{SOURCE1} %{SOURCE2} .
%build
%python_build
@@ -55,8 +59,12 @@
%install
%python_install
+%check
+%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python test.py |
grep 'Interface lo'
+
%files %{python_files}
%defattr(-,root,root,-)
+%license LICENSE
%doc README.rst
%{python_sitearch}/*
++++++ LICENSE ++++++
Copyright (c) 2007-2018 Alastair Houghton
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
++++++ netifaces-0.10.7.tar.gz -> netifaces-0.10.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/netifaces-0.10.7/LICENSE new/netifaces-0.10.9/LICENSE
--- old/netifaces-0.10.7/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/netifaces-0.10.9/LICENSE 2018-12-12 11:41:00.000000000 +0100
@@ -0,0 +1,19 @@
+Copyright (c) 2007-2018 Alastair Houghton
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/netifaces-0.10.7/MANIFEST.in
new/netifaces-0.10.9/MANIFEST.in
--- old/netifaces-0.10.7/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100
+++ new/netifaces-0.10.9/MANIFEST.in 2019-01-02 20:04:55.000000000 +0100
@@ -0,0 +1 @@
+include LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/netifaces-0.10.7/PKG-INFO
new/netifaces-0.10.9/PKG-INFO
--- old/netifaces-0.10.7/PKG-INFO 2018-05-02 11:15:38.000000000 +0200
+++ new/netifaces-0.10.9/PKG-INFO 2019-01-02 20:11:00.000000000 +0100
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: netifaces
-Version: 0.10.7
+Version: 0.10.9
Summary: Portable network interface information.
Home-page: https://github.com/al45tair/netifaces
Author: Alastair Houghton
Author-email: [email protected]
License: MIT License
-Description: netifaces 0.10.7
+Description: netifaces 0.10.8
================
+-------------+------------------+
@@ -42,8 +42,8 @@
First you need to install it, which you can do by typing::
- tar xvzf netifaces-0.10.7.tar.gz
- cd netifaces-0.10.7
+ tar xvzf netifaces-0.10.8.tar.gz
+ cd netifaces-0.10.8
python setup.py install
**Note that you will need the relevant developer tools for your
platform**,
@@ -183,27 +183,7 @@
4. What license is this under?
------------------------------
- It's an MIT-style license. Here goes:
-
- Copyright (c) 2007-2018 Alastair Houghton
-
- Permission is hereby granted, free of charge, to any person obtaining
a copy
- of this software and associated documentation files (the "Software"),
to deal
- in the Software without restriction, including without limitation the
rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
included in all
- copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE
- SOFTWARE.
+ It's an MIT-style license. See `LICENSE <./LICENSE>`_.
5. Why the jump to 0.10.0?
--------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/netifaces-0.10.7/README.rst
new/netifaces-0.10.9/README.rst
--- old/netifaces-0.10.7/README.rst 2018-05-02 09:45:31.000000000 +0200
+++ new/netifaces-0.10.9/README.rst 2019-01-02 10:18:10.000000000 +0100
@@ -1,4 +1,4 @@
-netifaces 0.10.7
+netifaces 0.10.8
================
+-------------+------------------+
@@ -34,8 +34,8 @@
First you need to install it, which you can do by typing::
- tar xvzf netifaces-0.10.7.tar.gz
- cd netifaces-0.10.7
+ tar xvzf netifaces-0.10.8.tar.gz
+ cd netifaces-0.10.8
python setup.py install
**Note that you will need the relevant developer tools for your platform**,
@@ -175,27 +175,7 @@
4. What license is this under?
------------------------------
-It's an MIT-style license. Here goes:
-
-Copyright (c) 2007-2018 Alastair Houghton
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+It's an MIT-style license. See `LICENSE <./LICENSE>`_.
5. Why the jump to 0.10.0?
--------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/netifaces-0.10.7/netifaces.c
new/netifaces-0.10.9/netifaces.c
--- old/netifaces-0.10.7/netifaces.c 2018-05-02 09:11:57.000000000 +0200
+++ new/netifaces-0.10.9/netifaces.c 2019-01-02 10:17:08.000000000 +0100
@@ -340,7 +340,7 @@
static int
string_from_sockaddr (struct sockaddr *addr,
char *buffer,
- int buflen)
+ size_t buflen)
{
struct sockaddr* bigaddr = 0;
int failure;
@@ -437,7 +437,7 @@
static int
string_from_netmask (struct sockaddr *addr,
char *buffer,
- int buflen)
+ size_t buflen)
{
#ifdef AF_INET6
if (addr && addr->sa_family == AF_INET6) {
@@ -507,7 +507,7 @@
sprintf (pfxbuf, "/%u", prefix);
- if (bufend - bufptr > strlen(pfxbuf))
+ if (bufend - bufptr > (int)strlen(pfxbuf))
strcpy (bufptr, pfxbuf);
if (buflen)
@@ -2007,7 +2007,7 @@
buffer = ptr;
ret = sysctl (mib, 6, buffer, &len, 0, 0);
- } while (ret != 0 || errno == ENOMEM || errno == EINTR);
+ } while (ret != 0 && (errno == ENOMEM || errno == EINTR));
if (ret < 0) {
PyErr_SetFromErrno (PyExc_OSError);
@@ -2073,12 +2073,12 @@
}
if (addr == RTA_GATEWAY) {
- char buffer[256];
+ char strbuf[256];
PyObject *tuple = NULL;
PyObject *deftuple = NULL;
- if (string_from_sockaddr (sa, buffer, sizeof(buffer)) == 0) {
- PyObject *pyaddr = PyUnicode_FromString (buffer);
+ if (string_from_sockaddr (sa, strbuf, sizeof(strbuf)) == 0) {
+ PyObject *pyaddr = PyUnicode_FromString (strbuf);
#ifdef RTF_IFSCOPE
PyObject *isdefault = PyBool_FromLong (!(msg->rtm_flags &
RTF_IFSCOPE));
#else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/netifaces-0.10.7/netifaces.egg-info/PKG-INFO
new/netifaces-0.10.9/netifaces.egg-info/PKG-INFO
--- old/netifaces-0.10.7/netifaces.egg-info/PKG-INFO 2018-05-02
11:15:38.000000000 +0200
+++ new/netifaces-0.10.9/netifaces.egg-info/PKG-INFO 2019-01-02
20:11:00.000000000 +0100
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: netifaces
-Version: 0.10.7
+Version: 0.10.9
Summary: Portable network interface information.
Home-page: https://github.com/al45tair/netifaces
Author: Alastair Houghton
Author-email: [email protected]
License: MIT License
-Description: netifaces 0.10.7
+Description: netifaces 0.10.8
================
+-------------+------------------+
@@ -42,8 +42,8 @@
First you need to install it, which you can do by typing::
- tar xvzf netifaces-0.10.7.tar.gz
- cd netifaces-0.10.7
+ tar xvzf netifaces-0.10.8.tar.gz
+ cd netifaces-0.10.8
python setup.py install
**Note that you will need the relevant developer tools for your
platform**,
@@ -183,27 +183,7 @@
4. What license is this under?
------------------------------
- It's an MIT-style license. Here goes:
-
- Copyright (c) 2007-2018 Alastair Houghton
-
- Permission is hereby granted, free of charge, to any person obtaining
a copy
- of this software and associated documentation files (the "Software"),
to deal
- in the Software without restriction, including without limitation the
rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
included in all
- copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE
- SOFTWARE.
+ It's an MIT-style license. See `LICENSE <./LICENSE>`_.
5. Why the jump to 0.10.0?
--------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/netifaces-0.10.7/netifaces.egg-info/SOURCES.txt
new/netifaces-0.10.9/netifaces.egg-info/SOURCES.txt
--- old/netifaces-0.10.7/netifaces.egg-info/SOURCES.txt 2018-05-02
11:15:38.000000000 +0200
+++ new/netifaces-0.10.9/netifaces.egg-info/SOURCES.txt 2019-01-02
20:11:00.000000000 +0100
@@ -1,3 +1,5 @@
+LICENSE
+MANIFEST.in
README.rst
netifaces.c
setup.cfg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/netifaces-0.10.7/setup.cfg
new/netifaces-0.10.9/setup.cfg
--- old/netifaces-0.10.7/setup.cfg 2018-05-02 11:15:38.000000000 +0200
+++ new/netifaces-0.10.9/setup.cfg 2019-01-02 20:11:00.000000000 +0100
@@ -3,3 +3,6 @@
tag_date = 0
tag_svn_revision = 0
+[metadata]
+license_file = LICENSE
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/netifaces-0.10.7/setup.py
new/netifaces-0.10.9/setup.py
--- old/netifaces-0.10.7/setup.py 2018-05-02 09:45:09.000000000 +0200
+++ new/netifaces-0.10.9/setup.py 2019-01-02 20:07:11.000000000 +0100
@@ -22,7 +22,7 @@
output = getattr(builtins, 'print', lambda x: True)
-__version__ = "0.10.7"
+__version__ = "0.10.9"
# Disable hard links, otherwise building distributions fails on OS X
try:
++++++ test.py ++++++
import netifaces
print('Found interfaces:')
for iface in netifaces.interfaces():
print(' %s' % iface)
print('')
for iface in netifaces.interfaces():
allAddrs = netifaces.ifaddresses(iface)
print('Interface %s:' % iface)
for family in allAddrs:
addrs = allAddrs[family]
fam_name = netifaces.address_families[family]
print(' Address family: %s' % fam_name)
for addr in addrs:
print(' Address : %s' % addr['addr'])
nmask = addr.get('netmask', None)
if nmask:
print(' Netmask : %s' % nmask)
bcast = addr.get('broadcast', None)
if bcast:
print(' Broadcast: %s' % bcast)
print('')
print('Found gateways:')
gateway_info = netifaces.gateways()
for family in gateway_info:
if family == 'default':
continue
fam_name = netifaces.address_families[family]
print(' Family: %s' % fam_name)
for gateway,interface,default in gateway_info[family]:
if default:
def_text = ', default'
else:
def_text = ''
print(' %s (via %s%s)' % (gateway, interface, def_text))
print('')
print('Default gateways:')
default_gateways = gateway_info['default']
for family in default_gateways:
fam_name = netifaces.address_families[family]
gateway, interface = default_gateways[family]
print(' %s: %s (via %s)' % (fam_name, gateway, interface))