sledgehammer999
b71ee80ecd
Optimize P2P filter parsing too.
2017-04-26 02:33:57 +03:00
sledgehammer999
fd7e69e1e0
Add helper function for logging messages.
2017-04-26 02:33:56 +03:00
sledgehammer999
51cf6bd2a5
Optimize DAT filter parsing. Parse in memory and in place instead of copying strings around.
2017-04-26 02:33:55 +03:00
sledgehammer999
8f6e04d779
Using new IP parser provided by @evsh. It is faster and uses less memory.
...
Class `DATIPv4Parser` was written by Eugene Shalygin <eugene.shalygin@gmail.com> (evsh on github).
2017-04-25 04:43:30 +03:00
sledgehammer999
f53dab8ad4
Output log messages for ip filter parsing errors.
2017-04-25 04:43:29 +03:00
sledgehammer999
05ab9fc355
Optimize ip filter parsing.
2017-04-25 04:43:22 +03:00
Vladimir Golovnev (Glassez)
3a3125ea2b
Fix remove oldest article
2017-04-24 16:50:28 +03:00
Vladimir Golovnev
e433cbab97
Merge pull request #6677 from glassez/fix-create-subfolder
...
Allow strip root folder using default settings
2017-04-24 12:21:53 +03:00
Vladimir Golovnev (Glassez)
c799923d7d
Allow strip root folder using default settings
2017-04-24 12:03:35 +03:00
Vladimir Golovnev (Glassez)
711be50e9c
Fix AddTorrentData field types
2017-04-24 11:59:16 +03:00
sledgehammer999
032eb12585
Remove whitespace.
2017-04-24 04:25:49 +03:00
sledgehammer999
3cdc6fb978
Fix compiler warnings.
2017-04-24 04:24:32 +03:00
zywo
51104a9fb4
Fix CMake build
2017-04-23 09:29:27 +01:00
Vladimir Golovnev (Glassez)
989a70fe60
Redesign RSS subsystem
2017-04-23 09:03:46 +03:00
Eugene Shalygin
090a2edc1a
Merge pull request #6651 from evsh/fix-config-dir-on-windows
...
Migrate from platform-specific code in Private::DefaultProfile to QStandardPaths
2017-04-22 13:09:17 +02:00
Eugene Shalygin
14e168039c
Use explicit class for search plugin versions
2017-04-21 09:47:08 +02:00
Chocobo1
0b5de9ff54
Temporary revert to the old behavior.
2017-04-20 22:26:35 +08:00
Chocobo1
a35c6426ab
Specify lib requirement: zlib >= 1.2.5.2
2017-04-20 22:26:35 +08:00
Chocobo1
617f19e599
Revise Utils::Gzip::decompress
...
Rename from uncompress to decompress
Change signature
Use proper casting
Use larger buffer for the output of inflate()
Reserve 1 MBytes for output buffer
Change function signature
2017-04-20 22:26:35 +08:00
Chocobo1
302c8ba850
Revise Utils::Gzip::compress code
...
Change signature
Add ZLIB_CONST define to make z_stream.next_in const
Cast to zlib defined type Bytef*
Set memLevel to 9 in deflateInit2() for maximum performance
Revise compression loop
On returning false, free memory correctly by calling deflateEnd()
Reserve space by the estimation of deflateBound()
2017-04-20 22:24:50 +08:00
Chocobo1
94b496354b
Rewrite rules for gzipping http response content
2017-04-20 22:22:17 +08:00
Chocobo1
4600e679d1
Implement robust acceptsGzipEncoding()
...
Adhere more to http/1.1 standard
2017-04-20 22:22:17 +08:00
Chocobo1
129172453b
Fix "Content-Encoding" header is always created.
...
Was side effect of operator[]
2017-04-20 22:22:17 +08:00
Chocobo1
7d36c81949
Cleanup Http::responseGenerator()
...
Add CRLF definition
Rewrite loop using iterator, slightly more efficient
Rename variables
2017-04-20 22:22:17 +08:00
Chocobo1
6cb2f05a6c
Demote to helper function
...
Rename function
2017-04-20 22:22:17 +08:00
Chocobo1
829e1399ca
Convert Qstring to char arrays
...
Cleanup header
Sort constants
2017-04-20 22:22:17 +08:00
Chocobo1
4b2266a8e2
Send Date http header
...
It's not strict required but often expected.
change class to namespace
cleanup header
2017-04-20 22:22:17 +08:00
Chocobo1
9496b2a159
Always send Content-Length header.
...
Because without it, HTTP/1.1 (with persistence connection) clients will
keep waiting for more data.
2017-04-20 22:22:17 +08:00
Chocobo1
0b28fb6c6b
Implement http persistence connection
...
Max simultaneous connection limit set to 500
This also release allocated memory of Connection instances at runtime instead of at program shutdown.
2017-04-20 22:22:14 +08:00
Eugene Shalygin
b06080e2e7
Replace platform-specific code in Private::DefaultProfile with QStandardPaths.
...
This should also fix Profile::location(SpecialFolder::Config) on
Windows.
2017-04-19 12:51:07 +02:00
sledgehammer999
018574e546
Merge pull request #6475 from OpenGG/master
...
[WebUI-API] Add "skip_checking" and "paused" to "/command/download" and "/command/upload"
2017-04-17 17:12:24 +03:00
sledgehammer999
48b0cf8a48
Merge pull request #6621 from Chocobo1/webui
...
Webui: refactor
2017-04-17 17:08:25 +03:00
sledgehammer999
ae0ec716cb
Fix inverted check when applying the IP filter.
2017-04-17 17:07:12 +03:00
sledgehammer999
c27108c97a
Merge pull request #6630 from evsh/fix-6454
...
Start up torrents after UI was created. Fixes #6454 .
2017-04-17 16:44:03 +03:00
Vladimir Golovnev (Glassez)
22178f9997
Fix strip torrent root folder
2017-04-15 17:33:20 +03:00
Vladimir Golovnev (Glassez)
6d7d566cdf
Fix TorrentHandle rootPath() and contentPath() methods
2017-04-15 10:11:53 +03:00
Vladimir Golovnev (Glassez)
d413bc65ef
Improve strip torrent root folder
...
Fix issue when you rename the "root item" in the "Add New Torrent" dialog
and uncheck "Create subfolder", it will create the subfolder with the
renamed name.
Fix PropertiesWidget first folder is expanded after app restart.
Strip root folder if torrent was added via magnet link.
Fix crash when you get name of torrent without metadata.
2017-04-15 10:11:53 +03:00
sledgehammer999
4b2d8a7941
Setting for creating subfolder on multifile torrents. Closes #588 .
2017-04-15 10:11:53 +03:00
Eugene Shalygin
21a72c651f
Start up torrents after UI was created. Fixes #6454 .
...
Commit dd0537d
changed torrents startup code adding alerts processing
into it. Therefore alerts were processed before UI code subscribed to
signals and therefore part of alerts was not reflected in the UI.
Thus here we do not start torrents in Session constructor, but do that
from Application::exec() after UI was constructed and is ready to process
signals.
2017-04-14 00:58:43 +02:00
Eugene Shalygin
a8d95dd8bd
Save relative paths in fastresume files
...
Conditionally change absolute paths to relative in the fastresume data files.
The condition is specified by user via a command line parameter and
paths are relative to the profile dir.
On Windows the convertion to relative path is performed if the path and
the profile are on the same drive only.
2017-04-12 00:51:37 +02:00
Eugene Shalygin
0bf7fa15c1
Replace wrappers in base/utils/fs.h with Profile::SpecialFolders::location()
2017-04-12 00:50:33 +02:00
Eugene Shalygin
0f746ffd5a
Add support for different configurations. Partially closes #465
...
It may be useful to have different configurations either for portable
versions or for debugging purposes. To implement this we add two
options, avaliable via command line switches
1. An option to change configuration name ("--configuration"). The name
supplied via this option is appended to
QCoreApplication::applicationName() to form "qBittorrent_<conf_name>"
name for the configuration files.
2. An option to provide a path do directory where all the settings are
stored (kind of profile directory). There is a shortcut "--portable"
which means "use directory 'profile' near the executable location".
In order to implement that we have to perform initialisation of the
profile directories before the SettingStorage and Preferences singletones
are initialised. Thus, options parsing shall be performed without defaults
read from preferences.
2017-04-12 00:50:28 +02:00
Chocobo1
d1ee54f6ea
Refactor: move methods under the same #if section.
2017-04-11 23:16:16 +08:00
Chocobo1
7f346b49a7
Refactor: move the validation of certificates & key functions under Server class
...
Rename method
Add log messages
2017-04-10 21:18:59 +08:00
opengg
db3158c410
[WebUI] bugfix: RequestParser::splitMultipartData
drop extra trailing newline.
2017-03-11 01:26:22 +08:00
sledgehammer999
9eb01fbe4d
Merge pull request #6489 from evsh/fix-fileguard
...
Fix TorrentFileGuard::setAutoRemove() recursion problem. Closes #6488 .
2017-03-08 12:18:58 +02:00
Eugene Shalygin
3091e03a95
Fix CMake build
2017-03-08 09:12:49 +01:00
Eugene Shalygin
3752d112fb
Fix TorrentFileGuard::setAutoRemove() recursion problem. Closes #6488 .
...
The problem was created during Qt 4 drop, when FileGuard was promoted
from a member to a base class. The function was blindly changed.
2017-03-08 09:05:58 +01:00
sledgehammer999
729fbb2e50
Change named of getter function.
2017-03-08 00:16:25 +02:00
sledgehammer999
aa51907387
Merge pull request #6369 from magao/issue6367
...
Use Perl-compatible regexes for RSS rules. Closes #6367 .
2017-03-08 00:04:17 +02:00
sledgehammer999
be60b3e046
Change the user-agent format in the session.cpp too.
2017-03-07 23:41:29 +02:00
sledgehammer999
147f4d76e2
Merge pull request #6445 from Chocobo1/fix
...
Follow http user-agent format
2017-03-07 23:38:14 +02:00
sledgehammer999
7a6da3d3ce
Merge pull request #6479 from Chocobo1/qt4
...
Remove remainings of Qt4
2017-03-07 23:28:56 +02:00
sledgehammer999
431658bee6
Fix race condition where there was a chance to allow all ips between reparsings of the ip filter.
2017-03-07 23:16:50 +02:00
sledgehammer999
5084c01c2b
Merge pull request #5877 from dzmat/to_pull_request
...
locally banned IP list managment (Closes #1837 )
2017-03-07 23:14:20 +02:00
Vladimir Golovnev (Glassez)
79e8f69fb6
Remove exception-suppress macros
...
Remove SAFE_* macros from TorrentHandle class.
These macros using seems to be unneeded.
2017-03-07 15:04:57 +03:00
Chocobo1
fa2128cbae
Replace Utils::String::fromStdString() by QString::fromStdString()
2017-03-07 19:42:44 +08:00
Chocobo1
87384ca2a2
Replace Utils::String::toHtmlEscaped() by QString::.toHtmlEscaped()
2017-03-07 00:03:53 +08:00
Chocobo1
ffdcfe9686
Replace Utils::String::toStdString() by QString::toStdString()
2017-03-06 23:58:38 +08:00
Chocobo1
7539bee5c5
Remove remaining QBT_USES_QT5 defines.
...
Fixup of e64bb1de8c
.
2017-03-06 23:47:07 +08:00
dzmat
59de1af31b
implemented UI for managment of locally banned IP list ( Closes #1837 )
2017-03-06 19:40:34 +07:00
Chocobo1
2091dfaa69
Follow http user-agent format
...
Add version variable without the starting "v"
2017-03-06 14:42:32 +08:00
Chocobo1
cb1646be32
Prepend QBT_ for preprocessor variables
2017-03-06 13:41:58 +08:00
Eugene Shalygin
008d7dbedc
Raise minimal Qt version to 5.5.1
2017-03-05 22:24:59 +01:00
Eugene Shalygin
e64bb1de8c
Drop Qt 4 support
2017-03-05 22:24:59 +01:00
sledgehammer999
22989a436e
Merge pull request #6461 from Chocobo1/rand_fix
...
Workaround thread_local on osx
2017-03-05 14:43:29 +02:00
Chocobo1
cae2f3059c
Workaround thread_local not supported on OSX
...
Drop back to xcode7.3 on TravisCI
2017-03-04 20:37:48 +08:00
Chocobo1
3b5e7eb0ea
Fix compile error: ‘escape’ is not a member of ‘Qt’
2017-03-04 16:22:00 +08:00
Chocobo1
ea9d65f377
Fix incomplete type compile error with Qt4
2017-03-04 16:20:36 +08:00
Chocobo1
6ca3e4f094
Add Utils::String::toHtmlEscaped
2017-03-03 21:28:30 +02:00
Chocobo1
7756dd80f3
[WebUI]: add X-XSS-Protection, X-Content-Type-Options, CSP header
2017-03-03 21:28:28 +02:00
ngosang
f5ad04766f
[WebUI] Avoid clickjacking attacks
2017-03-03 21:28:27 +02:00
Chocobo1
f9c39e3dac
[WebUI]: exclude insecure ciphers
2017-03-03 21:28:26 +02:00
Chocobo1
84bc011df5
Code formatting
...
Remove extra private keyword
2017-03-03 21:28:25 +02:00
sledgehammer999
b5f81a34cb
Use new create_torrent constructor were available.
2017-02-22 19:25:50 +02:00
sledgehammer999
ad4b691fa5
Merge pull request #6413 from evsh/no-proxy-in-webui-server
...
Disable proxy in WebUI HTTP server. Closes #6349 .
2017-02-21 13:15:22 +02:00
Eugene Shalygin
be8eab4e54
Disable proxy in WebUI HTTP server. Closes #6349 .
...
Due to a bug in Qt 5.8 (QTBUG-58706) QTcpServer tries to use HTTP proxy
when it is set as default app proxy (for instance via "http_proxy"
environment variable) and this breaks the server. So we disable any proxy
in it.
2017-02-21 00:07:09 +01:00
sledgehammer999
4adcd03ec7
Merge pull request #6366 from Chocobo1/rand
...
Replace rand()
2017-02-20 01:49:27 +02:00
Chocobo1
511796f74e
Replace rand() by a true uniform distribution generator
2017-02-16 12:21:26 +08:00
Chocobo1
c7d10dc091
Turn off port forwarding of WebUI by default for GUI users
2017-02-16 12:21:26 +08:00
Tim Delaney
a844ccb06a
Cache rule regular expressions for performance
...
--HG--
branch : magao-dev
2017-02-11 18:43:50 +11:00
Tim Delaney
f9abd254f4
Use Perl-compatible regexes for RSS rules. Closes #6367 .
...
--HG--
branch : magao-dev
2017-02-11 16:33:18 +11:00
sledgehammer999
d045f64ebb
Merge pull request #6288 from Falcosc/fix_add_torrent_queue_overflow
...
fix queue overload for add torrent at session start
2017-02-08 22:46:58 +02:00
falco
ee239ddd1e
fix queue overload for add torrent at session start
2017-02-08 15:13:21 +00:00
sledgehammer999
73f762250c
Merge pull request #6358 from Chocobo1/coverity
...
Fix issues on coverity
2017-02-08 15:34:45 +02:00
Chocobo1
4ad541d066
Fix coverity issues
...
torrentcontentmodel: Use a variable to store filesCount
optionsdlg: add fallthrough comment to suppress warning
speedPlotview: initialize member
misc: fix wrong type used, add spaces
2017-02-08 13:49:47 +08:00
Chocobo1
cab10aa7b4
Use QString::toStdString()
...
Qt5 utilized the desired toUtf8() instead of toAscii().
2017-02-08 13:21:36 +08:00
sledgehammer999
179b686e42
Merge pull request #6176 from magao/issue873
...
Improve UI responsiveness during RSS downloading. Closes #873 , #1089 , #1235 , #5423
2017-02-06 16:17:08 +02:00
sledgehammer999
25c7c297e8
Merge pull request #6317 from dzmat/public_to_private
...
reduce methods accessibility from public to private
2017-02-06 00:11:38 +02:00
sledgehammer999
5046c36458
Immediately update torrent_status after manipulating super seeding mode. Partially fixes #6072 .
2017-02-05 22:02:33 +02:00
Tim Delaney
c0339d4f6a
Fix regex RSS matching. Closes #6337 .
...
--HG--
branch : magao-dev
2017-02-05 08:53:33 +11:00
dzmat
b167b4174e
reduce methods accessibility from public to private
2017-01-29 15:17:55 +07:00
Tim Delaney
5d185f1fcd
Fix compilation error on Qt<5.4. Closes #6170 .
...
--HG--
branch : magao-dev
2017-01-27 14:24:51 +11:00
sledgehammer999
3b3de81cb7
Merge pull request #6181 from magao/issue6170
...
RSS episode filter improvements. Closes #800 , #2749 , #3876 , #6170 .
2017-01-26 01:02:05 +02:00
sledgehammer999
354702140a
Merge pull request #6180 from magao/issue6171
...
Allow | in RSS must contain. Closes #6171 .
2017-01-25 23:27:59 +02:00
sledgehammer999
b9b8352a31
Merge pull request #6184 from magao/issue5539
...
RSS: allow resetting rule to no category. Closes #5539 .
2017-01-25 23:20:19 +02:00
sledgehammer999
077ad6506c
Merge pull request #6175 from magao/issue6167
...
Move old RSS items to separate config file. Closes #6167 .
2017-01-22 04:47:52 +02:00
sledgehammer999
043ae1eb17
Merge pull request #6278 from Falcosc/fix_incompleate_file_crash
...
fix index overflow for torrents with invalid meta data or empty progress
2017-01-22 01:14:16 +02:00
sledgehammer999
9225d9ab2b
Merge pull request #6279 from evsh/cmake
...
cmake: compilation fixes
2017-01-21 18:28:54 +02:00
Eugene Shalygin
13d9dea8ac
cmake: make LibtorrentRasterbar::LibTorrent public dependency of qbt_base
...
If libtorrent include directory not in the compiler search path, we have
to pass it to all qbt targets, because session.h includes
libtorrent/version.hpp
2017-01-21 16:40:44 +01:00