mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-23 20:03:31 +01:00
Merge remote-tracking branch 'tor-gitlab/mr/187' into master
This commit is contained in:
commit
4f5a116618
3
changes/ticket18888
Normal file
3
changes/ticket18888
Normal file
@ -0,0 +1,3 @@
|
||||
o Minor features (safety):
|
||||
- Log a warning at startup if Tor is built with compile-time options that
|
||||
are likely to make it less stable or reliable. Closes ticket 18888.
|
@ -2,6 +2,7 @@
|
||||
# ADD_C_FILE: INSERT SOURCES HERE.
|
||||
LIBTOR_APP_A_SOURCES += \
|
||||
src/app/main/main.c \
|
||||
src/app/main/risky_options.c \
|
||||
src/app/main/shutdown.c \
|
||||
src/app/main/subsystem_list.c \
|
||||
src/app/main/subsysmgr.c
|
||||
@ -10,6 +11,7 @@ LIBTOR_APP_A_SOURCES += \
|
||||
noinst_HEADERS += \
|
||||
src/app/main/main.h \
|
||||
src/app/main/ntmain.h \
|
||||
src/app/main/risky_options.h \
|
||||
src/app/main/shutdown.h \
|
||||
src/app/main/subsysmgr.h
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "app/config/quiet_level.h"
|
||||
#include "app/main/main.h"
|
||||
#include "app/main/ntmain.h"
|
||||
#include "app/main/risky_options.h"
|
||||
#include "app/main/shutdown.h"
|
||||
#include "app/main/subsysmgr.h"
|
||||
#include "core/mainloop/connection.h"
|
||||
@ -539,6 +540,7 @@ tor_init(int argc, char *argv[])
|
||||
{
|
||||
char progname[256];
|
||||
quiet_level_t quiet = QUIET_NONE;
|
||||
bool running_tor = false;
|
||||
|
||||
time_of_process_start = time(NULL);
|
||||
tor_init_connection_lists();
|
||||
@ -562,8 +564,10 @@ tor_init(int argc, char *argv[])
|
||||
whether we log anything at all to stdout. */
|
||||
parsed_cmdline_t *cmdline;
|
||||
cmdline = config_parse_commandline(argc, argv, 1);
|
||||
if (cmdline)
|
||||
if (cmdline) {
|
||||
quiet = cmdline->quiet_level;
|
||||
running_tor = (cmdline->command == CMD_RUN_TOR);
|
||||
}
|
||||
parsed_cmdline_free(cmdline);
|
||||
}
|
||||
|
||||
@ -599,6 +603,12 @@ tor_init(int argc, char *argv[])
|
||||
log_notice(LD_GENERAL, "This version is not a stable Tor release. "
|
||||
"Expect more bugs than usual.");
|
||||
|
||||
if (strlen(risky_option_list) && running_tor) {
|
||||
log_warn(LD_GENERAL, "This build of Tor has been compiled with one "
|
||||
"or more options that might make it less reliable or secure! "
|
||||
"They are:%s", risky_option_list);
|
||||
}
|
||||
|
||||
tor_compress_log_init_warnings();
|
||||
}
|
||||
|
||||
|
35
src/app/main/risky_options.c
Normal file
35
src/app/main/risky_options.c
Normal file
@ -0,0 +1,35 @@
|
||||
/* Copyright (c) 2001 Matej Pfajfar.
|
||||
* Copyright (c) 2001-2004, Roger Dingledine.
|
||||
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
|
||||
* Copyright (c) 2007-2020, The Tor Project, Inc. */
|
||||
/* See LICENSE for licensing information */
|
||||
|
||||
/**
|
||||
* \file risky_options.c
|
||||
* \brief List compile-time options that might make Tor less reliable.
|
||||
**/
|
||||
|
||||
#include "orconfig.h"
|
||||
#include "app/main/risky_options.h"
|
||||
|
||||
/** A space-separated list of the compile-time options might make Tor less
|
||||
* reliable or secure. These options mainly exist for testing or debugging.
|
||||
*/
|
||||
const char risky_option_list[] =
|
||||
""
|
||||
#ifdef DISABLE_ASSERTS_IN_TEST
|
||||
" --disable-asserts-in-test"
|
||||
#endif
|
||||
#ifdef TOR_UNIT_TESTS
|
||||
" TOR_UNIT_TESTS"
|
||||
#endif
|
||||
#ifdef ENABLE_RESTART_DEBUGGING
|
||||
" --enable-restart-debugging"
|
||||
#endif
|
||||
#ifdef ALL_BUGS_ARE_FATAL
|
||||
" --enable-all-bugs-are-fatal"
|
||||
#endif
|
||||
#ifdef DISABLE_MEMORY_SENTINELS
|
||||
" --disable-memory-sentinels"
|
||||
#endif
|
||||
;
|
17
src/app/main/risky_options.h
Normal file
17
src/app/main/risky_options.h
Normal file
@ -0,0 +1,17 @@
|
||||
/* Copyright (c) 2001 Matej Pfajfar.
|
||||
* Copyright (c) 2001-2004, Roger Dingledine.
|
||||
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
|
||||
* Copyright (c) 2007-2020, The Tor Project, Inc. */
|
||||
/* See LICENSE for licensing information */
|
||||
|
||||
/**
|
||||
* \file risky_options.h
|
||||
* \brief Header for risky_options.c
|
||||
**/
|
||||
|
||||
#ifndef TOR_RISKY_OPTIONS_H
|
||||
#define TOR_RISKY_OPTIONS_H
|
||||
|
||||
extern const char risky_option_list[];
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user