Files
Jakob Borg 6df85dc95c fix: let umask do the thing (#10723)
We had a few places where we had perhaps too much of an opinion on the
permissions on created files and directories, sometimes fuled by a
misconception about how permissions work in both Unix and Windows. Recap
on the ground rules:

- On all unixes, all file & directory creation (`Mkdir`, `MkdirAll`,
`Create`, `WriteFile`, `Open`) has the given permission bits filtered
via the user's umask. The proper permissions for us to use are in almost
all cases 0o666 for files and 0o777 for directories, strange as that may
look at the call site.
- On Windows, there is no umask but in turn all of the permission bits
except the user write bit are ignored. The absence of user write bit is
converted into the read only attribute. This means that what is proper
for Unix above is also proper for Windows.
- We make an exception when creating files for certificate keys and the
config / database directories, as those contain secrets we think should remain closed
even if the user generally collaborates with other users on the system.

(Also removal of a bugfixed copy of MkdirAll for Windows that hasn't
been necessary for a few years.)

---------

Signed-off-by: Jakob Borg <jakob@kastelo.net>
2026-06-03 10:54:04 +02:00
..
2024-09-21 09:04:22 +02:00
2026-06-03 10:54:04 +02:00

relaypoolsrv

This is the relay pool server for the syncthing project, which allows community hosted relaysrv's to join the public pool.

Servers that join the pool are then advertised to users of syncthing as potential connection points for those who are unable to connect directly due to NAT or firewall issues.

There is very little reason why you'd want to run this yourself, as relaypoolsrv is just used for announcement and lookup of public relay servers. If you are looking to set up a private or a public relay, please check the documentation for relaysrv, which also explains how to join the default public pool.

See relaypoolsrv -help for configuration options.

Third-party attributions

oschwald/geoip2-golang, oschwald/maxminddb-golang, Copyright (C) 2015 Gregory J. Oschwald.