aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2004-12-22 17:55:28 +0000
committerWerner Koch <[email protected]>2004-12-22 17:55:28 +0000
commitde6f6d2015cc02833d10b06f6507a97a89fceed6 (patch)
tree4d4b90358257c265a8b15e7f8f2ff6f56cdcf5ae
parent* gnupg.texi: Reordered. (diff)
downloadgnupg-de6f6d2015cc02833d10b06f6507a97a89fceed6.tar.gz
gnupg-de6f6d2015cc02833d10b06f6507a97a89fceed6.zip
(set_binary): New.
(main, open_read, open_fwrite): Use it.
-rw-r--r--ChangeLog4
-rw-r--r--NEWS6
-rw-r--r--configure.ac4
-rw-r--r--sm/ChangeLog5
-rw-r--r--sm/gpgsm.c40
5 files changed, 51 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 1ca430c63..ac2784365 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-12-22 Werner Koch <[email protected]>
+
+ Released 1.9.14.
+
2004-12-20 Werner Koch <[email protected]>
* configure.ac: Add PATHSEP_C and PATHSEP_S. For W32 let all
diff --git a/NEWS b/NEWS
index 525fdbe72..2b43e6dd1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,11 +1,13 @@
-Noteworthy changes in version 1.9.14
+Noteworthy changes in version 1.9.14 (2004-12-22)
-------------------------------------------------
* [gpg-agent] New option --use-standard-socket to allow the use of a
fixed socket. gpgsm falls back to this socket if GPG_AGENT_INFO
has not been set.
- * Ported to MS Windows.
+ * Ported to MS Windows with some functional limitations.
+
+ * New tool gpg-preset-passphrase.
Noteworthy changes in version 1.9.13 (2004-12-03)
diff --git a/configure.ac b/configure.ac
index 7eb3a6b71..54a1372bd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,11 +20,11 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.52)
-min_automake_version="1.7.9"
+min_automake_version="1.9.3"
# Version number: Remember to change it immediately *after* a release.
# Add a "-cvs" prefix for non-released code.
-AC_INIT(gnupg, 1.9.14-cvs, [email protected])
+AC_INIT(gnupg, 1.9.14, [email protected])
# Set development_version to yes if the minor number is odd or you
# feel that the default check for a development version is not
# sufficient.
diff --git a/sm/ChangeLog b/sm/ChangeLog
index 7a16cb570..df1670082 100644
--- a/sm/ChangeLog
+++ b/sm/ChangeLog
@@ -1,3 +1,8 @@
+2004-12-22 Werner Koch <[email protected]>
+
+ * gpgsm.c (set_binary): New.
+ (main, open_read, open_fwrite): Use it.
+
2004-12-21 Werner Koch <[email protected]>
* gpgsm.c (main): Use default_homedir().
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index 074027bf2..ff404dc69 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -39,6 +39,11 @@
#include "keydb.h"
#include "sysutils.h"
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
enum cmd_and_opt_values {
aNull = 0,
oArmor = 'a',
@@ -562,6 +567,17 @@ build_list (const char *text, const char * (*mapf)(int), int (*chkf)(int))
}
+/* Set the file pointer into binary mode if required. */
+static void
+set_binary (FILE *fp)
+{
+#ifdef HAVE_DOSISH_SYSTEM
+ setmode (fileno (fp), O_BINARY);
+#endif
+}
+
+
+
static void
i18n_init(void)
{
@@ -758,7 +774,7 @@ main ( int argc, char **argv)
opt.homedir = default_homedir ();
#ifdef HAVE_W32_SYSTEM
- opt.no_crl_checks = 1;
+ opt.no_crl_check = 1;
#endif
/* First check whether we have a config file on the commandline */
@@ -1374,6 +1390,8 @@ main ( int argc, char **argv)
break;
case aEncr: /* encrypt the given file */
+ set_binary (stdin);
+ set_binary (stdout);
if (!argc)
gpgsm_encrypt (&ctrl, recplist, 0, stdout); /* from stdin */
else if (argc == 1)
@@ -1386,6 +1404,8 @@ main ( int argc, char **argv)
/* FIXME: We don't handle --output yet. We should also allow
to concatenate multiple files for signing because that is
what gpg does.*/
+ set_binary (stdin);
+ set_binary (stdout);
if (!argc)
gpgsm_sign (&ctrl, signerlist,
0, detached_sig, stdout); /* create from stdin */
@@ -1408,6 +1428,7 @@ main ( int argc, char **argv)
{
FILE *fp = NULL;
+ set_binary (stdin);
if (argc == 2 && opt.outfile)
log_info ("option --output ignored for a detached signature\n");
else if (opt.outfile)
@@ -1432,6 +1453,8 @@ main ( int argc, char **argv)
break;
case aDecrypt:
+ set_binary (stdin);
+ set_binary (stdout);
if (!argc)
gpgsm_decrypt (&ctrl, 0, stdout); /* from stdin */
else if (argc == 1)
@@ -1502,6 +1525,7 @@ main ( int argc, char **argv)
break;
case aExport:
+ set_binary (stdout);
for (sl=NULL; argc; argc--, argv++)
add_to_strlist (&sl, *argv);
gpgsm_export (&ctrl, sl, stdout);
@@ -1509,6 +1533,7 @@ main ( int argc, char **argv)
break;
case aExportSecretKeyP12:
+ set_binary (stdout);
if (argc == 1)
gpgsm_p12_export (&ctrl, *argv, stdout);
else
@@ -1644,11 +1669,14 @@ open_read (const char *filename)
int fd;
if (filename[0] == '-' && !filename[1])
- return 0; /* stdin */
+ {
+ set_binary (stdin);
+ return 0; /* stdin */
+ }
fd = check_special_filename (filename);
if (fd != -1)
return fd;
- fd = open (filename, O_RDONLY);
+ fd = open (filename, O_RDONLY | O_BINARY);
if (fd == -1)
{
log_error (_("can't open `%s': %s\n"), filename, strerror (errno));
@@ -1668,7 +1696,10 @@ open_fwrite (const char *filename)
FILE *fp;
if (filename[0] == '-' && !filename[1])
- return stdout;
+ {
+ set_binary (stdout);
+ return stdout;
+ }
fd = check_special_filename (filename);
if (fd != -1)
@@ -1679,6 +1710,7 @@ open_fwrite (const char *filename)
log_error ("fdopen(%d) failed: %s\n", fd, strerror (errno));
gpgsm_exit (2);
}
+ set_binary (fp);
return fp;
}
fp = fopen (filename, "wb");