* packet.h, main.h, sig-check.c (signature_check2, check_key_signature2,
[gnupg.git] / g10 / options.h
index 74cebe5..7413ffb 100644 (file)
@@ -1,5 +1,6 @@
 /* options.h
- * Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ * Copyright (C) 1998, 1999, 2000, 2001, 2002,
+ *               2003 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
 
 #ifndef EXTERN_UNLESS_MAIN_MODULE
 /* Norcraft can't cope with common symbols */
- #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
-  #define EXTERN_UNLESS_MAIN_MODULE extern
- #else
-  #define EXTERN_UNLESS_MAIN_MODULE 
- #endif
+#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+#define EXTERN_UNLESS_MAIN_MODULE extern
+#else
+#define EXTERN_UNLESS_MAIN_MODULE 
+#endif
 #endif
 
 EXTERN_UNLESS_MAIN_MODULE
@@ -88,20 +89,20 @@ struct {
     int skip_verify;
     int compress_keys;
     int compress_sigs;
-    int always_trust;
-    int pgp2;
-    int pgp6;
-    int pgp7; /* if we get any more of these, it's time to look at a
-                special emulate_pgp variable... */
-    int rfc1991;
-    int rfc2440;
+    /* TM_CLASSIC must be zero to accomodate trustdbs generated before
+       we started storing the trust model inside the trustdb. */
+    enum {TM_CLASSIC=0, TM_PGP=1, TM_ALWAYS, TM_AUTO} trust_model;
+    unsigned int force_ownertrust;
+    enum
+      {
+       CO_GNUPG=0, CO_RFC2440, CO_RFC1991, CO_PGP2, CO_PGP6, CO_PGP7, CO_PGP8
+      } compliance;
     int pgp2_workarounds;
     unsigned int emulate_bugs; /* bug emulation flags EMUBUG_xxxx */
     int shm_coprocess;
     const char *set_filename;
     const char *comment_string;
     int throw_keyid;
-    int show_photos;
     const char *photo_viewer;
     int s2k_mode;
     int s2k_digest_algo;
@@ -111,9 +112,11 @@ struct {
     int not_dash_escaped;
     int escape_from;
     int lock_once;
+    char *keyserver_uri;
     char *keyserver_scheme;
     char *keyserver_host;
     char *keyserver_port;
+    char *keyserver_opaque;
     struct
     {
       int verbose;
@@ -126,23 +129,30 @@ struct {
       int keep_temp_files;
       int fake_v3_keyids;
       int auto_key_retrieve;
+      int try_dns_srv;
+      unsigned int import_options;
+      unsigned int export_options;
       STRLIST other;
     } keyserver_options;
     int exec_disable;
+    int exec_path_set;
+    unsigned int import_options;
+    unsigned int export_options;
+    unsigned int list_options;
+    unsigned int verify_options;
     char *def_preference_list;
-    prefitem_t *personal_cipher_prefs,
-               *personal_digest_prefs,
-               *personal_compress_prefs;
+    prefitem_t *personal_cipher_prefs;
+    prefitem_t *personal_digest_prefs;
+    prefitem_t *personal_compress_prefs;
     int no_perm_warn;
+    int no_mdc_warn;
     char *temp_dir;
     int no_encrypt_to;
     int interactive;
     STRLIST sig_notation_data;
     STRLIST cert_notation_data;
-    int show_notation;
     STRLIST sig_policy_url;
     STRLIST cert_policy_url;
-    int show_policy_url;
     int use_embedded_filename;
     int allow_non_selfsigned_uid;
     int allow_freeform_uid;
@@ -153,6 +163,7 @@ struct {
     int ignore_time_conflict;
     int ignore_valid_from;
     int ignore_crc_error;
+    int ignore_mdc_error;
     int command_fd;
     const char *override_session_key;
     int show_session_key;
@@ -166,13 +177,13 @@ struct {
     int no_auto_check_trustdb;
     int preserve_permissions;
     int no_homedir_creation;
-    int show_keyring;
     struct groupitem *grouplist;
+    int strict;
+    int mangle_dos_filenames; 
+    int enable_progress_filter;
 } opt;
 
 
-#define EMUBUG_GPGCHKSUM  1
-#define EMUBUG_3DESS2K   2
 #define EMUBUG_MDENCODE   4
 
 #define DBG_PACKET_VALUE  1    /* debug packet reading/writing */
@@ -196,5 +207,36 @@ struct {
 #define DBG_HASHING (opt.debug & DBG_HASHING_VALUE)
 #define DBG_EXTPROG (opt.debug & DBG_EXTPROG_VALUE)
 
+#define GNUPG   (opt.compliance==CO_GNUPG)
+#define RFC1991 (opt.compliance==CO_RFC1991 || opt.compliance==CO_PGP2)
+#define RFC2440 (opt.compliance==CO_RFC2440)
+#define PGP2    (opt.compliance==CO_PGP2)
+#define PGP6    (opt.compliance==CO_PGP6)
+#define PGP7    (opt.compliance==CO_PGP7)
+#define PGP8    (opt.compliance==CO_PGP8)
+
+/* Various option flags */
+
+#define IMPORT_ALLOW_LOCAL_SIGS      1
+#define IMPORT_REPAIR_PKS_SUBKEY_BUG 2
+#define IMPORT_FAST_IMPORT           4
+#define IMPORT_SK2PK                 8
+
+#define EXPORT_INCLUDE_NON_RFC           1
+#define EXPORT_INCLUDE_LOCAL_SIGS        2
+#define EXPORT_INCLUDE_ATTRIBUTES        4
+#define EXPORT_INCLUDE_SENSITIVE_REVKEYS 8
+
+#define LIST_SHOW_PHOTOS      1
+#define LIST_SHOW_POLICY      2
+#define LIST_SHOW_NOTATION    4
+#define LIST_SHOW_KEYRING     8
+#define LIST_SHOW_VALIDITY   16
+#define LIST_SHOW_LONG_KEYID 32
+
+#define VERIFY_SHOW_PHOTOS    1
+#define VERIFY_SHOW_POLICY    2
+#define VERIFY_SHOW_NOTATION  4
+#define VERIFY_SHOW_KEYSERVER 8
 
 #endif /*G10_OPTIONS_H*/