mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Add a ControlPortFileGroupWritable option
This commit is contained in:
parent
dad12188a6
commit
7f654a6a6f
@ -7,5 +7,8 @@
|
||||
type. This is useful for if the user has selected SocksPort
|
||||
"auto", and you need to know which port got chosen.
|
||||
- There is a ControlPortWriteToFile option that tells Tor to write
|
||||
its actual control port or ports to a chosen file.
|
||||
its actual control port or ports to a chosen file. If the option
|
||||
ControlPortFileGroupReadable is set, the file is created as
|
||||
group-readable.
|
||||
|
||||
|
||||
|
@ -196,6 +196,11 @@ Other options can be specified either on the command-line (--option
|
||||
this address. Usable by controllers to learn the actual control port
|
||||
when ControlPort is set to "auto".
|
||||
|
||||
**ControlPortFileGroupReadable** **0**|**1**::
|
||||
If this option is set to 0, don't allow the filesystem group to read the
|
||||
control port file. If the option is set to 1, make the control port
|
||||
file readable by the default GID. (Default: 0).
|
||||
|
||||
**DataDirectory** __DIR__::
|
||||
Store working data in DIR (Default: @LOCALSTATEDIR@/lib/tor)
|
||||
|
||||
|
@ -206,6 +206,7 @@ static config_var_t _option_vars[] = {
|
||||
V(ContactInfo, STRING, NULL),
|
||||
V(ControlListenAddress, LINELIST, NULL),
|
||||
V(ControlPort, PORT, "0"),
|
||||
V(ControlPortFileGroupReadable,BOOL, "0"),
|
||||
V(ControlPortWriteToFile, FILENAME, NULL),
|
||||
V(ControlSocket, LINELIST, NULL),
|
||||
V(CookieAuthentication, BOOL, "0"),
|
||||
|
@ -542,6 +542,14 @@ control_ports_write_to_file(void)
|
||||
log_warn(LD_CONTROL, "Writing %s failed: %s",
|
||||
options->ControlPortWriteToFile, strerror(errno));
|
||||
}
|
||||
#ifndef MS_WINDOWS
|
||||
if (options->ControlPortFileGroupReadable) {
|
||||
if (chmod(options->ControlPortWriteToFile, 0640)) {
|
||||
log_warn(LD_FS,"Unable to make %s group-readable.",
|
||||
options->ControlPortWriteToFile);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
tor_free(joined);
|
||||
SMARTLIST_FOREACH(lines, char *, cp, tor_free(cp));
|
||||
smartlist_free(lines);
|
||||
|
@ -2876,6 +2876,8 @@ typedef struct {
|
||||
|
||||
/** File where we should write the ControlPort. */
|
||||
char *ControlPortWriteToFile;
|
||||
/** Should that file be group-readable? */
|
||||
int ControlPortFileGroupReadable;
|
||||
|
||||
} or_options_t;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user