Camellia is now LGPLed
authorWerner Koch <wk@gnupg.org>
Thu, 31 May 2007 09:48:05 +0000 (09:48 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 31 May 2007 09:48:05 +0000 (09:48 +0000)
ChangeLog
NEWS
README
TODO
cipher/ChangeLog
cipher/camellia.c
cipher/camellia.h
configure.ac
src/ChangeLog
src/gcrypt.h.in
src/libgcrypt.m4

index b64f7ed..6966f8f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-05-30  Werner Koch  <wk@g10code.com>
+
+       * configure.ac: Camellia is no longer GPL.
+
+2007-05-24  Werner Koch  <wk@g10code.com>
+
+       * configure.ac: Try to use -Wpointer-arith.
+
 2007-05-19  Marcus Brinkmann  <marcus@g10code.de>
 
        * configure.ac: Fix test for optional UDIV and UDIV_QRNND MPI
diff --git a/NEWS b/NEWS
index e342571..9b9a5e7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+Noteworthy changes in version 1.3.1
+------------------------------------------------
+
+ * The Camellia cipher is now under the LGPL and included by default.
+
+ * Interface changes relative to the 1.3.0 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
 Noteworthy changes in version 1.3.0 (2007-05-04)
 ------------------------------------------------
 
diff --git a/README b/README
index 714a212..c486481 100644 (file)
--- a/README
+++ b/README
@@ -56,7 +56,6 @@
       rndw32    - Entropy gatherer for MS Windows
       gcryptrnd - The random number daemon.
       getrandom - A client for that daemon.
-      camellia  - The Camellia cipher.
 
     The documentation is available under the terms of the GPL.
 
diff --git a/TODO b/TODO
index 7480c9f..7f9e601 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,5 +1,9 @@
 What's left to do                                 -*- outline -*-
 
+* Next API break:
+** gcry_ac_io_t
+  Remove use of anonymous union.
+
 * udiv-qrnbd.o should get build as *.lo [HPUX]
 
 * Allow operation using RSA keys consisting of the OpenSSL list of
@@ -95,14 +99,6 @@ What's left to do                                 -*- outline -*-
 
 * Add OAEP
 
-* Next API break:
-** gcry_ac_io_t
-  Remove use of anonymous union.
-
-* ac.c
-  There are still some things fishy.  The fixes I did today
-  (2006-10-23) seem to cure just a symptom.  Needs a complete review.
-
 * gcryptrnd.c
   Requires a test for pth [done] as well as some other tests.
 
index 8a5c5e9..da784fd 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-30  Werner Koch  <wk@g10code.com>
+
+       * camellia.h, camellia.c: Replace by new LGPL version and adjusted
+       camellia.h.
+
 2007-05-09  Marcus Brinkmann  <marcus@g10code.de>
 
        * ac.c (_gcry_ac_io_init_va, _gcry_ac_io_write, _gcry_ac_io_read):
index c32c406..79cd49b 100644 (file)
@@ -3,19 +3,19 @@
  * Copyright (C) 2006,2007
  * NTT (Nippon Telegraph and Telephone Corporation).
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
 /*
index 26a88d6..3a92dc4 100644 (file)
@@ -3,37 +3,46 @@
  * Copyright (C) 2006,2007
  * NTT (Nippon Telegraph and Telephone Corporation).
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
 #ifndef HEADER_CAMELLIA_H
 #define HEADER_CAMELLIA_H
 
-/* Need to redefine the external symbols to keep the libgcrypt name
-   space clean.  */ 
-#define Camellia_Ekeygen      _gcry_Camellia_Ekeygen
-#define Camellia_EncryptBlock _gcry_Camellia_EncryptBlock
-#define Camellia_DecryptBlock _gcry_Camellia_DecryptBlock
-#define camellia_decrypt128   _gcry_camellia_decrypt128
-#define camellia_decrypt256   _gcry_camellia_decrypt256
-#define camellia_encrypt128   _gcry_camellia_encrypt128
-#define camellia_encrypt256   _gcry_camellia_encrypt256
-#define camellia_setup128     _gcry_camellia_setup128  
-#define camellia_setup192     _gcry_camellia_setup192  
-#define camellia_setup256     _gcry_camellia_setup256
-
+/* To use Camellia with libraries it is often useful to keep the name
+ * space of the library clean.  The following macro is thus useful:
+ *
+ *     #define CAMELLIA_EXT_SYM_PREFIX foo_
+ *  
+ * This prefixes all external symbols with "foo_".
+ */
+#ifdef CAMELLIA_EXT_SYM_PREFIX
+#define CAMELLIA_PREFIX1(x,y) x ## y
+#define CAMELLIA_PREFIX2(x,y) CAMELLIA_PREFIX1(x,y)
+#define CAMELLIA_PREFIX(x)    CAMELLIA_PREFIX2(CAMELLIA_EXT_SYM_PREFIX,x)
+#define Camellia_Ekeygen      CAMELLIA_PREFIX(Camellia_Ekeygen)
+#define Camellia_EncryptBlock CAMELLIA_PREFIX(Camellia_EncryptBlock)
+#define Camellia_DecryptBlock CAMELLIA_PREFIX(Camellia_DecryptBlock)
+#define camellia_decrypt128   CAMELLIA_PREFIX(camellia_decrypt128)
+#define camellia_decrypt256   CAMELLIA_PREFIX(camellia_decrypt256)
+#define camellia_encrypt128   CAMELLIA_PREFIX(camellia_encrypt128)
+#define camellia_encrypt256   CAMELLIA_PREFIX(camellia_encrypt256)
+#define camellia_setup128     CAMELLIA_PREFIX(camellia_setup128)
+#define camellia_setup192     CAMELLIA_PREFIX(camellia_setup192) 
+#define camellia_setup256     CAMELLIA_PREFIX(camellia_setup256)
+#endif /*CAMELLIA_EXT_SYM_PREFIX*/
 
 #ifdef  __cplusplus
 extern "C" {
index bd4067f..7ba6bd8 100644 (file)
@@ -5,7 +5,7 @@
 # This file is part of Libgcrypt.
 #
 # Libgcrypt is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser general Public License as
+# it under the terms of the GNU Lesser General Public License as
 # published by the Free Software Foundation; either version 2.1 of
 # the License, or (at your option) any later version.
 #
@@ -301,8 +301,8 @@ else
 fi
 
 # If not specified otherwise, all available algorithms will be
-# included.  Except for Camellia which is GPLed.
-default_ciphers=`echo "$available_ciphers" | sed 's/ camellia//'`
+# included.  
+default_ciphers="$available_ciphers"
 default_pubkey_ciphers="$available_pubkey_ciphers"
 default_digests="$available_digests"
 
@@ -736,7 +736,7 @@ if test "$GCC" = yes; then
        test "$more_gcc_warnings" = "yes"; then
         CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
         if test "$more_gcc_warnings" = "yes"; then
-            CFLAGS="$CFLAGS -W -Wextra -Wpointer-arith -Wbad-function-cast"
+            CFLAGS="$CFLAGS -W -Wextra -Wbad-function-cast"
             CFLAGS="$CFLAGS -Wwrite-strings"
             CFLAGS="$CFLAGS -Wdeclaration-after-statement"
             CFLAGS="$CFLAGS -Wno-missing-field-initializers"
@@ -748,6 +748,16 @@ if test "$GCC" = yes; then
     else
         CFLAGS="$CFLAGS -Wall"
     fi
+
+    AC_MSG_CHECKING([if gcc supports -Wpointer-arith])
+    _gcc_cflags_save=$CFLAGS
+    CFLAGS="-Wpointer-arith"
+    AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),_gcc_wopt=yes,_gcc_wopt=no)
+    AC_MSG_RESULT($_gcc_wopt)
+    CFLAGS=$_gcc_cflags_save;
+    if test x"$_gcc_wopt" = xyes ; then
+       CFLAGS="$CFLAGS -Wpointer-arith"
+    fi
 fi
 
 # Check whether as(1) supports a noeexecstack feature.  This test
@@ -823,7 +833,7 @@ AC_DEFINE_UNQUOTED(USE_SEED, $found,
                              [Defined if this module should be included])
 
 LIST_MEMBER(camellia, $enabled_ciphers)
-test "$found" = "1" && GCRYPT_CIPHERS="$GCRYPT_CIPHERS camellia.lo camellia-glue.lo" && gpl="$gpl camellia"
+test "$found" = "1" && GCRYPT_CIPHERS="$GCRYPT_CIPHERS camellia.lo camellia-glue.lo"
 AC_DEFINE_UNQUOTED(USE_CAMELLIA, $found,
                              [Defined if this module should be included])
 
index 15d25dd..70cd1aa 100644 (file)
@@ -1,3 +1,7 @@
+2007-05-09  Werner Koch  <wk@g10code.com>
+
+       * libgcrypt.m4: Print found version on success.
+
 2007-05-09  Marcus Brinkmann  <marcus@g10code.de>
 
        * gcrypt.h.in (gcry_ac_io_t): Add name for anonymous union, and mark
index bb3bc9a..f406527 100644 (file)
@@ -918,7 +918,7 @@ enum gcry_pk_algos
     GCRY_PK_ELG_E = 16,     /* use only for OpenPGP */
     GCRY_PK_DSA   = 17,
     GCRY_PK_ELG   = 20,
-    GCRY_PK_ECDSA = 301     /* Experimental implementaion; not for
+    GCRY_PK_ECDSA = 301     /* Experimental implementation; not for
                                production. */
   };
 
index c5e8631..854eaaa 100644 (file)
@@ -74,7 +74,7 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
     fi
   fi
   if test $ok = yes; then
-    AC_MSG_RESULT(yes)
+    AC_MSG_RESULT([yes ($libgcrypt_config_version)])
   else
     AC_MSG_RESULT(no)
   fi
@@ -86,7 +86,7 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
         if test "$tmp" -gt 0 ; then
            AC_MSG_CHECKING([LIBGCRYPT API version])
            if test "$req_libgcrypt_api" -eq "$tmp" ; then
-             AC_MSG_RESULT(okay)
+             AC_MSG_RESULT([okay])
            else
              ok=no
              AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp])