* options.h, g10.c (main), mainproc.c (proc_encrypted): --ignore-mdc-error
[gnupg.git] / g10 / options.h
1 /* options.h
2  * Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
3  *
4  * This file is part of GnuPG.
5  *
6  * GnuPG is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * GnuPG is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19  */
20 #ifndef G10_OPTIONS_H
21 #define G10_OPTIONS_H
22
23 #include <types.h>
24 #include "main.h"
25 #include "packet.h"
26
27 #undef ENABLE_COMMENT_PACKETS  /* don't create comment packets */
28
29 #ifndef EXTERN_UNLESS_MAIN_MODULE
30 /* Norcraft can't cope with common symbols */
31  #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
32   #define EXTERN_UNLESS_MAIN_MODULE extern
33  #else
34   #define EXTERN_UNLESS_MAIN_MODULE 
35  #endif
36 #endif
37
38 EXTERN_UNLESS_MAIN_MODULE
39 struct {
40     int verbose;
41     int quiet;
42     unsigned debug;
43     int armor;
44     int compress;
45     char *outfile;
46     int dry_run;
47     int list_only;
48     int textmode;
49     int expert;
50     int ask_sig_expire;
51     int ask_cert_expire;
52     int batch;      /* run in batch mode */
53     int answer_yes; /* answer yes on most questions */
54     int answer_no;  /* answer no on most questions */
55     int check_sigs; /* check key signatures */
56     int with_colons;
57     int with_key_data;
58     int with_fingerprint; /* opt --with-fingerprint active */
59     int fingerprint; /* list fingerprints */
60     int list_sigs;   /* list signatures */
61     int no_armor;
62     int list_packets; /* list-packets mode: 1=normal, 2=invoked by command*/
63     int def_cipher_algo;
64     int force_v3_sigs;
65     int force_v4_certs;
66     int force_mdc;
67     int disable_mdc;
68     int def_digest_algo;
69     int cert_digest_algo;
70     int def_compress_algo;
71     const char *def_secret_key;
72     char *def_recipient;
73     int def_recipient_self;
74     int def_cert_check_level;
75     int sk_comments;
76     int no_version;
77     int marginals_needed;
78     int completes_needed;
79     int max_cert_depth;
80     const char *homedir;
81
82     char *display;      /* 5 options to be passed to the gpg-agent */
83     char *ttyname;     
84     char *ttytype;
85     char *lc_ctype;
86     char *lc_messages;
87
88     int skip_verify;
89     int compress_keys;
90     int compress_sigs;
91     int always_trust;
92     int pgp2;
93     int pgp6;
94     int pgp7; /* if we get any more of these, it's time to look at a
95                  special emulate_pgp variable... */
96     int rfc1991;
97     int rfc2440;
98     int pgp2_workarounds;
99     unsigned int emulate_bugs; /* bug emulation flags EMUBUG_xxxx */
100     int shm_coprocess;
101     const char *set_filename;
102     const char *comment_string;
103     int throw_keyid;
104     int show_photos;
105     const char *photo_viewer;
106     int s2k_mode;
107     int s2k_digest_algo;
108     int s2k_cipher_algo;
109     int simple_sk_checksum; /* create the deprecated rfc2440 secret
110                                key protection*/
111     int not_dash_escaped;
112     int escape_from;
113     int lock_once;
114     char *keyserver_uri;
115     char *keyserver_scheme;
116     char *keyserver_host;
117     char *keyserver_port;
118     char *keyserver_opaque;
119     struct
120     {
121       int verbose;
122       int include_revoked;
123       int include_disabled;
124       int include_subkeys;
125       int honor_http_proxy;
126       int broken_http_proxy;
127       int use_temp_files;
128       int keep_temp_files;
129       int fake_v3_keyids;
130       int auto_key_retrieve;
131       unsigned int import_options;
132       unsigned int export_options;
133       STRLIST other;
134     } keyserver_options;
135     int exec_disable;
136     int exec_path_set;
137     unsigned int import_options;
138     unsigned int export_options;
139     char *def_preference_list;
140     prefitem_t *personal_cipher_prefs,
141                *personal_digest_prefs,
142                *personal_compress_prefs;
143     int no_perm_warn;
144     int no_mdc_warn;
145     char *temp_dir;
146     int no_encrypt_to;
147     int interactive;
148     STRLIST sig_notation_data;
149     STRLIST cert_notation_data;
150     int show_notation;
151     STRLIST sig_policy_url;
152     STRLIST cert_policy_url;
153     int show_policy_url;
154     int use_embedded_filename;
155     int allow_non_selfsigned_uid;
156     int allow_freeform_uid;
157     int no_literal;
158     ulong set_filesize;
159     int fast_list_mode;
160     int fixed_list_mode;
161     int ignore_time_conflict;
162     int ignore_valid_from;
163     int ignore_crc_error;
164     int ignore_mdc_error;
165     int command_fd;
166     const char *override_session_key;
167     int show_session_key;
168     int use_agent;
169     const char *gpg_agent_info;
170     int merge_only;
171     int try_all_secrets;
172     int no_expensive_trust_checks;
173     int no_sig_cache;
174     int no_sig_create_check;
175     int no_auto_check_trustdb;
176     int preserve_permissions;
177     int no_homedir_creation;
178     int show_keyring;
179     struct groupitem *grouplist;
180 } opt;
181
182
183 #define EMUBUG_GPGCHKSUM  1
184 #define EMUBUG_3DESS2K    2
185 #define EMUBUG_MDENCODE   4
186
187 #define DBG_PACKET_VALUE  1     /* debug packet reading/writing */
188 #define DBG_MPI_VALUE     2     /* debug mpi details */
189 #define DBG_CIPHER_VALUE  4     /* debug cipher handling */
190                                 /* (may reveal sensitive data) */
191 #define DBG_FILTER_VALUE  8     /* debug internal filter handling */
192 #define DBG_IOBUF_VALUE   16    /* debug iobuf stuff */
193 #define DBG_MEMORY_VALUE  32    /* debug memory allocation stuff */
194 #define DBG_CACHE_VALUE   64    /* debug the cacheing */
195 #define DBG_MEMSTAT_VALUE 128   /* show memory statistics */
196 #define DBG_TRUST_VALUE   256   /* debug the trustdb */
197 #define DBG_HASHING_VALUE 512   /* debug hashing operations */
198 #define DBG_EXTPROG_VALUE 1024  /* debug external program calls */
199
200
201 #define DBG_PACKET (opt.debug & DBG_PACKET_VALUE)
202 #define DBG_FILTER (opt.debug & DBG_FILTER_VALUE)
203 #define DBG_CACHE  (opt.debug & DBG_CACHE_VALUE)
204 #define DBG_TRUST  (opt.debug & DBG_TRUST_VALUE)
205 #define DBG_HASHING (opt.debug & DBG_HASHING_VALUE)
206 #define DBG_EXTPROG (opt.debug & DBG_EXTPROG_VALUE)
207
208
209 #endif /*G10_OPTIONS_H*/