Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

* Catching up to 2440bis-10/11.

        - 'u' for Literal Data
        - embedded signature
        - Primary Key Binding Signature
* Bug fix for plain_Secret_Key().
* Fixing Symmetrically_Encrypted_Data_Packet() and Secret_Key_Packet()
  especially for IDEA.
  • Loading branch information...
commit 792ad8964d9d7a580a956c7876ec9fe1c80dcf46 1 parent 96e36c3
@kazu-yamamoto authored
View
10 CHANGES
@@ -1,5 +1,15 @@
Change Log
+0.23 2004/10/27
+
+* Catching up to 2440bis-10/11.
+ - 'u' for Literal Data
+ - embedded signature
+ - Primary Key Binding Signature
+* Bug fix for plain_Secret_Key().
+* Fixing Symmetrically_Encrypted_Data_Packet() and Secret_Key_Packet()
+ especially for IDEA.
+
0.22 2004/01/23
* parse_subpacket() are split into parse_signature_subpacket() and
View
7 Makefile.in
@@ -3,14 +3,15 @@ exec_prefix = @exec_prefix@
bindir = @bindir@
mandir = @mandir@/man1
LIBS = @LIBS@
+CFLAGS = @CFLAGS@ -O
+LDFLAGS = @LDFLAGS@
-CFLAGS = -O
RM = rm -f
INSTALL = install -c -m
INCS = pgpdump.h
SRCS = pgpdump.c types.c tagfuncs.c packet.c subfunc.c signature.c keys.c \
- buffer.c uatfunc.c
+ buffer.c uatfunc.c
OBJS = pgpdump.o types.o tagfuncs.o packet.o subfunc.o signature.o keys.o \
buffer.o uatfunc.o
PROG = pgpdump
@@ -26,7 +27,7 @@ MKF = Makefile
all: $(PROG)
$(PROG): $(OBJS)
- $(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LIBS)
+ $(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LIBS) $(LDFLAGS)
clean:
$(RM) $(OBJS) $(PROG)
View
23 buffer.c
@@ -3,11 +3,12 @@
*/
#include <ctype.h>
+#include <strings.h>
#include "pgpdump.h"
-typedef unsigned char byte;
+typedef char * cast_t;
-private int line_not_blank(char *);
+private int line_not_blank(byte *);
private int read_binary(byte *, unsigned int);
private int read_radix64(byte *, unsigned int);
private int decode_radix64(byte *, unsigned int);
@@ -66,7 +67,7 @@ base256[] = {
};
private int
-line_not_blank(char *s)
+line_not_blank(byte *s)
{
while (isspace(*s)) {
if (*s == CR || *s == LF)
@@ -96,17 +97,17 @@ read_radix64(byte *p, unsigned int max)
again:
do {
- if (fgets((char *) tmpbuf, BUFSIZ, stdin) == NULL)
+ if (fgets((cast_t)tmpbuf, BUFSIZ, stdin) == NULL)
warn_exit("can't find PGP armor boundary.");
- } while (strncmp("-----BEGIN PGP", (char *) tmpbuf, 14) != 0);
+ } while (strncmp("-----BEGIN PGP", (cast_t)tmpbuf, 14) != 0);
- if (strncmp("-----BEGIN PGP SIGNED", (char *) tmpbuf, 21) == 0)
+ if (strncmp("-----BEGIN PGP SIGNED", (cast_t)tmpbuf, 21) == 0)
goto again;
do {
- if (fgets((char *) tmpbuf, BUFSIZ, stdin) == NULL)
+ if (fgets((cast_t)tmpbuf, BUFSIZ, stdin) == NULL)
warn_exit("can't find PGP armor.");
- } while (line_not_blank((char *) tmpbuf) == YES);
+ } while (line_not_blank(tmpbuf) == YES);
found = YES;
}
@@ -254,13 +255,13 @@ inflate_bzip2(byte *p, unsigned int max)
if (done == YES) return 0;
- bz.next_out = (char *)p;
+ bz.next_out = (cast_t)p;
bz.avail_out = max;
while (bz.avail_out != 0) {
if (bz.avail_in == 0) {
size = (*d_func2)(d_buf2, sizeof(d_buf2));
- bz.next_in = (char *)d_buf2;
+ bz.next_in = (cast_t)d_buf2;
bz.avail_in = size;
}
@@ -411,7 +412,7 @@ Compressed_Data_Packet(int len)
z.avail_out = sizeof(d_buf2);
#endif /* HAVE_LIBZ */
#ifdef HAVE_LIBBZ2
- bz.next_in = (char *)d_buf2;
+ bz.next_in = (cast_t)d_buf2;
bz.avail_in = AVAIL_COUNT;
bz.next_out = 0;
bz.avail_out = sizeof(d_buf2);
View
2  data/enc.res
@@ -8,4 +8,4 @@ New: Public-Key Encrypted Session Key Packet(tag 1)(526 bytes)
ElGamal m * y^k mod p(2048 bits) - ...
-> m = sym alg(1 byte) + checksum(2 bytes) + PKCS-1 block type 02
New: Symmetrically Encrypted Data Packet(tag 9)(56 bytes)
- Encrypted data [sym alg is encrypted in the pub session key above]
+ Encrypted data [sym alg is specified in pub-key encrypted session key]
View
2  data/enc1.res
@@ -6,4 +6,4 @@ New: Symmetric-Key Encrypted Session Key Packet(tag 3)(4 bytes)
Simple string-to-key(s2k 0):
Hash alg - MD5(hash 1)
New: Symmetrically Encrypted Data Packet(tag 9)(56 bytes)
- Encrypted data [sym alg is CAST5(sym 3)]
+ Encrypted data [sym alg is specified in sym-key encrypted session key]
View
2  data/enc2.res
@@ -8,4 +8,4 @@ New: Public-Key Encrypted Session Key Packet(tag 1)(525 bytes)
ElGamal m * y^k mod p(2048 bits) - ...
-> m = sym alg(1 byte) + checksum(2 bytes) + PKCS-1 block type 02
New: Symmetrically Encrypted Data Packet(tag 9)(56 bytes)
- Encrypted data [sym alg is encrypted in the pub session key above]
+ Encrypted data [sym alg is specified in pub-key encrypted session key]
View
2  data/enc3.res
@@ -12,4 +12,4 @@ Old: Public-Key Encrypted Session Key Packet(tag 1)(526 bytes)
ElGamal m * y^k mod p(2047 bits) - ...
-> m = sym alg(1 byte) + checksum(2 bytes) + PKCS-1 block type 02
Old: Symmetrically Encrypted Data Packet(tag 9)(26 bytes)
- Encrypted data [sym alg is encrypted in the pub session key above]
+ Encrypted data [sym alg is specified in pub-key encrypted session key]
View
2  data/gpg3.res
@@ -5,4 +5,4 @@ Old: Symmetric-Key Encrypted Session Key Packet(tag 3)(12 bytes)
Hash alg - RIPEMD160(hash 3)
Salt - ab 2b b0 87 b4 1d 43 48
New: Symmetrically Encrypted Data Packet(tag 9)(62 bytes)
- Encrypted data [sym alg is Blowfish(sym 4)]
+ Encrypted data [sym alg is specified in sym-key encrypted session key]
View
13 keys.c
@@ -129,6 +129,7 @@ Secret_Key_Packet(int len)
default:
sym = s2k;
sym_algs(sym);
+ printf("\tSimple string-to-key for IDEA\n");
IV(iv_len(sym));
encrypted_Secret_Key(len - Getc_getlen(), NO);
break;
@@ -142,10 +143,11 @@ plain_Secret_Key(int len)
case 2:
case 3:
/* PUBLIC should be 1. */
- multi_precision_integer("Encrypted RSA d");
- multi_precision_integer("Encrypted RSA p");
- multi_precision_integer("Encrypted RSA q");
- multi_precision_integer("Encrypted RSA u");
+ /* Tested by specifying a null passphrase. */
+ multi_precision_integer("RSA d");
+ multi_precision_integer("RSA p");
+ multi_precision_integer("RSA q");
+ multi_precision_integer("RSA u");
printf("\tChecksum - ");
dump(2);
printf("\n");
@@ -190,7 +192,7 @@ encrypted_Secret_Key(int len, int sha1)
case 2:
case 3:
/* PUBLIC should be 1.
- MPI prefix count is not encrypted. */
+ Printable since an MPI prefix count is not encrypted. */
multi_precision_integer("Encrypted RSA d");
multi_precision_integer("Encrypted RSA p");
multi_precision_integer("Encrypted RSA q");
@@ -233,7 +235,6 @@ encrypted_Secret_Key(int len, int sha1)
}
}
-
/*
* Copyright (C) 1998 Kazuhiko Yamamoto
* All rights reserved.
View
18 packet.c
@@ -21,7 +21,7 @@ private int is_partial(int);
#define CRITICAL_BIT 0x80
#define CRITICAL_MASK 0x7f
-private char *
+private string
TAG[] = {
"Reserved",
"Public-Key Encrypted Session Key Packet",
@@ -88,7 +88,7 @@ TAG[] = {
"Private",
"Private",
};
-#define TAG_NUM (sizeof(TAG) * sizeof(char *))
+#define TAG_NUM (sizeof(TAG) * sizeof(string))
private void
(*tag_func[])() = {
@@ -159,7 +159,7 @@ private void
Private_Packet,
};
-private char *
+private string
SIGSUB[] = {
"unknown(sub 0)",
"unknown(sub 1)",
@@ -193,8 +193,9 @@ SIGSUB[] = {
"reason for revocation(sub 29)",
"features(sub 30)",
"signature target(sub 31)",
+ "embedded signature(sub 32",
};
-#define SIGSUB_NUM (sizeof(SIGSUB) / sizeof(char *))
+#define SIGSUB_NUM (sizeof(SIGSUB) / sizeof(string))
private funcptr
sigsub_func[] = {
@@ -230,14 +231,15 @@ sigsub_func[] = {
reason_for_revocation,
features,
signature_target,
+ embedded_signature,
};
-private char *
+private string
UATSUB[] = {
"unknown(sub 0)",
"image attribute(sub 1)",
};
-#define UATSUB_NUM (sizeof(UATSUB) / sizeof(char *))
+#define UATSUB_NUM (sizeof(UATSUB) / sizeof(string))
private funcptr
uatsub_func[] = {
@@ -369,7 +371,7 @@ parse_packet(void)
}
public void
-parse_signature_subpacket(char *prefix, int tlen)
+parse_signature_subpacket(string prefix, int tlen)
{
int len, subtype, critical;
@@ -411,7 +413,7 @@ parse_signature_subpacket(char *prefix, int tlen)
}
public void
-parse_userattr_subpacket(char *prefix, int tlen)
+parse_userattr_subpacket(string prefix, int tlen)
{
int len, subtype;
View
38 pgpdump.c
@@ -6,6 +6,7 @@
#include <stdarg.h>
int aflag;
+int dflag;
int gflag;
int iflag;
int lflag;
@@ -13,16 +14,16 @@ int mflag;
int pflag;
int uflag;
-private char *pgpdump_version = "0.22, Copyright (C) 1998-2004 Kazu Yamamoto";
-private char *prog;
+private string pgpdump_version = "0.23, Copyright (C) 1998-2004 Kazu Yamamoto";
+private string prog;
-private char *getprog(void);
-private void setprog(char *);
+private string getprog(void);
+private void setprog(string);
private void usage(void);
private void version(void);
-private char *
+private string
getprog() {
return prog;
}
@@ -36,7 +37,7 @@ int __riscosify_control = __RISCOSIFY_NO_PROCESS;
#endif /* HAVE_UNIXLIB_LOCAL_H */
private void
-setprog(char *p) {
+setprog(string p) {
if ((prog = strrchr(p, PATH_SEPC)) == NULL)
prog = p;
else
@@ -46,7 +47,7 @@ setprog(char *p) {
private void
usage(void)
{
- char *prog = getprog();
+ string prog = getprog();
fprintf(stderr, "%s -h|-v\n", prog);
fprintf(stderr, "%s [-agilmpu] [PGPfile]\n", prog);
fprintf(stderr, "\t -h -- displays this help\n");
@@ -62,7 +63,7 @@ usage(void)
}
public void
-warning(const char *fmt, ...)
+warning(const string fmt, ...)
{
va_list ap;
@@ -75,7 +76,7 @@ warning(const char *fmt, ...)
}
public void
-warn_exit(const char *fmt, ...)
+warn_exit(const string fmt, ...)
{
va_list ap;
@@ -97,7 +98,7 @@ version(void)
}
int
-main(int argc, char *argv[])
+main(int argc, string argv[])
{
int c;
aflag = 0;
@@ -146,7 +147,7 @@ main(int argc, char *argv[])
argv += optind;
if (argc > 0) {
- char *target = argv[0];
+ string target = argv[0];
if (freopen(target, "rb", stdin) == NULL)
warn_exit("can't open %s.", target);
}
@@ -155,14 +156,16 @@ main(int argc, char *argv[])
exit(EXIT_SUCCESS);
}
-public void skip(int len)
+public void
+skip(int len)
{
int i;
for (i = 0; i < len; i++)
Getc();
}
-public void dump(int len)
+public void
+dump(int len)
{
if (gflag)
gdump(len);
@@ -173,7 +176,8 @@ public void dump(int len)
}
}
-public void pdump(int len)
+public void
+pdump(int len)
{
if (gflag)
gdump(len);
@@ -184,7 +188,8 @@ public void pdump(int len)
}
}
-public void kdump(int len)
+public void
+kdump(int len)
{
int i;
printf("0x");
@@ -192,7 +197,8 @@ public void kdump(int len)
printf("%02X", Getc());
}
-public void gdump(int len) /* mixed dump (like gnupg) */
+public void
+gdump(int len) /* mixed dump (like gnupg) */
{
int i;
for (i = 0; i < len; i++) {
View
24 pgpdump.h
@@ -18,6 +18,9 @@
#define public extern
#define private static
+typedef char * string;
+typedef unsigned char byte;
+
#define YES 1
#define NO 0
@@ -39,8 +42,8 @@ public int uflag;
* pgpdump.c
*/
-public void warning(const char *, ...);
-public void warn_exit(const char *, ...);
+public void warning(const string, ...);
+public void warn_exit(const string, ...);
public void skip(int);
public void dump(int);
public void pdump(int);
@@ -66,8 +69,8 @@ public void Getc_resetlen(void);
*/
public void parse_packet(void);
-public void parse_signature_subpacket(char *, int);
-public void parse_userattr_subpacket(char *, int);
+public void parse_signature_subpacket(string, int);
+public void parse_userattr_subpacket(string, int);
/*
* types.c
@@ -81,14 +84,14 @@ public void comp_algs(unsigned int);
public void hash_algs(unsigned int);
public void key_id(void);
public void fingerprint(void);
-public void time4(char *);
-public void sig_creation_time4(char *);
-public void sig_expiration_time4(char *);
-public void key_creation_time4(char *);
-public void key_expiration_time4(char *);
+public void time4(string);
+public void sig_creation_time4(string);
+public void sig_expiration_time4(string);
+public void key_creation_time4(string);
+public void key_expiration_time4(string);
public void ver(int, int, int);
public void string_to_key(void);
-public void multi_precision_integer(char *);
+public void multi_precision_integer(string);
/*
* tagfunc.c
@@ -149,6 +152,7 @@ public void signer_user_id(int);
public void reason_for_revocation(int);
public void features(int);
public void signature_target(int);
+public void embedded_signature(int);
/*
* uatfunc.c
View
3  signature.c
@@ -74,6 +74,9 @@ signature_type(int type)
case 0x18:
printf("Subkey Binding Signature(0x18).");
break;
+ case 0x19:
+ printf("Primary Key Binding Signature(0x19).");
+ break;
case 0x1f:
printf("Signature directly on a key(0x1f).");
break;
View
6 subfunc.c
@@ -326,6 +326,12 @@ signature_target(int len)
skip(len - 2);
}
+public void
+embedded_signature(int len)
+{
+ Signature_Packet(len);
+}
+
/*
* Copyright (C) 1998 Kazuhiko Yamamoto
* All rights reserved.
View
75 tagfuncs.c
@@ -4,31 +4,31 @@
#include "pgpdump.h"
-#define SYM_ALG_DEFAULT 1
-#define SYM_ALG_SYM_ENC -1
-#define SYM_ALG_PUB_ENC -2
+#define SYM_ALG_MODE_NOT_SPECIFIED 1
+#define SYM_ALG_MODE_SYM_ENC 2
+#define SYM_ALG_MODE_PUB_ENC 3
-private int sym_alg = SYM_ALG_DEFAULT;
-private void reset_sym_alg();
-private void set_sym_alg(int);
-private int get_sym_alg();
+private int sym_alg_mode = SYM_ALG_MODE_NOT_SPECIFIED;
+private void reset_sym_alg_mode();
+private void set_sym_alg_mode(int);
+private int get_sym_alg_mode();
private void
-reset_sym_alg()
+reset_sym_alg_mode()
{
- sym_alg = SYM_ALG_DEFAULT;
+ sym_alg_mode = SYM_ALG_MODE_NOT_SPECIFIED;
}
private void
-set_sym_alg(int alg)
+set_sym_alg_mode(int mode)
{
- sym_alg = alg;
+ sym_alg_mode = mode;
}
private int
-get_sym_alg()
+get_sym_alg_mode()
{
- return sym_alg;
+ return sym_alg_mode;
}
public void
@@ -65,7 +65,7 @@ Public_Key_Encrypted_Session_Key_Packet(int len)
skip(len - 10);
}
printf("\t\t-> m = sym alg(1 byte) + checksum(2 bytes) + PKCS-1 block type 02\n");
- set_sym_alg(SYM_ALG_PUB_ENC);
+ set_sym_alg_mode(SYM_ALG_MODE_PUB_ENC);
}
public void
@@ -75,7 +75,6 @@ Symmetric_Key_Encrypted_Session_Key_Packet(int len)
ver(NULL_VER, 4, Getc());
alg = Getc();
sym_algs(alg);
- set_sym_alg(alg);
left -= 2;
Getc_resetlen();
string_to_key();
@@ -84,28 +83,27 @@ Symmetric_Key_Encrypted_Session_Key_Packet(int len)
printf("\tEncrypted session key\n");
printf("\t\t-> sym alg(1 bytes) + session key\n");
skip(left);
- set_sym_alg(SYM_ALG_SYM_ENC);
}
+ set_sym_alg_mode(SYM_ALG_MODE_SYM_ENC);
}
public void
Symmetrically_Encrypted_Data_Packet(int len)
{
- int alg = get_sym_alg();
- switch (alg) {
- case SYM_ALG_SYM_ENC:
- printf("\tEncrypted data [sym alg is encrypted in the sym session key above]\n");
+ int mode = get_sym_alg_mode();
+ switch (mode) {
+ case SYM_ALG_MODE_NOT_SPECIFIED:
+ printf("\tEncrypted data [sym alg is IDEA, simple string-to-key]\n");
break;
- case SYM_ALG_PUB_ENC:
- printf("\tEncrypted data [sym alg is encrypted in the pub session key above]\n");
+ case SYM_ALG_MODE_SYM_ENC:
+ printf("\tEncrypted data [sym alg is specified in sym-key encrypted session key]\n");
+ break;
+ case SYM_ALG_MODE_PUB_ENC:
+ printf("\tEncrypted data [sym alg is specified in pub-key encrypted session key]\n");
break;
- default:
- printf("\tEncrypted data [sym alg is ");
- sym_algs2(alg);
- printf("]\n");
}
skip(len);
- reset_sym_alg();
+ reset_sym_alg_mode();
}
public void
@@ -133,7 +131,10 @@ Literal_Data_Packet(int len)
printf("binary");
break;
case 't':
- printf("text");
+ printf("text");
+ break;
+ case 'u':
+ printf("UTF-8 text");
break;
case 'l':
/* RFC 1991 incorrectly define this as '1' */
@@ -184,23 +185,19 @@ User_Attribute_Packet(int len)
public void
Symmetrically_Encrypted_and_MDC_Packet(int len)
{
- int alg = get_sym_alg();
+ int mode = get_sym_alg_mode();
printf("\tVer %d\n", Getc());
- switch (alg) {
- case SYM_ALG_SYM_ENC:
- printf("\tEncrypted data [sym alg is encrypted in the sym session key above]\n");
+ switch (mode) {
+ case SYM_ALG_MODE_SYM_ENC:
+ printf("\tEncrypted data [sym alg is specified in sym-key encrypted session key]\n");
break;
- case SYM_ALG_PUB_ENC:
- printf("\tEncrypted data [sym alg is encrypted in the pub session key above]\n");
+ case SYM_ALG_MODE_PUB_ENC:
+ printf("\tEncrypted data [sym alg is specified in pub-key encrypted session key]\n");
break;
- default:
- printf("\tEncrypted data [sym alg is ");
- sym_algs2(alg);
- printf("]\n");
}
printf("\t\t(plain text + MDC SHA1(20 bytes))\n");
skip(len - 1);
- reset_sym_alg();
+ reset_sym_alg_mode();
}
/* this function is not used because this packet appears only
View
41 types.c
@@ -19,20 +19,20 @@
# define tm_zone(tm) (tm->tm_zone)
#elif HAVE_TZNAME
# define tm_zone(tm) (tzname[tm->tm_isdst])
-#elif __MINGW32__ /* xxx For MINGW32 */
+#elif __MINGW32__
# define tm_zone(tm) (tzname[tm->tm_isdst])
#else
# ifndef tzname /* For SGI. */
- extern char *tzname[]; /* RS6000 and others reject char **tzname. */
+ extern string tzname[]; /* RS6000 and others reject char **tzname. */
# endif
# define tm_zone(tm) (tzname[tm->tm_isdst])
#endif
-private void time4_base(char *, time_t *);
+private void time4_base(string, time_t *);
private time_t key_creation_time = 0;
private time_t sig_creation_time = 0;
-private char *
+private string
PUB_ALGS[] = {
"unknown(pub 0)",
"RSA Encrypt or Sign(pub 1)",
@@ -57,7 +57,7 @@ PUB_ALGS[] = {
"ElGamal Encrypt or Sign (pub 20)",
"Reserved for Diffie-Hellman (pub 21)",
};
-#define PUB_ALGS_NUM (sizeof(PUB_ALGS) / sizeof(char *))
+#define PUB_ALGS_NUM (sizeof(PUB_ALGS) / sizeof(string))
public void
pub_algs(unsigned int type)
@@ -70,7 +70,7 @@ pub_algs(unsigned int type)
printf("\n");
}
-private char *
+private string
SYM_ALGS[] = {
"Plaintext or unencrypted data(sym 0)",
"IDEA(sym 1)",
@@ -84,16 +84,13 @@ SYM_ALGS[] = {
"AES with 256-bit key(sym 9)",
"Twofish with 256-bit key(sym 10)",
};
-#define SYM_ALGS_NUM (sizeof(SYM_ALGS) / sizeof(char *))
+#define SYM_ALGS_NUM (sizeof(SYM_ALGS) / sizeof(string))
public void
sym_algs(unsigned int type)
{
printf("\tSym alg - ");
- if (type < SYM_ALGS_NUM)
- printf(SYM_ALGS[type]);
- else
- printf("unknown(sym %d)", type);
+ sym_algs2(type);
printf("\n");
}
@@ -130,14 +127,14 @@ iv_len(unsigned int type)
return 0;
}
-private char *
+private string
COMP_ALGS[] = {
"Uncompressed(comp 0)",
"ZIP <RFC1951>(comp 1)",
"ZLIB <RFC1950>(comp 2)",
"BZip2(comp 3)",
};
-#define COMP_ALGS_NUM (sizeof(COMP_ALGS) / sizeof(char *))
+#define COMP_ALGS_NUM (sizeof(COMP_ALGS) / sizeof(string))
public void
comp_algs(unsigned int type)
@@ -150,7 +147,7 @@ comp_algs(unsigned int type)
printf("\n");
}
-private char *
+private string
HASH_ALGS[] = {
"unknown(hash 0)",
"MD5(hash 1)",
@@ -164,7 +161,7 @@ HASH_ALGS[] = {
"SHA384(hash 9)",
"SHA512(hash 10)",
};
-#define HASH_ALGS_NUM (sizeof(HASH_ALGS) / sizeof(char *))
+#define HASH_ALGS_NUM (sizeof(HASH_ALGS) / sizeof(string))
public void
hash_algs(unsigned int type)
@@ -194,7 +191,7 @@ fingerprint(void)
}
private void
-time4_base(char *str, time_t *pt)
+time4_base(string str, time_t *pt)
{
struct tm* ptm;
char* pat;
@@ -218,7 +215,7 @@ time4_base(char *str, time_t *pt)
}
public void
-time4(char *str)
+time4(string str)
{
int i;
time_t t = 0;
@@ -230,7 +227,7 @@ time4(char *str)
}
public void
-sig_creation_time4(char *str)
+sig_creation_time4(string str)
{
int i;
time_t t = 0;
@@ -244,7 +241,7 @@ sig_creation_time4(char *str)
}
public void
-sig_expiration_time4(char *str)
+sig_expiration_time4(string str)
{
int i;
time_t t = 0;
@@ -258,7 +255,7 @@ sig_expiration_time4(char *str)
}
public void
-key_creation_time4(char *str)
+key_creation_time4(string str)
{
int i;
time_t t = 0;
@@ -272,7 +269,7 @@ key_creation_time4(char *str)
}
public void
-key_expiration_time4(char *str)
+key_expiration_time4(string str)
{
int i;
time_t t = 0;
@@ -338,7 +335,7 @@ string_to_key(void)
}
public void
-multi_precision_integer(char *str)
+multi_precision_integer(string str)
{
int bytes;
int bits = Getc() * 256;
Please sign in to comment.
Something went wrong with that request. Please try again.