mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
cosmetic, comment, and todo fixes
svn:r9627
This commit is contained in:
parent
4e05ccb289
commit
9946bb7fbd
23
ChangeLog
23
ChangeLog
@ -1,22 +1,23 @@
|
||||
Changes in version 0.1.2.8-alpha - 2007-??-??
|
||||
o Major bugfixes (accounting):
|
||||
- When we start during an accounting interval before it's time to wake
|
||||
up, remember to wake up at the correct time. (May fix bug 342.)
|
||||
- Fix a longstanding obscure crash bug that could occur when
|
||||
low on DNS resources. (Resolves bug 390.)
|
||||
|
||||
o Major bugfixes (crashes):
|
||||
- Stop crashing when the controller asks us to resetconf more than
|
||||
one config option at once. (Vidalia 0.0.11 does this.)
|
||||
- Fix a crash that happened on Win98 when we're given command-line
|
||||
arguments: Don't try to load NT service functions from advapi32.dll
|
||||
except when we need them. (bug introduced in 0.1.2.7-alpha).
|
||||
arguments: don't try to load NT service functions from advapi32.dll
|
||||
except when we need them. (Bug introduced in 0.1.2.7-alpha;
|
||||
resolves bug 389.)
|
||||
|
||||
o Major bugfixes (accounting):
|
||||
- When we start during an accounting interval before it's time to wake
|
||||
up, remember to wake up at the correct time. (May fix bug 342.)
|
||||
- Fix a longstanding obscure crash bug that could occur when
|
||||
we run out of DNS worker processes. (Resolves bug 390.)
|
||||
|
||||
o Minor bugfixes (controller):
|
||||
- Give the controller END_STREAM_REASON_DESTROY events _before_ we
|
||||
clear the corresponding on_circuit variable, and remember later that
|
||||
we don't need to send a redundant CLOSED event. (Resolves part 3 of
|
||||
bug 367.)
|
||||
clear the corresponding on_circuit variable, and remember later
|
||||
that we don't need to send a redundant CLOSED event. (Resolves part
|
||||
3 of bug 367.)
|
||||
- Report events where a resolve succeeded or where we got a socks
|
||||
protocol error correctly, rather than calling both of them
|
||||
"INTERNAL".
|
||||
|
@ -1,6 +1,6 @@
|
||||
;tor.nsi - A basic win32 installer for Tor
|
||||
; Originally written by J Doe.
|
||||
; See LICENSE for licencing information
|
||||
; See LICENSE for licensing information
|
||||
;-----------------------------------------
|
||||
;
|
||||
!include "MUI.nsh"
|
||||
|
@ -1,6 +1,6 @@
|
||||
;tor.nsi - A basic win32 installer for Tor
|
||||
; Originally written by J Doe.
|
||||
; See LICENSE for licencing information
|
||||
; See LICENSE for licensing information
|
||||
;-----------------------------------------
|
||||
; NOTE: This file might be obsolete. Look at tor-mingw.nsi.in instead.
|
||||
;-----------------------------------------
|
||||
|
17
doc/TODO
17
doc/TODO
@ -24,6 +24,9 @@ N - Test guard unreachable logic; make sure that we actually attempt to
|
||||
connect to guards that we think are unreachable from time to time.
|
||||
Make sure that we don't freak out when the network is down.
|
||||
|
||||
- make the nsis mingw packaging scripts fail if it tries to parse
|
||||
a file but the file is missing.
|
||||
|
||||
o weight dir requests by advertised bandwidth? with maybe a lower cutoff
|
||||
than for tor traffic. perhaps also weighted by the expected size of
|
||||
the response.
|
||||
@ -31,12 +34,12 @@ N - Test guard unreachable logic; make sure that we actually attempt to
|
||||
. Have (and document) a BEGIN_DIR relay cell that means "Connect to your
|
||||
directory port."
|
||||
o Implement
|
||||
R - turn the received socks addr:port into a digest for setting .exit
|
||||
- be able to connect without having a server descriptor, to bootstrap.
|
||||
R - handle connect-dir streams that don't have a chosen_exit_name set.
|
||||
o include ORPort in DirServers lines so we can know where to connect.
|
||||
list the orport as 0 if it can't handle begin_dir.
|
||||
o List orports of actual dirservers..
|
||||
D turn the received socks addr:port into a digest for setting .exit
|
||||
R - be able to connect without having a server descriptor, to bootstrap.
|
||||
D handle connect-dir streams that don't have a chosen_exit_name set.
|
||||
o include ORPort in DirServers lines so we can know where to connect.
|
||||
list the orport as 0 if it can't handle begin_dir.
|
||||
o List orports of actual dirservers..
|
||||
|
||||
. option to dl directory info via tor:
|
||||
TunnelDirConns and PreferTunneledDirConns
|
||||
@ -423,6 +426,8 @@ R - add d64 and fp64 along-side d and fp so people can paste status
|
||||
of edge_stream_t.
|
||||
|
||||
Future version:
|
||||
- Should TrackHostExits expire TrackHostExitsExpire seconds after their
|
||||
*last* use, not their *first* use?
|
||||
- Configuration format really wants sections.
|
||||
- Good RBL substitute.
|
||||
- Authorities should try using exits for http to connect to some URLS
|
||||
|
@ -214,7 +214,7 @@ int append_bytes_to_file(const char *fname, const char *str, size_t len,
|
||||
|
||||
/** Flag for read_file_to_str: open the file in binary mode. */
|
||||
#define RFTS_BIN 1
|
||||
/** Flag for read_file_to_str: it's okay if the file doesn't exist */
|
||||
/** Flag for read_file_to_str: it's okay if the file doesn't exist. */
|
||||
#define RFTS_IGNORE_MISSING 2
|
||||
|
||||
struct stat;
|
||||
|
@ -751,10 +751,7 @@ circuit_get_intro_point(const char *digest)
|
||||
* if required, and if info is defined, does not already use info
|
||||
* as any of its hops; or NULL if no circuit fits this description.
|
||||
*
|
||||
* Return need_uptime circuits if that is requested; and if it's not
|
||||
* requested, return non-uptime circuits if possible, else either.
|
||||
*
|
||||
* Only return internal circuits if that is requested.
|
||||
* If ! need_uptime, prefer returning non-uptime circuits.
|
||||
*/
|
||||
origin_circuit_t *
|
||||
circuit_find_to_cannibalize(uint8_t purpose, extend_info_t *info,
|
||||
|
@ -37,8 +37,8 @@ connection_or_remove_from_identity_map(or_connection_t *conn)
|
||||
tmp = digestmap_get(orconn_identity_map, conn->identity_digest);
|
||||
if (!tmp) {
|
||||
if (!tor_digest_is_zero(conn->identity_digest)) {
|
||||
log_warn(LD_BUG, "Didn't found connection on identity map when trying "
|
||||
"to remove it.");
|
||||
log_warn(LD_BUG, "Bug: Didn't find connection on identity map when "
|
||||
"trying to remove it.");
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -86,7 +86,7 @@ connection_or_clear_identity_map(void)
|
||||
}
|
||||
|
||||
/** Change conn->identity_digest to digest, and add conn into
|
||||
* orconn_digest_map. */
|
||||
* orconn_digest_map. */
|
||||
static void
|
||||
connection_or_set_identity_digest(or_connection_t *conn, const char *digest)
|
||||
{
|
||||
@ -105,7 +105,7 @@ connection_or_set_identity_digest(or_connection_t *conn, const char *digest)
|
||||
|
||||
memcpy(conn->identity_digest, digest, DIGEST_LEN);
|
||||
|
||||
/* If we're setting the ID to zero, don't add a mapping.*/
|
||||
/* If we're setting the ID to zero, don't add a mapping. */
|
||||
if (tor_digest_is_zero(digest))
|
||||
return;
|
||||
|
||||
@ -658,7 +658,7 @@ connection_or_check_valid_handshake(or_connection_t *conn, int started_here,
|
||||
DIGEST_LEN);
|
||||
log_fn(severity, LD_OR,
|
||||
"Tried connecting to router at %s:%d, but identity key was not "
|
||||
"as expected wanted %s but got %s",
|
||||
"as expected: wanted %s but got %s.",
|
||||
conn->_base.address, conn->_base.port, expected, seen);
|
||||
entry_guard_register_connect_status(conn->identity_digest,0,time(NULL));
|
||||
router_set_status(conn->identity_digest, 0);
|
||||
|
@ -1028,8 +1028,11 @@ _free_cached_dir(void *_d)
|
||||
cached_dir_decref(d);
|
||||
}
|
||||
|
||||
/** If we have no cached directory, or it is older than <b>when</b>, then
|
||||
* replace it with <b>directory</b>, published at <b>when</b>.
|
||||
/** If we have no cached directory, or it is older than <b>published</b>,
|
||||
* then replace it with <b>directory</b>, published at <b>published</b>.
|
||||
*
|
||||
* If <b>is_running_routers</b>, this is really a running_routers document
|
||||
* rather than a v1 directory.
|
||||
*/
|
||||
void
|
||||
dirserv_set_cached_directory(const char *directory, time_t published,
|
||||
@ -1140,15 +1143,15 @@ dirserv_clear_old_networkstatuses(time_t cutoff)
|
||||
}
|
||||
}
|
||||
|
||||
/** Remove any networkstatus from the directory cache that was published
|
||||
* before <b>cutoff</b>. */
|
||||
/** Remove any v1 info from the directory cache that was published
|
||||
* too long ago. */
|
||||
void
|
||||
dirserv_clear_old_v1_info(time_t now)
|
||||
{
|
||||
#define MAX_V1_DIRECTORY_AGE (30*24*60*60)
|
||||
#define MAX_V1_RR_AGE (7*24*60*60)
|
||||
if (cached_directory &&
|
||||
cached_directory->published < (now-MAX_V1_DIRECTORY_AGE)) {
|
||||
cached_directory->published < (now - MAX_V1_DIRECTORY_AGE)) {
|
||||
cached_dir_decref(cached_directory);
|
||||
}
|
||||
if (cached_runningrouters.published < (now - MAX_V1_RR_AGE)) {
|
||||
@ -1226,7 +1229,7 @@ dirserv_get_obj(const char **out,
|
||||
|
||||
/** Return the most recently generated encoded signed directory, generating a
|
||||
* new one as necessary. If not an authoritative directory may return NULL if
|
||||
* no directory is yet cached.*/
|
||||
* no directory is yet cached. */
|
||||
cached_dir_t *
|
||||
dirserv_get_directory(void)
|
||||
{
|
||||
@ -1267,7 +1270,7 @@ dirserv_regenerate_directory(void)
|
||||
return the_directory;
|
||||
}
|
||||
|
||||
/** For authoritative directories: the current (v1) network status */
|
||||
/** For authoritative directories: the current (v1) network status. */
|
||||
static cached_dir_t the_runningrouters = { NULL, NULL, 0, 0, 0, -1 };
|
||||
|
||||
/** Replace the current running-routers list with a newly generated one. */
|
||||
@ -1337,7 +1340,7 @@ dirserv_get_runningrouters(const char **rr, int compress)
|
||||
"v1 network status list", 1);
|
||||
}
|
||||
|
||||
/** For authoritative directories: the current (v2) network status */
|
||||
/** For authoritative directories: the current (v2) network status. */
|
||||
static cached_dir_t *the_v2_networkstatus = NULL;
|
||||
|
||||
/** Return true iff our opinion of the routers has been stale for long
|
||||
@ -1390,8 +1393,8 @@ dirserv_thinks_router_is_unreliable(time_t now,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Helper: returns a tristate based on comparing **(uint32_t**)a to
|
||||
* **(uint32_t**)b. */
|
||||
/** Helper: returns a tristate based on comparing **(uint32_t**)<b>a</b>
|
||||
* to **(uint32_t**)<b>b</b>. */
|
||||
static int
|
||||
_compare_uint32(const void **a, const void **b)
|
||||
{
|
||||
|
@ -1807,8 +1807,8 @@ struct service_fns {
|
||||
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL};
|
||||
|
||||
/** Loads functions used by NT services. Returns 0 on success, exits on
|
||||
* error. */
|
||||
/** Loads functions used by NT services. Returns on success, or prints a
|
||||
* complaint to stdout and exits on error. */
|
||||
static void
|
||||
nt_service_loadlibrary(void)
|
||||
{
|
||||
|
@ -797,8 +797,8 @@ typedef struct connection_t {
|
||||
typedef struct or_connection_t {
|
||||
connection_t _base;
|
||||
|
||||
/** Hash of the public RSA key for the other side's identity key, or zero if
|
||||
* the other side hasn't shown us a valid identity key. */
|
||||
/** Hash of the public RSA key for the other side's identity key, or zeroes
|
||||
* if the other side hasn't shown us a valid identity key. */
|
||||
char identity_digest[DIGEST_LEN];
|
||||
char *nickname; /**< Nickname of OR on other side (if any). */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user