--- python-crypto-2.0.1+dfsg1.orig/test/test_arc2_buffer_overflow.py
+++ python-crypto-2.0.1+dfsg1/test/test_arc2_buffer_overflow.py
@@ -0,0 +1,17 @@
+import unittest
+
+class BufferOverflowTest(unittest.TestCase):
+    # Test a buffer overflow found in older versions of PyCrypto
+
+    def setUp(self):
+        global ARC2
+        from Crypto.Cipher import ARC2
+
+    def runTest(self):
+        """ARC2 with keylength > 128"""
+        key = "x" * 16384
+        mode = ARC2.MODE_ECB
+        self.assertRaises(ValueError, ARC2.new, key, mode)
+
+if __name__ == '__main__':
+    unittest.main()
--- python-crypto-2.0.1+dfsg1.orig/Doc/pycrypt.tex
+++ python-crypto-2.0.1+dfsg1/Doc/pycrypt.tex
@@ -2,7 +2,7 @@
 
 \title{Python Cryptography Toolkit}
 
-\release{2.0}
+\release{2.0.1}
 
 \author{A.M. Kuchling}
 \authoraddress{\url{www.amk.ca}}
@@ -100,11 +100,11 @@
 
 A.M.K.
 
-\email{akuchlin@mems-exchange.org}
+\email{comments@amk.ca}
 
 Washington DC, USA
 
-June 2002
+June 2005
 
 
 %======================================================================
@@ -1065,102 +1065,6 @@
 
 
 %======================================================================
-\section{The Demonstration Programs}
-
-The Python Cryptography Toolkit comes with various demonstration
-programs, located in the \file{Demo/} directory.  None of them is
-particularly well-finished or suitable for serious use.  Rather,
-they're intended to illustrate how the toolkit is used, and to provide
-some interesting possible uses.  Feel free to incorporate the code (or
-modifications of it) into your own programs.
-
-\subsection{Demo 1: \file{cipher}}
-
-\file{cipher} encrypts and decrypts files.  On most Unix systems, the
-\file{crypt} program uses a variant of the Enigma cipher.  This is not
-secure, and there exists a freely available program called ``Crypt
-Breaker's Workbench'' which helps in breaking the cipher if you have
-some knowledge of the encrypted data.
-
-\file{cipher} is a more secure file encryption program.  Simply list
-the names of the files to be encrypted on the command line.
-\file{cipher} will go through the list and encrypt or decrypt them;
-\file{cipher} can recognize files it has previously encrypted.  The
-ciphertext of a file is placed in a file of the same name with
-'\samp{.cip}' appended; the original file is not deleted, since I'm
-not sure that all errors during operation are caught, and I don't want
-people to accidentally erase important files.
-
-There are two command-line options: \programopt{-c} and
-\programopt{-k}.  Both of them require an argument.  \code{-c
-\var{ciphername}} uses the given encryption algorithm
-\var{ciphername}; for example, \code{-c des} will use the DES
-algorithm.  The name should be the same as an available module name;
-thus it should be in lowercase letters.  The default cipher is IDEA.
-
-\code{-k \var{key}} can be used to set the encryption key to be used.
-Note that on a multiuser Unix system, the \code{ps} command can be
-used to view the arguments of commands executed by other users, so
-this is insecure; if you're the only user (say, on your home computer
-running Linux) you don't have to worry about this.  If no key is set
-on the command line, \file{cipher} will prompt the user to input a key
-on standard input.
-
-
-\subsubsection{Technical Details}
-
-The encrypted file is not pure ciphertext.  First comes a magic
-string; this is currently the sequence \samp{ctx} and a byte
-containing 1 (the version number of \file{cipher}).
-This is followed by the null-terminated name of the encryption
-algorithm, and the rest of the file contains the ciphertext.  
-
-The plaintext is encrypted in CBC mode.  The initial value for the
-feedback is always set to a block filled with the letter 'A', and then
-a block of random data is encrypted.  This garbage block will be
-discarded on decryption.  Note that the random data is not generated
-in a cryptographically secure way, and this may provide a tiny foothold for
-an attacker.
-
-After the random block is generated, the magic string, length of the
-original file, and original filename are all encrypted before the file
-data is finally processed.  Some extra characters of padding may be
-added to obtain an integer number of blocks.  This padding will also
-be discarded on decryption.  Note that the plaintext file will be
-completely read into memory before encryption is performed; no
-buffering is done.  Therefore, don't encrypt 20-megabyte files unless
-you're willing to face the consequences of a 20-megabyte process.
-
-Areas for improvements to \file{cipher} are: cryptographically secure
-generation of random data for padding, key entry, and buffering of
-file input.
-
-
-\subsection{Demo 2: \file{secimp} and \file{sign}}
-
-\file{secimp} demonstrates an application of the Toolkit that may be
-useful if Python is being used as an extension language for mail and Web
-clients: secure importing of Python modules.  To use it, run
-\file{sign.py} in a directory with several compiled Python files
-present.  It will use the key in \file{testkey.py} to generate digital
-signatures for the compiled Python code, and save both the signature and
-the code in a file ending in \samp{.pys}.  Then run \code{python -i
-secimp.py}, and import a file by using \code{secimport}.  
-
-For example, if \file{foo.pys} was constructed, do
-\code{secimport('foo')}.  The import should succeed.  Now fire up Emacs
-or some other editor, and change a string in the code in \file{foo.pys};
-you might try changing a letter in the name of a variable.  When you run
-\code{secimport('foo')}, it should raise an exception reporting the
-failed signature.  If you execute the statement \code{__import__ =
-secimport}, the secure import will be used by default for all future
-module imports.  Alternatively, if you were creating a restricted
-execution environment using \file{rexec.py}, you could place
-\code{secimport()} in the restricted environment's namespace as the
-default import function.
-
-
-%======================================================================
 \section{Extending the Toolkit}
 
 Preserving the a common interface for cryptographic routines is a good
--- python-crypto-2.0.1+dfsg1.orig/Hash/__init__.py
+++ python-crypto-2.0.1+dfsg1/Hash/__init__.py
@@ -19,6 +19,6 @@
 Crypto.Hash.SHA
 """
 
-__all__ = ['HMAC', 'MD2', 'MD4', 'MD5', 'RIPEMD', 'SHA', 'SHA256']
+__all__ = ['HMAC', 'MD2', 'MD4', 'MD5', 'SHA', 'SHA256']
 __revision__ = "$Id: __init__.py,v 1.6 2003/12/19 14:24:25 akuchling Exp $"
 
--- python-crypto-2.0.1+dfsg1.orig/src/ARC2.c
+++ python-crypto-2.0.1+dfsg1/src/ARC2.c
@@ -11,6 +11,7 @@
  */
 
 #include <string.h>  
+#include "Python.h"
 
 #define MODULE_NAME ARC2
 #define BLOCK_SIZE 8
@@ -146,6 +147,12 @@
 	   We'll hardwire it to 1024. */
 #define bits 1024
 
+	if ((U32)keylength > sizeof(self->xkey)) {
+		PyErr_SetString(PyExc_ValueError,
+				"ARC2 key length must be less than 128 bytes");
+		return;
+	}
+
 	memcpy(self->xkey, key, keylength);
   
 	/* Phase 1: Expand input key to 128 bytes */
--- python-crypto-2.0.1+dfsg1.orig/src/SHA256.c
+++ python-crypto-2.0.1+dfsg1/src/SHA256.c
@@ -11,20 +11,27 @@
  * Tom St Denis -- http://tomstdenis.home.dhs.org
  * */
 #include "Python.h"
-#define MODULE_NAME SHA256
+#define MODULE_NAME SHA256
 #define DIGEST_SIZE 32
 
-typedef unsigned char U8;
+typedef unsigned char U8;
+#ifdef __alpha__
+typedef    unsigned int        U32;
+#elif defined(__amd64__)
+#include <inttypes.h>
+typedef uint32_t U32;
+#else
 typedef unsigned int U32;
+#endif
 
 typedef struct {
-    unsigned long state[8], length, curlen;
+    U32 state[8], length, curlen;
     unsigned char buf[64];
 }
 hash_state;
 
 /* the K array */
-static const unsigned long K[64] = {
+static const U32 K[64] = {
     0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, 0x3956c25bUL,
     0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, 0xd807aa98UL, 0x12835b01UL,
     0x243185beUL, 0x550c7dc3UL, 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL,
@@ -53,7 +60,7 @@
 /* compress 512-bits */
 static void sha_compress(hash_state * md)
 {
-    unsigned long S[8], W[64], t0, t1;
+    U32 S[8], W[64], t0, t1;
     int i;
 
     /* copy state into S */
@@ -62,10 +69,10 @@
 
     /* copy the state into 512-bits into W[0..15] */
     for (i = 0; i < 16; i++)
-        W[i] = (((unsigned long) md->buf[(4 * i) + 0]) << 24) |
-            (((unsigned long) md->buf[(4 * i) + 1]) << 16) |
-            (((unsigned long) md->buf[(4 * i) + 2]) << 8) |
-            (((unsigned long) md->buf[(4 * i) + 3]));
+        W[i] = (((U32) md->buf[(4 * i) + 0]) << 24) |
+            (((U32) md->buf[(4 * i) + 1]) << 16) |
+            (((U32) md->buf[(4 * i) + 2]) << 8) |
+            (((U32) md->buf[(4 * i) + 3]));
 
     /* fill W[16..63] */
     for (i = 16; i < 64; i++)
@@ -172,14 +179,14 @@
 }
 
 // Done
-static void
+static void
 hash_copy(hash_state *src, hash_state *dest)
 {
 	memcpy(dest,src,sizeof(hash_state));
 }
 
 // Done
-static PyObject *
+static PyObject *
 hash_digest (const hash_state *self)
 {
 	unsigned char digest[32];
--- python-crypto-2.0.1+dfsg1.orig/PKG-INFO
+++ python-crypto-2.0.1+dfsg1/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.0
 Name: pycrypto
-Version: 2.0
+Version: 2.0.1
 Summary: Cryptographic modules for Python.
-Home-page: http://pycrypto.sourceforge.net
+Home-page: http://www.amk.ca/python/code/crypto
 Author: A.M. Kuchling
 Author-email: amk@amk.ca
 License: UNKNOWN
-Download-URL: http://www.amk.ca/files/python/crypto/pycrypto-2.0.tar.gz
+Download-URL: http://www.amk.ca/files/python/crypto/pycrypto-2.0.1.tar.gz
 Description: UNKNOWN
 Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
--- python-crypto-2.0.1+dfsg1.orig/Cipher/__init__.py
+++ python-crypto-2.0.1+dfsg1/Cipher/__init__.py
@@ -24,7 +24,7 @@
 """
 
 __all__ = ['AES', 'ARC2', 'ARC4',
-           'Blowfish', 'CAST', 'DES', 'DES3', 'IDEA', 'RC5',
+           'Blowfish', 'CAST', 'DES', 'DES3', 
            'XOR'
            ]
 
--- python-crypto-2.0.1+dfsg1.orig/Util/test.py
+++ python-crypto-2.0.1+dfsg1/Util/test.py
@@ -223,8 +223,7 @@
                         die('XOR failed on entry '+`entry`)
 
 
-def TestBlockModules(args=['aes', 'arc2', 'des', 'blowfish', 'cast', 'des3',
-                           'idea', 'rc5'],
+def TestBlockModules(args=['aes', 'arc2', 'des', 'blowfish', 'cast', 'des3'],
                      verbose=1):
     import string
     args=map(string.lower, args)
--- python-crypto-2.0.1+dfsg1.orig/setup.py
+++ python-crypto-2.0.1+dfsg1/setup.py
@@ -1,6 +1,6 @@
 #! /usr/bin/env python
 
-__revision__ = "$Id: setup.py,v 1.28 2004/08/13 23:44:47 akuchling Exp $"
+__revision__ = "$Id: setup.py,v 1.30 2005/06/14 01:20:22 akuchling Exp $"
 
 from distutils import core
 from distutils.core import Extension
@@ -60,6 +60,16 @@
     result = find_file(filename, std_dirs, paths)
     return result
 
+
+def cc_remove_option (compiler, option):
+    """
+    Remove option from Unix-style compiler.
+    """
+    for optlist in (compiler.compiler, compiler.compiler_so):
+        if option in optlist:
+            optlist.remove(option)
+
+
 class PCTBuildExt (build_ext):
     def build_extensions(self):
         self.extensions += [
@@ -67,10 +77,6 @@
             Extension("Crypto.Hash.MD4",
                       include_dirs=['src/'],
                       sources=["src/MD4.c"]),
-            Extension("Crypto.Hash.RIPEMD",
-                      include_dirs=['src/'],
-                      sources=["src/RIPEMD.c"],
-                      libraries=HTONS_LIBS),
             Extension("Crypto.Hash.SHA256",
                       include_dirs=['src/'],
                       sources=["src/SHA256.c"]),
@@ -94,13 +100,6 @@
             Extension("Crypto.Cipher.DES3",
                       include_dirs=['src/'],
                       sources=["src/DES3.c"]),
-            Extension("Crypto.Cipher.IDEA",
-                      include_dirs=['src/'],
-                      sources=["src/IDEA.c"],
-                      libraries=HTONS_LIBS),
-            Extension("Crypto.Cipher.RC5",
-                      include_dirs=['src/'],
-                      sources=["src/RC5.c"]),
 
             # Stream ciphers
             Extension("Crypto.Cipher.ARC4",
@@ -113,6 +112,10 @@
 
         # Detect which modules should be compiled
         self.detect_modules()
+        if self.compiler.compiler_type == 'unix':
+            if os.uname()[4] == 'm68k':
+                # work around ICE on m68k machines in gcc 4.0.1
+                cc_remove_option(self.compiler, "-O3")
         build_ext.build_extensions(self)
 
     def detect_modules (self):
@@ -126,12 +129,13 @@
                                   sources=["src/_fastmath.c"]))
         self.extensions += exts
 
+
 kw = {'name':"pycrypto",
-      'version':"2.0",
+      'version':"2.0.1",
       'description':"Cryptographic modules for Python.",
       'author':"A.M. Kuchling",
       'author_email':"amk@amk.ca",
-      'url':"http://pycrypto.sourceforge.net",
+      'url':"http://www.amk.ca/python/code/crypto",
 
       'cmdclass' : {'build_ext':PCTBuildExt},
       'packages' : ["Crypto", "Crypto.Hash", "Crypto.Cipher", "Crypto.Util",
--- python-crypto-2.0.1+dfsg1.orig/MANIFEST
+++ python-crypto-2.0.1+dfsg1/MANIFEST
@@ -1,14 +1,6 @@
 ACKS
 ChangeLog
 Cipher/__init__.py
-Demo/README
-Demo/chaum.py
-Demo/cipher
-Demo/enc.py
-Demo/secimp/README
-Demo/secimp/secimp.py
-Demo/secimp/sign.py
-Demo/secimp/testkey.py
 Doc/pycrypt.tex
 Hash/HMAC.py
 Hash/MD5.py
--- python-crypto-2.0.1+dfsg1.orig/ChangeLog
+++ python-crypto-2.0.1+dfsg1/ChangeLog
@@ -1,4 +1,12 @@
 
+2.0.1
+=====
+
+	* Fix SHA256 and RIPEMD on AMD64 platform.
+        * Deleted Demo/ directory.
+	* Add PublicKey to Crypto.__all__
+
+
 2.0
 ===
 
--- python-crypto-2.0.1+dfsg1.orig/__init__.py
+++ python-crypto-2.0.1+dfsg1/__init__.py
@@ -17,9 +17,9 @@
                           theoretic functions)
 """
 
-__all__ = ['Cipher', 'Hash', 'Protocol', 'Util']
+__all__ = ['Cipher', 'Hash', 'Protocol', 'PublicKey', 'Util']
 
-__version__ = '2.0'
-__revision__ = "$Id: __init__.py,v 1.10 2004/08/13 23:44:47 akuchling Exp $"
+__version__ = '2.0.1'
+__revision__ = "$Id: __init__.py,v 1.12 2005/06/14 01:20:22 akuchling Exp $"
 
 
--- python-crypto-2.0.1+dfsg1.orig/debian/README.Debian
+++ python-crypto-2.0.1+dfsg1/debian/README.Debian
@@ -0,0 +1,12 @@
+pycrypto for Debian
+-------------------
+
+The debian pythonX.Y-crypto packages contain the Python cryptographic
+toolkit compiled for Python X.Y. I have removed the following
+algorithms from the upstream source code due to patent/copyright
+issues:
+
+  * IDEA - patent issues
+  * RC5 - patent issues
+  * RIPEMD  - unclarified copyright
+
--- python-crypto-2.0.1+dfsg1.orig/debian/dirs
+++ python-crypto-2.0.1+dfsg1/debian/dirs
@@ -0,0 +1,2 @@
+usr/bin
+usr/sbin
--- python-crypto-2.0.1+dfsg1.orig/debian/compat
+++ python-crypto-2.0.1+dfsg1/debian/compat
@@ -0,0 +1 @@
+4
--- python-crypto-2.0.1+dfsg1.orig/debian/copyright
+++ python-crypto-2.0.1+dfsg1/debian/copyright
@@ -0,0 +1,20 @@
+This package was debianized by Andreas Rottmann <rotty@debian.org> on
+Thu,  5 Sep 2002 14:53:33 +0200.
+
+It was downloaded from http://www.amk.ca/python/code/crypto.html
+
+Upstream Author: A.M. Kuchling <akuchlin@mems-exchange.org>
+
+Copyright:
+
+===================================================================
+Distribute and use freely; there are no restrictions on further
+dissemination and usage except those imposed by the laws of your
+country of residence.  This software is provided "as is" without
+warranty of fitness for use or suitability for any purpose, express
+or implied. Use at your own risk or not at all.
+===================================================================
+
+Incorporating the code into commercial products is permitted; you do
+not have to make source available or contribute your changes back
+(though that would be nice).
--- python-crypto-2.0.1+dfsg1.orig/debian/pycompat
+++ python-crypto-2.0.1+dfsg1/debian/pycompat
@@ -0,0 +1 @@
+2
--- python-crypto-2.0.1+dfsg1.orig/debian/control
+++ python-crypto-2.0.1+dfsg1/debian/control
@@ -0,0 +1,26 @@
+Source: python-crypto
+Section: python
+Priority: optional
+Maintainer: Andreas Rottmann <rotty@debian.org>
+Build-Depends: cdbs (>= 0.4.41), debhelper (>= 5.0.37.1), python-central (>= 0.4.17), python-all-dev (>= 2.3.5-9), ed, tetex-bin, tetex-extra, libgmp3-dev (>= 4.1.4-10)
+XS-Python-Version: all
+Standards-Version: 3.7.2
+
+Package: python-crypto
+Architecture: any
+Depends: ${python:Depends}
+Conflicts: python2.3-crypto, python2.4-crypto
+Replaces: python2.3-crypto, python2.4-crypto
+Provides: ${python:Provides}
+XB-Python-Version: ${python:Versions}
+Description: cryptographic algorithms and protocols for Python
+ A collection of cryptographic algorithms and protocols, implemented
+ for use from Python. Among the contents of the package:
+ .
+  * Hash functions: MD2, MD4.
+  * Block encryption algorithms: AES, ARC2, Blowfish, CAST, DES, Triple-DES.
+  * Stream encryption algorithms: ARC4, simple XOR.
+  * Public-key algorithms: RSA, DSA, ElGamal, qNEW.
+  * Protocols: All-or-nothing transforms, chaffing/winnowing.
+  * Miscellaneous: RFC1751 module for converting 128-key keys 
+    into a set of English words, primality testing.
--- python-crypto-2.0.1+dfsg1.orig/debian/docs
+++ python-crypto-2.0.1+dfsg1/debian/docs
@@ -0,0 +1,4 @@
+README
+TODO
+debian/README.Debian
+Doc/pycrypt.ps
--- python-crypto-2.0.1+dfsg1.orig/debian/pathmangle.sh
+++ python-crypto-2.0.1+dfsg1/debian/pathmangle.sh
@@ -0,0 +1,17 @@
+#! /bin/sh
+#
+# This script is used to mangle things like /usr/local/bin/python into
+# something more in line with Debian's Python policy.
+
+set -e
+
+CMD=$1
+DIR=$2
+
+grep -E -l -r '/usr/local(/bin)?/python' "$DIR" |
+    while read f; do
+        printf ",s:/usr/local\\\\(/bin\\\\)\\\\?/python:$CMD:g\nw\n" | ed -s "$f"
+        if [ "$(head -c2 $f)" = "#!" ]; then
+            chmod 755 "$f"
+        fi
+    done
--- python-crypto-2.0.1+dfsg1.orig/debian/rules
+++ python-crypto-2.0.1+dfsg1/debian/rules
@@ -0,0 +1,20 @@
+#!/usr/bin/make -f
+
+DEB_PYTHON_SYSTEM=pycentral
+
+include /usr/share/cdbs/1/rules/buildcore.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/python-distutils.mk
+
+pyver := $(shell pyversions -vd)
+MKHOWTO = /usr/lib/python$(pyver)/doc/tools/mkhowto
+
+common-build-arch::
+	cd Doc && $(MKHOWTO) --ps
+
+$(patsubst %,binary-post-install/%,$(DEB_PYTHON_REAL_LIB_PACKAGES)):: 
+	sh -e debian/pathmangle.sh /usr/bin/$(shell echo $(cdbs_curpkg) | sed 's,-crypto$$,,') debian/$(cdbs_curpkg)
+
+clean::
+	rm -rf build
+	rm -f Doc/*.ps
--- python-crypto-2.0.1+dfsg1.orig/debian/changelog
+++ python-crypto-2.0.1+dfsg1/debian/changelog
@@ -0,0 +1,147 @@
+python-crypto (2.0.1+dfsg1-1.2+etch0) oldstable-security; urgency=high
+
+  * Apply fix for CVE-2009-0544 (Buffer overflow in the ARC2 module), and
+    a stand-alone version of the associated testcase (see
+    http://www.openwall.com/lists/oss-security/2009/02/07/1).
+
+ -- Andreas Rottmann <rotty@debian.org>  Mon, 23 Feb 2009 20:12:05 +0100
+
+python-crypto (2.0.1+dfsg1-1.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Add missing Provides: ${python:Provides} to debian/control, completing
+    fix for #373524 from the previous NMU.
+
+ -- Adeodato Simó <dato@net.com.org.es>  Mon, 19 Jun 2006 03:06:37 +0200
+
+python-crypto (2.0.1+dfsg1-1.1) unstable; urgency=low
+
+  * Convert to the updated Python policy using python-central.
+    Closes: #373524.
+  * Support for python2.4 is provided. Closes: #313349.
+
+ -- Matthias Klose <doko@debian.org>  Fri, 16 Jun 2006 01:28:51 +0000
+
+python-crypto (2.0.1+dfsg1-1) unstable; urgency=low
+
+  * Acknowlegde NMUs (closes: #318055, #318012).
+  * Packaged new upstream version (closes: #325517).
+    - 2.0.1 includes fix for AMD64, presumingly also closes: #297516.
+
+ -- Andreas Rottmann <rotty@debian.org>  Tue,  4 Oct 2005 00:10:40 +0200
+
+python-crypto (2.0+dp1-2.3) unstable; urgency=low
+
+  * NMU.
+  * Add python2.4-crypto package, drop python2.1 and python2.2 packages
+    (closes: #313349).
+
+ -- Matthias Klose <doko@debian.org>  Mon, 29 Aug 2005 07:18:38 +0000
+
+python-crypto (2.0+dp1-2.2) unstable; urgency=low
+
+  * NMU to fix build failures on some architectures
+  * Remove -O3 gcc option on m68k architecture to fix FTBFS due to an
+    internal compiler error
+  * Standards version 3.6.2 (no changes required)
+  * Relax the versioned build dependency of libgmp3-dev to 4.1.4-8
+    instead of -9. Some architectures only have -8 at this point
+    which is sufficient.
+
+ -- Bastian Kleineidam <calvin@debian.org>  Fri, 12 Aug 2005 11:04:21 +0200
+
+python-crypto (2.0+dp1-2.1) unstable; urgency=low
+
+  * NMU to make package installable again
+  * Added missing build dependency on (versioned) libgmp3-dev, otherwise
+    the _fastmath module won't be compiled.
+  * Recompile against libgmp3c2 (Closes: #318055)
+
+ -- Bastian Kleineidam <calvin@debian.org>  Tue,  9 Aug 2005 10:54:41 +0200
+
+python-crypto (2.0+dp1-2) unstable; urgency=medium
+
+  * Added missing build-dependency on tetex-bin and tetex-extra (closes:
+    #288602).
+
+ -- Andreas Rottmann <rotty@debian.org>  Tue,  4 Jan 2005 17:47:27 +0100
+
+python-crypto (2.0+dp1-1) unstable; urgency=medium
+
+  * Again remove problematic code from orig tarball, which the NMU did
+    miss (not to mention that the orig tarball from the NMU wasn't
+    pristine and contained .pyc files). Urgency medium, so sarge won't end
+    up with problematic code.
+  * Include the manual in binary packages (closes: #273622).
+  * Switch to CDBS.
+  * Lowercase description synopsis, as suggested by lintian/developer's
+    reference.
+  * Advertice the newly-included (since 2.0) SHA256 module in the
+    description.
+
+ -- Andreas Rottmann <rotty@debian.org>  Sat,  1 Jan 2005 14:47:12 +0100
+
+python-crypto (2.0-1) unstable; urgency=medium
+
+  * NMU.
+  * New upstream version.
+
+ -- Matthias Klose <doko@debian.org>  Tue, 17 Aug 2004 23:44:24 +0200
+
+python-crypto (1.9a6+dp2-1) unstable; urgency=low
+
+  * Transitioned to Python 2.3.
+  * Removed accidential junk form .orig.tar.gz.
+  
+ -- Andreas Rottmann <rotty@debian.org>  Sat,  9 Aug 2003 12:41:23 +0200
+
+python-crypto (1.9a6+dp1-2) unstable; urgency=low
+
+  * Fixed Section (python instead of interpreters).
+
+ -- Andreas Rottmann <rotty@debian.org>  Sun, 20 Jul 2003 15:21:37 +0200
+
+python-crypto (1.9a6+dp1-1) unstable; urgency=low
+
+  * New upstream release.
+  * Bump Standards-Version to 3.6.0 (no changes).
+
+ -- Andreas Rottmann <rotty@debian.org>  Sun, 13 Jul 2003 18:26:54 +0200
+
+python-crypto (1.9a4+dp1-4) unstable; urgency=low
+
+  * Use dh_python.
+      + Build-depend on debhelper >= 4.1.29.
+      + Build-depend on python.
+  * Bump Standards-Version to 3.5.8.
+  
+ -- Andreas Rottmann <rotty@debian.org>  Thu, 20 Feb 2003 14:55:12 +0100
+
+python-crypto (1.9a4+dp1-3) unstable; urgency=low
+
+  * Cipher/__init__.py: Remove 'RC5' and 'IDEA' from __all__.
+
+ -- Andreas Rottmann <rotty@debian.org>  Fri, 14 Feb 2003 01:10:26 +0100
+
+python-crypto (1.9a4+dp1-2) unstable; urgency=low
+
+  * debian/control: Added python2.x dependencies to binary packages.
+  * debian/control: Fixed 'Cryptpgraphic' typo (closes: #162884).
+
+ -- Andreas Rottmann <rotty@debian.org>  Thu,  7 Nov 2002 22:05:27 +0100
+
+python-crypto (1.9a4+dp1-1) unstable; urgency=low
+
+  * Removed problematic algorithms from source code.
+      + Added README.Debian with details.
+      + Updated package descriptions.
+  * Include docs in all pythonX.Y-crypto packages.
+
+ -- Andreas Rottmann <rotty@debian.org>  Wed, 11 Sep 2002 13:15:45 +0200
+
+python-crypto (1.9a4-1) unstable; urgency=low
+
+  * Initial Release (closes: #159717)
+
+ -- Andreas Rottmann <rotty@debian.org>  Thu,  5 Sep 2002 14:53:33 +0200
+
--- python-crypto-2.0.1+dfsg1.orig/README
+++ python-crypto-2.0.1+dfsg1/README
@@ -1,15 +1,15 @@
-Python Cryptography Toolkit (pycrypto) 2.0	
-==========================================
-
-This is a collection of both secure hash functions (such as MD5 and
-SHA), and various encryption algorithms (AES, DES, IDEA, RSA, ElGamal,
-etc.).  The package is structured to make adding new modules easy.  I
-consider this section to be essentially complete, and the software
-interface will almost certainly not change in an incompatible way in
-the future; all that remains to be done is to fix any bugs that show
-up.  If you encounter a bug, please inform me immediately.  If you
-implement a new algorithm, please send me a copy.
+Python Cryptography Toolkit (pycrypto)
+======================================
 
+This is a collection of both secure hash functions (such as MD5 and SHA),
+and various encryption algorithms (AES, DES, IDEA, RSA, ElGamal, etc.).  The
+package is structured to make adding new modules easy.  I consider this
+section to be essentially complete, and the software interface will almost
+certainly not change in an incompatible way in the future; all that remains
+to be done is to fix any bugs that show up.  If you encounter a bug, please
+report it in the SourceForge bug tracker at
+       https://sourceforge.net/tracker/?group_id=20937&atid=120937
+  
 An example usage of the MD5 module is:
 >>> from Crypto.Hash import MD5
 >>> hash=MD5.new()
@@ -17,7 +17,7 @@
 >>> hash.digest()
 'x\xe71\x02}\x8f\xd5\x0e\xd6B4\x0b|\x9ac\xb3'
 
-An example use of an encryption algorithm (AES, in this case) is:
+An example usage of an encryption algorithm (AES, in this case) is:
 
 >>> from Crypto.Cipher import AES
 >>> obj=AES.new('This is a key456', AES.MODE_ECB)
@@ -25,7 +25,8 @@
 >>> ciphertext=obj.encrypt(message)
 >>> ciphertext
 'o\x1aq_{P+\xd0\x07\xce\x89\xd1=M\x989'
->>> obj.decrypt(ciphertext)
+>>> obj2 = AES.new('This is a key456', AES.MODE_ECB)
+>>> obj2.decrypt(ciphertext)
 'The answer is no'
 
 One possible application of the modules is writing secure
@@ -41,11 +42,6 @@
 archives and instructions for subscribing at at 
 <URL:http://www.amk.ca/mailman/listinfo/pct>.
 
-For general discussion about using Python for cryptography-related
-tasks, join the python-crypto mailing list.  Archives and instructions
-for subscribing are at
-<URL:http://listserv.surfnet.nl/archives/python-crypto.html>.
-
 
 Installation
 ============
@@ -65,18 +61,16 @@
 this because they don't have the python2-devel RPM installed.  The fix
 is to simply install the requisite RPM.
 
-To verify that everything is in order, run "python test.py".  It will
-test all the cryptographic modules, skipping ones that aren't
-available.  If the test script reports an error on your machine,
-please inform me immediately, because that means there's a serious bug
-somewhere in the cryptographic routines.  (Alternatively, track down
-the bug and send me a patch.)
+To verify that everything is in order, run "python test.py".  It will test
+all the cryptographic modules, skipping ones that aren't available.  If the
+test script reports an error on your machine, please report the bug using
+the bug tracker (URL given above).  If possible, track down the bug and
+include a patch that fixes it.
 
 To install the package under the site-packages directory of
 your Python installation, run "python setup.py install".
 
-If you have any comments, corrections, or improvements for
-this package, please e-mail me at the address below, or send it to the
-python-crypto mailing list.  Good luck!
+If you have any comments, corrections, or improvements for this package,
+please send it to the 'pct' mailing list.  Good luck!
 
 --amk                                                       (www.amk.ca)
--- python-crypto-2.0.1+dfsg1.orig/TODO
+++ python-crypto-2.0.1+dfsg1/TODO
@@ -3,8 +3,6 @@
 
 * Manual and Web page: point to SF project for bug reports
 
-* Update the demos
-
 * Update documentation (mention dodgy status of PublicKey code)
 
 * Clean up markup in pycrypt.tex
@@ -27,9 +25,6 @@
 
 * A secret sharing module should be added to Util or Protocols.
 	
-Demo programs:
-	Shadowing of files into X parts
-
 Documentation:
 	Document chaff/winnow better
 	Add docstrings everywhere.
