From be52e8850f90e718c6df066c588af839cc287ef5 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Tue, 7 Aug 2007 18:14:00 +0000 Subject: [PATCH] Added better CPU detection. --- TODO | 18 ++++++++++++------ TODO-SILC | 6 ++++++ configure.ad | 52 +++++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 59 insertions(+), 17 deletions(-) diff --git a/TODO b/TODO index 89dce499..0132fb66 100644 --- a/TODO +++ b/TODO @@ -218,6 +218,9 @@ Runtime library, lib/silcutil/ silc_snprintf(buf, sizeof(buf), "Client ID %@", id_renderer, client_id); + o Change silc_gettimeofday on Unix to use clock_gettime with REALTIME + clock if it is available, otherwise use gettimeofday(). + (o Generic SilcStatus or SilcResult that includes all possible status and error conditions, including those of SILC protocol. Though, the SILC protocol related status (currently in silcstatus.h) cannot be in @@ -318,6 +321,8 @@ Crypto Library, lib/silccrypt/ check the alg->hash, supported hash functions. Maybe deliver it also to all other functions in SilcPKCSAlgorithm to be consistent. (***DONE) + o Add DSA support to SILC public key. + o Add DSS support. (***DONE) o Implement the defined SilcDH API. The definition is in @@ -325,10 +330,12 @@ Crypto Library, lib/silccrypt/ be accelerated. Also take into account that it could use elliptic curves. - o ECDSA and ECDH + o Add ECDSA support. + + o Add ECDH support. o All cipher, hash, hmac etc. allocation routines should take their name - in as const char * not const unsigned char *. + in as const char * not const unsigned char *. (***DONE) SILC Accelerator Library @@ -416,15 +423,14 @@ lib/silcasn1 lib/silcpgp =========== - o OpenPGP certificate support, allowing the use of PGP public keys - in SILC. + o OpenPGP certificate support, allowing the use of PGP public keys. lib/silcssh =========== - o SSH2 public key/private key support, allowing the use of SSH2 keys - in SILC. RFC 4716. (***DONE) + o SSH2 public key/private key support, allowing the use of SSH2 keys. + RFC 4716. (***DONE) lib/silcpkix diff --git a/TODO-SILC b/TODO-SILC index 1537f207..44afeed3 100644 --- a/TODO-SILC +++ b/TODO-SILC @@ -29,6 +29,12 @@ point. the one that actually WANTs to establish the keys. So no need for responder to retransmit. Define this clearly in the specs. + o Define clearly that the DSS signature format is the the Dss-Sig-Value + ASN.1 encoding defined for PKIX. + + o Define clearly the SSH2 signature format is the one specified for SSH2 + protocol. + o Dynamic server and router connections, ala Jabber. SILC has allowed this from the beginning. It should be written out clearly in the specs. Connection would be created with nick strings (which are of diff --git a/configure.ad b/configure.ad index 8926d430..ca534c97 100644 --- a/configure.ad +++ b/configure.ad @@ -53,36 +53,66 @@ esac # Get CPU cpu_i386=false -cpu_ix86=false +cpu_i486=false +cpu_i586=false +cpu_i686=false +cpu_i786=false cpu_x86_64=false cpu_ppc=false cpu_ia64=false case "$host_cpu" in - i386) + # All following Intels are considered 32-bit CPUs. + i?86) AC_DEFINE([SILC_I386], [], [SILC_I386]) AC_DEFINE([SILC_I486], [], [SILC_I486]) cpu_i386=true - cpu_ix86=true + cpu_i486=true + + if test "x$host_cpu" = "xi586"; then + AC_DEFINE([SILC_I586], [], [SILC_I586]) + cpu_i586=true + fi + + if test "x$host_cpu" = "xi686"; then + AC_DEFINE([SILC_I586], [], [SILC_I586]) + AC_DEFINE([SILC_I686], [], [SILC_I686]) + cpu_i586=true + cpu_i686=true + fi + + if test "x$host_cpu" = "xi786"; then + AC_DEFINE([SILC_I586], [], [SILC_I586]) + AC_DEFINE([SILC_I686], [], [SILC_I686]) + AC_DEFINE([SILC_I786], [], [SILC_I786]) + cpu_i586=true + cpu_i686=true + cpu_i786=true + fi ;; - i?86) - AC_DEFINE([SILC_I486], [], [SILC_I486]) - cpu_ix86=true + + # Intel IA-64, 64-bit CPU (not x86_64 compatible) + ia64) + AC_DEFINE([SILC_IA64], [], [SILC_IA64]) + cpu_ia64=true ;; + + # AMD/Intel x86_64, 64-bit CPU x86_64) AC_DEFINE([SILC_X86_64], [], [SILC_X86_64]) cpu_x86_64=true ;; + + # PowerPC, 32-bit and 64-bit CPUs powerpc*) AC_DEFINE([SILC_POWERPC], [], [SILC_POWERPC]) cpu_ppc=true ;; - ia64) - AC_DEFINE([SILC_IA64], [], [SILC_IA64]) - cpu_ia64=true - ;; esac AM_CONDITIONAL(SILC_I386, test x$cpu_i386 = xtrue) -AM_CONDITIONAL(SILC_I486, test x$cpu_ix86 = xtrue) +AM_CONDITIONAL(SILC_I486, test x$cpu_i486 = xtrue) +AM_CONDITIONAL(SILC_I586, test x$cpu_i586 = xtrue) +AM_CONDITIONAL(SILC_I686, test x$cpu_i686 = xtrue) +AM_CONDITIONAL(SILC_7686, test x$cpu_i786 = xtrue) AM_CONDITIONAL(SILC_X86_64, test x$cpu_x86_64 = xtrue) AM_CONDITIONAL(SILC_POWERPC, test x$cpu_ppc = xtrue) AM_CONDITIONAL(SILC_IA64, test x$cpu_ia64 = xtrue) -- 2.24.0