aboutsummaryrefslogtreecommitdiffstats
path: root/g10/gpg.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/gpg.c')
-rw-r--r--g10/gpg.c42
1 files changed, 30 insertions, 12 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index bba486aea..82745fa18 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -207,6 +207,7 @@ enum cmd_and_opt_values
oWithV5Fingerprint,
oWithFingerprint,
oWithSubkeyFingerprint,
+ oWithoutSubkeyFingerprint,
oWithICAOSpelling,
oWithKeygrip,
oWithKeyScreening,
@@ -355,6 +356,7 @@ enum cmd_and_opt_values
oAllowSecretKeyImport,
oAllowOldCipherAlgos,
oEnableSpecialFilenames,
+ oDisableFdTranslation,
oNoLiteral,
oSetFilesize,
oHonorHttpProxy,
@@ -454,6 +456,7 @@ enum cmd_and_opt_values
oAssertSigner,
oAssertPubkeyAlgo,
oKbxBufferSize,
+ oRequirePQCEncryption,
oNoop
};
@@ -825,6 +828,7 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_n (oWithFingerprint, "with-fingerprint", "@"),
ARGPARSE_s_n (oWithSubkeyFingerprint, "with-subkey-fingerprint", "@"),
ARGPARSE_s_n (oWithSubkeyFingerprint, "with-subkey-fingerprints", "@"),
+ ARGPARSE_s_n (oWithoutSubkeyFingerprint, "without-subkey-fingerprint", "@"),
ARGPARSE_s_n (oWithICAOSpelling, "with-icao-spelling", "@"),
ARGPARSE_s_n (oWithKeygrip, "with-keygrip", "@"),
ARGPARSE_s_n (oWithKeyScreening,"with-key-screening", "@"),
@@ -882,7 +886,6 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_n (oAllowOldCipherAlgos, "allow-old-cipher-algos", "@"),
ARGPARSE_s_s (oWeakDigest, "weak-digest","@"),
ARGPARSE_s_s (oVerifyOptions, "verify-options", "@"),
- ARGPARSE_s_n (oEnableSpecialFilenames, "enable-special-filenames", "@"),
ARGPARSE_s_n (oNoRandomSeedFile, "no-random-seed-file", "@"),
ARGPARSE_s_n (oNoSigCache, "no-sig-cache", "@"),
ARGPARSE_s_n (oIgnoreTimeConflict, "ignore-time-conflict", "@"),
@@ -894,7 +897,7 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_s (oCipherAlgo, "cipher-algo", "@"),
ARGPARSE_s_s (oDigestAlgo, "digest-algo", "@"),
ARGPARSE_s_s (oCertDigestAlgo, "cert-digest-algo", "@"),
-
+ ARGPARSE_s_n (oRequirePQCEncryption, "require-pqc-encryption", "@"),
ARGPARSE_header (NULL, N_("Options for unattended use")),
@@ -914,6 +917,8 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_i (oPassphraseRepeat,"passphrase-repeat", "@"),
ARGPARSE_s_s (oPinentryMode, "pinentry-mode", "@"),
ARGPARSE_s_n (oForceSignKey, "force-sign-key", "@"),
+ ARGPARSE_s_n (oEnableSpecialFilenames, "enable-special-filenames", "@"),
+ ARGPARSE_s_n (oDisableFdTranslation, "disable-fd-translation", "@"),
ARGPARSE_header (NULL, N_("Other options")),
@@ -1033,6 +1038,8 @@ static struct debug_flags_s debug_flags [] =
/* The list of compatibility flags. */
static struct compatibility_flags_s compatibility_flags [] =
{
+ { COMPAT_PARALLELIZED, "parallelized" },
+ { COMPAT_T7014_OLD, "t7014-old" },
{ 0, NULL }
};
@@ -1087,10 +1094,6 @@ static void read_sessionkey_from_fd (int fd);
-/* NPth wrapper function definitions. */
-ASSUAN_SYSTEM_NPTH_IMPL;
-
-
static char *
make_libversion (const char *libname, const char *(*getfnc)(const char*))
{
@@ -2091,6 +2094,8 @@ parse_list_options(char *str)
NULL},
{"show-user-notations",LIST_SHOW_USER_NOTATIONS,NULL,
N_("show user-supplied notations during signature listings")},
+ {"show-x509-notations",LIST_SHOW_X509_NOTATIONS,NULL, NULL },
+ {"store-x509-notations",LIST_STORE_X509_NOTATIONS,NULL, NULL },
{"show-keyserver-urls",LIST_SHOW_KEYSERVER_URLS,NULL,
N_("show preferred keyserver URLs during signature listings")},
{"show-uid-validity",LIST_SHOW_UID_VALIDITY,NULL,
@@ -2505,6 +2510,7 @@ main (int argc, char **argv)
opt.passphrase_repeat = 1;
opt.emit_version = 0;
opt.weak_digests = NULL;
+ opt.with_subkey_fingerprint = 1;
opt.compliance = CO_GNUPG;
/* Check special options given on the command line. */
@@ -2912,6 +2918,9 @@ main (int argc, char **argv)
case oWithSubkeyFingerprint:
opt.with_subkey_fingerprint = 1;
break;
+ case oWithoutSubkeyFingerprint:
+ opt.with_subkey_fingerprint = 0;
+ break;
case oWithICAOSpelling:
opt.with_icao_spelling = 1;
break;
@@ -3063,6 +3072,9 @@ main (int argc, char **argv)
break;
case oMinRSALength: opt.min_rsa_length = pargs.r.ret_ulong; break;
+ case oRequirePQCEncryption:
+ opt.flags.require_pqc_encryption = 1;
+ break;
case oRFC2440Text: opt.rfc2440_text=1; break;
case oNoRFC2440Text: opt.rfc2440_text=0; break;
@@ -3569,6 +3581,10 @@ main (int argc, char **argv)
enable_special_filenames ();
break;
+ case oDisableFdTranslation:
+ disable_translate_sys2libc_fd ();
+ break;
+
case oNoExpensiveTrustChecks: opt.no_expensive_trust_checks=1; break;
case oAutoCheckTrustDB: opt.no_auto_check_trustdb=0; break;
case oNoAutoCheckTrustDB: opt.no_auto_check_trustdb=1; break;
@@ -3907,8 +3923,8 @@ main (int argc, char **argv)
/* Init threading which is used by some helper functions. */
npth_init ();
- assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH);
gpgrt_set_syscall_clamp (npth_unprotect, npth_protect);
+ assuan_control (ASSUAN_CONTROL_REINIT_SYSCALL_CLAMP, NULL);
if (logfile)
{
@@ -4453,7 +4469,8 @@ main (int argc, char **argv)
{
if( argc > 1 )
wrong_args("--encrypt [filename]");
- if( (rc = encrypt_crypt (ctrl, -1, fname, remusr, 0, NULL, -1)) )
+ if ((rc = encrypt_crypt (ctrl, GNUPG_INVALID_FD, fname, remusr,
+ 0, NULL, GNUPG_INVALID_FD)))
{
write_status_failure ("encrypt", rc);
log_error("%s: encryption failed: %s\n",
@@ -4478,7 +4495,8 @@ main (int argc, char **argv)
gnupg_compliance_option_string (opt.compliance));
else
{
- if( (rc = encrypt_crypt (ctrl, -1, fname, remusr, 1, NULL, -1)) )
+ if ((rc = encrypt_crypt (ctrl, GNUPG_INVALID_FD, fname, remusr,
+ 1, NULL, GNUPG_INVALID_FD)))
{
write_status_failure ("encrypt", rc);
log_error ("%s: encryption failed: %s\n",
@@ -5676,13 +5694,13 @@ print_mds( const char *fname, int algo )
}
else
{
- fp = es_fopen (fname, "rb" );
- if (fp && is_secured_file (es_fileno (fp)))
+ if (is_secured_filename (fname))
{
- es_fclose (fp);
fp = NULL;
gpg_err_set_errno (EPERM);
}
+ else
+ fp = es_fopen (fname, "rb" );
}
if (!fp)
{