mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-10 13:04:23 +01:00
Allow to enter an alternate filename
This commit is contained in:
parent
ec742b7f58
commit
424f5d6d93
1
THANKS
1
THANKS
@ -138,6 +138,7 @@ Sam Roberts sam@cogent.ca
|
|||||||
Sean MacLennan seanm@netwinder.org
|
Sean MacLennan seanm@netwinder.org
|
||||||
Serge Munhoven munhoven@mema.ucl.ac.be
|
Serge Munhoven munhoven@mema.ucl.ac.be
|
||||||
SL Baur steve@xemacs.org
|
SL Baur steve@xemacs.org
|
||||||
|
Stefan Bellon sbellon@sbellon.de
|
||||||
Stefan Karrmann S.Karrmann@gmx.net
|
Stefan Karrmann S.Karrmann@gmx.net
|
||||||
Stefan Keller dres@cs.tu-berlin.de
|
Stefan Keller dres@cs.tu-berlin.de
|
||||||
Steffen Ullrich ccrlphr@xensei.com
|
Steffen Ullrich ccrlphr@xensei.com
|
||||||
|
16
TODO
16
TODO
@ -7,8 +7,6 @@
|
|||||||
* check whether we can remove all the expire stuff in trustdb because this
|
* check whether we can remove all the expire stuff in trustdb because this
|
||||||
is now done in getkey.
|
is now done in getkey.
|
||||||
|
|
||||||
* ask for alternate filename?
|
|
||||||
|
|
||||||
* Can we output things like the preferences?
|
* Can we output things like the preferences?
|
||||||
|
|
||||||
* We need another special packet at the end of a clearsign message to mark
|
* We need another special packet at the end of a clearsign message to mark
|
||||||
@ -49,10 +47,6 @@
|
|||||||
|
|
||||||
Scheduled for 1.1
|
Scheduled for 1.1
|
||||||
-----------------
|
-----------------
|
||||||
* David C Niemi pointed out that the code for --no-default-keyring does not
|
|
||||||
work as expected, because in g10/g10.c sec_nring will be set in the option
|
|
||||||
switch but later checked to see whether there are any keyrings.
|
|
||||||
|
|
||||||
* export by user-IDs does only export the first matching name which leads
|
* export by user-IDs does only export the first matching name which leads
|
||||||
to a problem in cases where there are 2 keys with identically user-IDs.
|
to a problem in cases where there are 2 keys with identically user-IDs.
|
||||||
|
|
||||||
@ -61,8 +55,6 @@ Scheduled for 1.1
|
|||||||
|
|
||||||
* Speed up calculation of key validation.
|
* Speed up calculation of key validation.
|
||||||
|
|
||||||
* print a warning when a revoked/expired _secret_ key is used.
|
|
||||||
|
|
||||||
* --disable-asm should still assemble _udiv_qrnnd when needed
|
* --disable-asm should still assemble _udiv_qrnnd when needed
|
||||||
|
|
||||||
* Skip RO keyrings when importing a key.
|
* Skip RO keyrings when importing a key.
|
||||||
@ -88,9 +80,6 @@ Nice to have
|
|||||||
test program. Use it with the test suite?
|
test program. Use it with the test suite?
|
||||||
* add test cases for invalid data (scrambled armor or other random data)
|
* add test cases for invalid data (scrambled armor or other random data)
|
||||||
* add checking of armor trailers
|
* add checking of armor trailers
|
||||||
* Burn the buffers used by fopen(), or use read(2). Does this
|
|
||||||
really make sense? And while we are at it: implement a secure deletion
|
|
||||||
stuff?
|
|
||||||
* the pubkey encrypt functions should do some sanity checks.
|
* the pubkey encrypt functions should do some sanity checks.
|
||||||
* dynload: implement the hint stuff.
|
* dynload: implement the hint stuff.
|
||||||
* "gpg filename.tar.gz.asc" should work like --verify (-sab).
|
* "gpg filename.tar.gz.asc" should work like --verify (-sab).
|
||||||
@ -98,8 +87,7 @@ Nice to have
|
|||||||
verification status of the message to the output (i.e. write something to
|
verification status of the message to the output (i.e. write something to
|
||||||
the --output file and not only to stderr.
|
the --output file and not only to stderr.
|
||||||
* configure option where to find zlib
|
* configure option where to find zlib
|
||||||
* Display more validity information about the user IDs at certain places.
|
|
||||||
We need a more general function to extract such kind of info from the
|
|
||||||
trustdb.
|
|
||||||
* Evaluate whether it make sense to replace the namehashs either by
|
* Evaluate whether it make sense to replace the namehashs either by
|
||||||
using the user ID directly or by using pointers into the trustdb.
|
using the user ID directly or by using pointers into the trustdb.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2001-03-29 Werner Koch <wk@gnupg.org>
|
||||||
|
|
||||||
|
* openfile.c (ask_outfile_name): Trim spaces.
|
||||||
|
(open_outfile): Allow to enter an alternate filename. Thanks to
|
||||||
|
Stefan Bellon.
|
||||||
|
* plaintext.c (handle_plaintext): Ditto.
|
||||||
|
|
||||||
2001-03-28 Werner Koch <wk@gnupg.org>
|
2001-03-28 Werner Koch <wk@gnupg.org>
|
||||||
|
|
||||||
* mainproc.c (do_check_sig): Allow direct key and subkey
|
* mainproc.c (do_check_sig): Allow direct key and subkey
|
||||||
|
@ -155,6 +155,8 @@ ask_outfile_name( const char *name, size_t namelen )
|
|||||||
fname = defname; defname = NULL;
|
fname = defname; defname = NULL;
|
||||||
}
|
}
|
||||||
m_free(defname);
|
m_free(defname);
|
||||||
|
if (fname)
|
||||||
|
trim_spaces (fname);
|
||||||
return fname;
|
return fname;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,7 +223,19 @@ open_outfile( const char *iname, int mode, IOBUF *a )
|
|||||||
name = buf;
|
name = buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( overwrite_filep( name ) ) {
|
rc = 0;
|
||||||
|
while( !overwrite_filep (name) ) {
|
||||||
|
char *tmp = ask_outfile_name (NULL, 0);
|
||||||
|
if ( !tmp || !*tmp ) {
|
||||||
|
m_free (tmp);
|
||||||
|
rc = G10ERR_FILE_EXISTS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
m_free (buf);
|
||||||
|
name = buf = tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( !rc ) {
|
||||||
if( !(*a = iobuf_create( name )) ) {
|
if( !(*a = iobuf_create( name )) ) {
|
||||||
log_error(_("%s: can't create: %s\n"), name, strerror(errno) );
|
log_error(_("%s: can't create: %s\n"), name, strerror(errno) );
|
||||||
rc = G10ERR_CREATE_FILE;
|
rc = G10ERR_CREATE_FILE;
|
||||||
@ -229,8 +243,6 @@ open_outfile( const char *iname, int mode, IOBUF *a )
|
|||||||
else if( opt.verbose )
|
else if( opt.verbose )
|
||||||
log_info(_("writing to `%s'\n"), name );
|
log_info(_("writing to `%s'\n"), name );
|
||||||
}
|
}
|
||||||
else
|
|
||||||
rc = G10ERR_FILE_EXISTS;
|
|
||||||
m_free(buf);
|
m_free(buf);
|
||||||
}
|
}
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -89,9 +89,17 @@ handle_plaintext( PKT_plaintext *pt, md_filter_context_t *mfx,
|
|||||||
setmode ( fileno(fp) , O_BINARY );
|
setmode ( fileno(fp) , O_BINARY );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else if( !overwrite_filep( fname ) ) {
|
else {
|
||||||
rc = G10ERR_CREATE_FILE;
|
while( !overwrite_filep (fname) ) {
|
||||||
goto leave;
|
char *tmp = ask_outfile_name (NULL, 0);
|
||||||
|
if ( !tmp || !*tmp ) {
|
||||||
|
m_free (tmp);
|
||||||
|
rc = G10ERR_CREATE_FILE;
|
||||||
|
goto leave;
|
||||||
|
}
|
||||||
|
m_free (fname);
|
||||||
|
fname = tmp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( fp || nooutput )
|
if( fp || nooutput )
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2001-03-29 Werner Koch <wk@gnupg.org>
|
||||||
|
|
||||||
|
* miscutil.c (answer_is_yes): An empty string does now return no.
|
||||||
|
(answer_is_yes_no_quit): Likewise.
|
||||||
|
|
||||||
|
* iobuf.c (iobuf_close): Burn the buffers.
|
||||||
|
|
||||||
2001-03-26 Werner Koch <wk@gnupg.org>
|
2001-03-26 Werner Koch <wk@gnupg.org>
|
||||||
|
|
||||||
* ttyio.c: Define TERMDEVICE depending on OS.
|
* ttyio.c: Define TERMDEVICE depending on OS.
|
||||||
|
@ -905,7 +905,10 @@ iobuf_close ( IOBUF a )
|
|||||||
a->chain, NULL, &dummy_len)) )
|
a->chain, NULL, &dummy_len)) )
|
||||||
log_error("IOBUFCTRL_FREE failed on close: %s\n", g10_errstr(rc) );
|
log_error("IOBUFCTRL_FREE failed on close: %s\n", g10_errstr(rc) );
|
||||||
m_free(a->real_fname);
|
m_free(a->real_fname);
|
||||||
m_free(a->d.buf);
|
if (a->d.buf) {
|
||||||
|
memset (a->d.buf, 0, a->d.size); /* erase the buffer */
|
||||||
|
m_free(a->d.buf);
|
||||||
|
}
|
||||||
m_free(a);
|
m_free(a);
|
||||||
}
|
}
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -281,17 +281,17 @@ answer_is_yes( const char *s )
|
|||||||
|
|
||||||
if( !stricmp(s, long_yes ) )
|
if( !stricmp(s, long_yes ) )
|
||||||
return 1;
|
return 1;
|
||||||
if( strchr( short_yes, *s ) && !s[1] )
|
if( *s && strchr( short_yes, *s ) && !s[1] )
|
||||||
return 1;
|
return 1;
|
||||||
/* test for no strings to catch ambiguities for the next test */
|
/* test for no strings to catch ambiguities for the next test */
|
||||||
if( !stricmp(s, long_no ) )
|
if( !stricmp(s, long_no ) )
|
||||||
return 0;
|
return 0;
|
||||||
if( strchr( short_no, *s ) && !s[1] )
|
if( *s && strchr( short_no, *s ) && !s[1] )
|
||||||
return 0;
|
return 0;
|
||||||
/* test for the english version (for those who are used to type yes) */
|
/* test for the english version (for those who are used to type yes) */
|
||||||
if( !stricmp(s, "yes" ) )
|
if( !stricmp(s, "yes" ) )
|
||||||
return 1;
|
return 1;
|
||||||
if( strchr( "yY", *s ) && !s[1] )
|
if( *s && strchr( "yY", *s ) && !s[1] )
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -316,19 +316,19 @@ answer_is_yes_no_quit( const char *s )
|
|||||||
return 1;
|
return 1;
|
||||||
if( !stricmp(s, long_quit ) )
|
if( !stricmp(s, long_quit ) )
|
||||||
return -1;
|
return -1;
|
||||||
if( strchr( short_no, *s ) && !s[1] )
|
if( *s && strchr( short_no, *s ) && !s[1] )
|
||||||
return 0;
|
return 0;
|
||||||
if( strchr( short_yes, *s ) && !s[1] )
|
if( *s && strchr( short_yes, *s ) && !s[1] )
|
||||||
return 1;
|
return 1;
|
||||||
if( strchr( short_quit, *s ) && !s[1] )
|
if( *s && strchr( short_quit, *s ) && !s[1] )
|
||||||
return -1;
|
return -1;
|
||||||
if( !stricmp(s, "yes" ) )
|
if( !stricmp(s, "yes" ) )
|
||||||
return 1;
|
return 1;
|
||||||
if( !stricmp(s, "quit" ) )
|
if( !stricmp(s, "quit" ) )
|
||||||
return -1;
|
return -1;
|
||||||
if( strchr( "yY", *s ) && !s[1] )
|
if( *s && strchr( "yY", *s ) && !s[1] )
|
||||||
return 1;
|
return 1;
|
||||||
if( strchr( "qQ", *s ) && !s[1] )
|
if( *s && strchr( "qQ", *s ) && !s[1] )
|
||||||
return -1;
|
return -1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user