RISC OS changes due to dynload removal
authorStefan Bellon <sbellon@sbellon.de>
Sat, 3 Aug 2002 18:35:16 +0000 (18:35 +0000)
committerStefan Bellon <sbellon@sbellon.de>
Sat, 3 Aug 2002 18:35:16 +0000 (18:35 +0000)
12 files changed:
cipher/ChangeLog
cipher/idea-stub.c
cipher/random.c
cipher/rndriscos.c
include/util.h
keyserver/ChangeLog
keyserver/gpgkeys_ldap.c
scripts/ChangeLog
scripts/conf-riscos/Makefile
scripts/conf-riscos/include/config.h
scripts/conf-riscos/include/g10defs.h
util/riscos.c

index 6599a51..98b40de 100644 (file)
@@ -1,3 +1,11 @@
+2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
+
+       * idea-stub.c (idea_get_info): RISC OS' Norcroft C needs a cast.
+
+       * random.c (getfnc_gather_random): Added RISC OS support.
+
+       * rndriscos.c: Removed dynload code.
+
 2002-08-03  Werner Koch  <wk@gnupg.org>
 
        * rndegd.c (do_read): Handle case when read returns 0 to avoid
index 3a97820..9dd0ced 100644 (file)
@@ -148,6 +148,13 @@ load_module (const char *name)
   return NULL;
 }
 
+#ifdef __riscos__
+typedef
+const char *(*INFO_CAST)(int, size_t*, size_t*, size_t*,
+                         int  (**)( void *, byte *, unsigned),
+                         void (**)( void *, byte *, byte *),
+                         void (**)( void *, byte *, byte *));
+#endif /* __riscos__ */
 
 const char *
 idea_get_info( int algo, size_t *keylen,
@@ -170,7 +177,11 @@ idea_get_info( int algo, size_t *keylen,
       initialized = 1;
       for (i=0; (rstr = dynload_enum_module_names (i)); i++)
         {
+#ifndef __riscos__
           info_fnc = load_module (rstr);
+#else /* __riscos__ */
+          info_fnc = (INFO_CAST) load_module (rstr);
+#endif /* __riscos__ */
           if (info_fnc)
             break;
         }
index 1d7bf8a..d7ebf57 100644 (file)
@@ -141,6 +141,9 @@ getfnc_gather_random (void))(void (*)(const void*, size_t, int), int,
 #ifdef USE_RNDW32
   return rndw32_gather_random;
 #endif
+#ifdef USE_RNDRISCOS
+  return rndriscos_gather_random;
+#endif
   return NULL;
 }
 
index 4714451..3aa16d5 100644 (file)
@@ -19,6 +19,9 @@
  */
 
 #include <config.h>
+
+#ifdef USE_RNDRISCOS
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <errno.h>
 #include <kernel.h>
 #include <swis.h>
 #include "util.h"
-#include "dynload.h"
+#include "algorithms.h"
 
 static int init_device(void);
-static int gather_random(void (*add)(const void*, size_t, int), int requester,
-                        size_t length, int level);
 
 #define CryptRandom_Byte 0x51980
 
@@ -67,9 +68,9 @@ init_device(void)
 
 /****************
  */
-static int
-gather_random(void (*add)(const void*, size_t, int), int requester,
-             size_t length, int level)
+int
+rndriscos_gather_random(void (*add)(const void*, size_t, int), int requester,
+                       size_t length, int level)
 {
     static int initialized = 0;
     int n;
@@ -97,51 +98,4 @@ gather_random(void (*add)(const void*, size_t, int), int requester,
     return 0; /* success */
 }
 
-
-
-#ifndef IS_MODULE
-static
-#endif
-const char * const gnupgext_version = "RNDRISCOS ($Revision$)";
-
-static struct {
-    int class;
-    int version;
-    int (*func)(void);
-} func_table[] = {
-    { 40, 1, (int (*)(void))gather_random },
-};
-
-
-#ifndef IS_MODULE
-static
-#endif
-void *
-gnupgext_enum_func( int what, int *sequence, int *class, int *vers )
-{
-    void *ret;
-    int i = *sequence;
-
-    do {
-       if ( i >= DIM(func_table) || i < 0 ) {
-           return NULL;
-       }
-       *class = func_table[i].class;
-       *vers  = func_table[i].version;
-       ret = (void*) func_table[i].func;
-       i++;
-    } while ( what && what != *class );
-
-    *sequence = i;
-    return ret;
-}
-
-#ifndef IS_MODULE
-void
-rndriscos_constructor(void)
-{
-    register_internal_cipher_extension( gnupgext_version,
-                                       gnupgext_enum_func );
-}
-#endif
-
+#endif /*USE_RNDRISCOS */
index 1d0e4ed..97a19ce 100644 (file)
@@ -264,7 +264,7 @@ int vasprintf ( char **result, const char *format, va_list args);
 #include <unixlib/local.h>
 /* needed for image file system feature */
 #include <unixlib/features.h>
-void riscos_global_defaults();
+void riscos_global_defaults(void);
 #define RISCOS_GLOBAL_STATICS(a) const char *__dynamic_da_name = (a);
 void riscos_set_filetype(const char *filename, const char *mimetype);
 pid_t riscos_getpid(void);
index 600d722..5826910 100644 (file)
@@ -1,3 +1,7 @@
+2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
+
+       * gpgkeys_ldap.c: Tidied up RISC OS initializations.
+
 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
 
        * gpgkeys_hkp.c: "Warning" -> "WARNING"
index f6b9d25..1981ace 100644 (file)
@@ -32,7 +32,7 @@
 #include "keyserver.h"
 
 #ifdef __riscos__
-#include <unixlib/local.h>
+#include "util.h"
 #endif
 
 #define GET    0
@@ -54,6 +54,10 @@ struct keylist
   struct keylist *next;
 };
 
+#ifdef __riscos__
+RISCOS_GLOBAL_STATICS("LDAP Keyfetcher Heap")
+#endif /* __riscos__ */
+
 /* Returns 0 on success, -1 on failure, and 1 on eof */
 int send_key(void)
 {
@@ -621,7 +625,7 @@ int main(int argc,char *argv[])
   struct keylist *keylist=NULL,*keyptr=NULL;
 
 #ifdef __riscos__
-    __riscosify_control = __RISCOSIFY_NO_PROCESS;
+  riscos_global_defaults();
 #endif
 
   console=stderr;
index 99fd666..41145b0 100644 (file)
@@ -1,3 +1,12 @@
+2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
+
+       * conf-riscos/include/g10defs.h: Added GNUPG_LIBEXECDIR.
+
+       * conf-riscos/include/config.h: Changes due to dynload removal and
+       minor changes to avoid some warnings.
+
+       * conf-riscos/Makefile: Changes due to dynload removal.
+
 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
 
        * gnupgbug: "Warning" -> "WARNING"
index 3461fa1..eeb6206 100644 (file)
@@ -5,13 +5,12 @@ AS=objasm
 MAKE=amu
 DEPEND=-depend !Depend
 LIBLDAP=^.^.openldap-2/0/18
-CC_FLAGS=-Wp -apcs 3/26bit/fpe2 -throwback -Otime -IUnix:,include,mpi,intl,zlib,$(LIBLDAP).include -JUnix: -D__riscos__ -DHAVE_CONFIG_H -DNO_ASM -UIS_MODULE -DVERSION="\"$(GnuPG$Version)\"" $(GnuPG$DevDefine)
-AS_FLAGS=-apcs 3/26bit/fpe2 -throwback -predefine "ARMv4 SETA 0"
+CC_FLAGS=-Wpc -apcs 3/26bit/fpe2 -throwback -Otime -IUnix:,include,mpi,intl,zlib,$(LIBLDAP).include -JUnix: -D__riscos__ -DHAVE_CONFIG_H -DNO_ASM -UIS_MODULE -DVERSION="\"$(GnuPG$Version)\"" $(GnuPG$DevDefine)
+AS_FLAGS=-apcs 3/26bit -throwback -predefine "ARMv4 SETA 0"
 LD_FLAGS=Unix:o.unixlib
 CIPHER_OBJS=cipher.o.blowfish \
        cipher.o.cast5 \
        cipher.o.cipher \
-       cipher.o.construct \
        cipher.o.des \
        cipher.o.dsa \
        cipher.o.dynload \
@@ -170,15 +169,17 @@ GPGV_OBJS=g10.o.armor \
        util.o.secmem \
        util.o.strgutil \
        util.o.riscos \
-       cipher.o.constructv \
        cipher.o.dsa \
        cipher.o.dynload \
        cipher.o.elgamal \
        cipher.o.g10c \
        cipher.o.md \
+       cipher.o.md5 \
        cipher.o.pubkey \
        cipher.o.rmd160 \
        cipher.o.rsa \
+       cipher.o.sha1 \
+       cipher.o.tiger32 \
        mpi.mpi \
        zlib.zlib
 GPGKEYS_OBJS=util.o.riscos \
@@ -375,7 +376,7 @@ clean-g10:
        -ifthere g10.o.* then wipe g10.o.* ~CFR~V
 
 clean-keyserver:
-       -ifthere keyserver.gpgkeys_* then wipe keyserver.gpgkeys_* ~CFR~V
+       -ifthere keyserver.gpgkeys_ldap then wipe keyserver.gpgkeys_ldap ~CFR~V
        -ifthere keyserver.o.* then wipe keyserver.o.* ~CFR~V
 
 clean-tools:
index 6a34402..faa7fe8 100644 (file)
 #define PRINTABLE_OS_NAME "RISC OS"
 
 /* Define if your locale.h file contains LC_MESSAGES.  */
-#undef HAVE_LC_MESSAGES
+#define HAVE_LC_MESSAGES
 
 /* Define to 1 if NLS is requested.  */
 #define ENABLE_NLS 1
 
 /* Define as 1 if you have catgets and don't want to use GNU gettext.  */
-#undef HAVE_CATGETS
+#define HAVE_CATGETS 0
 
 /* Define as 1 if you have gettext and don't want to use GNU gettext.  */
-#undef HAVE_GETTEXT
+#define HAVE_GETTEXT 0
 
 #undef BIG_ENDIAN_HOST
 #define LITTLE_ENDIAN_HOST 1
 #undef HAVE_CLOCK_GETTIME
 
 /* Define if you have the dcgettext function.  */
-#undef HAVE_DCGETTEXT
+#define HAVE_DCGETTEXT 0
 
 /* Define if you have the dlopen function.  */
 #undef HAVE_DLOPEN
   #define M_GUARD
 #endif
 
+#define USE_RNDRISCOS
 
 /* RISC OS specifica */
 #if (__CC_NORCROFT == 1) /* Norcroft */
+# undef __GNUC__
+# define __GNUC_MINOR__ 0
+# define __GLIBC__ 0
 # define __attribute__(x) 
 # if (__CC_NORCROFT_VERSION < 544) /* old version of Norcroft */
 #  define inline __inline
index a02dff4..46acdbf 100644 (file)
@@ -21,6 +21,7 @@
 /* Path variables and filing system constants for RISC OS */
 #define G10_LOCALEDIR     "<GnuPG$Dir>.locale"
 #define GNUPG_LIBDIR      "<GnuPG$Dir>"
+#define GNUPG_LIBEXECDIR  "<GnuPG$Dir>"
 #define GNUPG_DATADIR     "<GnuPG$Dir>"
 #define GNUPG_HOMEDIR     "<GnuPGUser$Dir>"
 #define LOCALE_ALIAS_PATH "<GnuPG$Dir>.locale"
index e0844a2..18d15c2 100644 (file)
@@ -96,7 +96,7 @@ riscos_set_filetype_by_number(const char *filename, int type)
 /* exported RISC OS functions */
 
 void
-riscos_global_defaults()
+riscos_global_defaults(void)
 {
     __riscosify_control = __RISCOSIFY_NO_PROCESS;
     __feature_imagefs_is_file = 1;