--- pgp/src/pgp.h 2018/04/24 16:40:42 1.1.1.5 +++ pgp/src/pgp.h 2018/04/24 16:45:09 1.1.1.9 @@ -30,9 +30,8 @@ #endif #endif -#ifdef ATARI +#ifdef __PUREC__ #define sizeof(x) (int)sizeof(x) -#define fread(a,b,c,d) ((int)fread(a,b,c,d)) #endif /* @@ -51,7 +50,8 @@ #define is_ctb_type(ctb,type) (((ctb) & CTB_TYPE_MASK)==(4*type)) #define CTB_BYTE(type,llen) (CTB_DESIGNATOR + (4*type) + llen) -#define CTB_PKE_TYPE 1 /* packet encrypted with RSA public key */ +#define CTB_PKE_TYPE 1 /* packet encrypted with RSA public + key */ #define CTB_SKE_TYPE 2 /* packet signed with RSA secret key */ #define CTB_MD_TYPE 3 /* message digest packet */ #define CTB_CERT_SECKEY_TYPE 5 /* secret key certificate */ @@ -76,7 +76,8 @@ #define CTB_MD CTB_BYTE(CTB_MD_TYPE,0) /* CTB_MD len8 algorithm MD timestamp */ #define CTB_CERT_SECKEY CTB_BYTE(CTB_CERT_SECKEY_TYPE,1) - /* CTB_CERT_SECKEY len16 timestamp userID mpi(n) mpi(e) mpi(d) mpi(p) mpi(q) mpi(u) crc16 */ + /* CTB_CERT_SECKEY len16 timestamp userID mpi(n) mpi(e) mpi(d) + mpi(p) mpi(q) mpi(u) crc16 */ #define CTB_CERT_PUBKEY CTB_BYTE(CTB_CERT_PUBKEY_TYPE,1) /* CTB_CERT_PUBKEY len16 timestamp userID mpi(n) mpi(e) crc16 */ @@ -114,14 +115,16 @@ #define K3_SIGNATURE_BYTE 0x13 /* Key certification, positive ID */ #define KC_SIGNATURE_BYTE 0x20 /* Key compromise */ #define KR_SIGNATURE_BYTE 0x30 /* Key revocation */ -#define TS_SIGNATURE_BYTE 0x40 /* Timestamp someone else's signature */ +#define TS_SIGNATURE_BYTE 0x40 /* Timestamp someone else's + signature */ /* Public key encrypted data classification bytes. */ #define MD_ENCRYPTED_BYTE 1 /* Message digest is encrypted */ #define CK_ENCRYPTED_BYTE 2 /* Conventional key is encrypted */ /* Version byte for data structures created by this version of PGP */ -#define VERSION_BYTE 2 /* PGP2 */ +#define VERSION_BYTE_OLD 2 /* PGP2 */ +#define VERSION_BYTE_NEW 3 /* Values for trust bits in keycntrl packet after key packet */ #define KC_OWNERTRUST_MASK 0x07 /* Trust bits for key owner */ @@ -162,27 +165,15 @@ #define MAX_KEYCERT_LENGTH (1+2+1+4+2+1 +(2*MPILEN) +1+8 +(4*MPILEN) +2) /* Modes for CTB_LITERAL2 packet */ +#ifdef EBCDIC +#define MODE_BINARY 0x62 +#define MODE_TEXT 0x74 +#define MODE_LOCAL 0x6c +#else #define MODE_BINARY 'b' #define MODE_TEXT 't' #define MODE_LOCAL 'l' - -/* Define CANONICAL_TEXT for any system which normally uses CRLF's - for text separators */ -#ifdef MSDOS -#define CANONICAL_TEXT -#endif /* MSDOS */ - -/* Prototype for the 'more' function, which blorts a file to the screen with - page breaks, intelligent handling of line terminators, truncation of - overly long lines, and zapping of illegal chars. Implemented in MORE.C */ - -int more_file(char *fileName); - -/* Prototypes for the transport armor routines */ - -boolean is_armor_file(char *infile, long startline); -int armor_file(char *infile, char *outfile, char *filename, char *clearname); -int de_armor_file(char *infile, char *outfile, long *curline); +#endif void user_error(void); @@ -206,8 +197,10 @@ extern boolean moreflag; extern FILE *pgpout; /* FILE structure for routine output */ /* Variables settable by config.pgp and referenced in config.c ... */ -extern char language[]; /* foreign language prefix code for language.pgp file */ +extern char language[]; /* foreign language prefix code for language.pgp + file */ extern char charset[]; +extern char charset_header[]; /* my_name is substring of default userid for secret key to make signatures */ extern char my_name[]; extern char floppyring[]; /* for comparing secret keys with backup on floppy */ @@ -216,23 +209,27 @@ extern boolean emit_radix_64; extern boolean showpass; extern boolean keepctx; extern boolean verbose; /* display maximum information */ -extern boolean compress_enabled; /* attempt compression before encryption */ +extern boolean compress_enabled; /* attempt compression before encryption */ extern boolean clear_signatures; extern boolean encrypt_to_self; /* Should I encrypt to myself? */ +extern boolean sign_new_userids; extern boolean batchmode; /* for batch processing */ extern boolean quietmode; /* less verbose */ extern boolean force_flag; /* overwrite existing file without asking */ -extern boolean pkcs_compat; /* Use PKCS format messages */ /* Ask for each key separately if it should be added to the keyring */ extern boolean interactive_add; extern long timeshift; /* seconds from GMT timezone */ extern boolean signature_checked; +extern int checksig_pass; extern int pem_lines; extern int marg_min; /* number of marginally trusted signatures needed to make a key fully-legit */ extern int compl_min; /* number of fully trusted signatures needed */ extern int max_cert_depth; extern char pager[]; /* file lister command */ +extern int version_byte; +extern boolean nomanual; +extern int makerandom; /* Fill in file with this many random bytes */ /* These lists store hashed passwords for future use. */ /* passwds are passwords of as-yet-unknown purpose; keypasswds @@ -244,6 +241,7 @@ struct hashedpw { extern struct hashedpw *keypasswds, *passwds; extern boolean strip_spaces; +extern boolean use_charset_header; #ifdef VMS /*