1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-02-21 21:57:01 +00:00
transmission/libtransmission
LaserEyess 706735ca88
Support binding the RPC to a Unix socket on *nix platforms (#2574)
* Support binding the RPC to a Unix socket on *nix

This commit adds unix socket support for a RPC. Some refactoring was
required in order to split out the RPC server's address struct from the
normal network address struct used for peers. It would cause
unacceptable overhead to add the unix socket length to the union.

Co-authored-by: Malte Voos <malte@malvo.org>

* add RPC socket mode to control unix socket perms

Unix socket permissions are important to control for security reasons,
and libevent defaults to 0755, which may not be what users want.

Co-authored-by: LaserEyess <LaserEyess@users.noreply.github.com>
Co-authored-by: Malte Voos <malte@malvo.org>
2022-02-23 15:09:54 -06:00
..
.clang-tidy refactor: clang-tidy in libtransmission (#2578) 2022-02-06 22:28:36 -06:00
announce-list.cc refactor: do not mix torrent, default trackers 2022-02-21 08:34:59 -06:00
announce-list.h perf: skip some excess announce list rebuilds 2022-02-21 08:34:59 -06:00
announcer-common.h chore: iwyu (#2553) 2022-01-31 17:05:35 -06:00
announcer-http.cc refactor: tr_web (#2640) 2022-02-17 17:35:57 -06:00
announcer-udp.cc fix: do not hammer dns servers re-requesting udp trackernames (#2641) 2022-02-17 18:38:11 -06:00
announcer.cc perf: skip some excess announce list rebuilds 2022-02-21 08:34:59 -06:00
announcer.h refactor: use C++ objects in announcer (#2474) 2022-01-22 23:41:01 -06:00
bandwidth.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
bandwidth.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
benc.h chore: iwyu (#2553) 2022-01-31 17:05:35 -06:00
bitfield.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
bitfield.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
block-info.cc refactor: always use a blocksize of 16 KB (#2694) 2022-02-23 14:25:06 -06:00
block-info.h refactor: always use a blocksize of 16 KB (#2694) 2022-02-23 14:25:06 -06:00
blocklist.cc refactor: sonarcloud "use if init" statements (#2587) 2022-02-07 23:44:31 -06:00
blocklist.h Revert "fix: sonarcloud (#2558)" (#2562) 2022-02-01 11:30:51 -06:00
cache.cc refactor: webseed (#2689) 2022-02-23 07:38:18 -06:00
cache.h refactor: use tr_block_info::Location in cache.cc (#2652) 2022-02-19 07:45:19 -06:00
clients.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
clients.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
CMakeLists.txt feat: use libpsl (#2575) 2022-02-12 11:30:27 -06:00
completion.cc refactor: always use a blocksize of 16 KB (#2694) 2022-02-23 14:25:06 -06:00
completion.h feat: newly-added seeds skip the full verify step (#2626) 2022-02-14 13:17:51 -06:00
crypto-utils-ccrypto.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
crypto-utils-cyassl.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
crypto-utils-fallback.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
crypto-utils-openssl.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
crypto-utils-polarssl.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
crypto-utils.cc feat: add support for adding torrents by raw hash values (#2608) 2022-02-12 22:16:55 -06:00
crypto-utils.h feat: add support for adding torrents by raw hash values (#2608) 2022-02-12 22:16:55 -06:00
crypto.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
crypto.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
error-types.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
error.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
error.h refactor: add benc::Handler::Context (#2531) 2022-01-28 16:46:14 -06:00
fdlimit.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
fdlimit.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
file-piece-map.cc Feat: add tr_block_info::Location (#2649) 2022-02-18 17:17:19 -06:00
file-piece-map.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
file-posix.cc fix implicit conversion (#2661) 2022-02-19 20:03:57 -06:00
file-win32.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
file.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
file.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
foo
handshake.cc refactor: sonarcloud "use if init" statements (#2587) 2022-02-07 23:44:31 -06:00
handshake.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
history.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
inout.cc refactor: always use a blocksize of 16 KB (#2694) 2022-02-23 14:25:06 -06:00
inout.h refactor: use tr_block_info::Location in inout.cc (#2658) 2022-02-19 10:07:08 -06:00
interned-string.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
jsonsl.c chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
jsonsl.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
libt.dox
log.cc refactor: fix a pair of win32 msvc warnings in libtransmission (#2588) 2022-02-08 12:50:09 -06:00
log.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
magnet-metainfo.cc fix: sonarcloud code smells (#2623) 2022-02-13 23:44:38 -06:00
magnet-metainfo.h feat: add support for adding torrents by raw hash values (#2608) 2022-02-12 22:16:55 -06:00
makemeta.cc fixup! refactor: use tr_sha1_digest_t everywhere (#2330) 2022-02-21 18:01:36 -06:00
makemeta.h feat: support webseeds in transmission-create (#2611) 2022-02-12 12:50:47 -06:00
mime-types.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
mime-types.js chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
natpmp.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
natpmp_local.h NAT-PMP private/public port and lifetime fix (#1602) 2022-01-21 18:07:24 -06:00
net.cc refactor: move tr_netClosePeerSocket() impl to net.cc (#2659) 2022-02-19 12:10:43 -06:00
net.h feat: support dscp classes in socket iptos (#2594) 2022-02-10 15:35:28 -06:00
peer-common.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
peer-io.cc fix: unsupported peer socket type 0 assertion failure (#2687) 2022-02-22 16:10:49 -06:00
peer-io.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
peer-mgr-active-requests.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
peer-mgr-active-requests.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
peer-mgr-wishlist.cc refactor: rename mediator classes (#2681) 2022-02-22 09:09:24 -06:00
peer-mgr-wishlist.h refactor: rename mediator classes (#2681) 2022-02-22 09:09:24 -06:00
peer-mgr.cc refactor: always use a blocksize of 16 KB (#2694) 2022-02-23 14:25:06 -06:00
peer-mgr.h refactor: remove raw ptr variant of tr_peerMgrCompactToPex() (#2556) 2022-01-31 21:11:47 -06:00
peer-msgs.cc refactor: always use a blocksize of 16 KB (#2694) 2022-02-23 14:25:06 -06:00
peer-msgs.h Feat: add tr_block_info::Location (#2649) 2022-02-18 17:17:19 -06:00
peer-socket.h refactor: move tr_netClosePeerSocket() impl to net.cc (#2659) 2022-02-19 12:10:43 -06:00
platform-quota.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
platform-quota.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
platform.cc refactor: sonarcloud "use if init" statements (#2587) 2022-02-07 23:44:31 -06:00
platform.h refactor: replace tr_thread with std::thread (#2548) 2022-01-31 13:34:04 -06:00
port-forwarding.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
port-forwarding.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
ptrarray.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
ptrarray.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
quark.cc Support binding the RPC to a Unix socket on *nix platforms (#2574) 2022-02-23 15:09:54 -06:00
quark.h Support binding the RPC to a Unix socket on *nix platforms (#2574) 2022-02-23 15:09:54 -06:00
resume.cc refactor: fix sonarcloud "use enum class" code smells (#2590) 2022-02-08 20:25:19 -06:00
resume.h refactor: fix sonarcloud "use enum class" code smells (#2590) 2022-02-08 20:25:19 -06:00
rpc-server.cc Support binding the RPC to a Unix socket on *nix platforms (#2574) 2022-02-23 15:09:54 -06:00
rpc-server.h Support binding the RPC to a Unix socket on *nix platforms (#2574) 2022-02-23 15:09:54 -06:00
rpcimpl.cc refactor: do not mix torrent, default trackers 2022-02-21 08:34:59 -06:00
rpcimpl.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
session-id.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
session-id.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
session.cc Support binding the RPC to a Unix socket on *nix platforms (#2574) 2022-02-23 15:09:54 -06:00
session.h refactor: rename mediator classes (#2681) 2022-02-22 09:09:24 -06:00
stats.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
stats.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
subprocess-posix.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
subprocess-win32.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
subprocess.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
torrent-ctor.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
torrent-magnet.cc magnet links always pause after they get metainfo (#2654) 2022-02-19 09:26:59 -06:00
torrent-magnet.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
torrent-metainfo.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
torrent-metainfo.h refactor: always use a blocksize of 16 KB (#2694) 2022-02-23 14:25:06 -06:00
torrent.cc refactor: webseed (#2689) 2022-02-23 07:38:18 -06:00
torrent.h refactor: always use a blocksize of 16 KB (#2694) 2022-02-23 14:25:06 -06:00
tr-assert.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
tr-assert.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
tr-assert.mm Make macOS crash reports provide more information (#2471) 2022-01-23 18:10:06 -06:00
tr-dht.cc refactor: sonarcloud "use if init" statements (#2587) 2022-02-07 23:44:31 -06:00
tr-dht.h Revert "fix: sonarcloud (#2558)" (#2562) 2022-02-01 11:30:51 -06:00
tr-getopt.cc refactor: sonarcloud "use if init" statements (#2587) 2022-02-07 23:44:31 -06:00
tr-getopt.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
tr-lpd.cc refactor: clang-tidy in libtransmission (#2578) 2022-02-06 22:28:36 -06:00
tr-lpd.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
tr-macros.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
tr-udp.cc refactor/remove-unused-utp-includes (#2650) 2022-02-18 18:56:53 -06:00
tr-udp.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
tr-utp.cc refactor: clang-tidy in libtransmission (#2578) 2022-02-06 22:28:36 -06:00
tr-utp.h refactor: use tr_block_info::Location in cache.cc (#2652) 2022-02-19 07:45:19 -06:00
transmission.h Merge branch 'main' into docs/absorb-the-wiki 2022-02-21 11:43:28 -06:00
trevent.cc fixup! refactor: trevent use std:: tools intead of pipes (#2520) 2022-02-21 11:41:04 -06:00
trevent.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
upnp.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
upnp.h Add bind-address-ipv4 to upnp (#845) 2022-01-21 09:44:45 -06:00
utils.cc refactor: move tr_netClosePeerSocket() impl to net.cc (#2659) 2022-02-19 12:10:43 -06:00
utils.h feat: add tr_torrentSetTrackerList(), tr_torrentGetTrackerList() (#2642) 2022-02-18 11:52:01 -06:00
variant-benc.cc refactor: sonarcloud "use if init" statements (#2587) 2022-02-07 23:44:31 -06:00
variant-common.h refactor: SAX-like benc parser pt. 1 (#2490) 2022-01-24 00:30:00 -06:00
variant-json.cc fix: define UTF_CPP_CPLUSPLUS for #include utf8.h (#2625) 2022-02-14 11:54:32 -06:00
variant.cc refactor: sonarcloud "use if init" statements (#2587) 2022-02-07 23:44:31 -06:00
variant.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
verify.cc test: fix race condition in rename-test (#2612) 2022-02-12 13:51:43 -06:00
verify.h refactor: remove callback from tr_torrentVerify() public API (#2592) 2022-02-09 12:02:59 -06:00
version.h.in
watchdir-common.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
watchdir-generic.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
watchdir-inotify.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
watchdir-kqueue.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
watchdir-win32.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
watchdir.cc chore: update license spdx abbreviations (#2582) 2022-02-07 10:25:02 -06:00
watchdir.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
web-utils.cc fix: sonarcloud code smells (#2623) 2022-02-13 23:44:38 -06:00
web-utils.h feat: use libpsl (#2575) 2022-02-12 11:30:27 -06:00
web.cc fixup! refactor: tr_web (#2633) (#2693) 2022-02-23 11:00:40 -06:00
web.h refactor: rename mediator classes (#2681) 2022-02-22 09:09:24 -06:00
webseed.cc refactor: webseed (#2689) 2022-02-23 07:38:18 -06:00
webseed.h chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
wildmat.c