mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-22 06:21:55 +01:00
Normalize whitespace; add a "tell me about all the unnormalized whitespace" target; fix a braino in dirserv.c
svn:r2758
This commit is contained in:
parent
d9d053d70b
commit
5a5be93f80
27 changed files with 65 additions and 77 deletions
|
@ -24,3 +24,11 @@ dist-rpm: dist
|
||||||
|
|
||||||
doxygen:
|
doxygen:
|
||||||
doxygen && cd doc/doxygen/latex && make
|
doxygen && cd doc/doxygen/latex && make
|
||||||
|
|
||||||
|
# Avoid strlcpy.c, strlcat.c, tree.h
|
||||||
|
check-spaces:
|
||||||
|
./contrib/checkSpace.pl \
|
||||||
|
src/common/*.h \
|
||||||
|
src/common/[^s]*.c \
|
||||||
|
src/or/[^t]*.[ch] src/or/t*.c
|
||||||
|
|
||||||
|
|
25
contrib/checkSpace.pl
Executable file
25
contrib/checkSpace.pl
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
for $fn (@ARGV) {
|
||||||
|
open(F, "$fn");
|
||||||
|
$lastnil = 0;
|
||||||
|
while (<F>) {
|
||||||
|
if (/\r/) {
|
||||||
|
print " CR:$fn:$.\n";
|
||||||
|
}
|
||||||
|
if (/\t/) {
|
||||||
|
print " TAB:$fn:$.\n";
|
||||||
|
}
|
||||||
|
if (/ +$/) {
|
||||||
|
print "Space\@EOL:$fn:$.\n";
|
||||||
|
}
|
||||||
|
if ($lastnil && /^$/) {
|
||||||
|
print " DoubleNL:$fn:$.\n";
|
||||||
|
} elsif (/^$/) {
|
||||||
|
$lastnil = 1;
|
||||||
|
} else {
|
||||||
|
$lastnil = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(F);
|
||||||
|
}
|
|
@ -2,7 +2,6 @@
|
||||||
/* See LICENSE for licensing information */
|
/* See LICENSE for licensing information */
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
|
|
||||||
/* This is required on rh7 to make strptime not complain.
|
/* This is required on rh7 to make strptime not complain.
|
||||||
*/
|
*/
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
|
@ -488,7 +487,6 @@ void spawn_exit()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Set *timeval to the current time of day. On error, log and terminate.
|
/** Set *timeval to the current time of day. On error, log and terminate.
|
||||||
* (Same as gettimeofday(timeval,NULL), but never returns -1.)
|
* (Same as gettimeofday(timeval,NULL), but never returns -1.)
|
||||||
*/
|
*/
|
||||||
|
@ -560,7 +558,6 @@ void tor_mutex_release(tor_mutex_t *m)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On Windows, WSAEWOULDBLOCK is not always correct: when you see it,
|
* On Windows, WSAEWOULDBLOCK is not always correct: when you see it,
|
||||||
* you need to ask the socket for its actual errno. Also, you need to
|
* you need to ask the socket for its actual errno. Also, you need to
|
||||||
|
|
|
@ -99,7 +99,6 @@ RSA *_crypto_pk_env_get_rsa(crypto_pk_env_t *env);
|
||||||
EVP_PKEY *_crypto_pk_env_get_evp_pkey(crypto_pk_env_t *env, int private);
|
EVP_PKEY *_crypto_pk_env_get_evp_pkey(crypto_pk_env_t *env, int private);
|
||||||
DH *_crypto_dh_env_get_dh(crypto_dh_env_t *dh);
|
DH *_crypto_dh_env_get_dh(crypto_dh_env_t *dh);
|
||||||
|
|
||||||
|
|
||||||
/** Return the number of bytes added by padding method <b>padding</b>.
|
/** Return the number of bytes added by padding method <b>padding</b>.
|
||||||
*/
|
*/
|
||||||
static INLINE int
|
static INLINE int
|
||||||
|
@ -739,7 +738,6 @@ crypto_pk_private_sign_digest(crypto_pk_env_t *env, unsigned char *to,
|
||||||
return crypto_pk_private_sign(env,to,digest,DIGEST_LEN);
|
return crypto_pk_private_sign(env,to,digest,DIGEST_LEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Perform a hybrid (public/secret) encryption on <b>fromlen</b>
|
/** Perform a hybrid (public/secret) encryption on <b>fromlen</b>
|
||||||
* bytes of data from <b>from</b>, with padding type 'padding',
|
* bytes of data from <b>from</b>, with padding type 'padding',
|
||||||
* storing the results on <b>to</b>.
|
* storing the results on <b>to</b>.
|
||||||
|
|
|
@ -413,7 +413,6 @@ int get_min_log_level(void)
|
||||||
return min;
|
return min;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Local Variables:
|
Local Variables:
|
||||||
mode:c
|
mode:c
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if (SIZEOF_INT8_T != 0)
|
#if (SIZEOF_INT8_T != 0)
|
||||||
#define HAVE_INT8_T
|
#define HAVE_INT8_T
|
||||||
#endif
|
#endif
|
||||||
|
@ -87,7 +86,6 @@ typedef unsigned short uint16_t;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if (SIZEOF_INT == 2)
|
#if (SIZEOF_INT == 2)
|
||||||
#ifndef HAVE_INT16_T
|
#ifndef HAVE_INT16_T
|
||||||
typedef signed int int16_t;
|
typedef signed int int16_t;
|
||||||
|
@ -111,7 +109,6 @@ typedef unsigned int uint32_t;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if (SIZEOF_LONG == 4)
|
#if (SIZEOF_LONG == 4)
|
||||||
#ifndef HAVE_INT32_T
|
#ifndef HAVE_INT32_T
|
||||||
typedef signed long int32_t;
|
typedef signed long int32_t;
|
||||||
|
|
|
@ -257,7 +257,6 @@ tor_tls_create_certificate(crypto_pk_env_t *rsa,
|
||||||
return x509;
|
return x509;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef EVERYONE_HAS_AES
|
#ifdef EVERYONE_HAS_AES
|
||||||
/* Everybody is running OpenSSL 0.9.7 or later, so no backward compatibility
|
/* Everybody is running OpenSSL 0.9.7 or later, so no backward compatibility
|
||||||
* is needed. */
|
* is needed. */
|
||||||
|
|
|
@ -295,7 +295,6 @@ int strcmpend(const char *s1, const char *s2)
|
||||||
return strncmp(s1+(n1-n2), s2, n2);
|
return strncmp(s1+(n1-n2), s2, n2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Return a pointer to the first char of s that is not whitespace and
|
/** Return a pointer to the first char of s that is not whitespace and
|
||||||
* not a comment, or to the terminating NUL if no such character exists.
|
* not a comment, or to the terminating NUL if no such character exists.
|
||||||
*/
|
*/
|
||||||
|
@ -351,8 +350,7 @@ const char *find_whitespace(const char *s) {
|
||||||
err: \
|
err: \
|
||||||
if (ok) *ok = 0; \
|
if (ok) *ok = 0; \
|
||||||
if (next) *next = endptr; \
|
if (next) *next = endptr; \
|
||||||
return 0; \
|
return 0;
|
||||||
|
|
||||||
|
|
||||||
/** Extract a long from the start of s, in the given numeric base. If
|
/** Extract a long from the start of s, in the given numeric base. If
|
||||||
* there is unconverted data and next is provided, set *next to the
|
* there is unconverted data and next is provided, set *next to the
|
||||||
|
@ -413,8 +411,6 @@ tor_parse_uint64(const char *s, int base, uint64_t min,
|
||||||
CHECK_STRTOX_RESULT();
|
CHECK_STRTOX_RESULT();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void base16_encode(char *dest, size_t destlen, const char *src, size_t srclen)
|
void base16_encode(char *dest, size_t destlen, const char *src, size_t srclen)
|
||||||
{
|
{
|
||||||
const char *end;
|
const char *end;
|
||||||
|
@ -469,7 +465,6 @@ int base16_decode(char *dest, size_t destlen, const char *src, size_t srclen)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* =====
|
/* =====
|
||||||
* Time
|
* Time
|
||||||
* ===== */
|
* ===== */
|
||||||
|
@ -527,7 +522,6 @@ void tv_addms(struct timeval *a, long ms) {
|
||||||
a->tv_usec %= 1000000;
|
a->tv_usec %= 1000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define IS_LEAPYEAR(y) (!(y % 4) && ((y % 100) || !(y % 400)))
|
#define IS_LEAPYEAR(y) (!(y % 4) && ((y % 100) || !(y % 400)))
|
||||||
static int n_leapdays(int y1, int y2) {
|
static int n_leapdays(int y1, int y2) {
|
||||||
--y1;
|
--y1;
|
||||||
|
@ -789,8 +783,9 @@ int
|
||||||
write_str_to_file(const char *fname, const char *str, int bin)
|
write_str_to_file(const char *fname, const char *str, int bin)
|
||||||
{
|
{
|
||||||
#ifdef MS_WINDOWS
|
#ifdef MS_WINDOWS
|
||||||
if (strchr(str, '\r')) {
|
if (!bin && strchr(str, '\r')) {
|
||||||
log_fn(LOG_WARN, "How odd. Writing a string that does contain CR already.");
|
log_fn(LOG_WARN,
|
||||||
|
"How odd. Writing a string that does contain CR already.");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return write_bytes_to_file(fname, str, strlen(str), bin);
|
return write_bytes_to_file(fname, str, strlen(str), bin);
|
||||||
|
|
|
@ -1317,7 +1317,6 @@ static int check_nickname_list(const char *lst, const char *name)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Read a configuration file into <b>options</b>, finding the configuration
|
/** Read a configuration file into <b>options</b>, finding the configuration
|
||||||
* file location based on the command line. After loading the options,
|
* file location based on the command line. After loading the options,
|
||||||
* validate them for consistency, then take actions based on them.
|
* validate them for consistency, then take actions based on them.
|
||||||
|
@ -1840,7 +1839,6 @@ parse_dir_server_line(const char *line, int validate_only)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Adjust or the value of options->DataDirectory, or fill it in if it's
|
/** Adjust or the value of options->DataDirectory, or fill it in if it's
|
||||||
* absent. Return 0 on success, -1 on failure. */
|
* absent. Return 0 on success, -1 on failure. */
|
||||||
static int
|
static int
|
||||||
|
@ -1894,7 +1892,6 @@ validate_data_directory(or_options_t *options) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Local Variables:
|
Local Variables:
|
||||||
mode:c
|
mode:c
|
||||||
|
|
|
@ -203,7 +203,6 @@ int connection_edge_finished_connecting(connection_t *conn)
|
||||||
tor_assert(conn->type == CONN_TYPE_EXIT);
|
tor_assert(conn->type == CONN_TYPE_EXIT);
|
||||||
tor_assert(conn->state == EXIT_CONN_STATE_CONNECTING);
|
tor_assert(conn->state == EXIT_CONN_STATE_CONNECTING);
|
||||||
|
|
||||||
|
|
||||||
log_fn(LOG_INFO,"Exit connection to %s:%u established.",
|
log_fn(LOG_INFO,"Exit connection to %s:%u established.",
|
||||||
conn->address,conn->port);
|
conn->address,conn->port);
|
||||||
|
|
||||||
|
@ -858,7 +857,6 @@ int connection_exit_begin_resolve(cell_t *cell, circuit_t *circ) {
|
||||||
assert_circuit_ok(circ);
|
assert_circuit_ok(circ);
|
||||||
relay_header_unpack(&rh, cell->payload);
|
relay_header_unpack(&rh, cell->payload);
|
||||||
|
|
||||||
|
|
||||||
/* This 'dummy_conn' only exists to remember the stream ID
|
/* This 'dummy_conn' only exists to remember the stream ID
|
||||||
* associated with the resolve request; and to make the
|
* associated with the resolve request; and to make the
|
||||||
* implementation of dns.c more uniform. (We really only need to
|
* implementation of dns.c more uniform. (We really only need to
|
||||||
|
@ -1203,7 +1201,6 @@ void client_dns_clean(void)
|
||||||
strmap_foreach(client_dns_map, (strmap_foreach_fn)_remove_if_expired, &now);
|
strmap_foreach(client_dns_map, (strmap_foreach_fn)_remove_if_expired, &now);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Make connection redirection follow the provided list of
|
/** Make connection redirection follow the provided list of
|
||||||
* exit_redirect_t */
|
* exit_redirect_t */
|
||||||
void
|
void
|
||||||
|
|
|
@ -178,7 +178,6 @@ directory_get_from_dirserver(uint8_t purpose, const char *payload,
|
||||||
log_fn(LOG_WARN,"No running dirservers known. Not trying. (purpose %d)", purpose);
|
log_fn(LOG_WARN,"No running dirservers known. Not trying. (purpose %d)", purpose);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Launch a new connection to the directory server <b>router</b> to upload or
|
/** Launch a new connection to the directory server <b>router</b> to upload or
|
||||||
* download a service or rendezvous descriptor. <b>purpose</b> determines what
|
* download a service or rendezvous descriptor. <b>purpose</b> determines what
|
||||||
* kind of directory connection we're launching, and must be one of
|
* kind of directory connection we're launching, and must be one of
|
||||||
|
|
|
@ -119,7 +119,7 @@ dirserv_parse_fingerprint_file(const char *fname)
|
||||||
nickname, fingerprint);
|
nickname, fingerprint);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (0==strcasecmp(ent->nickname, DEFAULT_CLIENT_NICKNAME)) {
|
if (0==strcasecmp(nickname, DEFAULT_CLIENT_NICKNAME)) {
|
||||||
/* If you approved an OR called "client", then clients who use
|
/* If you approved an OR called "client", then clients who use
|
||||||
* the default nickname could all be rejected. That's no good. */
|
* the default nickname could all be rejected. That's no good. */
|
||||||
log(LOG_WARN,
|
log(LOG_WARN,
|
||||||
|
|
|
@ -146,7 +146,6 @@ start_of_accounting_period_containing(time_t now)
|
||||||
return tor_timegm(tm);
|
return tor_timegm(tm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Return the start of the accounting period that comes after the one
|
/** Return the start of the accounting period that comes after the one
|
||||||
* containing the time <b>now</b>. */
|
* containing the time <b>now</b>. */
|
||||||
static time_t
|
static time_t
|
||||||
|
@ -161,7 +160,6 @@ start_of_accounting_period_after(time_t now)
|
||||||
return tor_timegm(tm);
|
return tor_timegm(tm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Initialize the accounting subsystem. */
|
/** Initialize the accounting subsystem. */
|
||||||
void
|
void
|
||||||
configure_accounting(time_t now)
|
configure_accounting(time_t now)
|
||||||
|
|
|
@ -372,7 +372,6 @@ void directory_has_arrived(time_t now) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Perform regular maintenance tasks for a single connection. This
|
/** Perform regular maintenance tasks for a single connection. This
|
||||||
* function gets run once per second per connection by run_housekeeping.
|
* function gets run once per second per connection by run_housekeeping.
|
||||||
*/
|
*/
|
||||||
|
@ -595,7 +594,6 @@ static void run_scheduled_events(time_t now) {
|
||||||
*/
|
*/
|
||||||
connection_ap_expire_beginning();
|
connection_ap_expire_beginning();
|
||||||
|
|
||||||
|
|
||||||
/** 3c. And expire connections that we've held open for too long.
|
/** 3c. And expire connections that we've held open for too long.
|
||||||
*/
|
*/
|
||||||
connection_expire_held_open();
|
connection_expire_held_open();
|
||||||
|
@ -990,7 +988,6 @@ void handle_signals(int is_parent)
|
||||||
#endif /* signal stuff */
|
#endif /* signal stuff */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Main entry point for the Tor command-line client.
|
/** Main entry point for the Tor command-line client.
|
||||||
*/
|
*/
|
||||||
static int tor_init(int argc, char *argv[]) {
|
static int tor_init(int argc, char *argv[]) {
|
||||||
|
|
|
@ -97,7 +97,6 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef MS_WINDOWS
|
#ifdef MS_WINDOWS
|
||||||
#if (_MSC_VER <= 1300)
|
#if (_MSC_VER <= 1300)
|
||||||
#include <winsock.h>
|
#include <winsock.h>
|
||||||
|
@ -719,7 +718,6 @@ typedef struct {
|
||||||
int failure_count;
|
int failure_count;
|
||||||
} cpath_build_state_t;
|
} cpath_build_state_t;
|
||||||
|
|
||||||
|
|
||||||
#define CIRCUIT_MAGIC 0x35315243u
|
#define CIRCUIT_MAGIC 0x35315243u
|
||||||
/** Struct for a path (circuit) through the onion routing network. */
|
/** Struct for a path (circuit) through the onion routing network. */
|
||||||
struct circuit_t {
|
struct circuit_t {
|
||||||
|
@ -1578,7 +1576,6 @@ int router_update_status_from_smartlist(routerinfo_t *r,
|
||||||
void add_trusted_dir_server(const char *addr, uint16_t port,const char *digest);
|
void add_trusted_dir_server(const char *addr, uint16_t port,const char *digest);
|
||||||
void clear_trusted_dir_servers(void);
|
void clear_trusted_dir_servers(void);
|
||||||
|
|
||||||
|
|
||||||
/********************************* routerparse.c ************************/
|
/********************************* routerparse.c ************************/
|
||||||
|
|
||||||
typedef struct tor_version_t {
|
typedef struct tor_version_t {
|
||||||
|
|
|
@ -235,7 +235,6 @@ rend_client_introduction_acked(circuit_t *circ,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** If we are not currently fetching a rendezvous service descriptor
|
/** If we are not currently fetching a rendezvous service descriptor
|
||||||
* for the service ID <b>query</b>, start a directory connection to fetch a
|
* for the service ID <b>query</b>, start a directory connection to fetch a
|
||||||
* new one.
|
* new one.
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
#include "or.h"
|
#include "or.h"
|
||||||
|
|
||||||
|
|
||||||
/** Return 0 if one and two are the same service ids, else -1 or 1 */
|
/** Return 0 if one and two are the same service ids, else -1 or 1 */
|
||||||
int rend_cmp_service_ids(const char *one, const char *two) {
|
int rend_cmp_service_ids(const char *one, const char *two) {
|
||||||
return strcasecmp(one,two);
|
return strcasecmp(one,two);
|
||||||
|
|
|
@ -209,7 +209,6 @@ rend_mid_establish_rendezvous(circuit_t *circ, const char *request, size_t reque
|
||||||
circ->purpose = CIRCUIT_PURPOSE_REND_POINT_WAITING;
|
circ->purpose = CIRCUIT_PURPOSE_REND_POINT_WAITING;
|
||||||
memcpy(circ->rend_cookie, request, REND_COOKIE_LEN);
|
memcpy(circ->rend_cookie, request, REND_COOKIE_LEN);
|
||||||
|
|
||||||
|
|
||||||
base16_encode(hexid,9,request,4);
|
base16_encode(hexid,9,request,4);
|
||||||
|
|
||||||
log_fn(LOG_INFO, "Established rendezvous point on circuit %d for cookie %s",
|
log_fn(LOG_INFO, "Established rendezvous point on circuit %d for cookie %s",
|
||||||
|
|
|
@ -556,7 +556,6 @@ rep_hist_get_bandwidth_lines(void)
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Local Variables:
|
Local Variables:
|
||||||
mode:c
|
mode:c
|
||||||
|
|
|
@ -801,7 +801,6 @@ int is_legal_nickname_or_hexdigest(const char *s)
|
||||||
return len == HEX_DIGEST_LEN+1 && strspn(s+1,HEX_CHARACTERS)==len-1;
|
return len == HEX_DIGEST_LEN+1 && strspn(s+1,HEX_CHARACTERS)==len-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Local Variables:
|
Local Variables:
|
||||||
mode:c
|
mode:c
|
||||||
|
|
|
@ -273,7 +273,6 @@ void routerlist_add_family(smartlist_t *sl, routerinfo_t *router) {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
for (cl = get_options()->NodeFamilies; cl; cl = cl->next) {
|
for (cl = get_options()->NodeFamilies; cl; cl = cl->next) {
|
||||||
if (router_nickname_is_in_list(router, cl->value)) {
|
if (router_nickname_is_in_list(router, cl->value)) {
|
||||||
add_nickname_list_to_smartlist(sl, cl->value, 0);
|
add_nickname_list_to_smartlist(sl, cl->value, 0);
|
||||||
|
@ -835,7 +834,6 @@ routerlist_remove_old_routers(int age)
|
||||||
* Code to parse router descriptors and directories.
|
* Code to parse router descriptors and directories.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/** Add to the current routerlist each router stored in the
|
/** Add to the current routerlist each router stored in the
|
||||||
* signed directory <b>s</b>. If pkey is provided, check the signature against
|
* signed directory <b>s</b>. If pkey is provided, check the signature against
|
||||||
* pkey; else check against the pkey of the signing directory server. */
|
* pkey; else check against the pkey of the signing directory server. */
|
||||||
|
|
|
@ -736,7 +736,6 @@ router_parse_list_from_string(const char **s, routerlist_t **dest,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Helper function: reads a single router entry from *<b>s</b> ...
|
/** Helper function: reads a single router entry from *<b>s</b> ...
|
||||||
* *<b>end</b>. Mallocs a new router and returns it if all goes well, else
|
* *<b>end</b>. Mallocs a new router and returns it if all goes well, else
|
||||||
* returns NULL.
|
* returns NULL.
|
||||||
|
@ -895,7 +894,6 @@ routerinfo_t *router_parse_entry_from_string(const char *s,
|
||||||
log_fn(LOG_WARN,"Error in exit policy"); goto err;}
|
log_fn(LOG_WARN,"Error in exit policy"); goto err;}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
if ((tok = find_first_by_keyword(tokens, K_FAMILY)) && tok->n_args) {
|
if ((tok = find_first_by_keyword(tokens, K_FAMILY)) && tok->n_args) {
|
||||||
int i;
|
int i;
|
||||||
router->declared_family = smartlist_create();
|
router->declared_family = smartlist_create();
|
||||||
|
@ -945,7 +943,6 @@ routerinfo_t *router_parse_entry_from_string(const char *s,
|
||||||
router->or_port, router->socks_port, router->dir_port,
|
router->or_port, router->socks_port, router->dir_port,
|
||||||
(unsigned) router->bandwidthrate, (unsigned) router->bandwidthburst);
|
(unsigned) router->bandwidthrate, (unsigned) router->bandwidthburst);
|
||||||
|
|
||||||
|
|
||||||
goto done;
|
goto done;
|
||||||
return router;
|
return router;
|
||||||
|
|
||||||
|
@ -1016,7 +1013,6 @@ int router_add_exit_policy_from_string(routerinfo_t *router, const char *s)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int router_add_exit_policy(routerinfo_t *router,directory_token_t *tok)
|
static int router_add_exit_policy(routerinfo_t *router,directory_token_t *tok)
|
||||||
{
|
{
|
||||||
struct exit_policy_t *newe, **tmpe;
|
struct exit_policy_t *newe, **tmpe;
|
||||||
|
@ -1057,7 +1053,6 @@ router_parse_exit_policy(directory_token_t *tok) {
|
||||||
&newe->prt_min, &newe->prt_max))
|
&newe->prt_min, &newe->prt_max))
|
||||||
goto policy_read_failed;
|
goto policy_read_failed;
|
||||||
|
|
||||||
|
|
||||||
in.s_addr = htonl(newe->addr);
|
in.s_addr = htonl(newe->addr);
|
||||||
address = tor_strdup(inet_ntoa(in));
|
address = tor_strdup(inet_ntoa(in));
|
||||||
in.s_addr = htonl(newe->msk);
|
in.s_addr = htonl(newe->msk);
|
||||||
|
@ -1302,7 +1297,6 @@ get_next_token(const char **s, where_syntax where) {
|
||||||
fputs("\n",stdout);
|
fputs("\n",stdout);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
return tok;
|
return tok;
|
||||||
#undef RET_ERR
|
#undef RET_ERR
|
||||||
}
|
}
|
||||||
|
|
|
@ -625,7 +625,6 @@ test_util(void) {
|
||||||
test_eq(2, smartlist_len(sl));
|
test_eq(2, smartlist_len(sl));
|
||||||
test_streq("efgh", smartlist_get(sl, 1));
|
test_streq("efgh", smartlist_get(sl, 1));
|
||||||
|
|
||||||
|
|
||||||
/* Test tor_strstrip() */
|
/* Test tor_strstrip() */
|
||||||
strcpy(buf, "Testing 1 2 3");
|
strcpy(buf, "Testing 1 2 3");
|
||||||
test_eq(0, tor_strstrip(buf, ",!"));
|
test_eq(0, tor_strstrip(buf, ",!"));
|
||||||
|
@ -929,7 +928,6 @@ test_onion_handshake(void)
|
||||||
crypto_free_pk_env(pk);
|
crypto_free_pk_env(pk);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_dir_format(void)
|
test_dir_format(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue