Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Mike Perry
Tor
Commits
3b535869
Unverified
Commit
3b535869
authored
Sep 15, 2015
by
Ola Bini
Browse files
Add tests for parse_port_config
parent
a444b113
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
src/or/config.c
View file @
3b535869
...
...
@@ -545,7 +545,7 @@ static const config_var_t testing_tor_network_defaults[] = {
static
char
*
get_windows_conf_root
(
void
);
#endif
static
int
options_act_reversible
(
const
or_options_t
*
old_options
,
char
**
msg
);
static
int
options_act
(
const
or_options_t
*
old_options
);
STATIC
int
options_act
(
const
or_options_t
*
old_options
);
static
int
options_transition_allowed
(
const
or_options_t
*
old
,
const
or_options_t
*
new
,
char
**
msg
);
...
...
@@ -623,15 +623,15 @@ static char *global_dirfrontpagecontents = NULL;
static
smartlist_t
*
configured_ports
=
NULL
;
/** Return the contents of our frontpage string, or NULL if not configured. */
const
char
*
get_dirportfrontpage
(
void
)
MOCK_IMPL
(
const
char
*
,
get_dirportfrontpage
,
(
void
)
)
{
return
global_dirfrontpagecontents
;
}
/** Return the currently configured options. */
or_options_t
*
get_options_mutable
(
void
)
/** Return
s
the currently configured options. */
MOCK_IMPL
(
or_options_t
*
,
get_options_mutable
,
(
void
)
)
{
tor_assert
(
global_options
);
return
global_options
;
...
...
@@ -790,7 +790,6 @@ config_free_all(void)
tor_free
(
torrc_fname
);
tor_free
(
torrc_defaults_fname
);
tor_free
(
the_tor_version
);
tor_free
(
global_dirfrontpagecontents
);
tor_free
(
the_short_tor_version
);
...
...
@@ -1365,7 +1364,7 @@ options_transition_requires_fresh_tls_context(const or_options_t *old_options,
* Note: We haven't moved all the "act on new configuration" logic
* here yet. Some is still in do_hup() and other places.
*/
static
int
STATIC
int
options_act
(
const
or_options_t
*
old_options
)
{
config_line_t
*
cl
;
...
...
@@ -1387,10 +1386,12 @@ options_act(const or_options_t *old_options)
if
(
options
->
DisableDebuggerAttachment
&&
!
disabled_debugger_attach
&&
running_tor
)
{
int
ok
=
tor_disable_debugger_attach
();
/* LCOV_EXCL_START the warned_debugger_attach is 0 can't reach inside. */
if
(
warned_debugger_attach
&&
ok
==
1
)
{
log_notice
(
LD_CONFIG
,
"Disabled attaching debuggers for unprivileged "
"users."
);
}
/* LCOV_EXCL_STOP */
disabled_debugger_attach
=
(
ok
==
1
);
}
else
if
(
!
options
->
DisableDebuggerAttachment
&&
!
warned_debugger_attach
)
{
...
...
@@ -1417,12 +1418,14 @@ options_act(const or_options_t *old_options)
#endif
#ifdef ENABLE_TOR2WEB_MODE
/* LCOV_EXCL_START */
if
(
!
options
->
Tor2webMode
)
{
log_err
(
LD_CONFIG
,
"This copy of Tor was compiled to run in "
"'tor2web mode'. It can only be run with the Tor2webMode torrc "
"option enabled."
);
return
-
1
;
}
/* LCOV_EXCL_STOP */
#else
if
(
options
->
Tor2webMode
)
{
log_err
(
LD_CONFIG
,
"This copy of Tor was not compiled to run in "
...
...
@@ -1686,8 +1689,7 @@ options_act(const or_options_t *old_options)
if
(
revise_trackexithosts
)
addressmap_clear_excluded_trackexithosts
(
options
);
if
(
!
options
->
AutomapHostsOnResolve
)
{
if
(
old_options
->
AutomapHostsOnResolve
)
if
(
!
options
->
AutomapHostsOnResolve
&&
old_options
->
AutomapHostsOnResolve
)
{
revise_automap_entries
=
1
;
}
else
{
if
(
!
smartlist_strings_eq
(
old_options
->
AutomapHostsSuffixes
,
...
...
@@ -1826,8 +1828,8 @@ options_act(const or_options_t *old_options)
print_notice
=
1
;
}
if
(
print_notice
)
log_notice
(
LD_CONFIG
,
"Configured to measure statistics. Look for "
"the *-stats files that will first be written to the "
log_notice
(
LD_CONFIG
,
"Configured to measure statistics. Look for "
"the *-stats files that will first be written to the "
"data directory in 24 hours from now."
);
}
...
...
@@ -5903,7 +5905,7 @@ config_parse_unix_port(const char *addrport, char **path_out)
* <b>out</b> for every port that the client should listen on. Return 0
* on success, -1 on failure.
*/
static
int
STATIC
int
parse_port_config
(
smartlist_t
*
out
,
const
config_line_t
*
ports
,
const
config_line_t
*
listenaddrs
,
...
...
@@ -7329,4 +7331,3 @@ init_cookie_authentication(const char *fname, const char *header,
tor_free
(
cookie_file_str
);
return
retval
;
}
src/or/config.h
View file @
3b535869
...
...
@@ -14,9 +14,9 @@
#include
"testsupport.h"
const
char
*
get_dirportfrontpage
(
void
);
MOCK_DECL
(
const
or_options_t
*
,
get_options
,(
void
));
or_options_t
*
get_options_mutable
(
void
);
MOCK_DECL
(
const
char
*
,
get_dirportfrontpage
,
(
void
)
)
;
MOCK_DECL
(
const
or_options_t
*
,
get_options
,
(
void
));
MOCK_DECL
(
or_options_t
*
,
get_options_mutable
,
(
void
)
)
;
int
set_options
(
or_options_t
*
new_val
,
char
**
msg
);
void
config_free_all
(
void
);
const
char
*
safe_str_client
(
const
char
*
address
);
...
...
@@ -138,6 +138,7 @@ smartlist_t *get_options_for_server_transport(const char *transport);
#ifdef CONFIG_PRIVATE
#ifdef TOR_UNIT_TESTS
extern
struct
config_format_t
options_format
;
STATIC
int
options_act
(
const
or_options_t
*
old_options
);
#endif
STATIC
void
or_options_free
(
or_options_t
*
options
);
...
...
@@ -154,7 +155,15 @@ MOCK_DECL(STATIC void, add_default_fallback_dir_servers, (void));
STATIC
int
parse_dir_fallback_line
(
const
char
*
line
,
int
validate_only
);
STATIC
int
parse_port_config
(
smartlist_t
*
out
,
const
config_line_t
*
ports
,
const
config_line_t
*
listenaddrs
,
const
char
*
portname
,
int
listener_type
,
const
char
*
defaultaddr
,
int
defaultport
,
const
unsigned
flags
);
#endif
#endif
src/test/test_config.c
View file @
3b535869
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment