Hello community,

here is the log from the commit of package python-libnacl for openSUSE:Factory 
checked in at 2014-10-05 20:31:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-libnacl (Old)
 and      /work/SRC/openSUSE:Factory/.python-libnacl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-libnacl"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-libnacl/python-libnacl.changes    
2014-09-10 17:02:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-libnacl.new/python-libnacl.changes       
2014-10-05 20:32:35.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Oct  2 20:43:02 UTC 2014 - [email protected]
+
+- Small update to 1.3.6
+  + Restrict library load to specific supported libsodium versions
+  + fix randombytes functions
+
+-------------------------------------------------------------------

Old:
----
  libnacl-1.3.5.tar.gz

New:
----
  libnacl-1.3.6.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-libnacl.spec ++++++
--- /var/tmp/diff_new_pack.kfvcaf/_old  2014-10-05 20:32:36.000000000 +0200
+++ /var/tmp/diff_new_pack.kfvcaf/_new  2014-10-05 20:32:36.000000000 +0200
@@ -16,7 +16,7 @@
 #
 
 Name:           python-libnacl
-Version:        1.3.5
+Version:        1.3.6
 Release:        0
 License:        Apache-2.0
 Summary:        Python bindings for libsodium/tweetnacl based on ctypes

++++++ libnacl-1.3.5.tar.gz -> libnacl-1.3.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/PKG-INFO new/libnacl-1.3.6/PKG-INFO
--- old/libnacl-1.3.5/PKG-INFO  2014-09-03 20:27:24.000000000 +0200
+++ new/libnacl-1.3.6/PKG-INFO  2014-09-30 21:02:04.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: libnacl
-Version: 1.3.5
+Version: 1.3.6
 Summary: Python bindings for libsodium/tweetnacl based on ctypes
 Home-page: https://libnacl.readthedocs.org/
 Author: Thomas S Hatch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/doc/conf.py 
new/libnacl-1.3.6/doc/conf.py
--- old/libnacl-1.3.5/doc/conf.py       2014-09-03 20:26:34.000000000 +0200
+++ new/libnacl-1.3.6/doc/conf.py       2014-09-30 21:00:44.000000000 +0200
@@ -53,7 +53,7 @@
 # built documents.
 #
 # The short X.Y version.
-version = '1.3.5'
+version = '1.3.6'
 # The full version, including alpha/beta/rc tags.
 release = version
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/doc/topics/dual.rst 
new/libnacl-1.3.6/doc/topics/dual.rst
--- old/libnacl-1.3.5/doc/topics/dual.rst       2014-08-15 07:19:46.000000000 
+0200
+++ new/libnacl-1.3.6/doc/topics/dual.rst       2014-09-26 05:04:46.000000000 
+0200
@@ -2,7 +2,7 @@
 Dual Key Management
 ===================
 
-The libnacl library abstracts a "Dual Key" model. Teh Dual Key creates a single
+The libnacl library abstracts a "Dual Key" model. The Dual Key creates a single
 key management object that can be used for both signing and encrypting, it
 generates and maintains a Curve25519 encryption key pair and an ED25519 signing
 keypair. All methods for encryption and signing work with and from Dual Keys.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/doc/topics/raw_public.rst 
new/libnacl-1.3.6/doc/topics/raw_public.rst
--- old/libnacl-1.3.5/doc/topics/raw_public.rst 2014-08-13 04:25:43.000000000 
+0200
+++ new/libnacl-1.3.6/doc/topics/raw_public.rst 2014-09-26 05:04:46.000000000 
+0200
@@ -2,7 +2,7 @@
 Raw Public Key Encryption
 =========================
 
-.. note
+.. note::
 
     While these routines are perfectly safe, higher level convenience
     wrappers are under development to make these routines easier.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/doc/topics/raw_secret.rst 
new/libnacl-1.3.6/doc/topics/raw_secret.rst
--- old/libnacl-1.3.5/doc/topics/raw_secret.rst 2014-08-13 04:25:43.000000000 
+0200
+++ new/libnacl-1.3.6/doc/topics/raw_secret.rst 2014-09-26 05:04:46.000000000 
+0200
@@ -2,7 +2,7 @@
 Raw Secret Key Encryption
 =========================
 
-.. note
+.. note::
 
     While these routines are perfectly safe, higher level convenience
     wrappers are under development to make these routines easier.
@@ -10,6 +10,7 @@
 Secret key encryption is high speed encryption based on a shared secret key.
 
 .. note::
+
     The nacl library uses the salsa20 stream encryption cipher for secret key
     encryption, more information about the salsa20 cipher can be found here:
     http://cr.yp.to/salsa20.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/doc/topics/raw_sign.rst 
new/libnacl-1.3.6/doc/topics/raw_sign.rst
--- old/libnacl-1.3.5/doc/topics/raw_sign.rst   2014-08-13 04:25:43.000000000 
+0200
+++ new/libnacl-1.3.6/doc/topics/raw_sign.rst   2014-09-26 05:04:46.000000000 
+0200
@@ -2,7 +2,7 @@
 Raw Message Signatures
 ======================
 
-.. note
+.. note::
 
     While these routines are perfectly safe, higher level convenience
     wrappers are under development to make these routines easier.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/doc/topics/secret.rst 
new/libnacl-1.3.6/doc/topics/secret.rst
--- old/libnacl-1.3.5/doc/topics/secret.rst     2014-08-15 07:21:22.000000000 
+0200
+++ new/libnacl-1.3.6/doc/topics/secret.rst     2014-09-26 05:04:46.000000000 
+0200
@@ -11,19 +11,19 @@
 
 .. code-block:: python
 
-        msg = b'But then of course African swallows are not migratory.'
-        # Create a SecretBox object, if not passed in the secret key is
-        # Generated purely from random data
-        box = libnacl.secret.SecretBox()
-        # Messages can now be safely encrypted
-        ctxt = box.encrypt(msg)
-        # An addition box can be created from the original box secret key
-        box2 = libnacl.secret.SecretBox(box.sk)
-        # Messages can now be easily encrypted and decrypted
-        clear1 = box.decrypt(ctxt)
-        clear2 = box2.decrypt(ctxt)
-        ctxt2 = box2.encrypt(msg)
-        clear3 = box.decrypt(ctxt2)
+    msg = b'But then of course African swallows are not migratory.'
+    # Create a SecretBox object, if not passed in the secret key is
+    # Generated purely from random data
+    box = libnacl.secret.SecretBox()
+    # Messages can now be safely encrypted
+    ctxt = box.encrypt(msg)
+    # An addition box can be created from the original box secret key
+    box2 = libnacl.secret.SecretBox(box.sk)
+    # Messages can now be easily encrypted and decrypted
+    clear1 = box.decrypt(ctxt)
+    clear2 = box2.decrypt(ctxt)
+    ctxt2 = box2.encrypt(msg)
+    clear3 = box.decrypt(ctxt2)
 
 .. note::
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/doc/topics/utils.rst 
new/libnacl-1.3.6/doc/topics/utils.rst
--- old/libnacl-1.3.5/doc/topics/utils.rst      2014-08-15 07:38:34.000000000 
+0200
+++ new/libnacl-1.3.6/doc/topics/utils.rst      2014-09-26 05:04:46.000000000 
+0200
@@ -32,7 +32,7 @@
 
     import libnacl.utils
 
-    key = libnacl.utils.salsa_key
+    key = libnacl.utils.salsa_key()
 
 This routine is only required with the raw encryption functions, as the
 `libnacl.secret.SecretBox` will generate the key automatically.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/libnacl/__init__.py 
new/libnacl-1.3.6/libnacl/__init__.py
--- old/libnacl-1.3.5/libnacl/__init__.py       2014-09-03 20:25:13.000000000 
+0200
+++ new/libnacl-1.3.6/libnacl/__init__.py       2014-09-30 20:55:54.000000000 
+0200
@@ -9,9 +9,7 @@
 import ctypes
 import sys
 
-# libsodium likes to change the soname frequently, this should work for the
-# forseeable future but we'll need to keep an eye on this.
-__MAX_SONAME_VER = 100
+__SONAMES = (13, 10, 5, 4)
 
 
 def _get_nacl():
@@ -24,6 +22,13 @@
             return ctypes.cdll.LoadLibrary('libsodium')
         except OSError:
             pass
+        for soname_ver in __SONAMES:
+            try:
+                return ctypes.cdll.LoadLibrary(
+                    'libsodium-{0}'.format(soname_ver)
+                )
+            except OSError:
+                pass
         try:
             return ctypes.cdll.LoadLibrary('tweetnacl')
         except OSError:
@@ -46,7 +51,7 @@
             return ctypes.cdll.LoadLibrary('libsodium.so')
         except OSError:
             pass
-        for soname_ver in range(4, __MAX_SONAME_VER + 1):
+        for soname_ver in __SONAMES:
             try:
                 return ctypes.cdll.LoadLibrary(
                     'libsodium.so.{0}'.format(soname_ver)
@@ -56,9 +61,10 @@
         try:
             return ctypes.cdll.LoadLibrary('tweetnacl.so')
         except OSError:
-            msg = ('Could not locate nacl lib, searched for libsodium.so, '
-                   'libsodium.so.X (for X <= {0}), and tweetnacl.so'
-                   .format(__MAX_SONAME_VER))
+            msg = 'Could not locate nacl lib, searched for libsodium.so, '
+            for soname_ver in __SONAMES:
+                msg += 'libsodium.so.{0}, '.format(soname_ver)
+            msg += ' and tweetnacl.so'
             raise OSError(msg)
 
 nacl = _get_nacl()
@@ -500,7 +506,7 @@
     '''
     Return a random 32-bit unsigned value
     '''
-    return nacl.randombytes_random().raw
+    return nacl.randombytes_random()
 
 
 def randombytes_stir():
@@ -517,7 +523,7 @@
     '''
     Return a value between 0 and upper_bound using a uniform distribution
     '''
-    return nacl.randombytes_uniform(upper_bound).raw
+    return nacl.randombytes_uniform(upper_bound)
 
 
 # Utility functions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/libnacl/version.py 
new/libnacl-1.3.6/libnacl/version.py
--- old/libnacl-1.3.5/libnacl/version.py        2014-09-03 20:26:18.000000000 
+0200
+++ new/libnacl-1.3.6/libnacl/version.py        2014-09-30 21:00:31.000000000 
+0200
@@ -1 +1 @@
-__version__ = '1.3.5'
+__version__ = '1.3.6'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/pkg/rpm/python-libnacl.spec 
new/libnacl-1.3.6/pkg/rpm/python-libnacl.spec
--- old/libnacl-1.3.5/pkg/rpm/python-libnacl.spec       2014-08-15 
06:15:44.000000000 +0200
+++ new/libnacl-1.3.6/pkg/rpm/python-libnacl.spec       2014-09-26 
05:04:46.000000000 +0200
@@ -13,7 +13,7 @@
 %global srcname libnacl
 
 Name:           python-%{srcname}
-Version:        1.3.2
+Version:        1.3.5
 Release:        1%{?dist}
 Summary:        Python bindings for libsodium/tweetnacl based on ctypes
 
@@ -131,6 +131,12 @@
 %endif
 
 %changelog
+* Thu Sep  4 2014 Erik Johnson <[email protected]> - 1.3.5-1
+- Updated to 1.3.5
+
+* Fri Aug 22 2014 Erik Johnson <[email protected]> - 1.3.3-1
+- Updated to 1.3.3
+
 * Fri Aug  8 2014 Erik Johnson <[email protected]> - 1.3.2-1
 - Updated to 1.3.2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libnacl-1.3.5/tests/unit/test_raw_random.py 
new/libnacl-1.3.6/tests/unit/test_raw_random.py
--- old/libnacl-1.3.5/tests/unit/test_raw_random.py     1970-01-01 
01:00:00.000000000 +0100
+++ new/libnacl-1.3.6/tests/unit/test_raw_random.py     2014-09-30 
20:58:17.000000000 +0200
@@ -0,0 +1,29 @@
+"""
+Basic tests for randombytes_* functions
+"""
+
+import libnacl
+import unittest
+
+
+class TestRandomBytes(unittest.TestCase):
+    def test_randombytes_random(self):
+        self.assertIsInstance(libnacl.randombytes_random(), int)
+
+    def test_randombytes_uniform(self):
+        self.assertIsInstance(libnacl.randombytes_uniform(200), int)
+
+        freq = {libnacl.randombytes_uniform(256): 1 for _ in range(65536)}
+
+        self.assertEqual(256, len(freq))
+        self.assertTrue(all(freq.values()))
+
+    def test_randombytes(self):
+        'copied from libsodium default/randombytes.c'
+
+        data = libnacl.randombytes(65536)
+
+        freq = {x: 1 for x in data}
+
+        self.assertEqual(256, len(freq))
+        self.assertTrue(all(freq.values()))

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to