* refactor: move tr_tracker_http_announce() helper funcs into their own namespace
* refactor: move tr_globalIPv6() helper funcs into their own namespace
* refactor: move tr_address_is_valid_for_peers() helper funcs into their own namespace
* refactor: make tr_address_compare() a private method
* refactor: rename tr_address::isIPv4() to is_ipv4()
* refactor: use snake_case for tr_address methods
* refactor: make tr_address_is_valid_for_peers() a member function
* refactor: make tr_peer_socket.type private
* refactor: reimplement tr_peerIo::address() as a wrapper around tr_peer_socket::address()
* refactor: remove tr_address, tr_port from tr_peerIo
* refactor: replace tr_netClosePeerSocket() with tr_peer_socket::close()
* fix: save log level, encryption mod, preallocation mode as ints
* fix: ensure log level is saved in tr_sessionGetSettings()
* fix: ensure the right verbosity row is selected
* refactor: add tr_rand_obj()
There are a lot of places in the codebase where we need to populate
an integral type or a fixed-size array with random data. To do this,
we instantiate a local on the stack, fill it with tr_rand_buffer(),
and then use it.
This PR creates a helper function to make this a one-liner.
* Compile images into an assets catalog
* Optionally sign resulting Mac bundle
* Move 3rd-party/utility/test targets to their own folders
* Enable ARC via compile options unconditionally
* Install base and localized resources into correct directory
This seems like a Xcode quirk: if subdirectory containing the resource file
matches the destination directory name (and probably if there's more than one
resource file being installed there), the resulting folder structure then
contains an extra subdirectory, i.e. Resources/dirname/dirname/resname.
* Group source files for better structure in IDEs (Xcode, VS)
* Remove Xcode project
Using Xcode is still possible via "Xcode" CMake generator.
* Use ad-hoc signature if one is not specified
* Always use ad-hoc signature on link, leave proper signing to CPack
* Install localized resources into correct directory (QL plugin)
* Don't include CTest (we don't use additional targets it provides)
* Revert "Remove Xcode project"
This reverts commit dc069f654f.
On macOS Monterey and later `/var` is symlinked to `/private/var`
Add missing `tr_sys_path_resolve(...)` for parent dir in sandbox
fixture.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* build: semver versioning
Xref: https://github.com/transmission/transmission/issues/1037
* test: add base62 tests for client-id
* build: include PATCH_VERSION in Transmission.rc.in
* build: semver versioning in version.h
* fixup! build: semver versioning in version.h
undo experimental verison changes that were made for testing purposes
* Fixup version in MSI package filename
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
* refactor: add a Mediator class to decouple tr_session and tr_port_forwarding
* refactor: add tr_port_forwarding::Mediator::privatePeerPort()
* refactor: add tr_port_forwarding::Mediator::onPortForwarded()
* chore: avoid unnecessary include of timer.h in other headers
* refactor: use a uniform timerMaker() API in mediators