aboutsummaryrefslogtreecommitdiffstats
path: root/g10/tdbdump.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2004-10-13 18:10:06 +0000
committerWerner Koch <[email protected]>2004-10-13 18:10:06 +0000
commit151ca81f1a5a03ae83d9c14ab7748a2d3c09919e (patch)
tree38cc8933051a1e45cd3e95cd8cc66746290f7e31 /g10/tdbdump.c
parentAdd dearmor.c (diff)
downloadgnupg-151ca81f1a5a03ae83d9c14ab7748a2d3c09919e.tar.gz
gnupg-151ca81f1a5a03ae83d9c14ab7748a2d3c09919e.zip
Added SELInux hacks and did some cleanups.
Diffstat (limited to '')
-rw-r--r--g10/tdbdump.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/g10/tdbdump.c b/g10/tdbdump.c
index 559a208aa..f3ec27df9 100644
--- a/g10/tdbdump.c
+++ b/g10/tdbdump.c
@@ -137,10 +137,18 @@ import_ownertrust( const char *fname )
is_stdin = 1;
}
else if( !(fp = fopen( fname, "r" )) ) {
- log_error_f(fname, _("can't open file: %s\n"), strerror(errno) );
+ log_error ( _("can't open `%s': %s\n"), fname, strerror(errno) );
return;
}
+ if (is_secured_file (fileno (fp)))
+ {
+ fclose (fp);
+ errno = EPERM;
+ log_error (_("can't open `%s': %s\n"), fname, strerror(errno) );
+ return;
+ }
+
while( fgets( line, DIM(line)-1, fp ) ) {
TRUSTREC rec;
@@ -148,7 +156,7 @@ import_ownertrust( const char *fname )
continue;
n = strlen(line);
if( line[n-1] != '\n' ) {
- log_error_f(fname, _("line too long\n") );
+ log_error (_("error in `%s': %s\n"), fname, _("line too long") );
/* ... or last line does not have a LF */
break; /* can't continue */
}
@@ -156,16 +164,18 @@ import_ownertrust( const char *fname )
if( !hexdigitp(p) )
break;
if( *p != ':' ) {
- log_error_f(fname, _("error: missing colon\n") );
+ log_error (_("error in `%s': %s\n"), fname, _("colon missing") );
continue;
}
fprlen = p - line;
if( fprlen != 32 && fprlen != 40 ) {
- log_error_f(fname, _("error: invalid fingerprint\n") );
+ log_error (_("error in `%s': %s\n"),
+ fname, _("invalid fingerprint") );
continue;
}
if( sscanf(p, ":%u:", &otrust ) != 1 ) {
- log_error_f(fname, _("error: no ownertrust value\n") );
+ log_error (_("error in `%s': %s\n"),
+ fname, _("ownertrust value missing"));
continue;
}
if( !otrust )
@@ -201,11 +211,11 @@ import_ownertrust( const char *fname )
any = 1;
}
else /* error */
- log_error_f(fname, _("error finding trust record: %s\n"),
- g10_errstr(rc));
+ log_error (_("error finding trust record in `%s': %s\n"),
+ fname, g10_errstr(rc));
}
if( ferror(fp) )
- log_error_f(fname, _("read error: %s\n"), strerror(errno) );
+ log_error ( _("read error in `%s': %s\n"), fname, strerror(errno) );
if( !is_stdin )
fclose(fp);