mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-17 14:07:03 +01:00
See ChangeLog: Wed Jul 14 19:42:08 CEST 1999 Werner Koch
This commit is contained in:
parent
68512418bd
commit
40f2d9f830
13
README
13
README
@ -1,5 +1,3 @@
|
|||||||
-----BEGIN PGP SIGNED MESSAGE-----
|
|
||||||
|
|
||||||
GnuPG - The GNU Privacy Guard
|
GnuPG - The GNU Privacy Guard
|
||||||
-------------------------------
|
-------------------------------
|
||||||
Version 0.9.8
|
Version 0.9.8
|
||||||
@ -68,7 +66,7 @@
|
|||||||
|
|
||||||
3) "make install"
|
3) "make install"
|
||||||
|
|
||||||
4) You end up with a "gpg" binray in /usr/local/bin.
|
4) You end up with a "gpg" binary in /usr/local/bin.
|
||||||
Note: Because some programs rely on the existence of a
|
Note: Because some programs rely on the existence of a
|
||||||
binary named "gpgm"; you should install a symbolic link
|
binary named "gpgm"; you should install a symbolic link
|
||||||
from gpgm to gpg:
|
from gpgm to gpg:
|
||||||
@ -447,12 +445,3 @@
|
|||||||
|
|
||||||
Have fun and remember: Echelon is looking at you kid.
|
Have fun and remember: Echelon is looking at you kid.
|
||||||
|
|
||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
Version: GnuPG v0.9.7 (GNU/Linux)
|
|
||||||
Comment: For info see http://www.gnupg.org
|
|
||||||
|
|
||||||
iQB1AwUBN3SoBh0Z9MEMmFelAQE+9wL/bOTFEPvkO0drlWAu8k2P7udEzwfGlKhE
|
|
||||||
Iyr6g75FSX4NnDkHB7RjyHYvQUkc8gicxYV8pBWe5c1bMYwrpe1cMvAu+BtUfDQc
|
|
||||||
oHUbx9ln7CZ2BkEgzT5bjypugwtc6o7g
|
|
||||||
=uTFn
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
|
79
doc/DETAILS
79
doc/DETAILS
@ -14,24 +14,33 @@ ssb::1536:20:5CE086B5B5A18FF4:1998-07-07:0:::
|
|||||||
fpr = fingerprint: (fingerprint is in field 10)
|
fpr = fingerprint: (fingerprint is in field 10)
|
||||||
pkd = public key data (special field format, see below)
|
pkd = public key data (special field format, see below)
|
||||||
|
|
||||||
2. Field: A letter describing the calculated trust, see doc/FAQ
|
2. Field: A letter describing the calculated trust. This is a single
|
||||||
This is a single letter, but be prepared that additional
|
letter, but be prepared that additional information may follow
|
||||||
information may follow in some future versions.
|
in some future versions. (not used for secret keys)
|
||||||
(not used for secret keys)
|
o = Unknown (this key is new to the system)
|
||||||
|
d = The key has been disabled
|
||||||
|
r = The key has been revoked
|
||||||
|
e = The key has expired
|
||||||
|
q = Undefined (no value assigned)
|
||||||
|
n = Don't trust this key at all
|
||||||
|
m = There is marginal trust in this key
|
||||||
|
f = The key is full trusted.
|
||||||
|
u = The key is ultimately trusted; this is only used for
|
||||||
|
keys for which the secret key is also available.
|
||||||
3. Field: length of key in bits.
|
3. Field: length of key in bits.
|
||||||
4. Field: Algorithm: 1 = RSA
|
4. Field: Algorithm: 1 = RSA
|
||||||
16 = ElGamal (encrypt only)
|
16 = ElGamal (encrypt only)
|
||||||
17 = DSA (sometimes called DH, sign only)
|
17 = DSA (sometimes called DH, sign only)
|
||||||
20 = ElGamal (sign and encrypt)
|
20 = ElGamal (sign and encrypt)
|
||||||
|
(for other id's see include/cipher.h)
|
||||||
5. Field: KeyID
|
5. Field: KeyID
|
||||||
6. Field: Creation Date (in UTC)
|
6. Field: Creation Date (in UTC)
|
||||||
7. Field: Key expiration date or empty if none.
|
7. Field: Key expiration date or empty if none.
|
||||||
8. Field: Local ID: record number of the dir record in the trustdb
|
8. Field: Local ID: record number of the dir record in the trustdb.
|
||||||
this value is only valid as long as the trustdb is not
|
This value is only valid as long as the trustdb is not
|
||||||
deleted. May be later used to lookup the key: You will be
|
deleted. You can use "#<local-id> as the user id when
|
||||||
able to use "#<local-id> as the user id. This is needed
|
specifying a key. This is needed because keyids may not be
|
||||||
because keyids may not be unique - a program may use this
|
unique - a program may use this number to access keys later.
|
||||||
number to access keys later.
|
|
||||||
9. Field: Ownertrust (primary public keys only)
|
9. Field: Ownertrust (primary public keys only)
|
||||||
This is a single letter, but be prepared that additional
|
This is a single letter, but be prepared that additional
|
||||||
information may follow in some future versions.
|
information may follow in some future versions.
|
||||||
@ -158,6 +167,14 @@ more arguments in future versions.
|
|||||||
NO_SECKEY <long keyid>
|
NO_SECKEY <long keyid>
|
||||||
The key is not available
|
The key is not available
|
||||||
|
|
||||||
|
IMPORTED <long keyid> <username>
|
||||||
|
The keyid and name of the signature just imported
|
||||||
|
|
||||||
|
IMPORTED_RES <count> <no_user_id> <imported> <imported_rsa> <unchanged>
|
||||||
|
<n_uids> <n_subk> <n_sigs> <n_revoc> <sec_read> <sec_imported> <sec_dups>
|
||||||
|
Final statistics on import process (this is one long line)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Key generation
|
Key generation
|
||||||
==============
|
==============
|
||||||
@ -196,7 +213,7 @@ Layout of the TrustDB
|
|||||||
The TrustDB is built from fixed length records, where the first byte
|
The TrustDB is built from fixed length records, where the first byte
|
||||||
describes the record type. All numeric values are stored in network
|
describes the record type. All numeric values are stored in network
|
||||||
byte order. The length of each record is 40 bytes. The first record of
|
byte order. The length of each record is 40 bytes. The first record of
|
||||||
the DB is always of type 2 and this is the only record of this type.
|
the DB is always of type 1 and this is the only record of this type.
|
||||||
|
|
||||||
Record type 0:
|
Record type 0:
|
||||||
--------------
|
--------------
|
||||||
@ -541,30 +558,28 @@ Status codes are:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Ich werde jetzt doch das HKP Protokoll implementieren:
|
Documentation on HKP (the http keyserver protocol):
|
||||||
|
|
||||||
Naja, die Doku ist so gut wie nichtexistent, da gebe ich Dir recht.
|
A minimalistic HTTP server on port 11371 recognizes a GET for /pks/lookup.
|
||||||
In kurzen Worten:
|
The standard http URL encoded query parameters are this (always key=value):
|
||||||
|
|
||||||
(Minimal-)HTTP-Server auf Port 11371, versteht ein GET auf /pks/lookup,
|
- op=index (like pgp -kv), op=vindex (like pgp -kvv) and op=get (like
|
||||||
wobei die Query-Parameter (Key-Value-Paare mit = zwischen Key und
|
pgp -kxa)
|
||||||
Value; die Paare sind hinter ? und durch & getrennt). Gültige
|
|
||||||
Operationen sind:
|
|
||||||
|
|
||||||
- - op (Operation) mit den Möglichkeiten index (gleich wie -kv bei
|
- search=<stringlist>. This is a list of words that must occur in the key.
|
||||||
PGP), vindex (-kvv) und get (-kxa)
|
The words are delimited with space, points, @ and so on. The delimiters
|
||||||
- - search: Liste der Worte, die im Key vorkommen müssen. Worte sind
|
are not searched for and the order of the words doesn't matter (but see
|
||||||
mit Worttrennzeichen wie Space, Punkt, @, ... getrennt, Worttrennzeichen
|
next option).
|
||||||
werden nicht betrachtet, die Reihenfolge der Worte ist egal.
|
|
||||||
- - exact: (on=aktiv, alles andere inaktiv) Nur die Schlüssel
|
- exact=on. This switch tells the hkp server to only report exact mathing
|
||||||
zurückgeben, die auch den "search"-String beinhalten (d.h.
|
keys back. In this case the order and the "delimiters" are important.
|
||||||
Wortreihenfolge und Sonderzeichen sind wichtig)
|
|
||||||
- - fingerprint (Bei [v]index auch den Fingerprint ausgeben), "on"
|
- fingerprint=on. Also reports the fingerprints when used with 'index' or
|
||||||
für aktiv, alles andere inaktiv
|
'vindex'
|
||||||
|
|
||||||
|
New (already used by GnuPG):
|
||||||
|
|
||||||
Neu (wird von GNUPG benutzt):
|
|
||||||
/pks/lookup/<gnupg_formatierte_user_id>?op=<operation>
|
/pks/lookup/<gnupg_formatierte_user_id>?op=<operation>
|
||||||
|
|
||||||
Zusätzlich versteht der Keyserver auch ein POST auf /pks/add, womit
|
The keyserver also recognizes http-POSTs to /pks/add. Use this to upload
|
||||||
man Keys hochladen kann.
|
keys.
|
||||||
|
|
||||||
|
6
doc/FAQ
6
doc/FAQ
@ -161,7 +161,7 @@
|
|||||||
on a local computer (a disconnected laptop is probably the best choice)
|
on a local computer (a disconnected laptop is probably the best choice)
|
||||||
and if you need it on your connected box (I know: We all do this) be
|
and if you need it on your connected box (I know: We all do this) be
|
||||||
sure to have a strong password for your account and for your secret key
|
sure to have a strong password for your account and for your secret key
|
||||||
and trust your Root.
|
and that you can trust your system administrator.
|
||||||
|
|
||||||
When I check GnuPG on a remote system via ssh (I have no Alpha here ;-)
|
When I check GnuPG on a remote system via ssh (I have no Alpha here ;-)
|
||||||
I have the same problem. It takes a *very* long time to create the
|
I have the same problem. It takes a *very* long time to create the
|
||||||
@ -178,7 +178,7 @@
|
|||||||
|
|
||||||
You can see the validity (calculated trust value) using this command.
|
You can see the validity (calculated trust value) using this command.
|
||||||
|
|
||||||
gpgm --list-keys --with-colons
|
gpg --list-keys --with-colons
|
||||||
|
|
||||||
If the first field is "pub" or "uid", the second field shows you the trust:
|
If the first field is "pub" or "uid", the second field shows you the trust:
|
||||||
|
|
||||||
@ -199,7 +199,7 @@
|
|||||||
You can get a list of the assigned trust values (how much you trust
|
You can get a list of the assigned trust values (how much you trust
|
||||||
the owner to correctly sign another person's key)
|
the owner to correctly sign another person's key)
|
||||||
|
|
||||||
gpgm --list-ownertrust
|
gpg --list-ownertrust
|
||||||
|
|
||||||
The first field is the fingerprint of the primary key, the second field
|
The first field is the fingerprint of the primary key, the second field
|
||||||
is the assigned value:
|
is the assigned value:
|
||||||
|
16
doc/HACKING
16
doc/HACKING
@ -30,7 +30,10 @@ by sending a mail with subject "subscribe" to
|
|||||||
gnupg-commit-watchers-request@gnupg.org
|
gnupg-commit-watchers-request@gnupg.org
|
||||||
|
|
||||||
|
|
||||||
Please run scripts/autogen.sh to create some required files.
|
You must run scripts/autogen.sh before doing the ./configure,
|
||||||
|
as this creates some needed while which are not in the CVS.
|
||||||
|
autogen.sh should checks that you have all required tools
|
||||||
|
installed.
|
||||||
|
|
||||||
|
|
||||||
RSYNC access
|
RSYNC access
|
||||||
@ -41,6 +44,17 @@ of the CVS head revision is also available. See rsync(1) and try
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Special Tools
|
||||||
|
=============
|
||||||
|
Documention is based on the docbook DTD. Actually we have only the
|
||||||
|
man page for now. To build a man page you need the docbook-to-man
|
||||||
|
tool and all the other thinks needed for SGML processing. Debian
|
||||||
|
comes with the docbook tools and you only need this docbook-to-man
|
||||||
|
script which is comes with gtk-doc or download it from
|
||||||
|
ftp.openit.de:/pub/devel/sgml. If you don't have it everything
|
||||||
|
should still work fine but you will have only a dummy man page.
|
||||||
|
|
||||||
|
|
||||||
RFCs
|
RFCs
|
||||||
====
|
====
|
||||||
|
|
||||||
|
@ -7,17 +7,19 @@ man_MANS = gpg.1
|
|||||||
|
|
||||||
%.1 : %.sgml
|
%.1 : %.sgml
|
||||||
if HAVE_DOCBOOK_TO_MAN
|
if HAVE_DOCBOOK_TO_MAN
|
||||||
docbook-to-man $< >$@
|
docbook-to-man $< >$@
|
||||||
else
|
else
|
||||||
: Warning: missing docbook-to-man, cannot make $@
|
: Warning: missing docbook-to-man, cannot make $@
|
||||||
|
echo ".TH $< 1" >$@
|
||||||
|
echo "No man page due to missing docbook-to-man" >>$@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
%.txt : %.sgml
|
%.txt : %.sgml
|
||||||
sgml2txt -c latin $*
|
sgml2txt -c latin $*
|
||||||
|
|
||||||
%.html : %.sgml
|
%.html : %.sgml
|
||||||
sgml2html -c latin $*
|
sgml2html -c latin $*
|
||||||
|
|
||||||
%.dvi : %.sgml
|
%.dvi : %.sgml
|
||||||
-rm $*.sgml.tmp
|
-rm $*.sgml.tmp
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Wed Jul 14 19:42:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
|
|
||||||
|
* status.h (STATUS_IMPORTED): New.
|
||||||
|
* import.c (import): Print some status information (Holger Schurig).
|
||||||
|
|
||||||
|
* g10.c (main): Make --no-greeting work again. Add a warning when
|
||||||
|
--force-mds is used.
|
||||||
|
|
||||||
Tue Jul 13 17:39:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
Tue Jul 13 17:39:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
|
|
||||||
|
12
g10/g10.c
12
g10/g10.c
@ -212,7 +212,7 @@ static ARGPARSE_OPTS opts[] = {
|
|||||||
{ aImportOwnerTrust,
|
{ aImportOwnerTrust,
|
||||||
"import-ownertrust", 256 , N_("import ownertrust values")},
|
"import-ownertrust", 256 , N_("import ownertrust values")},
|
||||||
{ aUpdateTrustDB,
|
{ aUpdateTrustDB,
|
||||||
"update-trustdb",0 , N_("|[NAMES]|update the trust database")},
|
"update-trustdb",0 , N_("update the trust database")},
|
||||||
{ aCheckTrustDB,
|
{ aCheckTrustDB,
|
||||||
"check-trustdb",0 , N_("|[NAMES]|check the trust database")},
|
"check-trustdb",0 , N_("|[NAMES]|check the trust database")},
|
||||||
{ aFixTrustDB, "fix-trustdb",0 , N_("fix a corrupted trust database")},
|
{ aFixTrustDB, "fix-trustdb",0 , N_("fix a corrupted trust database")},
|
||||||
@ -526,6 +526,7 @@ main( int argc, char **argv )
|
|||||||
int default_config =1;
|
int default_config =1;
|
||||||
int default_keyring = 1;
|
int default_keyring = 1;
|
||||||
int greeting = 0;
|
int greeting = 0;
|
||||||
|
int nogreeting = 0;
|
||||||
enum cmd_and_opt_values cmd = 0;
|
enum cmd_and_opt_values cmd = 0;
|
||||||
const char *trustdb_name = NULL;
|
const char *trustdb_name = NULL;
|
||||||
char *def_cipher_string = NULL;
|
char *def_cipher_string = NULL;
|
||||||
@ -722,7 +723,7 @@ main( int argc, char **argv )
|
|||||||
break;
|
break;
|
||||||
case oNoArmor: opt.no_armor=1; opt.armor=0; break;
|
case oNoArmor: opt.no_armor=1; opt.armor=0; break;
|
||||||
case oNoDefKeyring: default_keyring = 0; break;
|
case oNoDefKeyring: default_keyring = 0; break;
|
||||||
case oNoGreeting: greeting = 0; break;
|
case oNoGreeting: nogreeting = 1; break;
|
||||||
case oNoVerbose: g10_opt_verbose = 0;
|
case oNoVerbose: g10_opt_verbose = 0;
|
||||||
opt.verbose = 0; opt.list_sigs=0; break;
|
opt.verbose = 0; opt.list_sigs=0; break;
|
||||||
case oQuickRandom: quick_random_gen(1); break;
|
case oQuickRandom: quick_random_gen(1); break;
|
||||||
@ -845,6 +846,8 @@ main( int argc, char **argv )
|
|||||||
m_free( configname ); configname = NULL;
|
m_free( configname ); configname = NULL;
|
||||||
if( log_get_errorcount(0) )
|
if( log_get_errorcount(0) )
|
||||||
g10_exit(2);
|
g10_exit(2);
|
||||||
|
if( nogreeting )
|
||||||
|
greeting = 0;
|
||||||
|
|
||||||
if( greeting ) {
|
if( greeting ) {
|
||||||
fprintf(stderr, "%s %s; %s\n",
|
fprintf(stderr, "%s %s; %s\n",
|
||||||
@ -855,6 +858,11 @@ main( int argc, char **argv )
|
|||||||
if( !opt.batch )
|
if( !opt.batch )
|
||||||
log_info("NOTE: this is a development version!\n");
|
log_info("NOTE: this is a development version!\n");
|
||||||
#endif
|
#endif
|
||||||
|
if( opt.force_mdc ) {
|
||||||
|
log_info("--force-mdc ignored because"
|
||||||
|
" the OpenPGP WG has not yet aggreed on MDCs\n");
|
||||||
|
opt.force_mdc = 0;
|
||||||
|
}
|
||||||
if( opt.batch )
|
if( opt.batch )
|
||||||
tty_batchmode( 1 );
|
tty_batchmode( 1 );
|
||||||
|
|
||||||
|
24
g10/import.c
24
g10/import.c
@ -34,6 +34,7 @@
|
|||||||
#include "trustdb.h"
|
#include "trustdb.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "i18n.h"
|
#include "i18n.h"
|
||||||
|
#include "status.h"
|
||||||
|
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
@ -199,6 +200,24 @@ import( IOBUF inp, int fast, const char* fname )
|
|||||||
log_info(_(" secret keys unchanged: %lu\n"), stats.secret_dups );
|
log_info(_(" secret keys unchanged: %lu\n"), stats.secret_dups );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( is_status_enabled() ) {
|
||||||
|
char buf[12*16];
|
||||||
|
sprintf(buf, "%lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu",
|
||||||
|
count,
|
||||||
|
stats.no_user_id,
|
||||||
|
stats.imported,
|
||||||
|
stats.imported_rsa,
|
||||||
|
stats.unchanged,
|
||||||
|
stats.n_uids,
|
||||||
|
stats.n_subk,
|
||||||
|
stats.n_sigs,
|
||||||
|
stats.n_revoc,
|
||||||
|
stats.secret_read,
|
||||||
|
stats.secret_imported,
|
||||||
|
stats.secret_dups);
|
||||||
|
write_status_text( STATUS_IMPORT_RES, buf );
|
||||||
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -385,6 +404,11 @@ import_one( const char *fname, KBNODE keyblock, int fast )
|
|||||||
/* we are ready */
|
/* we are ready */
|
||||||
if( !opt.quiet )
|
if( !opt.quiet )
|
||||||
log_info( _("key %08lX: public key imported\n"), (ulong)keyid[1]);
|
log_info( _("key %08lX: public key imported\n"), (ulong)keyid[1]);
|
||||||
|
if( is_status_enabled() ) {
|
||||||
|
char *us = get_long_user_id_string( keyid );
|
||||||
|
write_status_text( STATUS_IMPORTED, us );
|
||||||
|
m_free(us);
|
||||||
|
}
|
||||||
stats.imported++;
|
stats.imported++;
|
||||||
if( is_RSA( pk->pubkey_algo ) )
|
if( is_RSA( pk->pubkey_algo ) )
|
||||||
stats.imported_rsa++;
|
stats.imported_rsa++;
|
||||||
|
@ -115,6 +115,8 @@ write_status_text ( int no, const char *text)
|
|||||||
case STATUS_GOODMDC : s = "GOODMDC\n"; break;
|
case STATUS_GOODMDC : s = "GOODMDC\n"; break;
|
||||||
case STATUS_BADMDC : s = "BADMDC\n"; break;
|
case STATUS_BADMDC : s = "BADMDC\n"; break;
|
||||||
case STATUS_ERRMDC : s = "ERRMDC\n"; break;
|
case STATUS_ERRMDC : s = "ERRMDC\n"; break;
|
||||||
|
case STATUS_IMPORTED : s = "IMPORTED\n"; break;
|
||||||
|
case STATUS_IMPORT_RES : s = "IMPORT_RES\n"; break;
|
||||||
default: s = "?\n"; break;
|
default: s = "?\n"; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,6 +63,9 @@
|
|||||||
#define STATUS_GOODMDC 33
|
#define STATUS_GOODMDC 33
|
||||||
#define STATUS_BADMDC 34
|
#define STATUS_BADMDC 34
|
||||||
#define STATUS_ERRMDC 35
|
#define STATUS_ERRMDC 35
|
||||||
|
#define STATUS_IMPORTED 36
|
||||||
|
#define STATUS_IMPORT_RES 37
|
||||||
|
|
||||||
|
|
||||||
/*-- status.c --*/
|
/*-- status.c --*/
|
||||||
void set_status_fd ( int fd );
|
void set_status_fd ( int fd );
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
Wed Jul 14 19:42:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
|
|
||||||
|
* Makefile.am: Use .s files as temporaries, disabled other .S rules.
|
||||||
|
|
||||||
Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/include
|
INCLUDES = -I$(top_srcdir)/include
|
||||||
CFLAGS = @CFLAGS@ @MPI_OPT_FLAGS@
|
CFLAGS = @CFLAGS@ @MPI_OPT_FLAGS@
|
||||||
SFLAGS = @MPI_SFLAGS@
|
SFLAGS = @MPI_SFLAGS@
|
||||||
@ -7,7 +8,8 @@ SFLAGS = @MPI_SFLAGS@
|
|||||||
EXTRA_DIST = config.links
|
EXTRA_DIST = config.links
|
||||||
DISTCLEANFILES = mpih-add1.S mpih-mul1.S mpih-mul2.S mpih-mul3.S \
|
DISTCLEANFILES = mpih-add1.S mpih-mul1.S mpih-mul2.S mpih-mul3.S \
|
||||||
mpih-lshift.S mpih-rshift.S mpih-sub1.S asm-syntax.h sysdep.h
|
mpih-lshift.S mpih-rshift.S mpih-sub1.S asm-syntax.h sysdep.h
|
||||||
CLEANFILES = tmp-*.s
|
# Note: we only use .S files so we should delete all left over .s
|
||||||
|
CLEANFILES = *.s
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libmpi.la
|
noinst_LTLIBRARIES = libmpi.la
|
||||||
|
|
||||||
@ -46,20 +48,13 @@ common_asm_objects = mpih-mul1.lo \
|
|||||||
libmpi_la_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@
|
libmpi_la_DEPENDENCIES = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@
|
||||||
libmpi_la_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@
|
libmpi_la_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@
|
||||||
|
|
||||||
SUFFIXES = .S
|
# cancel the default rules used by libtool which do not really
|
||||||
|
# work and add one to cpp .S files
|
||||||
.S.o:
|
.S.o:
|
||||||
$(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >tmp-$*.s
|
|
||||||
$(CC) $(CFLAGS) $(SFLAGS) -c tmp-$*.s
|
|
||||||
mv tmp-$*.o $@
|
|
||||||
rm -f tmp-$*.s
|
|
||||||
|
|
||||||
.S.lo:
|
.S.lo:
|
||||||
$(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >tmp-$*.s
|
|
||||||
if test -f tmp-$*.lo; then rm tmp-$*.lo; fi
|
.S.s:
|
||||||
if test -f tmp-$*.o ; then rm tmp-$*.o ; fi
|
$(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >$*.s
|
||||||
$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(SFLAGS) -c tmp-$*.s
|
|
||||||
if test -f tmp-$*.lo; then mv tmp-$*.lo $*.lo; fi
|
|
||||||
if test -f tmp-$*.o ; then mv tmp-$*.o $*.o ; fi
|
|
||||||
rm -f tmp-$*.s
|
|
||||||
|
|
||||||
|
721
po/es_ES.po
721
po/es_ES.po
File diff suppressed because it is too large
Load Diff
725
po/pt_BR.po
725
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,8 @@
|
|||||||
|
Wed Jul 14 19:42:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
|
|
||||||
|
* ltmain.sh, ltconfig.sh : Updated to libtool 1.3.3
|
||||||
|
|
||||||
Mon Jul 12 14:55:34 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
Mon Jul 12 14:55:34 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# lspgpot - script to extract the ownertrust values
|
# lspgpot - script to extract the ownertrust values
|
||||||
# from a PGP keyrings and list them in GnuPG ownertrust format.
|
# from PGP keyrings and list them in GnuPG ownertrust format.
|
||||||
|
|
||||||
../g10/gpg --dry-run --with-fingerprint --with-colons $* | awk '
|
../g10/gpg --dry-run --with-fingerprint --with-colons $* | awk '
|
||||||
BEGIN { FS=":"
|
BEGIN { FS=":"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* strgutil.c - miscellaneous utilities
|
/* strgutil.c - string utilities
|
||||||
* Copyright (C) 1998 Free Software Foundation, Inc.
|
* Copyright (C) 1998 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GnuPG.
|
* This file is part of GnuPG.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user