mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
RISC OS specific changes
This commit is contained in:
parent
c530d811c6
commit
70618e5175
@ -1,3 +1,8 @@
|
||||
2002-04-22 Stefan Bellon <sbellon@sbellon.de>
|
||||
|
||||
* rndriscos.c (func_table): Made func a function pointer.
|
||||
(init_device): Improved loading of CryptRandom module.
|
||||
|
||||
2002-04-18 Werner Koch <wk@gnupg.org>
|
||||
|
||||
* rndlinux.c, rndegd.c, rndunix.c (func_table): Made func a
|
||||
|
@ -42,15 +42,26 @@ init_device(void)
|
||||
{
|
||||
_kernel_swi_regs r;
|
||||
|
||||
/* Is CryptRandom already loaded? */
|
||||
r.r[0] = 18;
|
||||
r.r[1] = (int) "CryptRandom";
|
||||
if (_kernel_swi(OS_Module, &r, &r)) {
|
||||
r.r[0] = 1;
|
||||
r.r[1] = (int) "GnuPG:CryptRand";
|
||||
if (_kernel_swi(OS_Module, &r, &r))
|
||||
g10_log_fatal("Can't load module CryptRandom.\n");
|
||||
}
|
||||
return 1;
|
||||
if (!_kernel_swi(OS_Module, &r, &r))
|
||||
return 1;
|
||||
|
||||
/* Is it named CryptRand and inside GnuPG$Path? */
|
||||
r.r[0] = 1;
|
||||
r.r[1] = (int) "GnuPG:CryptRand";
|
||||
if (!_kernel_swi(OS_Module, &r, &r))
|
||||
return 1;
|
||||
|
||||
/* Is it named CryptRandom and inside GnuPG$Path? */
|
||||
r.r[0] = 1;
|
||||
r.r[1] = (int) "GnuPG:CryptRandom";
|
||||
if (!_kernel_swi(OS_Module, &r, &r))
|
||||
return 1;
|
||||
|
||||
/* Can't find CryptRandom in the default locations */
|
||||
g10_log_fatal("Can't load module CryptRandom.\n");
|
||||
}
|
||||
|
||||
|
||||
@ -96,9 +107,9 @@ const char * const gnupgext_version = "RNDRISCOS ($Revision$)";
|
||||
static struct {
|
||||
int class;
|
||||
int version;
|
||||
void *func;
|
||||
int (*func)(void);
|
||||
} func_table[] = {
|
||||
{ 40, 1, (void *) gather_random },
|
||||
{ 40, 1, (int (*)(void))gather_random },
|
||||
};
|
||||
|
||||
|
||||
@ -117,7 +128,7 @@ gnupgext_enum_func( int what, int *sequence, int *class, int *vers )
|
||||
}
|
||||
*class = func_table[i].class;
|
||||
*vers = func_table[i].version;
|
||||
ret = func_table[i].func;
|
||||
ret = (void*) func_table[i].func;
|
||||
i++;
|
||||
} while ( what && what != *class );
|
||||
|
||||
|
@ -1,3 +1,11 @@
|
||||
2002-04-22 Stefan Bellon <sbellon@sbellon.de>
|
||||
|
||||
* keyid.c (expirestr_from_sk, expirestr_from_sig): Added _() to
|
||||
string constant.
|
||||
|
||||
* exec.c (make_tempdir) [__riscos__]: Better placement of
|
||||
temporary file.
|
||||
|
||||
2002-04-20 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* keygen.c (generate_subkeypair): 2440bis04 adds that creating
|
||||
|
@ -60,7 +60,8 @@ static int make_tempdir(struct exec_info *info)
|
||||
if(tmp==NULL)
|
||||
{
|
||||
#ifdef __riscos__
|
||||
tmp="<Wimp$ScrapDir>";
|
||||
tmp="<Wimp$ScrapDir>.GnuPG";
|
||||
mkdir(tmp,0700); /* Error checks occur later on */
|
||||
#elif defined (__MINGW32__) || defined (__CYGWIN32__)
|
||||
tmp=m_alloc(256);
|
||||
if(GetTempPath(256,tmp)==0)
|
||||
|
@ -325,7 +325,7 @@ expirestr_from_sk( PKT_secret_key *sk )
|
||||
time_t atime;
|
||||
|
||||
if( !sk->expiredate )
|
||||
return "never ";
|
||||
return _("never ");
|
||||
atime = sk->expiredate;
|
||||
return mk_datestr (buffer, atime);
|
||||
}
|
||||
@ -337,7 +337,7 @@ expirestr_from_sig( PKT_signature *sig )
|
||||
time_t atime;
|
||||
|
||||
if(!sig->expiredate)
|
||||
return "never ";
|
||||
return _("never ");
|
||||
atime=sig->expiredate;
|
||||
return mk_datestr (buffer, atime);
|
||||
}
|
||||
|
@ -1,3 +1,8 @@
|
||||
2002-04-22 Stefan Bellon <sbellon@sbellon.de>
|
||||
|
||||
* util.h [__riscos__]: Removed riscos_open, riscos_fopen and
|
||||
riscos_fstat as those special versions aren't needed anymore.
|
||||
|
||||
2002-02-19 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* keyserver.h: Add KEYSERVER_NOT_SUPPORTED for unsupported actions
|
||||
|
@ -257,9 +257,6 @@ int vasprintf ( char **result, const char *format, va_list args);
|
||||
#ifdef __riscos__
|
||||
pid_t riscos_getpid(void);
|
||||
int riscos_kill(pid_t pid, int sig);
|
||||
FILE *riscos_fopen(const char *filename, const char *mode);
|
||||
int riscos_open(const char *filename, int oflag, ...);
|
||||
int riscos_fstat(int fildes, struct stat *buf);
|
||||
int riscos_access(const char *path, int amode);
|
||||
int fdopenfile(const char *filename, const int allow_write);
|
||||
void close_fds(void);
|
||||
@ -273,9 +270,6 @@ void list_openfiles(void);
|
||||
#ifndef __RISCOS__C__
|
||||
#define getpid riscos_getpid
|
||||
#define kill(a,b) riscos_kill((a),(b))
|
||||
#define fopen(a,b) riscos_fopen((a),(b))
|
||||
#define fstat(a,b) riscos_fstat((a),(b))
|
||||
#define open riscos_open
|
||||
#define access(a,b) riscos_access((a),(b))
|
||||
#endif /* !__RISCOS__C__ */
|
||||
#endif /* __riscos__ */
|
||||
|
@ -1,3 +1,11 @@
|
||||
2002-04-22 Stefan Bellon <sbellon@sbellon.de>
|
||||
|
||||
* conf-riscos/include/config.h [__riscos__]: Development
|
||||
versions automatically define DEBUG from now on.
|
||||
|
||||
* conf-riscos/Makefile [__riscos__]: Updated for LDAP keyserver
|
||||
code.
|
||||
|
||||
2002-04-19 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* gnupg.spec.in: Removed pubring.asc and OPTIONS. Added
|
||||
|
@ -4,11 +4,10 @@ LINK=link
|
||||
AS=objasm
|
||||
MAKE=amu
|
||||
DEPEND=-depend !Depend
|
||||
DEBUG=
|
||||
CC_FLAGS=-Wp -apcs 3/26bit -throwback -Otime -IUnix:,include.,mpi.,intl.,zlib. -JUnix: -D__riscos__ -DHAVE_CONFIG_H -DNO_ASM -UIS_MODULE -DVERSION="\"$(GnuPG$Version)\"" $(GnuPG$DevDefine)
|
||||
LIBLDAP=^.^.openldap-2/0/18
|
||||
CC_FLAGS=-Wp -apcs 3/26bit -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
|
||||
LIBLDAP=^.^.openldap-2/0/18.libraries.libldap.libldap
|
||||
CIPHER_OBJS=cipher.blowfish.o \
|
||||
cipher.cast5.o \
|
||||
cipher.cipher.o \
|
||||
@ -188,7 +187,7 @@ GPGV_OBJS=g10.armor.o \
|
||||
.SUFFIXES: .c .o .s
|
||||
|
||||
.c.o:
|
||||
$(CC) $(CC_FLAGS) $(DEPEND) $(DEBUG) -c -o $@ $<
|
||||
$(CC) $(CC_FLAGS) $(DEPEND) -c -o $@ $<
|
||||
|
||||
.s.o:
|
||||
$(AS) $(AS_FLAGS) $(DEPEND) $< $@
|
||||
@ -215,8 +214,8 @@ tools.gpgsplit: tools.o.gpgsplit util.util intl.gettext zlib.zlib
|
||||
-squeeze tools.gpgsplit
|
||||
-copy tools.gpgsplit ADFS::A5.$.tmp.!GnuPG.gpgsplit ~CF~V
|
||||
|
||||
keyserver.gpgkeys_ldap: keyserver.o.gpgkeys_ldap $(LIBLDAP)
|
||||
$(LINK) $(LD_FLAGS) keyserver.o.gpgkeys_ldap $(LIBLDAP) -o keyserver.gpgkeys_ldap
|
||||
keyserver.gpgkeys_ldap: keyserver.o.gpgkeys_ldap $(LIBLDAP).libraries.libldap.libldap
|
||||
$(LINK) $(LD_FLAGS) keyserver.o.gpgkeys_ldap $(LIBLDAP).libraries.libldap.libldap -o keyserver.gpgkeys_ldap
|
||||
-squeeze keyserver.gpgkeys_ldap
|
||||
-copy keyserver.gpgkeys_ldap ADFS::A5.$.tmp.!GnuPG.gpgkeys_ldap ~CF~V
|
||||
|
||||
@ -372,9 +371,11 @@ clean-g10:
|
||||
|
||||
clean-keyserver:
|
||||
-ifthere keyserver.gpgkeys_ldap then wipe keyserver.gpgkeys_ldap ~CFR~V
|
||||
-ifthere keyserver.o.* then wipe keyserver.o.* ~CFR~V
|
||||
|
||||
clean-tools:
|
||||
-ifthere tools.gpgsplit then wipe tools.gpgsplit ~CFR~V
|
||||
-ifthere tools.o.* then wipe tools.o.* ~CFR~V
|
||||
|
||||
clean-riscos:
|
||||
-ifthere riscos.jpegview.jpegview then wipe riscos.jpegview.jpegview ~CFR~V
|
||||
@ -416,8 +417,8 @@ dev: clean-version
|
||||
fast-dev: BUILD
|
||||
setver configure/ac AC_INIT(gnupg, , dev
|
||||
wipe distrib.private.!GnuPG.gpg* ~CFR~V
|
||||
$(MAKE) tools.gpgsplit
|
||||
-$(MAKE) keyserver.gpgkeys_ldap
|
||||
$(MAKE) tools.gpgsplit
|
||||
$(MAKE) distrib.gnupgdev/zip
|
||||
ifthere <WebServe$ServeRoot>.private.gnupgdev/zip then wipe <WebServe$ServeRoot>.private.gnupgdev/zip ~CFR~V
|
||||
rename distrib.gnupgdev/zip <WebServe$ServeRoot>.private.gnupgdev/zip
|
||||
|
@ -371,6 +371,7 @@
|
||||
|
||||
#ifdef IS_DEVELOPMENT_VERSION
|
||||
#define M_GUARD
|
||||
#define DEBUG
|
||||
#endif
|
||||
|
||||
#include "g10defs.h"
|
||||
|
@ -1,3 +1,11 @@
|
||||
2002-04-22 Stefan Bellon <sbellon@sbellon.de>
|
||||
|
||||
* riscos.c (riscos_open, riscos_fopen, riscos_fstat, set_filetype):
|
||||
Removed as they're not needed anymore.
|
||||
|
||||
* iobuf.c (direct_open) [__riscos__]: Don't allow opening of
|
||||
directories.
|
||||
|
||||
2002-04-08 Werner Koch <wk@gnupg.org>
|
||||
|
||||
Fixed filename of last entry.
|
||||
|
13
util/iobuf.c
13
util/iobuf.c
@ -208,7 +208,20 @@ direct_open (const char *fname, const char *mode)
|
||||
else {
|
||||
oflag = O_RDONLY;
|
||||
}
|
||||
#ifndef __riscos__
|
||||
return open (fname, oflag, cflag );
|
||||
#else
|
||||
{
|
||||
struct stat buf;
|
||||
int rc = stat( fname, &buf );
|
||||
|
||||
/* Don't allow iobufs on directories */
|
||||
if( !rc && S_ISDIR(buf.st_mode) && !S_ISREG(buf.st_mode) )
|
||||
return __set_errno( EISDIR );
|
||||
else
|
||||
return open( fname, oflag, cflag );
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
130
util/riscos.c
130
util/riscos.c
@ -70,18 +70,6 @@ is_read_only(const char *filename)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
set_filetype(const char *filename, const int type)
|
||||
{
|
||||
_kernel_swi_regs r;
|
||||
|
||||
r.r[0] = 18;
|
||||
r.r[1] = (int) filename;
|
||||
r.r[2] = type;
|
||||
|
||||
if (_kernel_swi(OS_File, &r, &r))
|
||||
log_fatal("Can't set filetype for file %s!\nIs the file on a read-only file system?\n", filename);
|
||||
}
|
||||
|
||||
/* exported RISC OS functions */
|
||||
|
||||
@ -126,124 +114,6 @@ riscos_kill(pid_t pid, int sig)
|
||||
return __set_errno(ESRCH);
|
||||
}
|
||||
|
||||
FILE *
|
||||
riscos_fopen(const char *filename, const char *mode)
|
||||
{
|
||||
FILE *fp;
|
||||
_kernel_swi_regs r;
|
||||
_kernel_oserror *e;
|
||||
int filetype;
|
||||
|
||||
r.r[0] = 17;
|
||||
r.r[1] = (int) filename;
|
||||
if (e =_kernel_swi(OS_File, &r, &r))
|
||||
log_fatal("Can't retrieve object information for %s!\n", filename);
|
||||
if (r.r[0] == 2) {
|
||||
errno = EISDIR;
|
||||
return NULL;
|
||||
}
|
||||
if (r.r[0] == 3) {
|
||||
/* setting file to to non-image file, after fopening, restore */
|
||||
filetype = (r.r[2] >> 8) & 0xfff;
|
||||
set_filetype(filename, 0xfff);
|
||||
fp = fopen(filename, mode);
|
||||
set_filetype(filename, filetype);
|
||||
}
|
||||
else {
|
||||
fp = fopen(filename, mode);
|
||||
}
|
||||
return fp;
|
||||
}
|
||||
|
||||
int
|
||||
riscos_open(const char *filename, int oflag, ...)
|
||||
{
|
||||
va_list ap;
|
||||
_kernel_swi_regs r;
|
||||
_kernel_oserror *e;
|
||||
int fd, mode, filetype;
|
||||
|
||||
r.r[0] = 17;
|
||||
r.r[1] = (int) filename;
|
||||
if (e =_kernel_swi(OS_File, &r, &r))
|
||||
log_fatal("Can't retrieve object information for %s!\n", filename);
|
||||
if (r.r[0] == 2) {
|
||||
errno = EISDIR;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
va_start(ap, oflag);
|
||||
mode = va_arg(ap, int);
|
||||
va_end(ap);
|
||||
|
||||
if (r.r[0] == 3) {
|
||||
/* setting file to to non-image file, after opening, restore */
|
||||
filetype = (r.r[2] >> 8) & 0xfff;
|
||||
set_filetype(filename, 0xfff);
|
||||
if (!mode)
|
||||
fd = open(filename, oflag);
|
||||
else
|
||||
fd = open(filename, oflag, mode);
|
||||
set_filetype(filename, filetype);
|
||||
}
|
||||
else {
|
||||
if (!mode)
|
||||
fd = open(filename, oflag);
|
||||
else
|
||||
fd = open(filename, oflag, mode);
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
|
||||
int
|
||||
riscos_fstat(int fildes, struct stat *buf)
|
||||
{
|
||||
_kernel_swi_regs r;
|
||||
_kernel_oserror *e;
|
||||
char *filename;
|
||||
int rc, filetype;
|
||||
int handle = (int) __u->fd[fildes].handle;
|
||||
|
||||
r.r[0] = 7;
|
||||
r.r[1] = handle;
|
||||
r.r[2] = 0;
|
||||
r.r[5] = 0;
|
||||
if (e = _kernel_swi(OS_Args, &r, &r))
|
||||
log_fatal("Can't convert from file handle to name!\n");
|
||||
|
||||
filename = m_alloc(1 - r.r[5]);
|
||||
|
||||
r.r[0] = 7;
|
||||
r.r[1] = handle;
|
||||
r.r[2] = (int) filename;
|
||||
r.r[5] = 1-r.r[5];
|
||||
if (e = _kernel_swi(OS_Args, &r, &r))
|
||||
log_fatal("Can't convert from file handle to name!\n");
|
||||
|
||||
r.r[0] = 17;
|
||||
r.r[1] = (int) filename;
|
||||
if (e =_kernel_swi(OS_File, &r, &r))
|
||||
log_fatal("Can't retrieve object information for %s!\n", filename);
|
||||
if (r.r[0] == 2) {
|
||||
errno = EISDIR;
|
||||
return NULL;
|
||||
}
|
||||
if (r.r[0] == 3) {
|
||||
/* setting file to to non-image file, after fstating, restore */
|
||||
filetype = (r.r[2] >> 8) & 0xfff;
|
||||
set_filetype(filename, 0xfff);
|
||||
rc = fstat(fildes, buf);
|
||||
set_filetype(filename, filetype);
|
||||
}
|
||||
else {
|
||||
rc = fstat(fildes, buf);
|
||||
}
|
||||
|
||||
m_free(filename);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int
|
||||
riscos_access(const char *path, int amode)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user