Commit graph

340 commits

Author SHA1 Message Date
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
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