diff options
Diffstat (limited to 'g10')
-rw-r--r-- | g10/ChangeLog | 9 | ||||
-rw-r--r-- | g10/openfile.c | 16 | ||||
-rw-r--r-- | g10/parse-packet.c | 15 |
3 files changed, 35 insertions, 5 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index 31d777ad7..79ea0a102 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,12 @@ +Fri Aug 25 16:05:38 CEST 2000 Werner Koch <[email protected]> + + * parse-packet.c (dump_sig_subpkt): Print info about the ARR. + + * openfile.c (overwrite_filep): Always return okay if the file is + called /dev/null. + (make_outfile_name): Add ".sign" to the list of know extensions. + (open_sigfile): Ditto. + Wed Aug 23 19:52:51 CEST 2000 Werner Koch <[email protected]> * g10.c: New option --allow-freeform-uid. By Jeroen C. van Gelderen. diff --git a/g10/openfile.c b/g10/openfile.c index a00785e96..394bec32e 100644 --- a/g10/openfile.c +++ b/g10/openfile.c @@ -70,6 +70,11 @@ overwrite_filep( const char *fname ) if( access( fname, F_OK ) ) return 1; /* does not exist */ +#ifndef HAVE_DOSISH_SYSTEM + if ( !strcmp ( fname, "/dev/null" ) ) + return 1; /* does not do any harm */ +#endif + /* fixme: add some backup stuff in case of overwrite */ if( opt.answer_yes ) return 1; @@ -105,6 +110,11 @@ make_outfile_name( const char *iname ) buf[n-4] = 0; return buf; } + else if( n > 5 && !CMP_FILENAME(iname+n-5,".sign") ) { + char *buf = m_strdup( iname ); + buf[n-5] = 0; + return buf; + } log_info(_("%s: unknown suffix\n"), iname ); return NULL; @@ -241,7 +251,8 @@ open_sigfile( const char *iname ) if( iname && !(*iname == '-' && !iname[1]) ) { len = strlen(iname); if( len > 4 && ( !strcmp(iname + len - 4, ".sig") - || !strcmp(iname + len - 4, ".asc")) ) { + || ( len > 5 && !strcmp(iname + len - 5, ".sign") ) + || !strcmp(iname + len - 4, ".asc")) ) { char *buf; buf = m_strdup(iname); buf[len-4] = 0 ; @@ -321,3 +332,6 @@ try_make_homedir( const char *fname ) } } + + + diff --git a/g10/parse-packet.c b/g10/parse-packet.c index f63f051b3..eb7cedac7 100644 --- a/g10/parse-packet.c +++ b/g10/parse-packet.c @@ -739,9 +739,6 @@ dump_sig_subpkt( int hashed, int type, int critical, printf("key expires after %s", strtimevalue( buffer_to_u32(buffer) ) ); break; - case SIGSUBPKT_ARR: - p = "additional recipient request"; - break; case SIGSUBPKT_PREF_SYM: fputs("pref-sym-algos:", stdout ); for( i=0; i < length; i++ ) @@ -817,12 +814,22 @@ dump_sig_subpkt( int hashed, int type, int critical, p = "signer's user ID"; break; case SIGSUBPKT_REVOC_REASON: - if( length ) { + if( length ) { printf("revocation reason 0x%02x (", *buffer ); print_string( stdout, buffer+1, length-1, ')' ); p = ")"; } break; + case SIGSUBPKT_ARR: + fputs("Big Brother's key (ignored): ", stdout ); + if( length < 22 ) + p = "[too short]"; + else { + printf("c=%02x a=%d f=", buffer[0], buffer[1] ); + for( i=2; i < length; i++ ) + printf("%02X", buffer[i] ); + } + break; case SIGSUBPKT_PRIV_ADD_SIG: p = "signs additional user ID"; break; |