Specify text or binary mode in every start_writing_to_stdio_file call

This commit is contained in:
Robert Ransom
2011-07-18 18:12:31 -07:00
committed by Nick Mathewson
parent 866a2828bd
commit f021df5824
5 changed files with 24 additions and 7 deletions
+15
View File
@@ -0,0 +1,15 @@
o Minor bugfixes:
- Write several files (currently, buffer-stats, dirreq-stats, and
entry-stats on relays that collect those statistics, client_keys
and hostname files for hidden services that use authentication,
and (in the tor-gencert utility) newly generated identity and
signing keys) in text mode, on OSes that distinguish text mode
from binary mode (i.e. on Windows). Previously, we wouldn't
specify text mode or binary mode, leading to an assertion
failure. Fixes bug 3607. Bugfix on 0.2.1.1-alpha (when the
DirRecordUsageByCountry option which would have triggered the
assertion failure was added), although this assertion failure
would have occurred in tor-gencert on Windows in 0.2.0.1-alpha.
+2 -2
View File
@@ -976,7 +976,7 @@ geoip_dirreq_stats_write(time_t now)
data_v2 = geoip_get_client_history(GEOIP_CLIENT_NETWORKSTATUS_V2);
data_v3 = geoip_get_client_history(GEOIP_CLIENT_NETWORKSTATUS);
format_iso_time(written, now);
out = start_writing_to_stdio_file(filename, OPEN_FLAGS_APPEND,
out = start_writing_to_stdio_file(filename, OPEN_FLAGS_APPEND | O_TEXT,
0600, &open_file);
if (!out)
goto done;
@@ -1309,7 +1309,7 @@ geoip_entry_stats_write(time_t now)
filename = get_datadir_fname2("stats", "entry-stats");
data = geoip_get_client_history(GEOIP_CLIENT_CONNECT);
format_iso_time(written, now);
out = start_writing_to_stdio_file(filename, OPEN_FLAGS_APPEND,
out = start_writing_to_stdio_file(filename, OPEN_FLAGS_APPEND | O_TEXT,
0600, &open_file);
if (!out)
goto done;
+4 -2
View File
@@ -635,13 +635,15 @@ rend_service_load_keys(void)
}
/* Prepare client_keys and hostname files. */
if (!(cfile = start_writing_to_stdio_file(cfname, OPEN_FLAGS_REPLACE,
if (!(cfile = start_writing_to_stdio_file(cfname,
OPEN_FLAGS_REPLACE | O_TEXT,
0600, &open_cfile))) {
log_warn(LD_CONFIG, "Could not open client_keys file %s",
escaped(cfname));
goto err;
}
if (!(hfile = start_writing_to_stdio_file(fname, OPEN_FLAGS_REPLACE,
if (!(hfile = start_writing_to_stdio_file(fname,
OPEN_FLAGS_REPLACE | O_TEXT,
0600, &open_hfile))) {
log_warn(LD_CONFIG, "Could not open hostname file %s", escaped(fname));
goto err;
+1 -1
View File
@@ -2500,7 +2500,7 @@ rep_hist_buffer_stats_write(time_t now)
if (check_private_dir(statsdir, CPD_CREATE, get_options()->User) < 0)
goto done;
filename = get_datadir_fname2("stats", "buffer-stats");
out = start_writing_to_stdio_file(filename, OPEN_FLAGS_APPEND,
out = start_writing_to_stdio_file(filename, OPEN_FLAGS_APPEND | O_TEXT,
0600, &open_file);
if (!out)
goto done;
+2 -2
View File
@@ -264,7 +264,7 @@ load_identity_key(void)
}
if (!(f = start_writing_to_stdio_file(identity_key_file,
OPEN_FLAGS_REPLACE, 0400,
OPEN_FLAGS_REPLACE | O_TEXT, 0400,
&open_file)))
return 1;
@@ -349,7 +349,7 @@ generate_signing_key(void)
}
if (!(f = start_writing_to_stdio_file(signing_key_file,
OPEN_FLAGS_REPLACE, 0600,
OPEN_FLAGS_REPLACE | O_TEXT, 0600,
&open_file)))
return 1;