Commit Graph

247 Commits

Author SHA1 Message Date
Charles Kerr a942c67199
refactor: use fmt (#2758)
* deps: use fmt (8.1.1 tag) to build log strings

Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-03-13 23:43:35 -05:00
Charles Kerr e14c7f38e5
feat: use libpsl (#2575)
Use libpsl to calculate public and private parts of URL hosts.
2022-02-12 11:30:27 -06:00
Charles Kerr d8d765c595
refactor: use libdeflate instead of zlib's deflate() (#2405)
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-01-17 10:20:12 -06:00
Charles Kerr bbe49639d6
refactor: use cpputf for utf8 validation and conversion (#2251)
* refactor: use cpputf for utf8 validation and conversion
2021-11-30 15:13:56 -06:00
C.W. Betts 62c92227e3
macOS: use SDK's libCurl. (#1542)
* Use the SDK's provided libcurl instead of relying on an outdated stub library.

* Quiet a linker warning.

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2021-10-24 22:27:23 +03:00
Mike Gelfand 5edbcb3740
Add CommonCrypto-based crypto utils implementation (#2032)
* Add CommonCrypto-based crypto utils implementation

Ported and adapted from an old (circa 2014-2015) branch of mine.

DH helpers are based on CCBigNum since CCDH doesn't provide acceptable error
reporting, and SecDH interface is a bit weird and limiting. Given that all
mentioned APIs are private, it doesn't seem to matter which one we're using as
any of them could be changed/removed by Apple at any point.

* Switch Xcode project to CommonCrypto backend
2021-10-24 21:19:57 +03:00
Mike Gelfand a459e5e11b
Switch to a standalone ARC4 implementation (#1788)
* Switch to a standalone ARC4 implementation

This frees us from expecting it being provided by one of the crypto
libraries we support, all of which deprecated and/or removed it at this
point.

Fixes: #1103
Fixes: #1777

* Suppress lgtm warnings about RC4 being weak (we don't care)
2021-09-12 06:47:29 +03:00
Mike Gelfand db3d40d0ed Switch to clang-format for code formatting, include Mac client 2021-08-16 00:38:29 +03:00
Dzmitry Neviadomski 59cf023e57
Update libevent to 2.1.12-stable. (#1588)
* Update libevent to 2.1.12-stable.

Fixes `kq_init: detected broken kqueue; not using.: Undefined error: 0`
message on start on macOS.

* Do not build libevent samples.

* Explicitly set library type to static on MSVC for libevent.

Co-authored-by: Mitch Livingston <livings124@mac.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-05-20 11:36:12 -05:00
Mike Gelfand 4c7153fa48
Remove autotools-based build system (#1465)
* Support .git files (e.g. for worktrees, submodules)
* Fix symlinks in source tarball, switch to TXZ, adjust non-release name
* Remove autotools stuff
2020-10-13 03:15:19 +03:00
Charles Kerr 677dc73eac
refactor: use GTest for running tests (#1383)
* refactor: use google-test on libtransmission tests
2020-08-11 13:11:55 -05:00
Mike Gelfand 0c10308e06
Add missing files that fail build from tarball (#1247)
Fixes: #1246, #1138
2020-05-23 02:13:59 +03:00
Mike Gelfand 3538eb93c3 Update curl and openssl to those in 10.10 SDK (macOS) 2019-06-22 16:43:59 +03:00
Mike Gelfand 96926a8337 Update DHT library to 0.25
Fixes: #508
2018-02-10 11:35:14 +03:00
Mike Gelfand 6c30359beb Bump miniupnpc version to 2.0.20170509 (take two)
Fix Xcode project to reference changed list of miniupnpc files.
Disable building of upnpc-static executable.

Fixes: #347
2017-07-27 18:29:09 +03:00
Mike Gelfand 27b43a7503 Bump miniupnpc version to 2.0.20170509
Fixes: #347
2017-07-27 17:22:04 +03:00
Mike Gelfand c199eef8ae When building with Xcode, link against 'libcrypto.dylib' instead of 'libcrypto.0.9.8.dylib'
Fix up 'miniupnpc' directory name along the way, using missing 'miniupnp'
was failing the build.

Fixes: #71
2017-01-18 21:56:02 +03:00
Mike Gelfand 683b417a33 Bump miniupnpc revision to include previously made fixes 2017-01-02 23:30:16 +03:00
Mike Gelfand 3093df8755 Adjust autotools files to use submodules 2017-01-02 02:26:02 +03:00
Mike Gelfand e83a062417 Adjust CMake files to use submodules instead of downloading archives 2017-01-02 02:26:02 +03:00
Mike Gelfand eb437c16f5 Add third-party libraries back as submodules 2017-01-02 02:25:59 +03:00
Mike Gelfand 2de12f50c5 Remove third-party code stored in the repo directly 2017-01-01 16:01:00 +03:00
Mike Gelfand 56a1934da1 Add libevent submodule (should hopefully fix Mac build) 2016-09-25 00:22:44 +03:00
Mike Gelfand 61f82cb6b5 #6079: Fix miniupnpc script to handle spaces and other special chars in paths 2016-03-02 16:31:16 +00:00
Mike Gelfand 7ea2b71ec8 Fix MinGW build (still produces lots of useless warnings though) 2015-12-31 12:41:17 +00:00
Mike Gelfand 3f86b77068 Add the rest of current Windows-related third-party patches 2015-11-06 20:47:52 +00:00
Mike Gelfand 2bab67cb06 Add libcrypto library for Xcode 7 support (complements r14567) 2015-11-03 19:28:05 +00:00
Mike Gelfand 7f46aeeccf #5889: Sync with libutp before its API changed 2015-10-16 20:27:52 +00:00
Mike Gelfand 3d497891ee #5867: Fix miniupnpc strings script re. r14269 (patch by demosdemon) 2015-10-08 19:12:03 +00:00
Mike Gelfand 1fd7c46bfa Support compiling Mac client with Xcode 7
Latest Mac OS X SDK (10.11) doesn't include OpenSSL headers, but still
provides the libraries. Bundle our own copy of OpenSSL headers for now
(taken from running 10.10 system).
2015-10-05 00:25:13 +00:00
Mike Gelfand 742c89b3b7 Emit warning from uTP config in a more friendly way 2015-04-23 20:20:21 +00:00
Mike Gelfand 5578d616a8 Add patch from #5002 (r13646) to fix crash in libutp for CMake-based builds 2015-03-29 20:48:06 +00:00
Mike Gelfand 4072ff2a21 Fix libb64 unsigned char issues while waiting for upstream to accept the patch 2015-03-14 06:59:44 +00:00
Mike Gelfand 1d58af5082 Increase BASE64 encoding size when using system libb64
Remove BASE64 reference testing as it's only libb64 now.
Improve the test to ignore \r and \n when comparing BASE-encoded
strings to not fail on system (unpatched) libb64.
2015-01-03 21:35:20 +00:00
Mike Gelfand b928ae1ba8 Use libb64 instead of OpenSSL to encode/decode BASE64
Some crypto libraries (like CyaSSL, MatrixSSL and CommonCrypto) either
don't have or expose this functionality at all, expose only part of it,
or (like OpenSSL) have heavyweight API for it. Also, for the task as
easy as BASE64 encoding and decoding it's much better to use small and
simple specialized library.
2015-01-01 21:16:36 +00:00
Mike Gelfand ca8ecf3d06 #5809: Allow building against system dht library (patch by jbeich) 2014-12-28 00:14:46 +00:00
Mike Gelfand aa0b500ae5 Make utp_config.h usable with MSVC (#warning directive is not standard) 2014-12-13 10:03:44 +00:00
Mike Gelfand 83c4edb008 #5828: Initial CMake build system support 2014-12-01 19:55:22 +00:00
Mitchell Livingston 084273c106 Use built-in __APPLE__ macro instead of SYS_DARWIN and MACOSX 2014-07-03 19:20:12 +00:00
Jordan Lee 265962bd6f sync third-party/miniupnp/updateminiupnpcstrings.sh to Transmission's automake code 2014-05-05 21:02:17 +00:00
Jordan Lee 6ee973aaac (trunk) #5671 'dht-0.22': update third-party/dht.c to Juliusz Chroboczek's upstream v0.22 2014-05-05 20:45:14 +00:00
Jordan Lee a7137b7bb9 upgrade miniupnp version to 1.9. update autoconf script to detect the API version; update upnp.c's #ifdefs to use the API version. 2014-04-27 19:31:10 +00:00
Jordan Lee 13a09c5bf6 in debugf(), don't call fflush() on a null pointer. Xref: https://trac.transmissionbt.com/ticket/4531#comment:73 2014-01-19 04:26:45 +00:00
Jordan Lee 285107dbca (trunk, libutp) #5002 'crash in UTP_ProcessIncoming()' -- patch ef69847aaa from upstream 2012-12-11 04:08:26 +00:00
Mitchell Livingston 5b7586f0fa Update libutp. Fixes #5128. 2012-11-18 04:04:54 +00:00
Jordan Lee 00b0678904 fix warnings generated by autoreconf -Wall 2012-09-22 22:23:04 +00:00
Mitchell Livingston bd5b20b51d revert formatting changes in r13497 2012-09-17 20:34:46 +00:00
Mitchell Livingston beeedd5682 #5042 potential fix to building from a directory containing spaces 2012-09-17 20:32:20 +00:00
Mitchell Livingston 3e90d39599 #4891 Solaris 11 compile errors on 2.51 2012-06-12 01:05:19 +00:00
Jordan Lee 897dcf56cf (trunk libT) sync our build diffs to upstream miniupnp's scripts.
These diffs are necessary because upstream's build scripts require srcdir == builddir
2012-05-30 18:56:30 +00:00