Compare commits

...

12 Commits

Author SHA1 Message Date
Christophe Dumez
f5ea96fec2 Tagged v2.5.5 release 2011-01-06 15:24:14 +00:00
Christophe Dumez
c571ae900c Bump to v2.5.4 2011-01-06 09:24:16 +00:00
Christophe Dumez
b9f6bbf09b BUGFIX: Avoid possible crash on exit when the IP filter is enabled (closes #695945) 2011-01-03 21:34:16 +00:00
Christophe Dumez
916e01f9f8 BUGFIX: Fix issues when search engines results contain a '|' 2011-01-03 19:11:12 +00:00
Christophe Dumez
7bd5b0d3b5 Print the default web UI password on stdout when runing nox 2011-01-02 17:42:11 +00:00
Christophe Dumez
44574498ad Fix configure script 2011-01-02 17:30:54 +00:00
Christophe Dumez
ec3d45fc99 Prioritize first and last pieces when sequential download is enabled 2011-01-02 14:02:27 +00:00
Christophe Dumez
7908de917a Added WPATH DEFINE 2011-01-01 23:30:09 +00:00
Christophe Dumez
0e53a6ab8b Fix compilation in release mode 2011-01-01 22:30:17 +00:00
Christophe Dumez
ba2f8af012 Some encoding fixes 2011-01-01 20:26:47 +00:00
Christophe Dumez
a8bc3f6d4d BUGFIX: Added --enable-debug parameter to the configure script 2011-01-01 17:21:02 +00:00
Christophe Dumez
0211f42df9 Fix Changelog date 2011-01-01 11:55:00 +00:00
16 changed files with 103 additions and 69 deletions

View File

@@ -1,4 +1,12 @@
* Sat Jan 1 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.3 * Thu Jan 6 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.5.5
- BUGFIX: Added --enable-debug parameter to the configure script
- BUGFIX: Prioritize first and last pieces when sequential download is enabled
- BUGFIX: Some encoding fixes (Windows)
- BUGFIX: Display default password on stdout when using nox
- BUGFIX: Fix issues when search engines results contain a '|'
- BUGFIX: Avoid possible crash on exit when the IP filter is enabled (closes #695945)
* Sat Jan 1 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.5.3
- BUGFIX: Fix priority up/down for multiple torrents at the same time (closes #692184) - BUGFIX: Fix priority up/down for multiple torrents at the same time (closes #692184)
- BUGFIX: Make sure the number of torrents is properly set on startup (closes #694135) - BUGFIX: Make sure the number of torrents is properly set on startup (closes #694135)
- BUGFIX: Fix scan directories saving (closes #694768) - BUGFIX: Fix scan directories saving (closes #694768)

36
configure vendored
View File

@@ -18,9 +18,11 @@ Main options:
--help This help text. --help This help text.
Dependency options: Dependency options:
--enable-debug Enable debug mode
--disable-gui Disable qBittorrent --disable-gui Disable qBittorrent
Graphical user interface for Graphical user interface for
headless running headless running
--enable-debug Enable debug mode
--with-libboost-inc=[path] Path to libboost include --with-libboost-inc=[path] Path to libboost include
files files
--with-libboost-lib=[path] Path to libboost library --with-libboost-lib=[path] Path to libboost library
@@ -32,8 +34,6 @@ Dependency options:
executable (please follow executable (please follow
instructions in instructions in
src/geoip/README) src/geoip/README)
--disable-qtsingleapplication Disable use of
qtsingleapplication
--with-qtsingleapplication=[system|shipped] Use the shipped --with-qtsingleapplication=[system|shipped] Use the shipped
qtsingleapplication library qtsingleapplication library
or the system one or the system one
@@ -153,11 +153,21 @@ while [ $# -gt 0 ]; do
shift shift
;; ;;
--enable-debug)
QC_ENABLE_DEBUG="Y"
shift
;;
--disable-gui) --disable-gui)
QC_DISABLE_GUI="Y" QC_DISABLE_GUI="Y"
shift shift
;; ;;
--enable-debug)
QC_ENABLE_DEBUG="Y"
shift
;;
--with-libboost-inc=*) --with-libboost-inc=*)
QC_WITH_LIBBOOST_INC=$optarg QC_WITH_LIBBOOST_INC=$optarg
shift shift
@@ -183,11 +193,6 @@ while [ $# -gt 0 ]; do
shift shift
;; ;;
--disable-qtsingleapplication)
QC_DISABLE_qtsingleapplication="Y"
shift
;;
--with-qtsingleapplication=*) --with-qtsingleapplication=*)
QC_WITH_QTSINGLEAPPLICATION=$optarg QC_WITH_QTSINGLEAPPLICATION=$optarg
shift shift
@@ -214,13 +219,14 @@ echo PREFIX=$PREFIX
echo BINDIR=$BINDIR echo BINDIR=$BINDIR
echo DATADIR=$DATADIR echo DATADIR=$DATADIR
echo EX_QTDIR=$EX_QTDIR echo EX_QTDIR=$EX_QTDIR
echo QC_ENABLE_DEBUG=$QC_ENABLE_DEBUG
echo QC_DISABLE_GUI=$QC_DISABLE_GUI echo QC_DISABLE_GUI=$QC_DISABLE_GUI
echo QC_ENABLE_DEBUG=$QC_ENABLE_DEBUG
echo QC_WITH_LIBBOOST_INC=$QC_WITH_LIBBOOST_INC echo QC_WITH_LIBBOOST_INC=$QC_WITH_LIBBOOST_INC
echo QC_WITH_LIBBOOST_LIB=$QC_WITH_LIBBOOST_LIB echo QC_WITH_LIBBOOST_LIB=$QC_WITH_LIBBOOST_LIB
echo QC_DISABLE_libnotify=$QC_DISABLE_libnotify echo QC_DISABLE_libnotify=$QC_DISABLE_libnotify
echo QC_DISABLE_geoip_database=$QC_DISABLE_geoip_database echo QC_DISABLE_geoip_database=$QC_DISABLE_geoip_database
echo QC_WITH_GEOIP_DATABASE_EMBEDDED=$QC_WITH_GEOIP_DATABASE_EMBEDDED echo QC_WITH_GEOIP_DATABASE_EMBEDDED=$QC_WITH_GEOIP_DATABASE_EMBEDDED
echo QC_DISABLE_qtsingleapplication=$QC_DISABLE_qtsingleapplication
echo QC_WITH_QTSINGLEAPPLICATION=$QC_WITH_QTSINGLEAPPLICATION echo QC_WITH_QTSINGLEAPPLICATION=$QC_WITH_QTSINGLEAPPLICATION
echo echo
fi fi
@@ -327,7 +333,9 @@ cat >$1/modules.cpp <<EOT
/* /*
-----BEGIN QCMOD----- -----BEGIN QCMOD-----
name: Qt >= 4.5 name: Qt >= 4.5
arg: enable-debug, Enable debug mode
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
arg: enable-debug, Enable debug mode
-----END QCMOD----- -----END QCMOD-----
*/ */
class qc_qt4 : public ConfObj class qc_qt4 : public ConfObj
@@ -338,9 +346,14 @@ public:
QString shortname() const { return "Qt 4.5"; } QString shortname() const { return "Qt 4.5"; }
bool exec() bool exec()
{ {
// NOX mode
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) { if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
conf->addExtra("CONFIG += nox"); conf->addExtra("CONFIG += nox");
} }
// Debug mode
if(!conf->getenv("QC_ENABLE_DEBUG").isEmpty()) {
conf->addExtra("CONFIG += debug");
}
return(QT_VERSION >= 0x040500); return(QT_VERSION >= 0x040500);
} }
}; };
@@ -656,7 +669,7 @@ cat >$1/modules_new.cpp <<EOT
o->required = false; o->required = false;
o->disabled = false; o->disabled = false;
o = new qc_qtsingleapplication(conf); o = new qc_qtsingleapplication(conf);
o->required = false; o->required = true;
o->disabled = false; o->disabled = false;
EOT EOT
@@ -1603,13 +1616,14 @@ export PREFIX
export BINDIR export BINDIR
export DATADIR export DATADIR
export EX_QTDIR export EX_QTDIR
export QC_ENABLE_DEBUG
export QC_DISABLE_GUI export QC_DISABLE_GUI
export QC_ENABLE_DEBUG
export QC_WITH_LIBBOOST_INC export QC_WITH_LIBBOOST_INC
export QC_WITH_LIBBOOST_LIB export QC_WITH_LIBBOOST_LIB
export QC_DISABLE_libnotify export QC_DISABLE_libnotify
export QC_DISABLE_geoip_database export QC_DISABLE_geoip_database
export QC_WITH_GEOIP_DATABASE_EMBEDDED export QC_WITH_GEOIP_DATABASE_EMBEDDED
export QC_DISABLE_qtsingleapplication
export QC_WITH_QTSINGLEAPPLICATION export QC_WITH_QTSINGLEAPPLICATION
export QC_VERBOSE export QC_VERBOSE
rm -rf .qconftemp rm -rf .qconftemp

View File

@@ -20,5 +20,6 @@
<dep type='geoip-database'> <dep type='geoip-database'>
</dep> </dep>
<dep type='qtsingleapplication'> <dep type='qtsingleapplication'>
<required/>
</dep> </dep>
</qconf> </qconf>

View File

@@ -1,7 +1,9 @@
/* /*
-----BEGIN QCMOD----- -----BEGIN QCMOD-----
name: Qt >= 4.5 name: Qt >= 4.5
arg: enable-debug, Enable debug mode
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
arg: enable-debug, Enable debug mode
-----END QCMOD----- -----END QCMOD-----
*/ */
class qc_qt4 : public ConfObj class qc_qt4 : public ConfObj
@@ -12,9 +14,14 @@ public:
QString shortname() const { return "Qt 4.5"; } QString shortname() const { return "Qt 4.5"; }
bool exec() bool exec()
{ {
// NOX mode
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) { if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
conf->addExtra("CONFIG += nox"); conf->addExtra("CONFIG += nox");
} }
// Debug mode
if(!conf->getenv("QC_ENABLE_DEBUG").isEmpty()) {
conf->addExtra("CONFIG += debug");
}
return(QT_VERSION >= 0x040500); return(QT_VERSION >= 0x040500);
} }
}; };

View File

@@ -1,6 +1,6 @@
[Desktop Entry] [Desktop Entry]
Categories=Qt;Network;P2P; Categories=Qt;Network;P2P;
Comment=V2.5.3 Comment=V2.5.5
Exec=qbittorrent %f Exec=qbittorrent %f
GenericName=Bittorrent client GenericName=Bittorrent client
GenericName[ar]=العميل Bittorrent GenericName[ar]=العميل Bittorrent

View File

@@ -47,7 +47,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleGetInfoString</key> <key>CFBundleGetInfoString</key>
<string>2.5.3</string> <string>2.5.5</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>

View File

@@ -88,6 +88,7 @@ protected:
} }
} }
} }
if(abort) return;
s->set_ip_filter(filter); s->set_ip_filter(filter);
qDebug("IP Filter thread: finished parsing, filter applied"); qDebug("IP Filter thread: finished parsing, filter applied");
} }

View File

@@ -54,7 +54,8 @@ public:
std::cout << std::endl << "******** " << qPrintable(tr("Information")) << " ********" << std::endl; std::cout << std::endl << "******** " << qPrintable(tr("Information")) << " ********" << std::endl;
std::cout << qPrintable(tr("To control qBittorrent, access the Web UI at http://localhost:%1").arg(QString::number(pref.getWebUiPort()))) << std::endl; std::cout << qPrintable(tr("To control qBittorrent, access the Web UI at http://localhost:%1").arg(QString::number(pref.getWebUiPort()))) << std::endl;
std::cout << qPrintable(tr("The Web UI administrator user name is: %1").arg(pref.getWebUiUsername())) << std::endl; std::cout << qPrintable(tr("The Web UI administrator user name is: %1").arg(pref.getWebUiUsername())) << std::endl;
if(pref.getWebUiPassword() == "f6fdffe48c908deb0f4c3bd36c032e72") { qDebug() << "Password:" << pref.getWebUiPassword();
if(pref.getWebUiPassword() == "32fe0bd2bb001911bb8bcfe23fc92b63") {
std::cout << qPrintable(tr("The Web UI administrator password is still the default one: %1").arg("adminadmin")) << std::endl; std::cout << qPrintable(tr("The Web UI administrator password is still the default one: %1").arg("adminadmin")) << std::endl;
std::cout << qPrintable(tr("This is a security risk, please consider changing your password from program preferences.")) << std::endl; std::cout << qPrintable(tr("This is a security risk, please consider changing your password from program preferences.")) << std::endl;
} }

View File

@@ -155,9 +155,6 @@ QBtSession::~QBtSession() {
#endif #endif
saveSessionState(); saveSessionState();
saveFastResumeData(); saveFastResumeData();
qDebug("Deleting the session");
delete s;
qDebug("Session deleted");
// Delete our objects // Delete our objects
if(m_tracker) if(m_tracker)
delete m_tracker; delete m_tracker;
@@ -174,6 +171,8 @@ QBtSession::~QBtSession() {
delete httpServer; delete httpServer;
if(timerETA) if(timerETA)
delete timerETA; delete timerETA;
qDebug("Deleting the session");
delete s;
qDebug("BTSession destructor OUT"); qDebug("BTSession destructor OUT");
} }
@@ -1157,6 +1156,7 @@ void QBtSession::loadTorrentTempData(QTorrentHandle h, QString savePath, bool ma
if(TorrentTempData::hasTempData(hash)) { if(TorrentTempData::hasTempData(hash)) {
// sequential download // sequential download
h.set_sequential_download(TorrentTempData::isSequential(hash)); h.set_sequential_download(TorrentTempData::isSequential(hash));
h.prioritize_first_last_piece(TorrentTempData::isSequential(hash));
// The following is useless for newly added magnet // The following is useless for newly added magnet
if(!magnet) { if(!magnet) {

View File

@@ -1,4 +1,4 @@
#VERSION: 1.33 #VERSION: 1.34
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met: # modification, are permitted provided that the following conditions are met:
@@ -35,7 +35,7 @@ def prettyPrinter(dictionary):
if isinstance(dictionary[key], str): if isinstance(dictionary[key], str):
dictionary[key] = unicode(dictionary[key], 'utf-8') dictionary[key] = unicode(dictionary[key], 'utf-8')
dictionary['size'] = anySizeToBytes(dictionary['size']) dictionary['size'] = anySizeToBytes(dictionary['size'])
print u"%s|%s|%s|%s|%s|%s"%(dictionary['link'],dictionary['name'],dictionary['size'],dictionary['seeds'],dictionary['leech'],dictionary['engine_url']) print u"%s|%s|%s|%s|%s|%s"%(dictionary['link'],dictionary['name'].replace('|', ''),dictionary['size'],dictionary['seeds'],dictionary['leech'],dictionary['engine_url'])
def anySizeToBytes(size_string): def anySizeToBytes(size_string):
""" """

View File

@@ -2,39 +2,6 @@
TEMPLATE = app TEMPLATE = app
CONFIG += qt thread CONFIG += qt thread
unix:!macx {
exists(../conf.pri) {
# generated by configure
include(../conf.pri)
}
}
nox {
QT = core
TARGET = qbittorrent-nox
DEFINES += DISABLE_GUI
} else {
QT += xml
TARGET = qbittorrent
}
QT += network
# Vars
LANG_PATH = lang
ICONS_PATH = Icons
# use "CONFIG -= debug" to disable debug
CONFIG -= debug
CONFIG += release
# Disable debug output in release mode
!debug {
DEFINES += QT_NO_DEBUG_OUTPUT
}
# VERSION DEFINES
include(../version.pri)
# Windows specific configuration # Windows specific configuration
win32 { win32 {
include(../winconf.pri) include(../winconf.pri)
@@ -55,6 +22,32 @@ os2 {
include(../os2conf.pri) include(../os2conf.pri)
} }
nox {
QT -= gui
TARGET = qbittorrent-nox
DEFINES += DISABLE_GUI
} else {
QT += xml
TARGET = qbittorrent
}
QT += network
# Vars
LANG_PATH = lang
ICONS_PATH = Icons
CONFIG(debug, debug|release):message(Project is built in DEBUG mode.)
CONFIG(release, debug|release):message(Project is built in RELEASE mode.)
# Disable debug output in release mode
CONFIG(release, debug|release) {
message(Disabling debug output.)
DEFINES += QT_NO_DEBUG_OUTPUT
}
# VERSION DEFINES
include(../version.pri)
DEFINES += QT_NO_CAST_TO_ASCII DEFINES += QT_NO_CAST_TO_ASCII
# Fast concatenation (Qt >= 4.6) # Fast concatenation (Qt >= 4.6)
DEFINES += QT_USE_FAST_CONCATENATION QT_USE_FAST_OPERATOR_PLUS DEFINES += QT_USE_FAST_CONCATENATION QT_USE_FAST_OPERATOR_PLUS

View File

@@ -240,8 +240,6 @@ void TorrentCreatorDlg::updateOptimalPieceSize()
} }
++i; ++i;
}while(i<m_piece_sizes.size()); }while(i<m_piece_sizes.size());
qDebug("ASSERT value %d <= %d", (int)(torrent_size/(m_piece_sizes.at(i)*1024.)), NB_PIECES_MIN);
Q_ASSERT((double)torrent_size/(m_piece_sizes.at(i)*1024.) > NB_PIECES_MIN);
comboPieceSize->setCurrentIndex(i); comboPieceSize->setCurrentIndex(i);
} }

View File

@@ -92,7 +92,7 @@ void TorrentCreatorThread::run() {
add_files(fs, input_path.toUtf8().constData(), file_filter); add_files(fs, input_path.toUtf8().constData(), file_filter);
#else #else
// Adding files to the torrent // Adding files to the torrent
path full_path = complete(path(input_path.toUtf8().constData())); path full_path = path(input_path.toUtf8().constData());
add_files(fs, full_path, file_filter); add_files(fs, full_path, file_filter);
#endif #endif
if(abort) return; if(abort) return;
@@ -125,12 +125,19 @@ void TorrentCreatorThread::run() {
t.set_priv(is_private); t.set_priv(is_private);
if(abort) return; if(abort) return;
// create the torrent and print it to out // create the torrent and print it to out
ofstream out(complete(path((const char*)save_path.toUtf8())), std::ios_base::binary); qDebug("Saving to %s", qPrintable(save_path));
bencode(std::ostream_iterator<char>(out), t.generate()); std::vector<char> torrent;
emit updateProgress(100); bencode(back_inserter(torrent), t.generate());
emit creationSuccess(save_path, parent_path); QFile outfile(save_path);
} if(outfile.open(QIODevice::WriteOnly)) {
catch (std::exception& e){ outfile.write(&torrent[0], torrent.size());
emit creationFailure(QString::fromUtf8(e.what())); outfile.close();
emit updateProgress(100);
emit creationSuccess(save_path, parent_path);
} else {
throw std::exception();
}
} catch (std::exception& e){
emit creationFailure(QString::fromLocal8Bit(e.what()));
} }
} }

View File

@@ -1,3 +1,6 @@
# Generated by the configure file
include(conf.pri)
# COMPILATION SPECIFIC # COMPILATION SPECIFIC
QT += dbus QT += dbus
QMAKE_LFLAGS_APP += -rdynamic QMAKE_LFLAGS_APP += -rdynamic

View File

@@ -1,11 +1,11 @@
os2 { os2 {
DEFINES += VERSION=\'\"v2.5.3\"\' DEFINES += VERSION=\'\"v2.5.5\"\'
} else { } else {
DEFINES += VERSION=\\\"v2.5.3\\\" DEFINES += VERSION=\\\"v2.5.5\\\"
} }
DEFINES += VERSION_MAJOR=2 DEFINES += VERSION_MAJOR=2
DEFINES += VERSION_MINOR=5 DEFINES += VERSION_MINOR=5
DEFINES += VERSION_BUGFIX=3 DEFINES += VERSION_BUGFIX=5
# NORMAL,ALPHA,BETA,RELEASE_CANDIDATE,DEVEL # NORMAL,ALPHA,BETA,RELEASE_CANDIDATE,DEVEL
DEFINES += VERSION_TYPE=NORMAL DEFINES += VERSION_TYPE=NORMAL

View File

@@ -26,8 +26,9 @@ DEFINES += _WIN32
DEFINES += _WIN32_WINNT=0x0500 DEFINES += _WIN32_WINNT=0x0500
DEFINES += __USE_W32_SOCKETS DEFINES += __USE_W32_SOCKETS
DEFINES += WITH_SHIPPED_GEOIP_H DEFINES += WITH_SHIPPED_GEOIP_H
DEFINES += TORRENT_USE_WPATH
debug { CONFIG(debug, debug|release) {
DEFINES += TORRENT_DEBUG DEFINES += TORRENT_DEBUG
} else { } else {
DEFINES += NDEBUG DEFINES += NDEBUG
@@ -35,7 +36,7 @@ debug {
RC_FILE = qbittorrent.rc RC_FILE = qbittorrent.rc
debug { CONFIG(debug, debug|release) {
LIBS += libtorrentd.lib \ LIBS += libtorrentd.lib \
libboost_system-vc90-mt-gd.lib \ libboost_system-vc90-mt-gd.lib \
libboost_filesystem-vc90-mt-gd.lib \ libboost_filesystem-vc90-mt-gd.lib \