--- ktorrent-3.1~rc1+dfsg.1.orig/cmake/CMakeLists.txt +++ ktorrent-3.1~rc1+dfsg.1/cmake/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(modules) + --- ktorrent-3.1~rc1+dfsg.1.orig/cmake/modules/FindBTCore.cmake +++ ktorrent-3.1~rc1+dfsg.1/cmake/modules/FindBTCore.cmake @@ -0,0 +1,88 @@ +# - Try to find the BTCore library +# Once done this will define +# +# BTCORE_FOUND - system has BTCore +# BTCORE_INCLUDE_DIR - the BTCore include directory +# BTCORE_LIBRARIES - Link these to use BTCore + +# Copyright (c) 2007 Joris Guisson +# Copyright (c) 2007 Charles Connell (This was based upon FindKopete.cmake) +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +if(BTCORE_INCLUDE_DIR AND BTCORE_LIBRARIES) + + # read from cache + set(BTCORE_FOUND TRUE) + +else(BTCORE_INCLUDE_DIR AND BTCORE_LIBRARIES) + + FIND_PATH(BTCORE_INCLUDE_DIR + NAMES + btcore_export.h + PATHS + ${KDE4_INCLUDE_DIR}/libbtcore + ${INCLUDE_INSTALL_DIR}/libbtcore + ) + + FIND_LIBRARY(BTCORE_LIBRARIES + NAMES + btcore + PATHS + ${KDE4_LIB_DIR} + ${LIB_INSTALL_DIR} + ) + if(BTCORE_INCLUDE_DIR AND BTCORE_LIBRARIES) + set(BTCORE_FOUND TRUE) + endif(BTCORE_INCLUDE_DIR AND BTCORE_LIBRARIES) + + if(MSVC) + FIND_LIBRARY(BTCORE_LIBRARIES_DEBUG + NAMES + kopeted + PATHS + ${KDE4_LIB_DIR} + ${LIB_INSTALL_DIR} + ) + if(NOT BTCORE_LIBRARIES_DEBUG) + set(BTCORE_FOUND FALSE) + endif(NOT BTCORE_LIBRARIES_DEBUG) + + if(MSVC_IDE) + if( NOT BTCORE_LIBRARIES_DEBUG OR NOT BTCORE_LIBRARIES) + message(FATAL_ERROR "\nCould NOT find the debug AND release version of the BTCore library.\nYou need to have both to use MSVC projects.\nPlease build and install both BTCore libraries first.\n") + endif( NOT BTCORE_LIBRARIES_DEBUG OR NOT BTCORE_LIBRARIES) + else(MSVC_IDE) + string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER) + if(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) + set(BTCORE_LIBRARIES ${BTCORE_LIBRARIES_DEBUG}) + else(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) + set(BTCORE_LIBRARIES ${BTCORE_LIBRARIES}) + endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) + endif(MSVC_IDE) + endif(MSVC) + + if(BTCORE_FOUND) + if(NOT BTCORE_FIND_QUIETLY) + message(STATUS "Found BTCore: ${BTCORE_LIBRARIES} ") + endif(NOT BTCORE_FIND_QUIETLY) + else(BTCORE_FOUND) + if(BTCORE_FIND_REQUIRED) + if(NOT BTCORE_INCLUDE_DIR) + message(FATAL_ERROR "Could not find BTCore includes.") + endif(NOT BTCORE_INCLUDE_DIR) + if(NOT BTCORE_LIBRARIES) + message(FATAL_ERROR "Could not find BTCore library.") + endif(NOT BTCORE_LIBRARIES) + else(BTCORE_FIND_REQUIRED) + if(NOT BTCORE_INCLUDE_DIR) + message(STATUS "Could not find BTCore includes.") + endif(NOT BTCORE_INCLUDE_DIR) + if(NOT BTCORE_LIBRARIES) + message(STATUS "Could not find BTCore library.") + endif(NOT BTCORE_LIBRARIES) + endif(BTCORE_FIND_REQUIRED) + endif(BTCORE_FOUND) + +endif(BTCORE_INCLUDE_DIR AND BTCORE_LIBRARIES) --- ktorrent-3.1~rc1+dfsg.1.orig/cmake/modules/CMakeLists.txt +++ ktorrent-3.1~rc1+dfsg.1/cmake/modules/CMakeLists.txt @@ -0,0 +1,3 @@ +set(module_install_dir ${DATA_INSTALL_DIR}/cmake/modules ) + +install(FILES FindBTCore.cmake DESTINATION ${module_install_dir}) --- ktorrent-3.1~rc1+dfsg.1.orig/debian/copyright +++ ktorrent-3.1~rc1+dfsg.1/debian/copyright @@ -0,0 +1,1103 @@ +This package was debianized by Joel Johnson on +Tue, 21 Jun 2005 11:19:46 -0700. +This package has been maintained by Debian KDE Extras Team +since Thu, 10 May 2007 13:11:35 +0300 + +The original source was downloaded from +http://ktorrent.org/index.php?page=downloads + +Upstream Authors: + Joris Guisson + Ivan Vasic + +License for all components: + * GNU General Public License version 2 or later (GPL-2+) +-- + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. +-- + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in `/usr/share/common-licenses/GPL-2' + +Debian packaging (debian/*) is under: + +Copyright: © 2005-2007 Joel Johnson + © 2007-2008 Modestas Vainius +License: GPL-2+ + + +---------------------------------------------------------------------- +-- Short Copyright Holders Report -- +-- (84 holders out of 473 copyright statements) -- +---------------------------------------------------------------------- + +Copyright: © 2005-2008 Joris Guisson +Copyright: © 2005-2008 Ivan Vasic +Copyright: © 2007 Krzysztof Kundzicz +Copyright: © 2006 Diego R. Brogna +Copyright: © 2006-2007 Jannick Kuhr +Copyright: © 2007 David Faure +Copyright: © 2007-2008 Serdar Soytetir +Copyright: © 2007 Modestas Vainius +Copyright: © 2002-2007 Free Software Foundation Inc. +Copyright: © 2005-2008 Nicola Ruggero +Copyright: © 2008 Alan Jones +Copyright: © 2005 Adam Treat +Copyright: © 2006-2008 Sönke Dibbern +Copyright: © 2005-2008 Stefan Asserhäll +Copyright: © 2005-2008 Rinse de Vries +Copyright: © 2005-2007 Vincent Wagelaar +Copyright: © 2006 Danny Kukawka +Copyright: © 2008 Auk Piseth +Copyright: © 2008 Viesturs Zarins +Copyright: © 2006 Xavier Batlle i Pelach +Copyright: © 2008 Ivan Petrouchtchak +Copyright: © Najib Zulon Idrissi Katouni +Copyright: © 2006 Manfred Wiese +Copyright: © 2007-2008 Jerzy Trzeciak +Copyright: © Thomas 'Dark-Side' Refis +Copyright: © 2006 Canonical Ltd +Copyright: © 2007 Brendan Osborne +Copyright: © 2007 Karl Ove Hufthammer +Copyright: © 2007-2008 Spiros Georgaras +Copyright: © 2005-2006, 2008 Bram Schoenmakers +Copyright: © Pierre "delroth" Bourdon +Copyright: © Kevin "Katen" Soltysiak +Copyright: © 2007 Youssef Chahibi +Copyright: © Quentin "Cygal" Pradet +Copyright: © 2005 Barış Metin +Copyright: © 2005 Maarten Rütten +Copyright: © 2007 Sébastien Renard +Copyright: © 2008 Sergiu Bivol +Copyright: © 2006 Engin +Copyright: © 2007-2008 Andrius +Copyright: © 2006-2008 Martijn van Vliet +Copyright: © 2007 Frederik Schwarzer +Copyright: © 2006 Marcos Goienetxe +Copyright: © 2006 Ion Gaztañaga +Copyright: © 2007 Richard Fric +Copyright: © 2007 Benoit Verduyn +Copyright: © 2007-2008 Toussis Manolis +Copyright: © 2005 Waldemar Silva Junior +Copyright: © 2007 Darafei Praliaskouski +Copyright: © 2007 Everest Law +Copyright: © 2007 Slobodan Simic +Copyright: © 2008 Tamas Szanto +Copyright: © 2007 Markus Hietaranta +Copyright: © 2007-2008 Jaime Robles +Copyright: © 2005-2006 Patrick Trettenbrein +Copyright: © 2007 Donatas Glodenis +Copyright: © 2005-2007 Zlatko Popov +Copyright: © 2007 doutor.zero +Copyright: © Gabriel "bluestorm" Scherer +Copyright: © Simon "asmanur" Castellan +Copyright: © 2005-2007 Enrique Matias Sanchez (aka Quique) +Copyright: © 2005-2008 Marek Laane +Copyright: © 2008 Khoem Sokhem +Copyright: © 2007-2008 Hu Wei +Copyright: © 2007-2008 Nick Shaforostoff +Copyright: © 2008 Ravishankar Shrivastava +Copyright: © 2008 Martin Schlander +Copyright: © 2007 Xavier Batlle Pelach +Copyright: © 2005-2006, 2008 Thomas Reitelbach +Copyright: © 2005-2008 Yukiko Bando +Copyright: © 2006 Hasso Tepper +Copyright: © 2007-2008 Cindy McKee +Copyright: © 2006, 2008 Josep Ma. Ferrer +Copyright: © 2005 sejishikong +Copyright: © 2005 Waldemar Silva Júnior +Copyright: © 2006 Xavier Batlle i Pèlach +Copyright: © 2005 Stephan Johach +Copyright: © 2005-09-23 Funda Wang +Copyright: © 2007 mvillarino +Copyright: © 2007-2008 Yannig Marchegay +Copyright: © 2008 Alexander Nicolaysen Sørnes +Copyright: © 2007 Akın +Copyright: © 2005 Pablo de Vicente + + +---------------------------------------------------------------------- +-- Copyright Holders Report -- +-- (84 holders out of 473 copyright statements) -- +---------------------------------------------------------------------- + +Copyright: © Joris Guisson +Credited: 216 times +Years: 2005-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files-Count: 216 +Copyrighted-Files: + ideal/box.cpp + ideal/box.h + ideal/mainwindow.cpp + ideal/mainwindow.h + ideal/sidebar.cpp + ideal/sidebar.h + ktorrent/addpeersdlg.cpp + ktorrent/addpeersdlg.h + ktorrent/advancedpref.cpp + ktorrent/advancedpref.h + ktorrent/core.cpp + ktorrent/core.h + ktorrent/dbus.cpp + ktorrent/dbus.h + ktorrent/fileselectdlg.cpp + ktorrent/fileselectdlg.h + ktorrent/grouppolicydlg.cpp + ktorrent/grouppolicydlg.h + ktorrent/groupview.cpp + ktorrent/groupview.h + ktorrent/gui.cpp + ktorrent/gui.h + ktorrent/importdialog.cpp + ktorrent/importdialog.h + ktorrent/main.cpp + ktorrent/missingfilesdlg.cpp + ktorrent/missingfilesdlg.h + ktorrent/networkpref.cpp + ktorrent/networkpref.h + ktorrent/pastedialog.cpp + ktorrent/pastedialog.h + ktorrent/prefdialog.cpp + ktorrent/prefdialog.h + ktorrent/proxypref.cpp + ktorrent/proxypref.h + ktorrent/queuemanagermodel.cpp + ktorrent/queuemanagermodel.h + ktorrent/queuemanagerwidget.cpp + ktorrent/queuemanagerwidget.h + ktorrent/scandlg.cpp + ktorrent/scandlg.h + ktorrent/speedlimitsdlg.cpp + ktorrent/speedlimitsdlg.h + ktorrent/speedlimitsmodel.cpp + ktorrent/speedlimitsmodel.h + ktorrent/spinboxdelegate.cpp + ktorrent/spinboxdelegate.h + ktorrent/statusbar.cpp + ktorrent/statusbar.h + ktorrent/torrentcreatordlg.cpp + ktorrent/torrentcreatordlg.h + ktorrent/trayicon.cpp + ktorrent/trayicon.h + ktorrent/view.cpp + ktorrent/view.h + ktorrent/viewmanager.cpp + ktorrent/viewmanager.h + ktorrent/viewmodel.cpp + ktorrent/viewmodel.h + ktupnptest/main.cpp + ktupnptest/upnptestwidget.cpp + ktupnptest/upnptestwidget.h + libktcore/groups/allgroup.cpp + libktcore/groups/allgroup.h + libktcore/groups/downloadgroup.cpp + libktcore/groups/downloadgroup.h + libktcore/groups/group.cpp + libktcore/groups/group.h + libktcore/groups/groupmanager.cpp + libktcore/groups/groupmanager.h + libktcore/groups/torrentgroup.cpp + libktcore/groups/torrentgroup.h + libktcore/groups/ungroupedgroup.cpp + libktcore/groups/ungroupedgroup.h + libktcore/groups/uploadgroup.cpp + libktcore/groups/uploadgroup.h + libktcore/interfaces/coreinterface.cpp + libktcore/interfaces/coreinterface.h + libktcore/interfaces/functions.cpp + libktcore/interfaces/functions.h + libktcore/interfaces/guiinterface.cpp + libktcore/interfaces/guiinterface.h + libktcore/interfaces/plugin.cpp + libktcore/interfaces/plugin.h + libktcore/interfaces/prefpageinterface.cpp + libktcore/interfaces/prefpageinterface.h + libktcore/ktversion.h + libktcore/pluginmanager.cpp + libktcore/pluginmanager.h + libktcore/pluginmanagerprefpage.cpp + libktcore/pluginmanagerprefpage.h + libktcore/torrent/queuemanager.cpp + libktcore/torrent/queuemanager.h + libktcore/torrent/torrentfilelistmodel.cpp + libktcore/torrent/torrentfilelistmodel.h + libktcore/torrent/torrentfilemodel.cpp + libktcore/torrent/torrentfilemodel.h + libktcore/torrent/torrentfiletreemodel.cpp + libktcore/torrent/torrentfiletreemodel.h + libktcore/util/mmapfile.cpp + libktcore/util/mmapfile.h + libktupnp/httprequest.cpp + libktupnp/httprequest.h + libktupnp/soap.cpp + libktupnp/soap.h + libktupnp/upnpdescriptionparser.cpp + libktupnp/upnpdescriptionparser.h + libktupnp/upnpmcastsocket.cpp + libktupnp/upnpmcastsocket.h + libktupnp/upnprouter.cpp + libktupnp/upnprouter.h + plugins/bwscheduler/additemdlg.cpp + plugins/bwscheduler/additemdlg.h + plugins/bwscheduler/schedule.cpp + plugins/bwscheduler/schedule.h + plugins/bwscheduler/scheduleeditor.cpp + plugins/bwscheduler/scheduleeditor.h + plugins/bwscheduler/weekscene.cpp + plugins/bwscheduler/weekscene.h + plugins/bwscheduler/weekview.cpp + plugins/bwscheduler/weekview.h + plugins/infowidget/availabilitychunkbar.cpp + plugins/infowidget/availabilitychunkbar.h + plugins/infowidget/chunkbar.cpp + plugins/infowidget/chunkbar.h + plugins/infowidget/chunkdownloadmodel.cpp + plugins/infowidget/chunkdownloadmodel.h + plugins/infowidget/chunkdownloadview.cpp + plugins/infowidget/chunkdownloadview.h + plugins/infowidget/downloadedchunkbar.cpp + plugins/infowidget/downloadedchunkbar.h + plugins/infowidget/fileview.cpp + plugins/infowidget/fileview.h + plugins/infowidget/infowidgetplugin.cpp + plugins/infowidget/infowidgetplugin.h + plugins/infowidget/iwfilelistmodel.cpp + plugins/infowidget/iwfilelistmodel.h + plugins/infowidget/iwfiletreemodel.cpp + plugins/infowidget/iwfiletreemodel.h + plugins/infowidget/iwprefpage.cpp + plugins/infowidget/iwprefpage.h + plugins/infowidget/monitor.cpp + plugins/infowidget/monitor.h + plugins/infowidget/peerview.cpp + plugins/infowidget/peerview.h + plugins/infowidget/peerviewmodel.cpp + plugins/infowidget/peerviewmodel.h + plugins/infowidget/statustab.cpp + plugins/infowidget/statustab.h + plugins/infowidget/trackermodel.cpp + plugins/infowidget/trackermodel.h + plugins/infowidget/trackerview.cpp + plugins/infowidget/trackerview.h + plugins/infowidget/webseedsmodel.cpp + plugins/infowidget/webseedsmodel.h + plugins/infowidget/webseedstab.cpp + plugins/infowidget/webseedstab.h + plugins/ipfilter/antip2p.cpp + plugins/ipfilter/antip2p.h + plugins/ipfilter/convertdialog.cpp + plugins/ipfilter/convertdialog.h + plugins/ipfilter/convertthread.cpp + plugins/ipfilter/convertthread.h + plugins/ipfilter/ipblockingprefpage.cpp + plugins/ipfilter/ipblockingprefpage.h + plugins/ipfilter/ipfilterplugin.cpp + plugins/ipfilter/ipfilterplugin.h + plugins/logviewer/logprefpage.cpp + plugins/logviewer/logprefpage.h + plugins/logviewer/logviewer.cpp + plugins/logviewer/logviewer.h + plugins/logviewer/logviewerplugin.cpp + plugins/logviewer/logviewerplugin.h + plugins/mediaplayer/mediamodel.cpp + plugins/mediaplayer/mediamodel.h + plugins/mediaplayer/mediaplayer.cpp + plugins/mediaplayer/mediaplayer.h + plugins/mediaplayer/mediaplayerplugin.cpp + plugins/mediaplayer/mediaplayerplugin.h + plugins/mediaplayer/mediaview.cpp + plugins/mediaplayer/mediaview.h + plugins/mediaplayer/videowidget.cpp + plugins/mediaplayer/videowidget.h + plugins/search/htmlpart.cpp + plugins/search/htmlpart.h + plugins/search/searchenginelist.cpp + plugins/search/searchenginelist.h + plugins/search/searchplugin.cpp + plugins/search/searchplugin.h + plugins/search/searchprefpage.cpp + plugins/search/searchprefpage.h + plugins/search/searchtoolbar.cpp + plugins/search/searchtoolbar.h + plugins/search/searchwidget.cpp + plugins/search/searchwidget.h + plugins/stats/DisplaySettingsPage.cc + plugins/stats/DisplaySettingsPage.h + plugins/upnp/upnpplugin.cpp + plugins/upnp/upnpplugin.h + plugins/upnp/upnpprefpage.cpp + plugins/upnp/upnpprefpage.h + plugins/webinterface/httpclienthandler.cpp + plugins/webinterface/httpclienthandler.h + plugins/webinterface/httpresponseheader.cpp + plugins/webinterface/httpresponseheader.h + plugins/webinterface/phpcodegenerator.cpp + plugins/webinterface/phpcodegenerator.h + plugins/webinterface/phpcommandhandler.cpp + plugins/webinterface/phpcommandhandler.h + plugins/zeroconf/torrentservice.cpp + plugins/zeroconf/torrentservice.h + plugins/zeroconf/zeroconfplugin.cpp + plugins/zeroconf/zeroconfplugin.h + po/es/ktorrent.po + templates/cpp + templates/h + +Copyright: © Ivan Vasic +Credited: 136 times +Other-Names: Ivan Vasić +Years: 2005-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files-Count: 136 +Copyrighted-Files: + ideal/box.cpp + ideal/box.h + ideal/mainwindow.cpp + ideal/mainwindow.h + ideal/sidebar.cpp + ideal/sidebar.h + ktorrent/addpeersdlg.cpp + ktorrent/addpeersdlg.h + ktorrent/advancedpref.cpp + ktorrent/advancedpref.h + ktorrent/core.cpp + ktorrent/core.h + ktorrent/dbus.cpp + ktorrent/dbus.h + ktorrent/grouppolicydlg.cpp + ktorrent/grouppolicydlg.h + ktorrent/gui.cpp + ktorrent/gui.h + ktorrent/ipfilterwidget.cpp + ktorrent/ipfilterwidget.h + ktorrent/main.cpp + ktorrent/missingfilesdlg.cpp + ktorrent/missingfilesdlg.h + ktorrent/networkpref.cpp + ktorrent/networkpref.h + ktorrent/prefdialog.cpp + ktorrent/prefdialog.h + ktorrent/proxypref.cpp + ktorrent/proxypref.h + ktorrent/queuemanagermodel.cpp + ktorrent/queuemanagermodel.h + ktorrent/queuemanagerwidget.cpp + ktorrent/queuemanagerwidget.h + ktorrent/scandlg.cpp + ktorrent/scandlg.h + ktorrent/speedlimitsmodel.cpp + ktorrent/speedlimitsmodel.h + ktorrent/spinboxdelegate.cpp + ktorrent/spinboxdelegate.h + ktorrent/statusbar.cpp + ktorrent/statusbar.h + ktorrent/torrentcreatordlg.cpp + ktorrent/torrentcreatordlg.h + ktorrent/trayicon.cpp + ktorrent/trayicon.h + ktorrent/view.cpp + ktorrent/view.h + ktorrent/viewmanager.cpp + ktorrent/viewmanager.h + ktorrent/viewmodel.cpp + ktorrent/viewmodel.h + ktupnptest/upnptestwidget.cpp + libktcore/groups/activedownloadsgroup.cpp + libktcore/groups/activedownloadsgroup.h + libktcore/groups/activegroup.cpp + libktcore/groups/activegroup.h + libktcore/groups/activeuploadsgroup.cpp + libktcore/groups/activeuploadsgroup.h + libktcore/groups/inactivedownloadsgroup.cpp + libktcore/groups/inactivedownloadsgroup.h + libktcore/groups/inactivegroup.cpp + libktcore/groups/inactivegroup.h + libktcore/groups/inactiveuploadsgroup.cpp + libktcore/groups/inactiveuploadsgroup.h + libktcore/groups/queueddownloadsgroup.cpp + libktcore/groups/queueddownloadsgroup.h + libktcore/groups/queueduploadsgroup.cpp + libktcore/groups/queueduploadsgroup.h + libktcore/groups/ungroupedgroup.cpp + libktcore/groups/ungroupedgroup.h + libktcore/groups/userdownloadsgroup.cpp + libktcore/groups/userdownloadsgroup.h + libktcore/groups/useruploadsgroup.cpp + libktcore/groups/useruploadsgroup.h + libktcore/torrent/torrentfilelistmodel.cpp + libktcore/torrent/torrentfilelistmodel.h + libktcore/torrent/torrentfilemodel.cpp + libktcore/torrent/torrentfilemodel.h + libktcore/torrent/torrentfiletreemodel.cpp + libktcore/torrent/torrentfiletreemodel.h + plugins/bwscheduler/additemdlg.cpp + plugins/bwscheduler/additemdlg.h + plugins/bwscheduler/bwschedulerplugin.cpp + plugins/bwscheduler/bwschedulerplugin.h + plugins/bwscheduler/schedule.cpp + plugins/bwscheduler/schedule.h + plugins/bwscheduler/scheduleeditor.cpp + plugins/bwscheduler/scheduleeditor.h + plugins/bwscheduler/weekscene.cpp + plugins/bwscheduler/weekscene.h + plugins/bwscheduler/weekview.cpp + plugins/bwscheduler/weekview.h + plugins/infowidget/chunkdownloadmodel.cpp + plugins/infowidget/chunkdownloadmodel.h + plugins/infowidget/chunkdownloadview.cpp + plugins/infowidget/iwfilelistmodel.cpp + plugins/infowidget/iwfilelistmodel.h + plugins/infowidget/iwfiletreemodel.cpp + plugins/infowidget/iwfiletreemodel.h + plugins/infowidget/peerview.cpp + plugins/infowidget/peerviewmodel.cpp + plugins/infowidget/peerviewmodel.h + plugins/infowidget/trackermodel.cpp + plugins/infowidget/trackermodel.h + plugins/infowidget/trackerview.cpp + plugins/infowidget/trackerview.h + plugins/infowidget/webseedsmodel.cpp + plugins/infowidget/webseedsmodel.h + plugins/infowidget/webseedstab.cpp + plugins/infowidget/webseedstab.h + plugins/ipfilter/convertthread.cpp + plugins/ipfilter/convertthread.h + plugins/logviewer/logflags.cpp + plugins/logviewer/logflags.h + plugins/mediaplayer/mediamodel.cpp + plugins/mediaplayer/mediamodel.h + plugins/mediaplayer/mediaplayer.cpp + plugins/mediaplayer/mediaplayer.h + plugins/mediaplayer/mediaplayerplugin.cpp + plugins/mediaplayer/mediaplayerplugin.h + plugins/mediaplayer/mediaview.cpp + plugins/mediaplayer/mediaview.h + plugins/mediaplayer/videowidget.cpp + plugins/mediaplayer/videowidget.h + plugins/scanfolder/scanfolder.cpp + plugins/scanfolder/scanfolder.h + plugins/scanfolder/scanfolderplugin.cpp + plugins/scanfolder/scanfolderplugin.h + plugins/scanfolder/scanfolderprefpage.cpp + plugins/scanfolder/scanfolderprefpage.h + plugins/search/searchprefpage.cpp + plugins/search/searchwidget.cpp + plugins/stats/DisplaySettingsPage.cc + plugins/stats/DisplaySettingsPage.h + templates/cpp + templates/h + +Copyright: © Krzysztof Kundzicz +Credited: 18 times +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files-Count: 18 +Copyrighted-Files: + plugins/stats/ConnsTabPage.cc + plugins/stats/ConnsTabPage.h + plugins/stats/PluginPage.cc + plugins/stats/PluginPage.h + plugins/stats/SettingsPage.cc + plugins/stats/SettingsPage.h + plugins/stats/SpdTabPage.cc + plugins/stats/SpdTabPage.h + plugins/stats/StatsPlugin.cc + plugins/stats/StatsPlugin.h + plugins/stats/drawer/ChartDrawer.cc + plugins/stats/drawer/ChartDrawer.h + plugins/stats/drawer/ChartDrawerData.cc + plugins/stats/drawer/ChartDrawerData.h + plugins/stats/drawer/KPlotWgtDrawer.cc + plugins/stats/drawer/KPlotWgtDrawer.h + plugins/stats/drawer/PlainChartDrawer.cc + plugins/stats/drawer/PlainChartDrawer.h + +Copyright: © Diego R. Brogna +Credited: 10 times +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files-Count: 10 +Copyrighted-Files: + plugins/webinterface/httpserver.cpp + plugins/webinterface/httpserver.h + plugins/webinterface/phpcodegenerator.cpp + plugins/webinterface/phpcodegenerator.h + plugins/webinterface/phphandler.cpp + plugins/webinterface/phphandler.h + plugins/webinterface/webinterfaceplugin.cpp + plugins/webinterface/webinterfaceplugin.h + plugins/webinterface/webinterfaceprefwidget.cpp + plugins/webinterface/webinterfaceprefwidget.h + +Copyright: © Jannick Kuhr +Credited: 3 times +Email-Addresses: , , +Years: 2006-2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/de/ktorrent.po + +Copyright: © David Faure +Credited: 2 times +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files-Count: 2 +Copyrighted-Files: + libktcore/ktcore_export.h + libktupnp/ktupnp_export.h + +Copyright: © Serdar Soytetir +Credited: 2 times +Other-Names: serdar soytetir +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/tr/ktorrent.po + +Copyright: © Modestas Vainius +Credited: 2 times +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files-Count: 2 +Copyrighted-Files: + plugins/infowidget/flagdb.cpp + plugins/infowidget/flagdb.h + +Copyright: © Free Software Foundation Inc. +Credited: 2 times +Years: 2002-2007 +Used-Licenses: GPL-2+ +Copyrighted-Files-Count: 2 +Copyrighted-Files: + po/fr/ktorrent.po + po/zh_CN/ktorrent.po + +Copyright: © Nicola Ruggero +Credited: 2 times +Email-Addresses: , +Years: 2005-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/it/ktorrent.po + +Copyright: © Alan Jones +Credited: 2 times +Years: 2008 +Used-Licenses: GPL-3+ +Copyrighted-Files-Count: 2 +Copyrighted-Files: + plugins/bitfinder/bitfinderplugin.cpp + plugins/bitfinder/bitfinderplugin.h + +Copyright: © Adam Treat +Credited: 2 times +Years: 2005 +Used-Licenses: GPL-2+ +Copyrighted-Files-Count: 2 +Copyrighted-Files: + ktorrent/app.cpp + ktorrent/app.h + +Copyright: © Sönke Dibbern +Credited: 2 times +Years: 2006-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/nds/ktorrent.po + +Copyright: © Stefan Asserhäll +Credited: 2 times +Other-Names: Stefan Asserhall +Years: 2005-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/sv/ktorrent.po + +Copyright: © Rinse de Vries +Credited: 2 times +Email-Addresses: , +Years: 2005-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/nl/ktorrent.po + +Copyright: © Vincent Wagelaar +Credited: 2 times +Years: 2005-2007 +Used-Licenses: GPL-2+ +Copyrighted-Files-Count: 2 +Copyrighted-Files: + plugins/infowidget/chunkbar.cpp + plugins/infowidget/chunkbar.h + +Copyright: © Danny Kukawka +Credited: 1 time +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/de/ktorrent.po + +Copyright: © Auk Piseth +Credited: 1 time +Years: 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/km/ktorrent.po + +Copyright: © Viesturs Zarins +Credited: 1 time +Years: 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/lv/ktorrent.po + +Copyright: © Xavier Batlle i Pelach +Credited: 1 time +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/ca/ktorrent.po + +Copyright: © Ivan Petrouchtchak +Credited: 1 time +Years: 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/uk/ktorrent.po + +Copyright: © Najib Zulon Idrissi Katouni +Credited: 1 time +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fr/ktorrent.po + +Copyright: © Manfred Wiese +Credited: 1 time +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/nds/ktorrent.po + +Copyright: © Jerzy Trzeciak +Credited: 1 time +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/pl/ktorrent.po + +Copyright: © Thomas 'Dark-Side' Refis +Credited: 1 time +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fr/ktorrent.po + +Copyright: © Canonical Ltd +Credited: 1 time +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/lv/ktorrent.po + +Copyright: © Brendan Osborne +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/en_GB/ktorrent.po + +Copyright: © Karl Ove Hufthammer +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/nn/ktorrent.po + +Copyright: © Spiros Georgaras +Credited: 1 time +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/el/ktorrent.po + +Copyright: © Bram Schoenmakers +Credited: 1 time +Years: 2005-2006, 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/nl/ktorrent.po + +Copyright: © Pierre "delroth" Bourdon +Credited: 1 time +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fr/ktorrent.po + +Copyright: © Kevin "Katen" Soltysiak +Credited: 1 time +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fr/ktorrent.po + +Copyright: © Youssef Chahibi +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/ar/ktorrent.po + +Copyright: © Quentin "Cygal" Pradet +Credited: 1 time +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fr/ktorrent.po + +Copyright: © Barış Metin +Credited: 1 time +Years: 2005 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/tr/ktorrent.po + +Copyright: © Maarten Rütten +Credited: 1 time +Years: 2005 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/nl/ktorrent.po + +Copyright: © Sébastien Renard +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fr/ktorrent.po + +Copyright: © Sergiu Bivol +Credited: 1 time +Years: 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/ro/ktorrent.po + +Copyright: © Engin +Credited: 1 time +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/tr/ktorrent.po + +Copyright: © Andrius +Credited: 1 time +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/lt/ktorrent.po + +Copyright: © Martijn van Vliet +Credited: 1 time +Years: 2006-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/nl/ktorrent.po + +Copyright: © Frederik Schwarzer +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/de/ktorrent.po + +Copyright: © Marcos Goienetxe +Credited: 1 time +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/eu/ktorrent.po + +Copyright: © Ion Gaztañaga +Credited: 1 time +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/eu/ktorrent.po + +Copyright: © Richard Fric +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/sk/ktorrent.po + +Copyright: © Benoit Verduyn +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fr/ktorrent.po + +Copyright: © Toussis Manolis +Credited: 1 time +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/el/ktorrent.po + +Copyright: © Waldemar Silva Junior +Credited: 1 time +Years: 2005 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/pt_BR/ktorrent.po + +Copyright: © Darafei Praliaskouski +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/be/ktorrent.po + +Copyright: © Everest Law +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/zh_TW/ktorrent.po + +Copyright: © Slobodan Simic +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/sr/ktorrent.po + +Copyright: © Tamas Szanto +Credited: 1 time +Years: 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/hu/ktorrent.po + +Copyright: © Markus Hietaranta +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fi/ktorrent.po + +Copyright: © Jaime Robles +Credited: 1 time +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/es/ktorrent.po + +Copyright: © Patrick Trettenbrein +Credited: 1 time +Years: 2005-2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/de/ktorrent.po + +Copyright: © Donatas Glodenis +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/lt/ktorrent.po + +Copyright: © Zlatko Popov +Credited: 1 time +Years: 2005-2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/bg/ktorrent.po + +Copyright: © doutor.zero +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/pt_BR/ktorrent.po + +Copyright: © Gabriel "bluestorm" Scherer +Credited: 1 time +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fr/ktorrent.po + +Copyright: © Simon "asmanur" Castellan +Credited: 1 time +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/fr/ktorrent.po + +Copyright: © Enrique Matias Sanchez (aka Quique) +Credited: 1 time +Years: 2005-2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/es/ktorrent.po + +Copyright: © Marek Laane +Credited: 1 time +Years: 2005-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/et/ktorrent.po + +Copyright: © Khoem Sokhem +Credited: 1 time +Years: 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/km/ktorrent.po + +Copyright: © Hu Wei +Credited: 1 time +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/zh_CN/ktorrent.po + +Copyright: © Nick Shaforostoff +Credited: 1 time +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/ru/ktorrent.po + +Copyright: © Ravishankar Shrivastava +Credited: 1 time +Years: 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/hi/ktorrent.po + +Copyright: © Martin Schlander +Credited: 1 time +Years: 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/da/ktorrent.po + +Copyright: © Xavier Batlle Pelach +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/ca/ktorrent.po + +Copyright: © Thomas Reitelbach +Credited: 1 time +Years: 2005-2006, 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/de/ktorrent.po + +Copyright: © Yukiko Bando +Credited: 1 time +Years: 2005-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/ja/ktorrent.po + +Copyright: © Hasso Tepper +Credited: 1 time +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/et/ktorrent.po + +Copyright: © Cindy McKee +Credited: 1 time +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/eo/ktorrent.po + +Copyright: © Josep Ma. Ferrer +Credited: 1 time +Years: 2006, 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/ca/ktorrent.po + +Copyright: © sejishikong +Credited: 1 time +Years: 2005 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/zh_CN/ktorrent.po + +Copyright: © Waldemar Silva Júnior +Credited: 1 time +Years: 2005 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/pt_BR/ktorrent.po + +Copyright: © Xavier Batlle i Pèlach +Credited: 1 time +Years: 2006 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/ca/ktorrent.po + +Copyright: © Stephan Johach +Credited: 1 time +Years: 2005 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/de/ktorrent.po + +Copyright: © Funda Wang +Credited: 1 time +Years: 2005-09-23 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/zh_CN/ktorrent.po + +Copyright: © mvillarino +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/gl/ktorrent.po + +Copyright: © Yannig Marchegay +Credited: 1 time +Years: 2007-2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/oc/ktorrent.po + +Copyright: © Alexander Nicolaysen Sørnes +Credited: 1 time +Years: 2008 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/nb/ktorrent.po + +Copyright: © Akın +Credited: 1 time +Years: 2007 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/tr/ktorrent.po + +Copyright: © Pablo de Vicente +Credited: 1 time +Years: 2005 +Used-Licenses: GPL-2+ +Copyrighted-Files: + po/es/ktorrent.po + + --- ktorrent-3.1~rc1+dfsg.1.orig/debian/control +++ ktorrent-3.1~rc1+dfsg.1/debian/control @@ -0,0 +1,65 @@ +Source: ktorrent +Section: kde +Priority: optional +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Debian KDE Extras Team +Uploaders: Modestas Vainius +DM-Upload-Allowed: yes +Build-Depends: cmake, debhelper (>= 6.0.0), cdbs (>= 0.4.51), quilt, + kdelibs5-dev (>= 4:4.0.72), libphonon-dev (>= 4:4.0.72), libstreamanalyzer-dev, pkg-config, libgeoip-dev, + libgmp3-dev, libqca2-dev +Standards-Version: 3.7.3.0 +Homepage: http://ktorrent.org/ +Vcs-Svn: svn://svn.debian.org/svn/pkg-kde/kde-extras/ktorrent/branches/experimental/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-kde/kde-extras/ktorrent/branches/experimental/ + +Package: ktorrent +Architecture: any +Depends: ${shlibs:Depends} +Suggests: php5-cli, ktorrent-dbg (= ${binary:Version}) +Description: BitTorrent client for KDE + KTorrent is a BitTorrent program for KDE. You can use it to download and upload + files on the BitTorrent network. Additional KTorrent features include: + - uTorrent compatible peer exchange + - Zeroconf extension to find peers on the local network + - WebGUI plugin + - Grouping feature to put torrents into groups with configurable for the + torrent of each group. + - Downloads torrent files + - Upload and download speed capping + - Speed limits for individual torrents + - Internet searching using various search engines, you can even add + your own + - UDP Trackers + - Port forwarding with UPnP + - IP blocking plugin + - Importing of partially or fully downloaded files + - Support for distributed hash tables (mainline version) + - Protocol encryption + - Bandwith scheduling + - Directory scanner to automatically load torrents in certain directories + - Trackers can be added to torrents + - File prioritization for multi file torrents + - Option to fully preallocate diskspace to avoid fragmentation + - Diskspace monitoring, with option to stop torrents when diskspace is + running low + - Statistics plugin + - IPv6 support + - SOCKSv4 and v5 support + - The network interface to use can be selected + - Individual files of a torrent can be moved + - Queue Manager Gui + - Media Player plugin + - Webseeds + +Package: ktorrent-dbg +Architecture: any +Priority: extra +Depends: ktorrent (= ${binary:Version}) +Recommends: kdelibs5-dbg +Description: KTorrent debugging symbols + This package contains debugging symbols for KTorrent. When KTorrent crashes, + in most cases this package is needed to get a backtrace that is useful for + developers. If you have experienced KTorrent crash without this package + installed, please install it, try to reproduce the problem and fill a bug + report with a new backtrace attached. --- ktorrent-3.1~rc1+dfsg.1.orig/debian/ktorrent.xpm +++ ktorrent-3.1~rc1+dfsg.1/debian/ktorrent.xpm @@ -0,0 +1,295 @@ +/* XPM */ +static char *ktorrent[] = { +/* columns rows colors chars-per-pixel */ +"32 32 257 2", +" c #000000", +". c #070808", +"X c #0B0B0C", +"o c #0E0F10", +"O c #0D1111", +"+ c #130D11", +"@ c #121313", +"# c #1B1C1B", +"$ c #151818", +"% c #1E211F", +"& c #2E0F0C", +"* c #201316", +"= c #351A1A", +"- c #291F22", +"; c #242322", +": c #2B2B29", +"> c #252B27", +", c #26322C", +"< c #323533", +"1 c #333C35", +"2 c #372A28", +"3 c #3B473F", +"4 c #3C4940", +"5 c #385B44", +"6 c #397F4F", +"7 c #4B110F", +"8 c #451310", +"9 c #530C07", +"0 c #59130F", +"q c #5D1811", +"w c #440906", +"e c #42251E", +"r c #473B35", +"t c #5A2E2C", +"y c #472A24", +"u c #671E15", +"i c #6F2820", +"p c #7A2D23", +"a c #7A352D", +"s c #653A34", +"d c #4A443D", +"f c #51433D", +"g c #454442", +"h c #484744", +"j c #45554A", +"k c #4D5144", +"l c #514948", +"z c #525653", +"x c #476F4D", +"c c #4C7357", +"v c #5B605C", +"b c #5A7154", +"n c #5D6660", +"m c #7A4B45", +"M c #7C5753", +"N c #654C48", +"B c #65605F", +"V c #646E67", +"C c #7F7978", +"Z c #767672", +"A c #019430", +"S c #10963B", +"D c #139D3F", +"F c #159C41", +"G c #1D9B45", +"H c #19A146", +"J c #239D4A", +"K c #289F4E", +"L c #34884F", +"P c #378E55", +"I c #25A24D", +"U c #2CA151", +"Y c #33A457", +"T c #34A559", +"R c #39A45C", +"E c #3AA95E", +"W c #35AB5B", +"Q c #3EA961", +"! c #448459", +"~ c #44955E", +"^ c #439457", +"/ c #4F8961", +"( c #499B63", +") c #518863", +"_ c #5B8B6B", +"` c #5D8069", +"' c #579568", +"] c #5F9871", +"[ c #44AD66", +"{ c #47AD68", +"} c #47B46B", +"| c #4BB06B", +" . c #43B266", +".. c #4DB570", +"X. c #51AC6E", +"o. c #5CB679", +"O. c #58B777", +"+. c #678A72", +"@. c #669676", +"#. c #76837A", +"$. c #6DA17E", +"%. c #62BB7E", +"&. c #63B57C", +"*. c #5FC07E", +"=. c #709F80", +"-. c #6CAD81", +";. c #67BA81", +":. c #7BA489", +">. c #73A082", +",. c #71BC89", +"<. c #66C184", +"1. c #73C48D", +"2. c #79C491", +"3. c #7BCA94", +"4. c #8F1C0D", +"5. c #8F2517", +"6. c #982415", +"7. c #883429", +"8. c #863D34", +"9. c #AF2613", +"0. c #BC2511", +"q. c #B92915", +"w. c #B72713", +"e. c #A83628", +"r. c #BE3B29", +"t. c #8B4137", +"y. c #984339", +"u. c #B44536", +"i. c #A84538", +"p. c #894940", +"a. c #964D43", +"s. c #9D584E", +"d. c #8C605A", +"f. c #92615A", +"g. c #896E6B", +"h. c #996A63", +"j. c #917A77", +"k. c #BD4F40", +"l. c #A6554B", +"z. c #BB6054", +"x. c #AC6A61", +"c. c #AA736B", +"v. c #A87B75", +"b. c #B26E64", +"n. c #B47269", +"m. c #B57E76", +"M. c #C02A16", +"N. c #C5301C", +"B. c #C84939", +"V. c #C66355", +"C. c #C46659", +"Z. c #C86356", +"A. c #CA6659", +"S. c #CB695C", +"D. c #C16B5F", +"F. c #D0685A", +"G. c #CA6E62", +"H. c #C16E62", +"J. c #CB7165", +"K. c #CC766A", +"L. c #CD786D", +"P. c #C3746A", +"I. c #CE7B70", +"U. c #D36E60", +"Y. c #D37165", +"T. c #DC7163", +"R. c #D57D72", +"E. c #C4877E", +"W. c #D2847A", +"Q. c #D4887D", +"!. c #D68478", +"~. c #86928A", +"^. c #8B9A90", +"/. c #978886", +"(. c #938280", +"). c #8CA995", +"_. c #8EB59A", +"`. c #88B696", +"'. c #9AA79F", +"]. c #91BA9E", +"[. c #9DA5A0", +"{. c #9BBAA6", +"}. c #AE9B98", +"|. c #BD958F", +" X c #A68783", +".X c #A3AEA6", +"XX c #B1A8A6", +"oX c #87CB9C", +"OX c #8FCFA3", +"+X c #96CFA8", +"@X c #99C9A8", +"#X c #98D4AB", +"$X c #A2C0AC", +"%X c #ADC2B4", +"&X c #A3D5B3", +"*X c #ABD7B9", +"=X c #B2C7B9", +"-X c #B1D5BD", +";X c #B6DDC2", +":X c #BEDDC8", +">X c #B9D4C2", +",X c #BDE0C8", +" . YXYXYXYXYXYX . . YXYXYXYXYXYXYXYXYX", +"YX V KXJXKXKXKXMX%X#.d @ YX g.l YXYXYXYXYXYXYXYX", +"YX > mXHXGXGXGXFXVXVXbX).+.j % . r sXtX# YXYXYXYXYXYXYXYX", +"YX .XKXGXGXVXVXMXbX%X@X#XoX,.] # O |.pXjX}.. YXYXYXYXYXYXYX", +"YXYX. z KXGXDXBXNXMXbX%X@XOX3.%.o.$ M iX6XdXAXZ YXYXYXYXYXYX", +"YXYX # mXHXDXBXMXmXvX>X_.oX2.<.' - L.Q.6XdXCXSXg YXYXYXYXYX", +"YXYX '.KXBXNXMXbXnX:X$X_.@.<.c t Y.Q.6XsXCXSXxX# YXYXYXYXYX", +"YXYXYX z JXBXMXMXvXcX:X 5 X : N h.P.U.F.Z.S.R.r ", +"YXYXYXYX # l d.b.U.T.f. ", +"YXYXYXYXYX o r M v.# ", +"YXYXYXYXYXYXYX YX @ X ", +"YXYXYXYXYXYXYXYXYXYX YXYXYXYXYXYX ", +"YXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYX" +}; --- ktorrent-3.1~rc1+dfsg.1.orig/debian/compat +++ ktorrent-3.1~rc1+dfsg.1/debian/compat @@ -0,0 +1 @@ +6 --- ktorrent-3.1~rc1+dfsg.1.orig/debian/NEWS +++ ktorrent-3.1~rc1+dfsg.1/debian/NEWS @@ -0,0 +1,10 @@ +ktorrent (2.1.4.dfsg.1-1) unstable; urgency=low + + * Now KTorrent uses system-wide GeoIP library (libgeoip1) and its default + GeoIP Country database to determine countries, which BitTorrent peers + originate from. The default free database provided by libgeoip is a bit + outdated and not very accurate. If you wish to upgrade the database, + please read /usr/share/doc/ktorrent/README.Debian and + /usr/share/doc/libgeoip1/README.Debian. + + -- Modestas Vainius Sun, 03 Jun 2007 15:40:07 +0300 --- ktorrent-3.1~rc1+dfsg.1.orig/debian/ktorrent.install +++ ktorrent-3.1~rc1+dfsg.1/debian/ktorrent.install @@ -0,0 +1,35 @@ +debian/tmp/usr/bin/ktorrent +debian/tmp/usr/bin/ktupnptest +debian/tmp/usr/lib/kde4/ktbwschedulerplugin.so +debian/tmp/usr/lib/kde4/ktinfowidgetplugin.so +debian/tmp/usr/lib/kde4/ktipfilterplugin.so +debian/tmp/usr/lib/kde4/ktlogviewerplugin.so +debian/tmp/usr/lib/kde4/ktmediaplayerplugin.so +debian/tmp/usr/lib/kde4/ktscanfolderplugin.so +debian/tmp/usr/lib/kde4/ktsearchplugin.so +debian/tmp/usr/lib/kde4/ktstatsplugin.so +debian/tmp/usr/lib/kde4/ktupnpplugin.so +debian/tmp/usr/lib/kde4/ktwebinterfaceplugin.so +debian/tmp/usr/lib/libktcore.so.6 +debian/tmp/usr/lib/libktcore.so.6.0.0 +debian/tmp/usr/lib/libktupnp.so.3 +debian/tmp/usr/lib/libktupnp.so.3.0.0 +debian/tmp/usr/lib/libbtcore.so.6 +debian/tmp/usr/lib/libbtcore.so.6.0.0 +debian/tmp/usr/share/applications/kde4/ktorrent.desktop +debian/tmp/usr/share/icons/hicolor/* +debian/tmp/usr/share/kde4/apps/ktorrent/* +debian/tmp/usr/share/kde4/services/ktbwschedulerplugin.desktop +debian/tmp/usr/share/kde4/services/ktinfowidgetplugin.desktop +debian/tmp/usr/share/kde4/services/ktipfilterplugin.desktop +debian/tmp/usr/share/kde4/services/ktlogviewerplugin.desktop +debian/tmp/usr/share/kde4/services/ktmediaplayerplugin.desktop +debian/tmp/usr/share/kde4/services/ktscanfolderplugin.desktop +debian/tmp/usr/share/kde4/services/ktsearchplugin.desktop +debian/tmp/usr/share/kde4/services/ktstatsplugin.desktop +debian/tmp/usr/share/kde4/services/ktupnpplugin.desktop +debian/tmp/usr/share/kde4/services/ktwebinterfaceplugin.desktop +debian/tmp/usr/share/kde4/servicetypes/ktorrentplugin.desktop +debian/tmp/usr/share/locale/* + +debian/ktorrent.xpm usr/share/pixmaps/ --- ktorrent-3.1~rc1+dfsg.1.orig/debian/ktupnptest.1 +++ ktorrent-3.1~rc1+dfsg.1/debian/ktupnptest.1 @@ -0,0 +1,41 @@ +.TH KTORRENT 1 "JUNE 2007" +.SH NAME +kupnptest \- KTorrent's UPnP test application. +.SH SYNOPSIS +\fBktupnptest\fP [Qt-options] [KDE-options] +.SH DESCRIPTION +.P +\fBKTUPnPTest\fP is a small GUI based helper utility which can be used to +find UPnP capable router(s) on the local network and request them to forward +or unforward (open or close) specific ports to the host running this +application. It's primarily intended to be used to test \fBKTorrent\fP UPnP +plugin settings, but you might find it useful to quickly forward a port to +your host for any other purpose. +.P +\fBKTUPnPTest\fP does not accept any application specific command line options, +but you can use any generic option(s) which are common for all KDE applications. +.SS Generic options +.TP +\fB\-\-help\fP +Show help about options +.TP +\fB\-\-help-qt\fP +Show Qt specific options +.TP +\fB\-\-help-kde\fP +Show KDE specific options +.TP +\fB\-\-help-all\fP +Show all options +.TP +\fB\-\-author\fP +Show author information +.TP +\fB\-v, \-\-version\fP +Show version information +.TP +\fB\-\-license\fP +Show license information +.TP +\fB\-\-\fP +End of options --- ktorrent-3.1~rc1+dfsg.1.orig/debian/ktorrent.menu +++ ktorrent-3.1~rc1+dfsg.1/debian/ktorrent.menu @@ -0,0 +1,8 @@ +?package(ktorrent):\ + needs="X11"\ + section="Applications/Network/File Transfer"\ + title="KTorrent"\ + command="ktorrent"\ + hints="KDE,Network,FileTransfer"\ + icon="/usr/share/pixmaps/ktorrent.xpm" + --- ktorrent-3.1~rc1+dfsg.1.orig/debian/ktorrent.lintian +++ ktorrent-3.1~rc1+dfsg.1/debian/ktorrent.lintian @@ -0,0 +1 @@ +ktorrent: package-name-doesnt-match-sonames --- ktorrent-3.1~rc1+dfsg.1.orig/debian/ktorrent.manpages +++ ktorrent-3.1~rc1+dfsg.1/debian/ktorrent.manpages @@ -0,0 +1,2 @@ +debian/ktorrent.1 +debian/ktupnptest.1 --- ktorrent-3.1~rc1+dfsg.1.orig/debian/rules +++ ktorrent-3.1~rc1+dfsg.1/debian/rules @@ -0,0 +1,18 @@ +#!/usr/bin/make -f +THIS_SHOULD_GO_TO_UNSTABLE = 1 +include debian/cdbs/kde.mk + +DEB_CMAKE_EXTRA_FLAGS += -DWITH_SYSTEM_GEOIP:BOOL=ON \ + -DWITH_BUILTIN_COUNTRY_FLAGS:BOOL=OFF +DEB_DH_INSTALL_SOURCEDIR = + +prune-tarball: + # Remove non-free components: flags and geoip stuff + rm -f plugins/infowidget/geoip/*.png + rm -f plugins/infowidget/geoip/FLAGS_LICENCE + rm -f plugins/infowidget/geoip/geoip.dat + rm -f plugins/infowidget/geoip/GeoIP-LICENSE.txt + rm -f plugins/infowidget/GeoIP.c + rm -f plugins/infowidget/GeoIP.h + +.PHONY: prune-tarball --- ktorrent-3.1~rc1+dfsg.1.orig/debian/changelog +++ ktorrent-3.1~rc1+dfsg.1/debian/changelog @@ -0,0 +1,745 @@ +ktorrent (3.1~rc1+dfsg.1-1ubuntu2) intrepid; urgency=low + + * Suggest -dbg package, not recommend. Recommends are installed + on the CD by default now + + -- Jonathan Riddell Thu, 17 Jul 2008 15:10:19 +0100 + +ktorrent (3.1~rc1+dfsg.1-1ubuntu1) intrepid; urgency=low + + * New upstream development release + - Dropped 01_support_external_libbtcore.diffm, + 97_fix_target_link_libraries.diff, + 99_libbtcore_scramble_soname.diff + + -- Richard Birnie Tue, 03 Jun 2008 20:32:46 +0100 + +ktorrent (3.1~beta2+dfsg.1-1) experimental; urgency=low + + * New upstream development release. + * Embed libbtcore back to ktorrent package. I'm tired of continuous soname + bumping which results in ktorrent and/or libbtcore sitting in NEW on + almost each new upstream release. libbtcore will be split of again for + final 3.1 release. + - Add 99_libbtcore_scramble_soname.diff patch to scamble libbtcore soname. + libbtcore shipped in this package should be considered private. + - Do not install libbtcore development files. + - Remove build-dependency on libbtcore4-dev and libbtcore-dbg from + ktorrent-dbg recommends. + - Add libbtcore build-dependences: libgmp3-dev and libqca2-dev. + * Update install files (due to soname bumps mainly) + + -- Modestas Vainius Thu, 22 May 2008 03:31:32 +0300 + +ktorrent (3.1~beta1+dfsg.1-1) experimental; urgency=low + + [ Modestas Vainius ] + * New upstream development release: + - Highlights: + * A new media player plugin. + * Fixes a crash with Qt 4.4 on close. + * More bug fixes. + - libbtcore and cmake (BTCore specific) have been moved from the + upstream tarball to the source package of their own (libbtcore). + * Remove libbtcore specific build depends. + * Build depend on libbtcore4-dev. Add 01 patch to enable building against + external BTCore library. + * Improve ktorrent description a bit to bring it more up to date with + current features in 3.1~beta1. + * Build-depend on kdelibs5-dev (>= 4:4.0.72). + * Build-depend on pkg-config and libstreamanalyzer-dev. + * Add new files to ktorrent.install: + - /usr/lib/kde4/ktmediaplayerplugin.so + - /usr/share/kde4/services/ktmediaplayerplugin.desktop + * ktcore soname was bumped. Update ktorrent.install + * Add Vcs fields. + * Update debian/copyright. + + -- Debian KDE Extras Team Sun, 04 May 2008 01:11:21 +0300 + +ktorrent (3.1~~svn793490.dfsg.1-1) experimental; urgency=low + + [ Modestas Vainius ] + * New upstream development snapshot (r793490): + - The original tarball has never been released upstream. It's a snapshot + of KDE subversion repository /trunk/extragear/network/ktorrent with DFSG + non-free files removed. + - The latest included svn revision is r793490 commited by guisson + on 2008-04-04 10:45:34 +0300 + - The latest translations as of Fri, 04 Apr 2008 19:30:46 +0300 are + included in the original tarball. + * There are a few missing symbols in libbtcore3. Ignore this fact for now as + there are no rdepends and it's a development snapshot anyway. + * As always, add ktorrent-dbg to ktorrent Recommends as it's development + snapshot. + * Adopt debian/rules to debian/cdbs/kde.mk changes: + - Now I need to reset DEB_DH_INSTALL_SOURCEDIR instead of + DEB_DH_INSTALL_ARGS to get rid of --sourcedir=debian/tmp. + + -- Debian KDE Extras Team Fri, 04 Apr 2008 19:55:17 +0300 + +ktorrent (3.0.0.dfsg.1-1) experimental; urgency=low + + [ Modestas Vainius ] + * New upstream stable release (3.0) for KDE4: + - IPv6 support + - SOCKSv4 and v5 support + - The network interface to use, can now be selected + - Alternative flat list mode to display the files of a torrent + - Reorganization of the config dialog + - Individual files of a torrent can now be moved + - New queuemanager gui + * Remove ktorrent-dbg from ktorrent Recommends. Ktorrent 3 is stable now + (and I can confirm that from my experience). + * Drop kdebase-runtime-data-common and kdebase-data from ktorrent + Recommends, because actually kdebase-runtime-data-common is ktorrent + dependency via kdebase-runtime-data. As a result, it makes no sence to + recommend any alternatives too. + * Remove RSS plugin from ktorrent description. It is not available in this + release yet. + * List more features in ktorrent description. + * Resync patches: + - 01_system_geoip_and_flags.diff - removed, merged upstream. + - 02_kclosestnodessearch_cleanup.diff - removed, useless. + - 03_trunk_pull_r769910.diff - removed, it was taken from upstream. + - 04_pastedialog_support_remote_urls.diff - removed, merged upstream. + - 05_infowidget_localizednumber.diff - removed, merged upstream. + * Rename libbtcore2 to libbtcore3. Library changed soname though there was + no real need. Anyway, I notified upstream but I'm doing the change this + time. Modified files: + - debian/rules, debian/control + - debian/libbtcore2.symbols.amd64 -> debian/libbtcore3.symbols.amd64 + - debian/libbtcore2.install -> debian/libbtcore3.install + * Internal libktcore library changed soname too. Adjust + debian/ktorrent.install + + -- Debian KDE Extras Team Sun, 17 Feb 2008 20:53:06 +0200 + +ktorrent (3.0~rc1.dfsg.1-1) experimental; urgency=low + + [ Modestas Vainius ] + * New upstream development release for KDE4 (3.0 rc1) + * Major part of packaging was done from scratch in comparision with + 2.2.4.dfsg.1-1 therefore some changes might have been left undocumented + in this changelog. + * Remove all GeoIP stuff from ktorrent tarball including LGPL library + source code. Debian uses libgeoip1 anyway. + * Switching to CDBS and debhelper v6. Build-Depend on cdbs (>= 0.4.51) + to get non-empty -dbg package with compat=6. + * Update Standards-Version to 3.7.3.0 + * Now ktorrent-dbg recommends kdelibs5-dbg due to obvious reasons. Also add + ktorrent-dbg to ktorrent Recommends because this is upstream development + release. + * Drop Homepage stanza from ktorrent description, add Homepage field to + debian/control source section instead. + * New binary packages (libbtcore2 and libbtcore-dev) for btcore public + library. + * Add symbols file for libbtcore2 on amd64. Unfortunately, different + internal type of __SIZE_TYPE__ on at least amd64 and i386 (which as a + result affect C++ mangling of one symbol) and differing vtable offsets + (C++ specific) prevent me from making this symbols file arch any. + * Add kdebase-runtime-data-common as an alternative for kdebase-data in + ktorrent Recommends. They both ship flags used by ktorrent infowidget + plugin. + * Remove all patches from ktorrent 2.2.x. Add new patches: + - 01_system_geoip_and_flags.diff - add support for "system GeoIP" and + ability to skip installation of builtin country flags to the build + system. + - 02_kclosestnodessearch_cleanup.dif - cleanup unused variable. Endless + loop is fixed in 3.0rc1. + - 03_trunk_pull_r769910.diff - pull trunk up to revision 769910. Version + bump related changes skipped. This patch should fix socket leak which + made ktorrent almost unusable for more than 20 minutes. + - 04_pastedialog_support_remote_urls.diff - add back support for remote + urls in "Paste Torrent URL" dialog. The patch fixes incorrect KUrl API + usage. + - 05_infowidget_localizednumber.diff - show localized number instead of + "1e+02 %" in infowidget "Files" view "% Complete" column. + * Add "DM-Upload-Allowed: yes" to debian/control source section. + * Tweak overrides.lintian by adding "libktcore2 libktupnp1" to + package-name-doesnt-match-sonames. These libraries are supposed to be used + only by KTorrent and its utilities. + * A few corrections to ktorrent.1 manual page, also remove ktshell.1 man + page, because ktshell has not been ported yet. + * Add a man page for the new 'ktupnptest' binary. + * Bug fixes: + - "Refuses to add downloads to existing group" - seems to work in this + release (Closes: #460470). + - "wrong translate" - the string in question is translated differently in + this release. If I'm not wrong, the translation is correct + (Closes: #459241). + - "chunks window download speed column is misleading" - ktorrent 3.0 + groups all chunks from the same peer into single listitem for which + only single total speed associated with that peer is shown. Therefore, + there is no confusion anymore (Closes: #372162). + * Update debian/copyright. + + -- Debian KDE Extras Team Thu, 07 Feb 2008 12:45:31 +0200 + +ktorrent (2.2.4.dfsg.1-1) unstable; urgency=medium + + [ Modestas Vainius] + * New upstream release (Closes: #452334): + - Resolves frequent crashes on some systems (esp. SMP) (hence medium + urgency). + - "Set max upload/download rate" via tray icon menu should work correctly + now. + - A few additional web gui features. + * Add a few new patches to make cleverer dpkg-shlibdeps happy (almost): + - 05_cleanup_am_lib_qt.diff - originally a few other libraries like + libpng12 etc. were exported in automake LIB_QT variable. Only a few (if + any) KDE applications use them directly so linking any single binary + against them is unnecessary. KTorrent is not an exception. This patch + reduces LIB_QT to contain just the main Qt library. Previous version of the + variable has been made available under the name LIB_QT_EXT. As a result of + this patch, KTorrent depencences shrank to the bare minumum solving tons + of dpkg-shlibdeps warnings too. + - 06_makefile_am_fixups.diff - various fixes to Makefile.am's all around + the source code with the intention to resolve warnings reported by + dpkg-shlibdeps. The only type of warnings left are those regarding + libm.so.6, which can't be fixed because they come from g++ itself. + + -- Debian KDE Extras Team Thu, 22 Nov 2007 04:34:54 +0200 + +ktorrent (2.2.3.dfsg.1-1) unstable; urgency=low + + * New upstream release + * Add kdebase-kio-plugins to Recommends. Users willing to use IP Blocking + plugin should install it. (Closes: #443624) + + -- Debian KDE Extras Team Wed, 14 Nov 2007 23:49:56 +0200 + +ktorrent (2.2.2.dfsg.1-1) unstable; urgency=low + + [ Modestas Vainius ] + * New upstream bugfix release. + * Change ktorrent.menu section to Applications/Network/File Transfer. + + -- Debian KDE Extras Team Wed, 29 Aug 2007 23:06:30 +0300 + +ktorrent (2.2.1.dfsg.1-1) unstable; urgency=low + + * New upstream release: + - Fixes a few output format issues with ktshell. Thanks to + Avi Rozen for the patches (Closes: #432433, #432655). + - Also fixes the file selection bug and a number of other bugs. + * Corrent README.Debian. The patches mentioned there have been merged + upstream. + * Don't build with --enable-final on arm. + + -- Debian KDE Extras Team Mon, 23 Jul 2007 21:47:47 +0300 + +ktorrent (2.2.0.dfsg.1-1) unstable; urgency=low + + [Modestas Vainius] + * New upstream release. + * Fix override disparity - change ktorrent-dbg priority to extra. + * Drop ktorrent-dbg from ktorrent Recommends. 2.2 is stable now. + * Update patches: + - 10_use_system_geoip.diff - remove, merged upstream. + - 11_flagdb-alternative-source.diff - remove, merged upstream. + - 12_gnu_kfreebsd.diff - remove, merged upstream. + - 13_inst_apps.diff - remove, merged upstream. + - 14_wz_tooltip_CVE-2007-3154.diff - remove, merged upstream. + - 98_buildprep.diff - regenerate (relibtoolize). + + -- Debian KDE Extras Team Wed, 04 Jul 2007 01:46:19 +0300 + +ktorrent (2.2~rc1.dfsg.1-1) experimental; urgency=low + + [Modestas Vainius] + * New upstream development release. + * Update patches: + - 10_use_system_geoip.diff - fix offsets. + - 11_flagdb-alternative-source.diff - fix offsets. + - 98_buildprep.diff - regenerate. + * Add patch 14_wz_tooltip_CVE-2007-3154.diff - fixes CVE-2007-3154. + The patch is based on wz_tooltip.js from eGroupWare 1.4.001 + (Closes: #429209). + * Fix "debian-rules-ignores-make-clean-error" lintian warning. + * Use ${binary:Version} instead of ${Source-Version} for ktorrent-dbg + dependency on ktorrent. + + -- Debian KDE Extras Team Tue, 26 Jun 2007 11:17:02 +0300 + +ktorrent (2.2~beta1.dfsg.1-2) experimental; urgency=low + + [Modestas Vainius] + * Correct invalid character(s) in debian/control. + * Install *.la files for plugins (Closes: #427432). + + -- Debian KDE Extras Team Mon, 04 Jun 2007 04:54:27 +0300 + +ktorrent (2.2~beta1.dfsg.1-1) experimental; urgency=low + + [Modestas Vainius] + * New upstream development release (2.2 beta1). + * Prune upstream tarball from non-free parts, remove useless autotools + cache directory and create a new dfsg-free orig tarball. + * Update debian/patches: + 01_libtool_update.diff - regenerate. + 10_use_system_geoip.diff - adapt to upstream changes. + 11_flagdb-alternative-source.diff - adapt to upstream changes. + 98_buildprep.diff - regenerate. + * Add a new binary package, ktorrent-dbg, to hold debugging symbols. + Make appropriate changes to debian/control and debian/rules. + * Since this release is a development beta release, crashes are expected. + Therefore add ktorrent-dbg to ktorrent Recommends till final release. + * Add php5-cli to ktorrent Suggests. It is needed for KTorrent WebInterface + plugin. + * Update description of the ktorrent binary package. + + -- Debian KDE Extras Team Sun, 03 Jun 2007 22:19:03 +0300 + +ktorrent (2.1.4.dfsg.1-1) unstable; urgency=low + + * ktorrent is now maintained by Debian KDE Extras Team. + + [Modestas Vainius] + * New major upstream release (2.1): (Closes: #400186) + - µTorrent compatible peer exchange + - Zeroconf extension to find peers on the local network + - Switched the GUI to an IDEAl style GUI (like KDevelop) + - WebGUI plugin + - RSS plugin + - MAJOR improvements in down and upload performance + - Grouping feature to put torrents into groups + - Improved search plugin, which now allows multiple searches + - Allows setting priority for files in multifile torrents (Closes: #367120) + - Download speed is shown individually for each chunk in the chunk + window (Closes: #372162) + * New bugfix upstream release (2.1.4): (Closes: #420913) + - Fixed crash in parsing of DHT messages (Closes: #425043) + - Fixed problem with files with .. in their name (Closes: #425948) + - ScanFolder can now handle incomplete torrent files properly + * Prune upstream tarball from non-free parts (GeoIP Country Database and + country flag images). Patches 10 and 11 have been developed to make + impact of this as minimal as possible on the users. + * Remove LDFLAGS patch. It has been integrated upstream. + * debian/rules: upstream no longer ships .desktop files in applnk. + * Pass --enable-largefile to configure to enable large file (over 2GB) + support on 32bit architectures. There are known problems with >4GB files + on all architectures though (Closes: #402185). + * Use quilt as a patch management system. + * New patches: + - 10_use-system-geoip.diff - adds support for the --enable-system-geoip + configure parameter. It makes ktorrent build against system-wide GeoIP + library (libgeoip1) and use libgeoip1 default GeoIP Country database. + - 11_flagdb-alternative-source.diff - adds support for the + --disable-builtin-country-flags configure parameter. It allows to skip + installation of non-free ktorrent builtin country flags. In addition, + the patch adds support for the "flag database" that lets ktorrent get + country flag images from more than one filesystem source transparently. + It also adds additional (and the only for the debian package) source - + flag images shipped with kdebase. + - 12_gnu_kfreebsd.diff - fix FTBFS on GNU/kFreeBSD. Thanks to Petr Salinger + (Closes: #401753). + - Usual build system patches for relibtoolization. + * Add libgeoip-dev to Build-Depends. Build ktorrent with system GeoIP. + * Add kdebase-data to Recommends. It is needed as a source of the country + flag images for the Peer View. If not installed, country flags won't be + shown. + * Add debian/ktorrent.install. Prepare for multiple binary packages. + * Add Ktorrent to Debian menu (Closes: #392893). + * Now 'clean' target fully cleans the source tree after build + (Closes: #424476). + * Fully support DEB_BUILD_OPTIONS. + * Add manual pages for ktorrent and ktshell. + * Update README.Debian with new information about GeoIP and country flag + images and add NEWS about accuracy of the default GeoIP Country database. + + -- Debian KDE Extras Team Sun, 03 Jun 2007 16:03:17 +0300 + +ktorrent (2.0.3+dfsg1-2.2) unstable; urgency=low + + * Non-maintainer upload. + * Redo the previous patch without kilt, integrating it into the buildsystem + directly (yuck !). + + -- Pierre Habouzit Thu, 22 Mar 2007 16:41:39 +0100 + +ktorrent (2.0.3+dfsg1-2.1) unstable; urgency=high + + * Non-maintainer upload. + * Fix security issue (Closes: 414832, 414830): + + drop patch from #414832 in debian/patches. + + use quilt as a patches management system to deal with it. + + urgency set to high due to RC bugfix. + + -- Pierre Habouzit Thu, 22 Mar 2007 11:11:20 +0100 + +ktorrent (2.0.3+dfsg1-2) unstable; urgency=low + + * Resolve FTBFS - remove nonportable "-z now" from LDFLAGS (Closes: 395897) + + -- Joel Johnson Wed, 01 Nov 2006 14:06:36 -0800 + +ktorrent (2.0.3+dfsg1-1) unstable; urgency=medium + + * new upstream release (Closes: 392687) + + speed issues fix + * urgency=medium in order to get this into etch in time + + -- Joel Johnson Fri, 20 Oct 2006 11:13:24 -0700 + +ktorrent (2.0.2+dfsg1-1) unstable; urgency=medium + + * New upstream release (skipping 2.0, 2.0.1) (Closes: 378947, 384131) + * built with GeoIP support enabled, but removed the database file + and country flags due to licensing restrictions (see README.Debian) + * urgency=medium in order to get this into etch in time + + -- Joel Johnson Fri, 06 Oct 2006 09:15:07 -0700 + +ktorrent (2.2.5-0ubuntu1) hardy; urgency=low + + * New upstream release + - Numerous bugfixes, notably to DHT and webui + * Added a watchfile to track 2.x.x series + + -- John Dong Sun, 27 Jan 2008 17:26:13 -0500 + +ktorrent (2.2.4-0ubuntu1) hardy; urgency=low + + * New upstream release + * Drop kubuntu_04_revert_threaded_filelist, included upstream + + -- John Dong Wed, 21 Nov 2007 14:28:35 -0500 + +ktorrent (2.2.3-0ubuntu3) hardy; urgency=low + + * Adopt better approach from upstream for filelist (LP: #163426) + - kubuntu_04_revert_threaded_filelist.patch: Switch to fix + in r738262 using more responsive QTimers approach + + -- John Dong Sun, 18 Nov 2007 12:19:26 -0500 + +ktorrent (2.2.3-0ubuntu2) hardy; urgency=low + + * kubuntu_04_revert_threaded_filelist.patch: Revert svn revno 728567 + due to crashes. (LP: #163426) + + -- John Dong Sat, 17 Nov 2007 16:46:47 -0500 + +ktorrent (2.2.3-0ubuntu1) hardy; urgency=low + + * New upstream release + * kubuntu_03_remove_nasty_search_engines.patch: rebase against 2.2.3 + * Add kdebase-kio-plugins to Recommends, needed for IP Filters plugin + (LP: #150062) + + -- John Dong Fri, 16 Nov 2007 02:11:41 -0500 + +ktorrent (2.2.2-0ubuntu2) hardy; urgency=low + + * Reuploaded as the buildd seems to be fixed + + -- Anthony Mercatante Mon, 12 Nov 2007 14:16:59 +0100 + +ktorrent (2.2.2-0ubuntu1) hardy; urgency=low + + * New upstream release + * Removed upstream_01_fix_exit_crash.patch, merged upstream + + -- Anthony Mercatante Sat, 10 Nov 2007 11:22:05 +0100 + +ktorrent (2.2.1-0ubuntu3) gutsy; urgency=low + + * Fix debdiff spacing that I screwed up. + - Fixes LP: #130300 + + -- John Dong Sat, 11 Aug 2007 14:59:17 -0400 + +ktorrent (2.2.1-0ubuntu2) gutsy; urgency=low + + * Backport SVN rev 692284 + - Fixes LP: #130300 + + -- John Dong Fri, 10 Aug 2007 11:27:51 -0400 + +ktorrent (2.2.1-0ubuntu1) gutsy; urgency=low + + * New upstream release + - Fixes LP: #128341 + + -- Ryan Kavanagh Wed, 25 Jul 2007 15:37:41 -0400 + +ktorrent (2.2-0ubuntu2) gutsy; urgency=low + + * Fixed homepage in debian/control. Fixes LP: #113972 + + -- Anthony Mercatante Wed, 18 Jul 2007 23:29:16 +0200 + +ktorrent (2.2-0ubuntu1) gutsy; urgency=low + + * New upstream release + + -- Anthony Mercatante Wed, 04 Jul 2007 14:43:57 +0200 + +ktorrent (2.2~rc1-0ubuntu1) gutsy; urgency=low + + * New upstream release + + -- jdong Wed, 13 Jun 2007 23:05:16 -0400 + +ktorrent (2.2~beta1-0ubuntu1) gutsy; urgency=low + + * New upstream release + + -- John Dong Sat, 26 May 2007 15:22:14 -0400 + +ktorrent (2.1.4-0ubuntu1) gutsy; urgency=low + + * New upstream release + + -- John Dong Tue, 24 Apr 2007 14:47:01 -0400 + +ktorrent (2.1.3-0ubuntu1) feisty; urgency=low + + * New upstream release + * fixes crasher in 2.1.2 series + + -- John Dong Sat, 7 Apr 2007 22:04:38 -0400 + +ktorrent (2.1.2-0ubuntu1) feisty; urgency=low + + * New Upstream Release + + -- Richard A. Johnson Fri, 9 Mar 2007 13:09:09 -0600 + +ktorrent (2.1.1-0ubuntu1) feisty; urgency=low + + * New Upstream Release + + -- Richard A. Johnson Mon, 5 Mar 2007 13:05:13 -0600 + +ktorrent (2.1-0ubuntu1) feisty; urgency=low + + * New upstream release + + -- Anthony Mercatante Mon, 5 Feb 2007 20:52:18 +0100 + +ktorrent (2.1~rc1-0ubuntu3) feisty; urgency=low + + * debian/patches/kubuntu_03_remove_nasty_search_engines.patch: + - isohunt is just back online. + + -- Anthony Mercatante Mon, 22 Jan 2007 16:51:45 +0100 + +ktorrent (2.1~rc1-0ubuntu1) feisty; urgency=low + + * New upstream release + * uTorrent-compatible Peer Exchange + * Zeroconf LAN peer finder + * Misc bugfixes + * dropped debian/patches/kubuntu_01_autoconf2.60.patch, included upstream + * dropped debian/patches/kubuntu_02_kdepot.patch, no longer needed + + -- John Dong Wed, 3 Jan 2007 15:21:56 -0500 + +ktorrent (2.1~beta1-0ubuntu2) feisty; urgency=low + + * Corrected builddeps (docbook2x instead of docbook) + + -- Anthony Mercatante Mon, 18 Dec 2006 16:09:09 +0100 + +ktorrent (2.1~beta1-0ubuntu1) feisty; urgency=low + + * New upstream release + * Cleaned packaging, switching to cdbs + * Removed obsolete kubuntu_03_powerpc_compile_fix.diff + + -- Anthony Mercatante Tue, 05 Dec 2006 18:14:05 +0100 + +ktorrent (2.0.3+dfsg1-0ubuntu2) feisty; urgency=low + + * Add kubuntu_03_remove_nasty_search_engines.diff to remove + nasty search engines + + -- Anthony Mercatante Tue, 11 Nov 2006 15:56:19 -0800 + +ktorrent (2.0.3+dfsg1-0ubuntu1) edgy; urgency=low + + * built with GeoIP support enabled, but removed the database file + and country flags due to licensing restrictions (see README.Debian) + + -- Jonathan Riddell Fri, 20 Oct 2006 12:56:19 +0100 + +ktorrent (2.0.3-0ubuntu4) edgy; urgency=low + + * Add kubuntu_00_autoconf2.60.diff to allow relibtoolise with autoconf 2.6 + * Add kubuntu_02_powerpc_compile_fix.diff to fix fail to build on powerpc, + Closes https://launchpad.net/malone/66169 + + -- Jonathan Riddell Sun, 15 Oct 2006 22:41:14 +0100 + +ktorrent (2.0.3-0ubuntu3) edgy; urgency=low + + * Removed kubuntu_04_ktshell_bash.patch, included + upstream + + -- Anthony Mercatante Thu, 11 Oct 2006 16:30:01 +0200 + +ktorrent (2.0.3-0ubuntu2) edgy; urgency=low + + * Removed kubuntu_02_r586445_choke.patch and + kubuntu_03_r588047_faster_download.patch adopted upstream + + -- Brandon Holtsclaw Tue, 10 Oct 2006 17:46:01 -0500 + +ktorrent (2.0.3-0ubuntu1) edgy; urgency=low + + * New Upstream Version ( uvfe approved by mdz ) + * Closes Malone: #65066 + + -- Brandon Holtsclaw Tue, 10 Oct 2006 17:46:01 -0500 + +ktorrent (2.0.2-0ubuntu3) edgy; urgency=low + + * Added kubuntu_04_ktshell_bash.patch, closes Malone + #61324 + + -- Anthony Mercatante Mon, 02 Oct 2006 21:01:07 +0200 + +ktorrent (2.0.2-0ubuntu2) edgy; urgency=low + + * Backport SVN revisions 586445 and 588047, fixes download speed oscillation + and instances where all peers are choked/snubbed. + + -- John Dong Wed, 27 Sep 2006 02:07:07 -0400 + +ktorrent (2.0.2-0ubuntu1) edgy; urgency=low + + * New Upstream Release + * UVFe approved by Colin Watson ( https://launchpad.net/bugs/58139 ) + + -- Brandon Holtsclaw Mon, 18 Sep 2006 13:28:37 -0500 + +ktorrent (2.0.1-0ubuntu1) edgy; urgency=low + + * New Upstream Version approved by mdz at https://launchpad.net/bugs/57219 + + -- Brandon Holtsclaw Tue, 22 Aug 2006 09:51:44 -0500 + +ktorrent (2.0-0ubuntu2) edgy; urgency=low + + * Fixed install issue by removing debian/ktorrent/usr/share/applnk and + debian/ktorrent/usr/share/mimelnk in debian/rules already provided by kdelibs-data + * Closes Malone Bug #55969 + + -- Brandon Holtsclaw Wed, 09 Aug 2006 09:51:44 -0500 + +ktorrent (2.0-0ubuntu1) edgy; urgency=low + + * New Upstream Version + * Updated admin/ directory so .pot would generate correctly + * commented debian/patches/kubuntu_01_kdepot.patch from debian/rules , not needed + * added libgmp3-dev to build depends as required to build 2.0 + + -- Brandon Holtsclaw Wed, 09 Aug 2006 09:51:44 -0500 + +ktorrent (1.2-1ubuntu3) edgy; urgency=low + + * debian/rules: moved the fix from clean to install rule, to fix the ftbfs, + really + + -- Stephan Hermann Thu, 13 Jul 2006 09:51:44 +0200 + +ktorrent (1.2-1ubuntu2) edgy; urgency=low + + * debian/rules: Removed translations/nb/messages/ktorrent.po to be friendly + to our buildds + + -- Stephan Hermann Wed, 12 Jul 2006 18:37:00 +0200 + +ktorrent (1.2-1ubuntu1) edgy; urgency=low + + * Merge from debian unstable. + + -- Stephan Hermann Thu, 6 Jul 2006 13:53:48 +0200 + +ktorrent (1.2-1) unstable; urgency=low + + * Acknowledge NMU (Closes: 349983) + Actually removed debian libtoolization temporarily due to + package inclusion of a library in upstream. Soon to be reapplied + with proper support for avoiding redundant dependencies. + * New upstream release (Closes: 348605) + + Doesn't freeze/lock anymore (Closes: 340766) + + Properly builds with G++ 4.1 (Closes: 357096) + * add shlib support and post{inst,rm} via debhelper for new shared library + * Set --enable-final as configure directive + * Update copyright file to reflect additional files and changed dir layout + * patch upstream Makefile.in to include translations directory + * Update upstream homepage URL in control + + -- Joel Johnson Tue, 6 Jun 2006 22:07:58 -0700 + +ktorrent (1.2-0ubuntu5) dapper; urgency=low + + * added debian/patches/kubuntu_01_kdepot.patch + * debian/rules: added generation of po/ktorrent.pot + + -- Bastian Holst Tue, 23 May 2006 17:37:34 +0200 + +ktorrent (1.2-0ubuntu4) dapper; urgency=low + + * debian/rules: Remove ./translations/nb/messages/ktorrent.po since it's + empty (and thus invalid). + + -- Martin Pitt Tue, 23 May 2006 12:25:14 +0200 + +ktorrent (1.2-0ubuntu3) dapper; urgency=low + + * Added dh_iconcache + + -- Brandon Holtsclaw Tue, 23 May 2006 17:05:49 +0100 + +ktorrent (1.2-0ubuntu2) dapper; urgency=low + + * Make debian/rules relibtoolise, installs .po translation files + closes Malone #45791 + + -- Jonathan Riddell Mon, 22 May 2006 17:05:49 +0100 + +ktorrent (1.2-0ubuntu1) dapper; urgency=low + + * New Upstream Version + * Sponsored upload for Sarah Hobbs + + -- Jonathan Riddell Fri, 10 Feb 2006 12:02:16 +1100 + +ktorrent (1.1-2.1) unstable; urgency=low + + * Non-maintainer upload by sponsor due to no maintainer reaction. + * Relibtoolize _after_ setting AM_MAINTAINER_MODE (Closes: #349983) + + -- Florian Ernst Tue, 7 Feb 2006 13:15:30 +0100 + +ktorrent (1.1-2) unstable; urgency=low + + * Limit build dependencies to what we directly depend on + and set AM_MAINTAINER_MODE in configure.in.in + * Change section from net to kde + * Remove sponsor as Uploader as requested + + -- Joel Johnson Thu, 1 Dec 2005 13:11:22 -0800 + +ktorrent (1.1-1build1) dapper; urgency=low + + * Rebulid for libstdc++ transition + + -- Jonathan Riddell Sat, 17 Dec 2005 15:20:35 +0000 + +ktorrent (1.1-1) unstable; urgency=low + + * Initial Debian Upload (Closes: #313659) + * Update copyright file with new FSF address + * Incorporate changes to a previous package version + - disable rpath in ./configure + - add lintian override (missing manpage) + Thanks to Jonathan Riddell + * Add linda override (missing manpage) + + -- Joel Johnson Thu, 24 Oct 2005 08:47:09 -0700 + --- ktorrent-3.1~rc1+dfsg.1.orig/debian/not-installed +++ ktorrent-3.1~rc1+dfsg.1/debian/not-installed @@ -0,0 +1,3 @@ +# Development stuff +usr/lib/libktcore.so +usr/lib/libktupnp.so --- ktorrent-3.1~rc1+dfsg.1.orig/debian/copyright.manual +++ ktorrent-3.1~rc1+dfsg.1/debian/copyright.manual @@ -0,0 +1,34 @@ +This package was debianized by Joel Johnson on +Tue, 21 Jun 2005 11:19:46 -0700. +This package has been maintained by Debian KDE Extras Team +since Thu, 10 May 2007 13:11:35 +0300 + +The original source was downloaded from +http://ktorrent.org/index.php?page=downloads + +Upstream Authors: + Joris Guisson + Ivan Vasic + +License for all components: + * GNU General Public License version 2 or later (GPL-2+) +-- + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. +-- + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in `/usr/share/common-licenses/GPL-2' + +Debian packaging (debian/*) is under: + +Copyright: © 2005-2007 Joel Johnson + © 2007-2008 Modestas Vainius +License: GPL-2+ + --- ktorrent-3.1~rc1+dfsg.1.orig/debian/ktorrent.1 +++ ktorrent-3.1~rc1+dfsg.1/debian/ktorrent.1 @@ -0,0 +1,52 @@ +.TH ktorrent 1 "FEBRUARY 2008" +.SH NAME +ktorrent \- a BitTorrent program for KDE. +.SH SYNOPSIS +\fBktorrent\fP [Qt-options] [KDE-options] [Options] [URL] +.SH DESCRIPTION +\fBKTorrent\fP is a BitTorrent program for KDE. You can use it to +download files from BitTorent network. Its features include speed capping +(both down and up), integrated searching, UDP tracker support, UPnP support, +IP blocking plugin, protocol encryption, file prioritization and much more. + +If you specify URL, KTorrent will load the torrent from the specified location and +start downloading it. + +.SS Options +.TP +\fB\-\-silent\fP +Silently open torrent given on URL + +.SS Generic options +.TP +\fB\-\-help\fP +Show help about options +.TP +\fB\-\-help-qt\fP +Show Qt specific options +.TP +\fB\-\-help-kde\fP +Show KDE specific options +.TP +\fB\-\-help-all\fP +Show all options +.TP +\fB\-\-author\fP +Show author information +.TP +\fB\-v, \-\-version\fP +Show version information +.TP +\fB\-\-license\fP +Show license information +.TP +\fB\-\-\fP +End of options + +.SH AUTHORS +KTorrent was written by: + Joris Guisson + Ivan Vasic + Alan Jones + Diego R. Brogna + Krzysztof Kundzicz --- ktorrent-3.1~rc1+dfsg.1.orig/debian/README.Debian +++ ktorrent-3.1~rc1+dfsg.1/debian/README.Debian @@ -0,0 +1,28 @@ +Due to licensing restrictions, the source and binary packages of ktorrent do +not include a GeoIP database. The upstream source has been patched to use +system-wide GeoIP library (available in the libgeoip1 package). That package +provides a free GeoIP Country database that is a bit outdated and not very +accurate but it may still be sufficient for most KTorrent users, because +determination of the peer geographic location is only additional and +non-crucial KTorrent functionality, implemented for information purposes. + +However, if you wish to get more accurate information about peer geographic +location, there is a free to download (but undistributable by Debian) "GeoLite +Country" database and even more accurate paid "GeoIP Country" database +available at the following URL: + +http://www.maxmind.com/app/geoip_country + +Please consult libgeop1 documentation how to upgrade GeoIP database on your +system once you obtain a proper database file (geoip.dat). + +The KTorrent builtin country flag images are also not distributed with this +package due to obscure license. If you would like to see country flags next +to the country names, please install kdebase-data package (that is +recommended by the ktorrent binary package). + +The commands used to modify upstream source tarball can be found at debian/rules +"prune-tarball" target. + + -- Modestas Vainius Mon, 23 Jul 2007 21:25:17 +0300 + --- ktorrent-3.1~rc1+dfsg.1.orig/debian/cdbs/versions.mk +++ ktorrent-3.1~rc1+dfsg.1/debian/cdbs/versions.mk @@ -0,0 +1,14 @@ + +CDBS_MIN_VER:=0.4.52 +QUILT_MIN_VER:=0.40 +CMAKE_MIN_VER:=2.4.8 + + +KDELIBS_VERSION:=$(shell dpkg -l kdelibs5 | grep kdelibs5 | awk '{print $$3}') +KDELIBS_SOURCE_VERSION:=$(shell echo $(KDELIBS_VERSION) | sed 's/+b.*//') +KDELIBS_UPSTREAM_VERSION:=$(shell echo $(KDELIBS_VERSION) | sed 's/-.*//') + +KDEPIMLIBS_VERSION:=$(shell dpkg -l kdepimlibs5 | grep kdepimlibs5 | awk '{print $$3}') +KDEPIMLIBS_SOURCE_VERSION:=$(shell echo $(KDEPIMLIBS_VERSION) | sed 's/+b.*//') +KDEPIMLIBS_UPSTREAM_VERSION:=$(shell echo $(KDEPIMLIBS_VERSION) | sed 's/-.*//') + --- ktorrent-3.1~rc1+dfsg.1.orig/debian/cdbs/control.mk +++ ktorrent-3.1~rc1+dfsg.1/debian/cdbs/control.mk @@ -0,0 +1,19 @@ +include debian/cdbs/versions.mk +debian/control: debian/control.tmp + mv debian/control.tmp debian/control + +debian/control.tmp: update-versions + +update-versions: debian/control.in + sed "s/CDBS_MIN_VER/$(CDBS_MIN_VER)/;\ + s/QUILT_MIN_VER/$(QUILT_MIN_VER)/;\ + s/CMAKE_MIN_VER/$(CMAKE_MIN_VER)/;\ + s/KDELIBS_VERSION/$(KDELIBS_VERSION)/;\ + s/KDELIBS_UPSTREAM_VERSION/$(KDELIBS_UPSTREAM_VERSION)/;\ + s/KDELIBS_SOURCE_VERSION/$(KDELIBS_SOURCE_VERSION)/;\ + s/KDEPIMLIBS_VERSION/$(KDEPIMLIBS_VERSION)/;\ + s/KDEPIMLIBS_SOURCE_VERSION/$(KDEPIMLIBS_SOURCE_VERSION)/;\ + s/KDEPIMLIBS_UPSTREAM_VERSION/$(KDEPIMLIBS_UPSTREAM_VERSION)/;\ + " debian/control.in > debian/control.tmp + +.PHONY: update-versions --- ktorrent-3.1~rc1+dfsg.1.orig/debian/cdbs/kde.mk +++ ktorrent-3.1~rc1+dfsg.1/debian/cdbs/kde.mk @@ -0,0 +1,108 @@ +include /usr/share/cdbs/1/class/cmake.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk +include /usr/share/cdbs/1/rules/utils.mk + +DEB_CONFIG_INSTALL_DIR ?= /etc/kde4 + +DEB_COMPRESS_EXCLUDE = .dcl .docbook -license .tag .sty .el +DEB_CMAKE_EXTRA_FLAGS += \ + -DCMAKE_BUILD_TYPE=Debian \ + $(KDE4-ENABLE-FINAL) \ + -DKDE4_BUILD_TESTS=false \ + -DKDE_DISTRIBUTION_TEXT="Debian packages" \ + -DCMAKE_SKIP_RPATH=true \ + -DKDE4_USE_ALWAYS_FULL_RPATH=false \ + -DCONFIG_INSTALL_DIR=$(DEB_CONFIG_INSTALL_DIR) \ + -DDATA_INSTALL_DIR=/usr/share/kde4/apps \ + -DHTML_INSTALL_DIR=/usr/share/doc/kde4/HTML \ + -DKCFG_INSTALL_DIR=/usr/share/kde4/config.kcfg \ + -DLIB_INSTALL_DIR=/usr/lib \ + -DSYSCONF_INSTALL_DIR=/etc + +# Set the one below to something else than 'yes' to disable linking +# with --as-needed (on by default) +DEB_KDE_LINK_WITH_AS_NEEDED ?= yes +ifneq (,$(findstring yes, $(DEB_KDE_LINK_WITH_AS_NEEDED))) + ifeq (,$(findstring no-as-needed, $(DEB_BUILD_OPTIONS))) + DEB_KDE_LINK_WITH_AS_NEEDED := yes + DEB_CMAKE_EXTRA_FLAGS += \ + -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--no-undefined -Wl,--as-needed" \ + -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--no-undefined -Wl,--as-needed" \ + -DCMAKE_EXE_LINKER_FLAGS="-Wl,--no-undefined -Wl,--as-needed" + else + DEB_KDE_LINK_WITH_AS_NEEDED := no + endif +else + DEB_KDE_LINK_WITH_AS_NEEDED := no +endif + +#DEB_CMAKE_PREFIX = /usr/lib/kde4 +DEB_DH_INSTALL_SOURCEDIR = debian/tmp +#DEB_DH_SHLIBDEPS_ARGS = -l/usr/lib/kde4/lib/ +DEB_KDE_ENABLE_FINAL ?= +#DEB_MAKE_ENVVARS += XDG_CONFIG_DIRS=/etc/xdg XDG_DATA_DIRS=/usr/share +#DEB_STRIP_EXCLUDE = so + +ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + cdbs_treat_me_gently_arches := arm m68k alpha ppc64 armel armeb + ifeq (,$(filter $(DEB_HOST_ARCH_CPU),$(cdbs_treat_me_gently_arches))) + KDE4-ENABLE-FINAL = $(if $(DEB_KDE_ENABLE_FINAL),-DKDE4_ENABLE_FINAL=true,) + else + KDE4-ENABLE-FINAL = + endif +endif + +common-build-arch:: debian/stamp-man-pages +debian/stamp-man-pages: + if ! test -d debian/man/out; then mkdir -p debian/man/out; fi + for f in $$(find debian/man -name '*.sgml'); do \ + docbook-to-man $$f > debian/man/out/`basename $$f .sgml`.1; \ + done + for f in $$(find debian/man -name '*.man'); do \ + soelim -I debian/man $$f \ + > debian/man/out/`basename $$f .man`.`head -n1 $$f | awk '{print $$NF}'`; \ + done + touch debian/stamp-man-pages + +clean:: +ifndef THIS_SHOULD_GO_TO_UNSTABLE + #guard against experimental uploads to unstable + dpkg-parsechangelog | grep ^Distribution | grep -q 'experimental\|UNRELEASED' +endif + rm -rf debian/man/out + -rmdir debian/man + rm -f debian/stamp-man-pages + rm -f CMakeCache.txt + + +$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%: + if test -x /usr/bin/dh_desktop; then dh_desktop -p$(cdbs_curpkg) $(DEB_DH_DESKTOP_ARGS); fi + if test -e debian/$(cdbs_curpkg).lintian; then \ + install -p -D -m644 debian/$(cdbs_curpkg).lintian \ + debian/$(cdbs_curpkg)/usr/share/lintian/overrides/$(cdbs_curpkg); \ + fi + if test -e debian/$(cdbs_curpkg).presubj; then \ + install -p -D -m644 debian/$(cdbs_curpkg).presubj \ + debian/$(cdbs_curpkg)/usr/share/bug/$(cdbs_curpkg)/presubj; \ + fi + +binary-install/$(DEB_SOURCE_PACKAGE)-doc-html:: + set -e; \ + for doc in `cd $(DEB_DESTDIR)/usr/share/doc/kde/HTML/en; find . -name index.docbook`; do \ + pkg=$${doc%/index.docbook}; pkg=$${pkg#./}; \ + echo Building $$pkg HTML docs...; \ + mkdir -p $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE)-doc-html/usr/share/doc/kde/HTML/en/$$pkg; \ + cd $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE)-doc-html/usr/share/doc/kde/HTML/en/$$pkg; \ + meinproc4 $(DEB_DESTDIR)/usr/share/doc/kde/HTML/en/$$pkg/index.docbook; \ + done + for pkg in $(DOC_HTML_PRUNE) ; do \ + rm -rf debian/$(DEB_SOURCE_PACKAGE)-doc-html/usr/share/doc/kde/HTML/en/$$pkg; \ + done + + +# Process "sameVersionDep:" substvars +DH_SAMEVERSIONDEPS=debian/cdbs/dh_sameversiondeps +common-binary-predeb-arch common-binary-predeb-indep:: + @if [ ! -x "$(DH_SAMEVERSIONDEPS)" ]; then chmod a+x "$(DH_SAMEVERSIONDEPS)"; fi + $(DH_SAMEVERSIONDEPS) --- ktorrent-3.1~rc1+dfsg.1.orig/debian/cdbs/dh_sameversiondeps +++ ktorrent-3.1~rc1+dfsg.1/debian/cdbs/dh_sameversiondeps @@ -0,0 +1,140 @@ +#!/usr/bin/perl -w + +use strict; +use Dpkg::Control; +use Dpkg::Substvars; +use Dpkg::ErrorHandling; +use File::Copy; + +use Debian::Debhelper::Dh_Lib; + +my $namespace = "sameVersionDep"; +my @fields = qw(Depends Recommends Suggests Enhances Pre-Depends); +my $re_fields = join("|", @fields); +my $re_pkgname = qr/[a-z0-9][a-z0-9+.-]*/; +my $re_oursubstvar = qr/\$\{($namespace:($re_pkgname):($re_pkgname)-($re_fields)-($re_pkgname))\}/; + +# Global substvars file +my $g_substvars = new Dpkg::Substvars; +$g_substvars->parse("debian/substvars") if (-r "debian/substvars"); + +sub Shlibsvars::new { + my ($cls, $package, $control, $substvars_file) = @_; + my $self = bless ( { + "package" => $package, + "control" => $control, + "file" => $substvars_file, + }, $cls); + $self->{substvars} = new Dpkg::Substvars; + if (-r $self->{file}) { + $self->{substvars}->parse($self->{file}); + } + return $self; +} + +sub Shlibsvars::get_fieldval { + my ($self, $field) = @_; + + my $pkg = $self->{control}->get_pkg_by_name($self->{package}); + return undef if (!defined $pkg || !exists $pkg->{$field}); + + # Turn of warnings for substvars runs + my $save_quiet = $Dpkg::ErrorHandling::quiet_warnings; + $Dpkg::ErrorHandling::quiet_warnings = 1; + + my $val = $pkg->{$field}; + $val = $self->{substvars}->substvars($val); + $val = $g_substvars->substvars($val); + + $Dpkg::ErrorHandling::quiet_warnings = $save_quiet; + return $val; +} + +sub Shlibsvars::extract_deps { + my ($self, $field, $deppkg) = @_; + + my $val = $self->get_fieldval($field); + return undef() unless defined $val; + + # Extract dependency fields we need + my @matched_deps; + for my $dep (split(/\s*,\s*/, $val)) { + if ($dep =~ /^\Q$deppkg\E(?:$|[\W])/) { + push @matched_deps, $dep; + } + } + return join(",", @matched_deps); +} + +sub write_substvar($$$$) { + my ($pkgname, $varname, $value, $substvars) = @_; + my @contents; + my $varset = 0; + + my $file = (-r $substvars) ? $substvars : "debian/substvars"; + if (-r $file) { + open(FILE, "<$file") or die "Unable to open substvars file '$file' for reading\n"; + while () { + if (!$varset && /^\s*\Q$varname=\E/) { + push @contents, "$varname=$value\n"; + $varset = 1; + } else { + push @contents, $_; + } + } + close(FILE); + } else { + # Fallback to default + $file = $substvars; + } + + open(FILE, ">$file.tmp") or die "Unable to open substvars file '$file.tmp' for writing\n"; + for (@contents) { + print FILE $_; + } + if (!$varset) { + print FILE "$varname=$value", "\n"; + } + close(FILE); + + File::Copy::move("$file.tmp", "$file"); +} + +init(); + +my $control = new Dpkg::Control; +my %shlibsvars; + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $pkg_substvars = sprintf("debian/%ssubstvars", pkgext($package)); + my $pkg = $control->get_pkg_by_name($package); + + for my $fieldname (@fields) { + if (exists $pkg->{$fieldname}) { + my $fieldval = $pkg->{$fieldname}; + my $pkgname = $pkg->{Package}; + + while ($fieldval =~ m/\G.*?$re_oursubstvar/gs) { + my $varname = $1; + my $dep2add = $2; + my $basepkg = $3; + my $deptype = $4; + my $deppkg = $5; + + if (!exists $shlibsvars{$basepkg}) { + my $base_substvars = sprintf("debian/%ssubstvars", pkgext($basepkg)); + $shlibsvars{$basepkg} = new Shlibsvars($basepkg, $control, $base_substvars); + } + my $vars = $shlibsvars{$basepkg}; + my $deps = $vars->extract_deps($deptype, $deppkg); + $deps = "" unless($deps); + $deps =~ s/\b\Q$deppkg\E\b/$dep2add/g; + + # Write substvar for the package + write_substvar($pkgname, $varname, $deps, $pkg_substvars); + } + } + } +} + +exit 0 --- ktorrent-3.1~rc1+dfsg.1.orig/debian/patches/02_no_dht_without_dht_headers.diff +++ ktorrent-3.1~rc1+dfsg.1/debian/patches/02_no_dht_without_dht_headers.diff @@ -0,0 +1,218 @@ +--- ktorrent-3.1~beta1+dfsg.1.o/ktorrent/gui.cpp 2008-04-29 20:06:39.000000000 +0300 ++++ ktorrent-3.1~beta1+dfsg.1/ktorrent/gui.cpp 2008-05-03 16:24:54.000000000 +0300 +@@ -45,7 +45,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -68,6 +67,9 @@ + #include "speedlimitsdlg.h" + #include "queuemanagerwidget.h" + ++#ifdef ENABLE_DHT_SUPPORT ++# include ++#endif + + namespace kt + { +@@ -542,7 +544,9 @@ namespace kt + CurrentStats stats = core->getStats(); + status_bar->updateSpeed(stats.upload_speed,stats.download_speed); + status_bar->updateTransfer(stats.bytes_uploaded,stats.bytes_downloaded); ++#ifdef ENABLE_DHT_SUPPORT + status_bar->updateDHTStatus(Globals::instance().getDHT().isRunning(),Globals::instance().getDHT().getStats()); ++#endif + + tray_icon->updateStats(stats,Settings::showSpeedBarInTrayIcon(),Settings::downloadBandwidth(), Settings::uploadBandwidth()); + core->updateGuiPlugins(); +--- ktorrent-3.1~beta1+dfsg.1.o/ktorrent/statusbar.cpp 2008-04-29 20:06:39.000000000 +0300 ++++ ktorrent-3.1~beta1+dfsg.1/ktorrent/statusbar.cpp 2008-05-03 16:26:43.000000000 +0300 +@@ -22,9 +22,12 @@ + #include + #include + #include +-#include + #include "statusbar.h" + ++#ifdef ENABLE_DHT_SUPPORT ++# include ++#endif ++ + using namespace bt; + + namespace kt +@@ -82,6 +85,7 @@ namespace kt + + void StatusBar::updateDHTStatus(bool on,const dht::Stats & s) + { ++#ifdef ENABLE_DHT_SUPPORT + if (on == dht_on && dht_peers == s.num_peers && dht_tasks == s.num_tasks) + return; + +@@ -90,7 +94,8 @@ namespace kt + dht_tasks = s.num_tasks; + if (on) + dht_status->setText(i18n("DHT: %1 nodes, %2 tasks",s.num_peers,s.num_tasks)); +- else ++ else ++#endif + dht_status->setText(i18n("DHT: off")); + } + +--- ktorrent-3.1~beta1+dfsg.1.o/ktorrent/torrentcreatordlg.cpp 2008-04-29 20:06:39.000000000 +0300 ++++ ktorrent-3.1~beta1+dfsg.1/ktorrent/torrentcreatordlg.cpp 2008-05-03 16:35:18.000000000 +0300 +@@ -21,7 +21,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -29,6 +28,10 @@ + #include "gui.h" + #include "torrentcreatordlg.h" + ++#ifdef ENABLE_DHT_SUPPORT ++# include ++#endif ++ + using namespace bt; + + namespace kt +@@ -67,6 +70,7 @@ namespace kt + m_add_node->setEnabled(false); + m_remove_node->setEnabled(false); + ++#ifdef ENABLE_DHT_SUPPORT + // populate dht box with some nodes from our own table + QMap n = bt::Globals::instance().getDHT().getClosestGoodNodes(10); + +@@ -77,6 +81,7 @@ namespace kt + twi->setText(1,QString::number(it.value())); + m_node_list->addTopLevelItem(twi); + } ++#endif + + // webseed stuff + connect(m_add_webseed,SIGNAL(clicked()),this,SLOT(addWebSeedPressed())); +--- ktorrent-3.1~beta1+dfsg.1.o/libktcore/interfaces/functions.cpp 2008-04-29 20:06:40.000000000 +0300 ++++ ktorrent-3.1~beta1+dfsg.1/libktcore/interfaces/functions.cpp 2008-05-03 15:50:48.000000000 +0300 +@@ -32,7 +32,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -45,6 +44,10 @@ + #include "settings.h" + #include "functions.h" + ++#ifdef ENABLE_DHT_SUPPORT ++# include ++#endif ++ + using namespace bt; + + namespace kt +--- ktorrent-3.1~beta1+dfsg.1.o/plugins/stats/ConnsTabPage.cc 2008-04-29 20:06:33.000000000 +0300 ++++ ktorrent-3.1~beta1+dfsg.1/plugins/stats/ConnsTabPage.cc 2008-05-03 16:07:50.000000000 +0300 +@@ -78,6 +78,7 @@ void ConnsTabPage::SetupUi() + + //-------------------------- + ++#ifdef ENABLE_DHT_SUPPORT + if(bt::Globals::instance().getDHT().isRunning ()) + { + pmDhtChtWgt -> AddDataSet(ChartDrawerData(i18n("Nodes"), QPen(StatsPluginSettings::dhtNodesColor()), true)); +@@ -85,6 +86,9 @@ void ConnsTabPage::SetupUi() + } else { + pmConnsUi -> DhtGbw -> setEnabled(false); + } ++#else ++ pmConnsUi -> DhtGbw -> setEnabled(false); ++#endif + + ApplySettings(); + } +@@ -166,6 +170,7 @@ void ConnsTabPage::ApplySettings() + + pmConnsChtWgt -> SetXMax(StatsPluginSettings::connsSamples()); + ++#ifdef ENABLE_DHT_SUPPORT + if(bt::Globals::instance().getDHT().isRunning ()) + { + if(! dynamic_cast(pmDhtChtWgt.get()) -> isEnabled()) +@@ -178,6 +183,9 @@ void ConnsTabPage::ApplySettings() + } else { + pmConnsUi -> DhtGbw -> setEnabled(false); + } ++#else ++ pmConnsUi -> DhtGbw -> setEnabled(false); ++#endif + + pmConnsChtWgt -> SetXMax(StatsPluginSettings::connsSamples()); + pmDhtChtWgt -> SetXMax(StatsPluginSettings::dhtSpdSamples()); +@@ -211,12 +219,15 @@ void ConnsTabPage::ResetAvg(ChartDrawer + { + } + ++ + void ConnsTabPage::GatherDhtStats() + { ++#ifdef ENABLE_DHT_SUPPORT + const dht::Stats st = bt::Globals::instance().getDHT().getStats(); + + pmDhtChtWgt -> AddValue(0, st.num_peers); + pmDhtChtWgt -> AddValue(1, st.num_tasks); ++#endif + } + + void ConnsTabPage::GatherConnStats(Plugin * pPlug) +--- ktorrent-3.1~beta1+dfsg.1.o/plugins/stats/ConnsTabPage.h 2008-04-29 20:06:33.000000000 +0300 ++++ ktorrent-3.1~beta1+dfsg.1/plugins/stats/ConnsTabPage.h 2008-05-03 16:01:20.000000000 +0300 +@@ -27,7 +27,6 @@ + + #include + #include +-#include + #include + #include + #include +@@ -43,6 +42,10 @@ + #include + #include + ++#ifdef ENABLE_DHT_SUPPORT ++# include ++#endif ++ + namespace kt { + + /** \brief Connections tab +--- ktorrent-3.1~beta1+dfsg.1.o/plugins/webinterface/phpcommandhandler.cpp 2008-04-29 20:06:34.000000000 +0300 ++++ ktorrent-3.1~beta1+dfsg.1/plugins/webinterface/phpcommandhandler.cpp 2008-05-03 15:58:29.000000000 +0300 +@@ -18,7 +18,6 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + #include +-#include + #include + #include + #include +@@ -33,6 +32,10 @@ + #include + #include "phpcommandhandler.h" + ++#ifdef ENABLE_DHT_SUPPORT ++# include ++#endif ++ + using namespace bt; + + namespace kt --- ktorrent-3.1~rc1+dfsg.1.orig/debian/patches/series +++ ktorrent-3.1~rc1+dfsg.1/debian/patches/series @@ -0,0 +1,2 @@ +02_no_dht_without_dht_headers.diff + --- ktorrent-3.1~rc1+dfsg.1.orig/plugins/infowidget/GeoIP.h +++ ktorrent-3.1~rc1+dfsg.1/plugins/infowidget/GeoIP.h @@ -0,0 +1,161 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 2; tab-width: 2 -*- */ +/* GeoIP.h + * + * Copyright (C) 2003 MaxMind LLC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef GEOIP_H +#define GEOIP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#include /* for fstat */ +#include /* for fstat */ + +#define SEGMENT_RECORD_LENGTH 3 +#define STANDARD_RECORD_LENGTH 3 +#define ORG_RECORD_LENGTH 4 +#define MAX_RECORD_LENGTH 4 +#define NUM_DB_TYPES 16 + +typedef struct GeoIPTag { + FILE *GeoIPDatabase; + char *file_path; + unsigned char *cache; + unsigned char *index_cache; + unsigned int *databaseSegments; + char databaseType; + time_t mtime; + int flags; + char record_length; + int record_iter; /* used in GeoIP_next_record */ +} GeoIP; + +typedef struct GeoIPRegionTag { + char country_code[3]; + char region[3]; +} GeoIPRegion; + +typedef enum { + GEOIP_STANDARD = 0, + GEOIP_MEMORY_CACHE = 1, + GEOIP_CHECK_CACHE = 2, + GEOIP_INDEX_CACHE = 4 +} GeoIPOptions; + +typedef enum { + GEOIP_COUNTRY_EDITION = 1, + GEOIP_REGION_EDITION_REV0 = 7, + GEOIP_CITY_EDITION_REV0 = 6, + GEOIP_ORG_EDITION = 5, + GEOIP_ISP_EDITION = 4, + GEOIP_CITY_EDITION_REV1 = 2, + GEOIP_REGION_EDITION_REV1 = 3, + GEOIP_PROXY_EDITION = 8, + GEOIP_ASNUM_EDITION = 9, + GEOIP_NETSPEED_EDITION = 10 +} GeoIPDBTypes; + +typedef enum { + GEOIP_ANON_PROXY = 1, + GEOIP_HTTP_X_FORWARDED_FOR_PROXY = 2, + GEOIP_HTTP_CLIENT_IP_PROXY = 3 +} GeoIPProxyTypes; + +typedef enum { + GEOIP_UNKNOWN_SPEED = 0, + GEOIP_DIALUP_SPEED = 1, + GEOIP_CABLEDSL_SPEED = 2, + GEOIP_CORPORATE_SPEED = 3 +} GeoIPNetspeedValues; + +extern char **GeoIPDBFileName; +extern const char * GeoIPDBDescription[NUM_DB_TYPES]; +extern const char *GeoIPCountryDBFileName; +extern const char *GeoIPRegionDBFileName; +extern const char *GeoIPCityDBFileName; +extern const char *GeoIPOrgDBFileName; +extern const char *GeoIPISPDBFileName; + +extern const char GeoIP_country_code[247][3]; +extern const char GeoIP_country_code3[247][4]; +extern const char * GeoIP_country_name[247]; +extern const char GeoIP_country_continent[247][3]; + +#ifdef DLL +#define GEOIP_API __declspec(dllexport) +#else +#define GEOIP_API +#endif /* DLL */ + +GEOIP_API GeoIP* GeoIP_open_type (int type, int flags); +GEOIP_API GeoIP* GeoIP_new(int flags); +GEOIP_API GeoIP* GeoIP_open(const char * filename, int flags); +GEOIP_API int GeoIP_db_avail(int type); +GEOIP_API void GeoIP_delete(GeoIP* gi); +GEOIP_API const char *GeoIP_country_code_by_addr (GeoIP* gi, const char *addr); +GEOIP_API const char *GeoIP_country_code_by_name (GeoIP* gi, const char *host); +GEOIP_API const char *GeoIP_country_code3_by_addr (GeoIP* gi, const char *addr); +GEOIP_API const char *GeoIP_country_code3_by_name (GeoIP* gi, const char *host); +GEOIP_API const char *GeoIP_country_name_by_addr (GeoIP* gi, const char *addr); +GEOIP_API const char *GeoIP_country_name_by_name (GeoIP* gi, const char *host); +GEOIP_API const char *GeoIP_country_name_by_ipnum (GeoIP* gi, unsigned long ipnum); +GEOIP_API const char *GeoIP_country_code_by_ipnum (GeoIP* gi, unsigned long ipnum); +GEOIP_API const char *GeoIP_country_code3_by_ipnum (GeoIP* gi, unsigned long ipnum); + +/* Deprecated - for backwards compatibility only */ +GEOIP_API int GeoIP_country_id_by_addr (GeoIP* gi, const char *addr); +GEOIP_API int GeoIP_country_id_by_name (GeoIP* gi, const char *host); +GEOIP_API char *GeoIP_org_by_addr (GeoIP* gi, const char *addr); +GEOIP_API char *GeoIP_org_by_name (GeoIP* gi, const char *host); +/* End deprecated */ + +GEOIP_API int GeoIP_id_by_addr (GeoIP* gi, const char *addr); +GEOIP_API int GeoIP_id_by_name (GeoIP* gi, const char *host); +GEOIP_API int GeoIP_id_by_ipnum (GeoIP* gi, unsigned long ipnum); + +GEOIP_API GeoIPRegion * GeoIP_region_by_addr (GeoIP* gi, const char *addr); +GEOIP_API GeoIPRegion * GeoIP_region_by_name (GeoIP* gi, const char *host); +GEOIP_API GeoIPRegion * GeoIP_region_by_ipnum (GeoIP *gi, unsigned long ipnum); + +/* Warning - don't call this after GeoIP_assign_region_by_inetaddr calls */ +GEOIP_API void GeoIPRegion_delete (GeoIPRegion *gir); + +GEOIP_API void GeoIP_assign_region_by_inetaddr(GeoIP* gi, unsigned long inetaddr, GeoIPRegion *gir); + +/* Used to query GeoIP Organization, ISP and AS Number databases */ +GEOIP_API char *GeoIP_name_by_ipnum (GeoIP* gi, unsigned long ipnum); +GEOIP_API char *GeoIP_name_by_addr (GeoIP* gi, const char *addr); +GEOIP_API char *GeoIP_name_by_name (GeoIP* gi, const char *host); + +GEOIP_API char *GeoIP_database_info (GeoIP* gi); +GEOIP_API unsigned char GeoIP_database_edition (GeoIP* gi); + +#ifdef BSD +#define memcpy(dest, src, n) bcopy(src, dest, n) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* GEOIP_H */ --- ktorrent-3.1~rc1+dfsg.1.orig/plugins/infowidget/GeoIP.c +++ ktorrent-3.1~rc1+dfsg.1/plugins/infowidget/GeoIP.c @@ -0,0 +1,826 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 2; tab-width: 2 -*- */ +/* GeoIP.c + * + * Copyright (C) 2003 MaxMind LLC All Rights Reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "GeoIP.h" + +#include +#include +#include +#include +#include +#include +#ifndef _WIN32 +#include +#include /* For ntohl */ +#include +#else +#include +#endif +#include +#include /* for fstat */ +#include /* for fstat */ + +#ifdef HAVE_STDINT_H +#include /* For uint32_t */ +#endif + +#ifndef INADDR_NONE +#define INADDR_NONE -1 +#endif + +#define COUNTRY_BEGIN 16776960 +#define STATE_BEGIN_REV0 16700000 +#define STATE_BEGIN_REV1 16000000 +#define STRUCTURE_INFO_MAX_SIZE 20 +#define DATABASE_INFO_MAX_SIZE 100 +#define MAX_ORG_RECORD_LENGTH 300 +#define US_OFFSET 1 +#define CANADA_OFFSET 677 +#define WORLD_OFFSET 1353 +#define FIPS_RANGE 360 + +#define CHECK_ERR(err, msg) { \ + if (err != Z_OK) { \ + fprintf(stderr, "%s error: %d\n", msg, err); \ + exit(1); \ + } \ +} + +const char GeoIP_country_code[247][3] = { "--","AP","EU","AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BM","BN","BO","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","FX","GA","GB","GD","GE","GF","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IN","IO","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","ST","SV","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TM","TN","TO","TP","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","CS","ZA","ZM","ZR","ZW","A1","A2","O1"}; + +const char GeoIP_country_code3[247][4] = { "--","AP","EU","AND","ARE","AFG","ATG","AIA","ALB","ARM","ANT","AGO","AQ","ARG","ASM","AUT","AUS","ABW","AZE","BIH","BRB","BGD","BEL","BFA","BGR","BHR","BDI","BEN","BMU","BRN","BOL","BRA","BHS","BTN","BV","BWA","BLR","BLZ","CAN","CC","COD","CAF","COG","CHE","CIV","COK","CHL","CMR","CHN","COL","CRI","CUB","CPV","CX","CYP","CZE","DEU","DJI","DNK","DMA","DOM","DZA","ECU","EST","EGY","ESH","ERI","ESP","ETH","FIN","FJI","FLK","FSM","FRO","FRA","FX","GAB","GBR","GRD","GEO","GUF","GHA","GIB","GRL","GMB","GIN","GLP","GNQ","GRC","GS","GTM","GUM","GNB","GUY","HKG","HM","HND","HRV","HTI","HUN","IDN","IRL","ISR","IND","IO","IRQ","IRN","ISL","ITA","JAM","JOR","JPN","KEN","KGZ","KHM","KIR","COM","KNA","PRK","KOR","KWT","CYM","KAZ","LAO","LBN","LCA","LIE","LKA","LBR","LSO","LTU","LUX","LVA","LBY","MAR","MCO","MDA","MDG","MHL","MKD","MLI","MMR","MNG","MAC","MNP","MTQ","MRT","MSR","MLT","MUS","MDV","MWI","MEX","MYS","MOZ","NAM","NCL","NER","NFK","NGA","NIC","NLD","NOR","NPL","NRU","NIU","NZL","OMN","PAN","PER","PYF","PNG","PHL","PAK","POL","SPM","PCN","PRI","PSE","PRT","PLW","PRY","QAT","REU","ROU","RUS","RWA","SAU","SLB","SYC","SDN","SWE","SGP","SHN","SVN","SJM","SVK","SLE","SMR","SEN","SOM","SUR","STP","SLV","SYR","SWZ","TCA","TCD","TF","TGO","THA","TJK","TKL","TLS","TKM","TUN","TON","TUR","TTO","TUV","TWN","TZA","UKR","UGA","UM","USA","URY","UZB","VAT","VCT","VEN","VGB","VIR","VNM","VUT","WLF","WSM","YEM","YT","SCG","ZAF","ZMB","ZR","ZWE","A1","A2","O1"}; + +const char * GeoIP_country_name[247] = {"N/A","Asia/Pacific Region","Europe","Andorra","United Arab Emirates","Afghanistan","Antigua and Barbuda","Anguilla","Albania","Armenia","Netherlands Antilles","Angola","Antarctica","Argentina","American Samoa","Austria","Australia","Aruba","Azerbaijan","Bosnia and Herzegovina","Barbados","Bangladesh","Belgium","Burkina Faso","Bulgaria","Bahrain","Burundi","Benin","Bermuda","Brunei Darussalam","Bolivia","Brazil","Bahamas","Bhutan","Bouvet Island","Botswana","Belarus","Belize","Canada","Cocos (Keeling) Islands","Congo, The Democratic Republic of the","Central African Republic","Congo","Switzerland","Cote D'Ivoire","Cook Islands","Chile","Cameroon","China","Colombia","Costa Rica","Cuba","Cape Verde","Christmas Island","Cyprus","Czech Republic","Germany","Djibouti","Denmark","Dominica","Dominican Republic","Algeria","Ecuador","Estonia","Egypt","Western Sahara","Eritrea","Spain","Ethiopia","Finland","Fiji","Falkland Islands (Malvinas)","Micronesia, Federated States of","Faroe Islands","France","France, Metropolitan","Gabon","United Kingdom","Grenada","Georgia","French Guiana","Ghana","Gibraltar","Greenland","Gambia","Guinea","Guadeloupe","Equatorial Guinea","Greece","South Georgia and the South Sandwich Islands","Guatemala","Guam","Guinea-Bissau","Guyana","Hong Kong","Heard Island and McDonald Islands","Honduras","Croatia","Haiti","Hungary","Indonesia","Ireland","Israel","India","British Indian Ocean Territory","Iraq","Iran, Islamic Republic of","Iceland","Italy","Jamaica","Jordan","Japan","Kenya","Kyrgyzstan","Cambodia","Kiribati","Comoros","Saint Kitts and Nevis", +"Korea, Democratic People's Republic of","Korea, Republic of","Kuwait","Cayman Islands","Kazakhstan","Lao People's Democratic Republic","Lebanon","Saint Lucia","Liechtenstein","Sri Lanka","Liberia","Lesotho","Lithuania","Luxembourg","Latvia","Libyan Arab Jamahiriya","Morocco","Monaco","Moldova, Republic of","Madagascar","Marshall Islands","Macedonia","Mali","Myanmar","Mongolia","Macau","Northern Mariana Islands","Martinique","Mauritania","Montserrat","Malta","Mauritius","Maldives","Malawi","Mexico","Malaysia","Mozambique","Namibia","New Caledonia","Niger","Norfolk Island","Nigeria","Nicaragua","Netherlands","Norway","Nepal","Nauru","Niue","New Zealand","Oman","Panama","Peru","French Polynesia","Papua New Guinea","Philippines","Pakistan","Poland","Saint Pierre and Miquelon","Pitcairn Islands","Puerto Rico","Palestinian Territory","Portugal","Palau","Paraguay","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saudi Arabia","Solomon Islands","Seychelles","Sudan","Sweden","Singapore","Saint Helena","Slovenia","Svalbard and Jan Mayen","Slovakia","Sierra Leone","San Marino","Senegal","Somalia","Suriname","Sao Tome and Principe","El Salvador","Syrian Arab Republic","Swaziland","Turks and Caicos Islands","Chad","French Southern Territories","Togo","Thailand","Tajikistan","Tokelau","Turkmenistan","Tunisia","Tonga","East Timor","Turkey","Trinidad and Tobago","Tuvalu","Taiwan","Tanzania, United Republic of","Ukraine","Uganda","United States Minor Outlying Islands","United States","Uruguay","Uzbekistan","Holy See (Vatican City State)","Saint Vincent and the Grenadines","Venezuela","Virgin Islands, British","Virgin Islands, U.S.","Vietnam","Vanuatu","Wallis and Futuna","Samoa","Yemen","Mayotte","Serbia and Montenegro","South Africa","Zambia","Zaire","Zimbabwe", +"Anonymous Proxy","Satellite Provider","Other"}; + +const char GeoIP_country_continent[247][3] = {"--","AS","EU","EU","AS","AS","SA","SA","EU","AS","SA","AF","AN","SA","OC","EU","OC","SA","AS","EU","SA","AS","EU","AF","EU","AS","AF","AF","SA","AS","SA","SA","SA","AS","AF","AF","EU","SA","NA","AS","AF","AF","AF","EU","AF","OC","SA","AF","AS","SA","SA","SA","AF","AS","AS","EU","EU","AF","EU","SA","SA","AF","SA","EU","AF","AF","AF","EU","AF","EU","OC","SA","OC","EU","EU","EU","AF","EU","SA","AS","SA","AF","EU","SA","AF","AF","SA","AF","EU","SA","SA","OC","AF","SA","AS","AF","SA","EU","SA","EU","AS","EU","AS","AS","AS","AS","AS","EU","EU","SA","AS","AS","AF","AS","AS","OC","AF","SA","AS","AS","AS","SA","AS","AS","AS","SA","EU","AS","AF","AF","EU","EU","EU","AF","AF","EU","EU","AF","OC","EU","AF","AS","AS","AS","OC","SA","AF","SA","EU","AF","AS","AF","NA","AS","AF","AF","OC","AF","OC","AF","SA","EU","EU","AS","OC","OC","OC","AS","SA","SA","OC","OC","AS","AS","EU","SA","OC","SA","AS","EU","OC","SA","AS","AF","EU","AS","AF","AS","OC","AF","AF","EU","AS","AF","EU","EU","EU","AF","EU","AF","AF","SA","AF","SA","AS","AF","SA","AF","AF","AF","AS","AS","OC","AS","AF","OC","AS","AS","SA","OC","AS","AF","EU","AF","OC","NA","SA","AS","EU","SA","SA","SA","SA","AS","OC","OC","OC","AS","AF","EU","AF","AF","AF","AF"}; + +const char * GeoIPDBDescription[NUM_DB_TYPES] = {NULL, "GeoIP Country Edition", "GeoIP City Edition, Rev 1", "GeoIP Region Edition, Rev 1", "GeoIP ISP Edition", "GeoIP Organization Edition", "GeoIP City Edition, Rev 0", "GeoIP Region Edition, Rev 0","GeoIP Proxy Edition","GeoIP ASNum Edition","GeoIP Netspeed Edition"}; + +char *_GeoIP_full_path_to(const char *file_name) { + char *path = malloc(sizeof(char) * 1024); + +#ifndef _WIN32 + memset(path, 0, sizeof(char) * 1024); + snprintf(path, sizeof(char) * 1024 - 1, "%s/%s", "/home/ivan/geoip.dat", file_name); +#else + char buf[MAX_PATH], *p, *q = NULL; + int len; + memset(buf, 0, sizeof(buf)); + len = GetModuleFileNameA(GetModuleHandle(NULL), buf, sizeof(buf) - 1); + for (p = buf + len; p > buf; p--) + if (*p == '\\') + { + if (!q) + q = p; + else + *p = '/'; + } + *q = 0; + memset(path, 0, sizeof(char) * 1024); + snprintf(path, sizeof(char) * 1024 - 1, "%s/%s", buf, file_name); +#endif + + return path; +} + +char ** GeoIPDBFileName = NULL; + +void _GeoIP_setup_dbfilename() { + if (NULL == GeoIPDBFileName) { + GeoIPDBFileName = malloc(sizeof(char *) * NUM_DB_TYPES); + memset(GeoIPDBFileName, 0, sizeof(char *) * NUM_DB_TYPES); + + GeoIPDBFileName[GEOIP_COUNTRY_EDITION] = _GeoIP_full_path_to("GeoIP.dat"); + GeoIPDBFileName[GEOIP_REGION_EDITION_REV0] = _GeoIP_full_path_to("GeoIPRegion.dat"); + GeoIPDBFileName[GEOIP_REGION_EDITION_REV1] = _GeoIP_full_path_to("GeoIPRegion.dat"); + GeoIPDBFileName[GEOIP_CITY_EDITION_REV0] = _GeoIP_full_path_to("GeoIPCity.dat"); + GeoIPDBFileName[GEOIP_CITY_EDITION_REV1] = _GeoIP_full_path_to("GeoIPCity.dat"); + GeoIPDBFileName[GEOIP_ISP_EDITION] = _GeoIP_full_path_to("GeoIPISP.dat"); + GeoIPDBFileName[GEOIP_ORG_EDITION] = _GeoIP_full_path_to("GeoIPOrg.dat"); + GeoIPDBFileName[GEOIP_PROXY_EDITION] = _GeoIP_full_path_to("GeoIPProxy.dat"); + GeoIPDBFileName[GEOIP_ASNUM_EDITION] = _GeoIP_full_path_to("GeoIPASNum.dat"); + GeoIPDBFileName[GEOIP_NETSPEED_EDITION] = _GeoIP_full_path_to("GeoIPNetSpeed.dat"); + } +} + +static +int _file_exists(const char *file_name) { + struct stat file_stat; + return( (stat(file_name, &file_stat) == 0) ? 1:0); +} + +int GeoIP_db_avail(int type) { + const char * filePath; + if (type < 0 || type >= NUM_DB_TYPES) { + return 0; + } + filePath = GeoIPDBFileName[type]; + if (NULL == filePath) { + return 0; + } + return _file_exists(filePath); +} + +static +void _setup_segments(GeoIP * gi) { + int i, j; + unsigned char delim[3]; + unsigned char buf[SEGMENT_RECORD_LENGTH]; + + /* default to GeoIP Country Edition */ + gi->databaseType = GEOIP_COUNTRY_EDITION; + gi->record_length = STANDARD_RECORD_LENGTH; + fseek(gi->GeoIPDatabase, -3l, SEEK_END); + for (i = 0; i < STRUCTURE_INFO_MAX_SIZE; i++) { + fread(delim, 1, 3, gi->GeoIPDatabase); + if (delim[0] == 255 && delim[1] == 255 && delim[2] == 255) { + fread(&gi->databaseType, 1, 1, gi->GeoIPDatabase); + if (gi->databaseType >= 106) { + /* backwards compatibility with databases from April 2003 and earlier */ + gi->databaseType -= 105; + } + + if (gi->databaseType == GEOIP_REGION_EDITION_REV0) { + /* Region Edition, pre June 2003 */ + gi->databaseSegments = malloc(sizeof(int)); + gi->databaseSegments[0] = STATE_BEGIN_REV0; + } else if (gi->databaseType == GEOIP_REGION_EDITION_REV1) { + /* Region Edition, post June 2003 */ + gi->databaseSegments = malloc(sizeof(int)); + gi->databaseSegments[0] = STATE_BEGIN_REV1; + } else if (gi->databaseType == GEOIP_CITY_EDITION_REV0 || + gi->databaseType == GEOIP_CITY_EDITION_REV1 || + gi->databaseType == GEOIP_ORG_EDITION || + gi->databaseType == GEOIP_ISP_EDITION || + gi->databaseType == GEOIP_ASNUM_EDITION) { + /* City/Org Editions have two segments, read offset of second segment */ + gi->databaseSegments = malloc(sizeof(int)); + gi->databaseSegments[0] = 0; + fread(buf, SEGMENT_RECORD_LENGTH, 1, gi->GeoIPDatabase); + for (j = 0; j < SEGMENT_RECORD_LENGTH; j++) { + gi->databaseSegments[0] += (buf[j] << (j * 8)); + } + if (gi->databaseType == GEOIP_ORG_EDITION || + gi->databaseType == GEOIP_ISP_EDITION) + gi->record_length = ORG_RECORD_LENGTH; + } + break; + } else { + fseek(gi->GeoIPDatabase, -4l, SEEK_CUR); + } + } + if (gi->databaseType == GEOIP_COUNTRY_EDITION || + gi->databaseType == GEOIP_PROXY_EDITION || + gi->databaseType == GEOIP_NETSPEED_EDITION) { + gi->databaseSegments = malloc(sizeof(int)); + gi->databaseSegments[0] = COUNTRY_BEGIN; + } +} + +static +int _check_mtime(GeoIP *gi) { + struct stat buf; + + if (gi->flags & GEOIP_CHECK_CACHE) { + if (fstat(fileno(gi->GeoIPDatabase), &buf) != -1) { + if (buf.st_mtime > gi->mtime) { + /* GeoIP Database file updated */ + if (gi->flags & GEOIP_MEMORY_CACHE) { + /* reload database into memory cache */ + if (realloc(gi->cache, buf.st_size) != NULL) { + if (fread(gi->cache, sizeof(unsigned char), buf.st_size, gi->GeoIPDatabase) != (size_t) buf.st_size) { + fprintf(stderr,"Error reading file %s\n",gi->file_path); + return -1; + } + gi->mtime = buf.st_mtime; + } + } else { + /* refresh filehandle */ + fclose(gi->GeoIPDatabase); + if (gi->databaseSegments != NULL) + free(gi->databaseSegments); + gi->GeoIPDatabase = fopen(gi->file_path,"rb"); + if (gi->GeoIPDatabase == NULL) { + fprintf(stderr,"Error Opening file %s\n",gi->file_path); + return -1; + } + _setup_segments(gi); + } + } + } + } + return 0; +} + +unsigned int _GeoIP_seek_record (GeoIP *gi, unsigned long ipnum) { + int depth; + unsigned int x; + unsigned char stack_buffer[2 * MAX_RECORD_LENGTH]; + const unsigned char *buf = (gi->cache == NULL) ? stack_buffer : NULL; + unsigned int offset = 0; + + const unsigned char * p; + int j; + + _check_mtime(gi); + for (depth = 31; depth >= 0; depth--) { + if (gi->cache == NULL && gi->index_cache == NULL) { + /* read from disk */ + fseek(gi->GeoIPDatabase, (long)gi->record_length * 2 * offset, SEEK_SET); + fread(stack_buffer,gi->record_length,2,gi->GeoIPDatabase); + } else if (gi->index_cache == NULL) { + /* simply point to record in memory */ + buf = gi->cache + (long)gi->record_length * 2 *offset; + } else { + buf = gi->index_cache + (long)gi->record_length * 2 * offset; + } + + if (ipnum & (1 << depth)) { + /* Take the right-hand branch */ + if ( gi->record_length == 3 ) { + /* Most common case is completely unrolled and uses constants. */ + x = (buf[3*1 + 0] << (0*8)) + + (buf[3*1 + 1] << (1*8)) + + (buf[3*1 + 2] << (2*8)); + + } else { + /* General case */ + j = gi->record_length; + p = &buf[2*j]; + x = 0; + do { + x <<= 8; + x += *(--p); + } while ( --j ); + } + + } else { + /* Take the left-hand branch */ + if ( gi->record_length == 3 ) { + /* Most common case is completely unrolled and uses constants. */ + x = (buf[3*0 + 0] << (0*8)) + + (buf[3*0 + 1] << (1*8)) + + (buf[3*0 + 2] << (2*8)); + } else { + /* General case */ + j = gi->record_length; + p = &buf[1*j]; + x = 0; + do { + x <<= 8; + x += *(--p); + } while ( --j ); + } + } + + if (x >= gi->databaseSegments[0]) { + return x; + } + offset = x; + } + + /* shouldn't reach here */ + fprintf(stderr,"Error Traversing Database for ipnum = %lu - Perhaps database is corrupt?\n",ipnum); + return 0; +} + +unsigned long _GeoIP_addr_to_num (const char *addr) { + int i; + char tok[4]; + int octet; + int j = 0, k = 0; + unsigned long ipnum = 0; + char c = 0; + + for (i=0; i<4; i++) { + for (;;) { + c = addr[k++]; + if (c == '.' || c == '\0') { + tok[j] = '\0'; + octet = atoi(tok); + if (octet > 255) + return 0; + ipnum += (octet << ((3-i)*8)); + j = 0; + break; + } else if (c >= '0' && c<= '9') { + if (j > 2) { + return 0; + } + tok[j++] = c; + } else { + return 0; + } + } + if(c == '\0' && i<3) { + return 0; + } + } + return ipnum; +} + +GeoIP* GeoIP_open_type (int type, int flags) { + GeoIP * gi; + const char * filePath; + if (type < 0 || type >= NUM_DB_TYPES) { + printf("Invalid database type %d\n", type); + return NULL; + } + _GeoIP_setup_dbfilename(); + filePath = GeoIPDBFileName[type]; + if (filePath == NULL) { + printf("Invalid database type %d\n", type); + return NULL; + } + gi = GeoIP_open (filePath, flags); + return gi; +} + +GeoIP* GeoIP_new (int flags) { + GeoIP * gi; + _GeoIP_setup_dbfilename(); + gi = GeoIP_open (GeoIPDBFileName[GEOIP_COUNTRY_EDITION], flags); + return gi; +} + +GeoIP* GeoIP_open (const char * filename, int flags) { + struct stat buf; +#ifdef _WIN32 + WSADATA wsa; + if (WSAStartup(MAKEWORD(1, 1), &wsa) != 0) + return NULL; +#endif +{ + GeoIP *gi = (GeoIP *)malloc(sizeof(GeoIP)); + if (gi == NULL) + return NULL; + gi->file_path = malloc(sizeof(char) * (strlen(filename)+1)); + if (gi->file_path == NULL) + return NULL; + strcpy(gi->file_path, filename); + gi->GeoIPDatabase = fopen(filename,"rb"); + if (gi->GeoIPDatabase == NULL) { + fprintf(stderr,"Error Opening file %s\n",filename); + free(gi->file_path); + free(gi); + return NULL; + } else { + if (flags & GEOIP_MEMORY_CACHE) { + if (fstat(fileno(gi->GeoIPDatabase), &buf) == -1) { + fprintf(stderr,"Error stating file %s\n",filename); + free(gi); + return NULL; + } + gi->mtime = buf.st_mtime; + gi->cache = (unsigned char *) malloc(sizeof(unsigned char) * buf.st_size); + if (gi->cache != NULL) { + if (fread(gi->cache, sizeof(unsigned char), buf.st_size, gi->GeoIPDatabase) != (size_t) buf.st_size) { + fprintf(stderr,"Error reading file %s\n",filename); + free(gi->cache); + free(gi); + return NULL; + } + } + } else { + if (flags & GEOIP_CHECK_CACHE) { + if (fstat(fileno(gi->GeoIPDatabase), &buf) == -1) { + fprintf(stderr,"Error stating file %s\n",filename); + free(gi); + return NULL; + } + gi->mtime = buf.st_mtime; + } + gi->cache = NULL; + } + gi->flags = flags; + _setup_segments(gi); + if (flags & GEOIP_INDEX_CACHE) { + gi->index_cache = (unsigned char *) malloc(sizeof(unsigned char) * ((gi->databaseSegments[0] * (long)gi->record_length * 2))); + if (gi->index_cache != NULL) { + fseek(gi->GeoIPDatabase, 0, SEEK_SET); + if (fread(gi->index_cache, sizeof(unsigned char), gi->databaseSegments[0] * (long)gi->record_length * 2, gi->GeoIPDatabase) != (size_t) (gi->databaseSegments[0]*(long)gi->record_length * 2)) { + fprintf(stderr,"Error reading file %s\n",filename); + free(gi->index_cache); + free(gi); + return NULL; + } + } + } else { + gi->index_cache = NULL; + } + return gi; + } +} +} + +void GeoIP_delete (GeoIP *gi) { + if (gi->GeoIPDatabase != NULL) + fclose(gi->GeoIPDatabase); + if (gi->cache != NULL) + free(gi->cache); + if (gi->index_cache != NULL) + free(gi->index_cache); + if (gi->file_path != NULL) + free(gi->file_path); + if (gi->databaseSegments != NULL) + free(gi->databaseSegments); + free(gi); +} + +const char *GeoIP_country_code_by_name (GeoIP* gi, const char *name) { + int country_id; + country_id = GeoIP_id_by_name(gi, name); + return (country_id > 0) ? GeoIP_country_code[country_id] : NULL; +} + +const char *GeoIP_country_code3_by_name (GeoIP* gi, const char *name) { + int country_id; + country_id = GeoIP_id_by_name(gi, name); + return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL; +} + +const char *GeoIP_country_name_by_name (GeoIP* gi, const char *name) { + int country_id; + country_id = GeoIP_id_by_name(gi, name); + return (country_id > 0) ? GeoIP_country_name[country_id] : NULL; +} + +unsigned long _GeoIP_lookupaddress (const char *host) { + unsigned long addr = inet_addr(host); + struct hostent phe2; + struct hostent * phe = &phe2; + char *buf = NULL; + int buflength = 16384; + int herr = 0; + int result = 0; +#ifdef HAVE_GETHOSTBYNAME_R + buf = malloc(buflength); +#endif + if (addr == INADDR_NONE) { +#ifdef HAVE_GETHOSTBYNAME_R + while (1) { + /* we use gethostbyname_r here because it is thread-safe and gethostbyname is not */ +#ifdef GETHOSTBYNAME_R_RETURNS_INT + result = gethostbyname_r(host,&phe2,buf,buflength,&phe,&herr); +#else + phe = gethostbyname_r(host,&phe2,buf,buflength,&herr); +#endif + if (herr != ERANGE) + break; + if (result == 0) + break; + /* double the buffer if the buffer is too small */ + buflength = buflength * 2; + buf = realloc(buf,buflength); + } +#endif +#ifndef HAVE_GETHOSTBYNAME_R + /* Some systems do not support gethostbyname_r, such as Mac OS X */ + phe = gethostbyname(host); +#endif + if (!phe || result != 0) { + free(buf); + return 0; + } + addr = *((unsigned long *) phe->h_addr_list[0]); + } +#ifdef HAVE_GETHOSTBYNAME_R + free(buf); +#endif + return ntohl(addr); +} + +int GeoIP_id_by_name (GeoIP* gi, const char *name) { + unsigned long ipnum; + int ret; + if (name == NULL) { + return 0; + } + if (gi->databaseType != GEOIP_COUNTRY_EDITION && gi->databaseType != GEOIP_PROXY_EDITION && gi->databaseType != GEOIP_NETSPEED_EDITION) { + printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_COUNTRY_EDITION]); + return 0; + } + if (!(ipnum = _GeoIP_lookupaddress(name))) + return 0; + ret = _GeoIP_seek_record(gi, ipnum) - COUNTRY_BEGIN; + return ret; + +} + +const char *GeoIP_country_code_by_addr (GeoIP* gi, const char *addr) { + int country_id; + country_id = GeoIP_id_by_addr(gi, addr); + return (country_id > 0) ? GeoIP_country_code[country_id] : NULL; +} + +const char *GeoIP_country_code3_by_addr (GeoIP* gi, const char *addr) { + int country_id; + country_id = GeoIP_id_by_addr(gi, addr); + return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL; + return GeoIP_country_code3[country_id]; +} + +const char *GeoIP_country_name_by_addr (GeoIP* gi, const char *addr) { + int country_id; + country_id = GeoIP_id_by_addr(gi, addr); + return (country_id > 0) ? GeoIP_country_name[country_id] : NULL; + return GeoIP_country_name[country_id]; +} + +const char *GeoIP_country_name_by_ipnum (GeoIP* gi, unsigned long ipnum) { + int country_id; + country_id = GeoIP_id_by_ipnum(gi, ipnum); + return (country_id > 0) ? GeoIP_country_name[country_id] : NULL; +} + +const char *GeoIP_country_code_by_ipnum (GeoIP* gi, unsigned long ipnum) { + int country_id; + country_id = GeoIP_id_by_ipnum(gi, ipnum); + return (country_id > 0) ? GeoIP_country_code[country_id] : NULL; +} + +const char *GeoIP_country_code3_by_ipnum (GeoIP* gi, unsigned long ipnum) { + int country_id; + country_id = GeoIP_id_by_ipnum(gi, ipnum); + return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL; +} + +int GeoIP_country_id_by_addr (GeoIP* gi, const char *addr) { + return GeoIP_id_by_addr(gi, addr); +} + +int GeoIP_country_id_by_name (GeoIP* gi, const char *host) { + return GeoIP_id_by_name(gi, host); +} + +int GeoIP_id_by_addr (GeoIP* gi, const char *addr) { + unsigned long ipnum; + int ret; + if (addr == NULL) { + return 0; + } + if (gi->databaseType != GEOIP_COUNTRY_EDITION && + gi->databaseType != GEOIP_PROXY_EDITION && + gi->databaseType != GEOIP_NETSPEED_EDITION) { + printf("Invalid database type %s, expected %s\n", + GeoIPDBDescription[(int)gi->databaseType], + GeoIPDBDescription[GEOIP_COUNTRY_EDITION]); + return 0; + } + ipnum = _GeoIP_addr_to_num(addr); + ret = _GeoIP_seek_record(gi, ipnum) - COUNTRY_BEGIN; + return ret; +} + +int GeoIP_id_by_ipnum (GeoIP* gi, unsigned long ipnum) { + int ret; + if (ipnum == 0) { + return 0; + } + if (gi->databaseType != GEOIP_COUNTRY_EDITION && + gi->databaseType != GEOIP_PROXY_EDITION && + gi->databaseType != GEOIP_NETSPEED_EDITION) { + printf("Invalid database type %s, expected %s\n", + GeoIPDBDescription[(int)gi->databaseType], + GeoIPDBDescription[GEOIP_COUNTRY_EDITION]); + return 0; + } + ret = _GeoIP_seek_record(gi, ipnum) - COUNTRY_BEGIN; + return ret; +} + +char *GeoIP_database_info (GeoIP* gi) { + int i; + unsigned char buf[3]; + char *retval; + int hasStructureInfo = 0; + + if(gi == NULL) + return NULL; + + _check_mtime(gi); + fseek(gi->GeoIPDatabase, -3l, SEEK_END); + + /* first get past the database structure information */ + for (i = 0; i < STRUCTURE_INFO_MAX_SIZE; i++) { + fread(buf, 1, 3, gi->GeoIPDatabase); + if (buf[0] == 255 && buf[1] == 255 && buf[2] == 255) { + hasStructureInfo = 1; + break; + } + fseek(gi->GeoIPDatabase, -4l, SEEK_CUR); + } + if (hasStructureInfo == 1) { + fseek(gi->GeoIPDatabase, -3l, SEEK_CUR); + } else { + /* no structure info, must be pre Sep 2002 database, go back to end */ + fseek(gi->GeoIPDatabase, -3l, SEEK_END); + } + + for (i = 0; i < DATABASE_INFO_MAX_SIZE; i++) { + fread(buf, 1, 3, gi->GeoIPDatabase); + if (buf[0] == 0 && buf[1] == 0 && buf[2] == 0) { + retval = malloc(sizeof(char) * (i+1)); + if (retval == NULL) { + return NULL; + } + fread(retval, 1, i, gi->GeoIPDatabase); + retval[i] = '\0'; + return retval; + } + fseek(gi->GeoIPDatabase, -4l, SEEK_CUR); + } + return NULL; +} + +/* GeoIP Region Edition functions */ + +void GeoIP_assign_region_by_inetaddr(GeoIP* gi, unsigned long inetaddr, GeoIPRegion *region) { + unsigned int seek_region; + + /* This also writes in the terminating NULs (if you decide to + * keep them) and clear any fields that are not set. */ + memset(region, 0, sizeof(GeoIPRegion)); + + seek_region = _GeoIP_seek_record(gi, ntohl(inetaddr)); + + if (gi->databaseType == GEOIP_REGION_EDITION_REV0) { + /* Region Edition, pre June 2003 */ + seek_region -= STATE_BEGIN_REV0; + if (seek_region >= 1000) { + region->country_code[0] = 'U'; + region->country_code[1] = 'S'; + region->region[0] = (char) ((seek_region - 1000)/26 + 65); + region->region[1] = (char) ((seek_region - 1000)%26 + 65); + } else { + memcpy(region->country_code, GeoIP_country_code[seek_region], 2); + } + } else if (gi->databaseType == GEOIP_REGION_EDITION_REV1) { + /* Region Edition, post June 2003 */ + seek_region -= STATE_BEGIN_REV1; + if (seek_region < US_OFFSET) { + /* Unknown */ + /* we don't need to do anything here b/c we memset region to 0 */ + } else if (seek_region < CANADA_OFFSET) { + /* USA State */ + region->country_code[0] = 'U'; + region->country_code[1] = 'S'; + region->region[0] = (char) ((seek_region - US_OFFSET)/26 + 65); + region->region[1] = (char) ((seek_region - US_OFFSET)%26 + 65); + } else if (seek_region < WORLD_OFFSET) { + /* Canada Province */ + region->country_code[0] = 'C'; + region->country_code[1] = 'A'; + region->region[0] = (char) ((seek_region - CANADA_OFFSET)/26 + 65); + region->region[1] = (char) ((seek_region - CANADA_OFFSET)%26 + 65); + } else { + /* Not US or Canada */ + memcpy(region->country_code, GeoIP_country_code[(seek_region - WORLD_OFFSET) / FIPS_RANGE], 2); + } + } +} + +static +GeoIPRegion * _get_region(GeoIP* gi, unsigned long ipnum) { + GeoIPRegion * region; + + region = malloc(sizeof(GeoIPRegion)); + if (region) { + GeoIP_assign_region_by_inetaddr(gi, htonl(ipnum), region); + } + return region; +} + +GeoIPRegion * GeoIP_region_by_addr (GeoIP* gi, const char *addr) { + unsigned long ipnum; + if (addr == NULL) { + return 0; + } + if (gi->databaseType != GEOIP_REGION_EDITION_REV0 && + gi->databaseType != GEOIP_REGION_EDITION_REV1) { + printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_REGION_EDITION_REV1]); + return 0; + } + ipnum = _GeoIP_addr_to_num(addr); + return _get_region(gi, ipnum); +} + +GeoIPRegion * GeoIP_region_by_name (GeoIP* gi, const char *name) { + unsigned long ipnum; + if (name == NULL) { + return 0; + } + if (gi->databaseType != GEOIP_REGION_EDITION_REV0 && + gi->databaseType != GEOIP_REGION_EDITION_REV1) { + printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_REGION_EDITION_REV1]); + return 0; + } + if (!(ipnum = _GeoIP_lookupaddress(name))) + return 0; + return _get_region(gi, ipnum); +} + +GeoIPRegion * GeoIP_region_by_ipnum (GeoIP* gi, unsigned long ipnum) { + if (gi->databaseType != GEOIP_REGION_EDITION_REV0 && + gi->databaseType != GEOIP_REGION_EDITION_REV1) { + printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_REGION_EDITION_REV1]); + return 0; + } + return _get_region(gi, ipnum); +} + +void GeoIPRegion_delete (GeoIPRegion *gir) { + free(gir); +} + +/* GeoIP Organization, ISP and AS Number Edition private method */ +static +char *_get_name (GeoIP* gi, unsigned long ipnum) { + int seek_org; + char buf[MAX_ORG_RECORD_LENGTH]; + char * org_buf, * buf_pointer; + int record_pointer; + + if (gi->databaseType != GEOIP_ORG_EDITION && + gi->databaseType != GEOIP_ISP_EDITION && + gi->databaseType != GEOIP_ASNUM_EDITION) { + printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_ORG_EDITION]); + return 0; + } + + seek_org = _GeoIP_seek_record(gi, ipnum); + if (seek_org == gi->databaseSegments[0]) + return NULL; + + record_pointer = seek_org + (2 * gi->record_length - 1) * gi->databaseSegments[0]; + + if (gi->cache == NULL) { + fseek(gi->GeoIPDatabase, record_pointer, SEEK_SET); + fread(buf, sizeof(char), MAX_ORG_RECORD_LENGTH, gi->GeoIPDatabase); + org_buf = malloc(sizeof(char) * (strlen(buf)+1)); + strcpy(org_buf, buf); + } else { + buf_pointer = gi->cache + (long)record_pointer; + org_buf = malloc(sizeof(char) * (strlen(buf_pointer)+1)); + strcpy(org_buf, buf_pointer); + } + return org_buf; +} + +char *GeoIP_name_by_ipnum (GeoIP* gi, unsigned long ipnum) { + return _get_name(gi,ipnum); +} + +char *GeoIP_name_by_addr (GeoIP* gi, const char *addr) { + unsigned long ipnum; + if (addr == NULL) { + return 0; + } + ipnum = _GeoIP_addr_to_num(addr); + return _get_name(gi, ipnum); +} + +char *GeoIP_name_by_name (GeoIP* gi, const char *name) { + unsigned long ipnum; + if (name == NULL) { + return 0; + } + if (!(ipnum = _GeoIP_lookupaddress(name))) + return 0; + return _get_name(gi, ipnum); +} + +char *GeoIP_org_by_ipnum (GeoIP* gi, unsigned long ipnum) { + return GeoIP_name_by_ipnum(gi, ipnum); +} + +char *GeoIP_org_by_addr (GeoIP* gi, const char *addr) { + return GeoIP_name_by_addr(gi, addr); +} + +char *GeoIP_org_by_name (GeoIP* gi, const char *name) { + return GeoIP_name_by_name(gi, name); +} + +unsigned char GeoIP_database_edition (GeoIP* gi) { + return gi->databaseType; +} --- ktorrent-3.1~rc1+dfsg.1.orig/plugins/infowidget/geoip/GeoIP-LICENSE.txt +++ ktorrent-3.1~rc1+dfsg.1/plugins/infowidget/geoip/GeoIP-LICENSE.txt @@ -0,0 +1,74 @@ +There are two licenses, one for the C library software, and one for +the database. + +SOFTWARE LICENSE (C library) + +The GeoIP C Library is licensed under the GPL. For details see +the COPYING file. + +OPEN DATA LICENSE (GeoIP Standard Edition Database) + +Copyright (c) 2003 MaxMind LLC. All Rights Reserved. + +All advertising materials and documentation mentioning features or use of +this database must display the following acknowledgment: +"This product includes GeoIP data created by MaxMind, available from +http://maxmind.com/" + +Redistribution and use with or without modification, are permitted provided +that the following conditions are met: +1. Redistributions must retain the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or other +materials provided with the distribution. +2. All advertising materials and documentation mentioning features or use of +this database must display the following acknowledgement: +"This product includes GeoIP data created by MaxMind, available from +http://maxmind.com/" +3. "MaxMind" may not be used to endorse or promote products derived from this +database without specific prior written permission. + +THIS DATABASE IS PROVIDED BY MAXMIND.COM ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL MAXMIND.COM BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +DATABASE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Some parts of this software distribution are derived from the APNIC, ARIN and +RIPE databases (copyright details below). The author of this module makes no +claims of ownership on those parts. + +APNIC conditions of use: + +The files are freely available for download and use on the condition that APNIC +will not be held responsible for any loss or damage arising from the application +of the information contained in these reports. + +APNIC endeavours to the best of its ability to ensure the accuracy of these +reports; however, APNIC makes no guarantee in this regard. + +In particular, it should be noted that these reports seek to indicate the +country where resources were first allocated or assigned. It is not intended +that these reports be considered as an authoritative statement of the location +in which any specific resource may currently be in use. + +ARIN database copyright: + +Copyright (c) American Registry for Internet Numbers. All rights reserved. + +RIPE database copyright: + +The information in the RIPE Database is available to the public for agreed +Internet operation purposes, but is under copyright. The copyright statement is: + +"Except for agreed Internet operational purposes, no part of this publication +may be reproduced, stored in a retrieval system, or transmitted, in any form or +by any means, electronic, mechanical, recording, or otherwise, without prior +permission of the RIPE NCC on behalf of the copyright holders. Any use of this +material to target advertising or similar activities is explicitly forbidden and +may be prosecuted. The RIPE NCC requests to be notified of any such activities +or suspicions thereof." --- ktorrent-3.1~rc1+dfsg.1.orig/plugins/infowidget/geoip/FLAGS_LICENCE +++ ktorrent-3.1~rc1+dfsg.1/plugins/infowidget/geoip/FLAGS_LICENCE @@ -0,0 +1,2 @@ +Flag images found at http://www.hahn-hotel.com/flags/ +"All sets provided by us are free to use to anyone, for commercial or non-commercial websites." \ No newline at end of file