debian/0000755000000000000000000000000011742557736007207 5ustar debian/ctorrent.10000644000000000000000000001536411742554152011127 0ustar .\" Automatically generated by Pod::Man 2.18 (Pod::Simple 3.07) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "ctorrent 1" .TH ctorrent 1 "2008-10-11" "ctorrent" "2008-10-11" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" ctorrent \- Download bittorrent files from command line .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& ctorrent \- [options] *.torrent .Ve .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-a\fR" 4 .IX Item "-a" Preallocate files on disk .IP "\fB\-A USER-AGENT-STRING\fR" 4 .IX Item "-A USER-AGENT-STRING" Set User-Agent header (default \*(L"Enhanced\-CTorrent/dnh3.2\*(R") .IP "\fB\-b \s-1FILE\s0\fR" 4 .IX Item "-b FILE" Bitfield save \s-1FILE\s0 (default is torrent+\*(L".bf\*(R") .IP "\fB\-c\fR" 4 .IX Item "-c" Check pieces only, don't download .IP "\fB\-d\fR" 4 .IX Item "-d" Daemon mode (fork to background) .IP "\fB\-D rate\fR" 4 .IX Item "-D rate" Max bandwidth down (unit KiB/s) .IP "\fB\-e hours\fR" 4 .IX Item "-e hours" Exit while seed \s-1HOURS\s0 later (default 72 hours) .IP "\fB\-E ratio\fR" 4 .IX Item "-E ratio" Exit after seeding to \s-1RATIO\s0 (\s-1UL:DL\s0) .IP "\fB\-f\fR" 4 .IX Item "-f" Force saved bitfield or seed mode (skip initial hash check) .IP "\fB\-h|\-H\fR" 4 .IX Item "-h|-H" Display short help. .IP "\fB\-i \s-1IP\s0\fR" 4 .IX Item "-i IP" Listen for connections on specific \s-1IP\s0 address (default all/any) .IP "\fB\-l \s-1LENGTH\s0\fR" 4 .IX Item "-l LENGTH" Piece length (default 262144) .IP "\fB\-m PEERS-MIN\fR" 4 .IX Item "-m PEERS-MIN" Min peers count (default 1) .IP "\fB\-M PEERS-MAX\fR" 4 .IX Item "-M PEERS-MAX" Max peers count (default 100) .IP "\fB\-n FILE-NBR-LIST\fR" 4 .IX Item "-n FILE-NBR-LIST" Specify file number(s) to download .IP "\fB\-p \s-1PORT\s0\fR" 4 .IX Item "-p PORT" .Vb 1 \& Listen PORT (default 2706 \-> 2106) .Ve .IP "\fB\-P \s-1ID\s0\fR" 4 .IX Item "-P ID" Set Peer \s-1ID\s0 prefix (default \*(L"\-CD0302\-\*(R") .IP "\fB\-s SAVEFILE|DIR\fR" 4 .IX Item "-s SAVEFILE|DIR" Download (\*(L"save as\*(R") to a different file or directory .IP "\fB\-t\fR" 4 .IX Item "-t" Create a new torrent file .IP "\fB\-t \s-1URL\s0\fR" 4 .IX Item "-t URL" Tracker's \s-1URL\s0 .IP "\fB\-v\fR" 4 .IX Item "-v" Verbose output (for debugging) .IP "\fB\-x\fR" 4 .IX Item "-x" Decode metainfo (torrent) file only, don't download .IP "\fB\-z SLICE-SIZE\fR" 4 .IX Item "-z SLICE-SIZE" Download slice/block size, unit \s-1KB\s0 (default 16, max 128) .SH "DESCRIPTION" .IX Header "DESCRIPTION" CTorrent is a BitTorrent Client program written in C/\*(C+. Fast and small are CTorrent's two strengths. .PP \&\s-1EXAMPLES\s0 .PP .Vb 1 \& ctorrent \-s save.iso \-e 12 \-C 32 \-p 6881 iso.torrent .Ve .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" None. .SH "FILES" .IX Header "FILES" None. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIazureus\fR\|(1) \&\fIbittornado\fR\|(1) \&\fIbittorrent\fR\|(1) \&\fIktorrent\fR\|(1) \&\fIqbittorrent\fR\|(1) \&\fIqtorrent\fR\|(1) \&\fIrtorrent\fR\|(1) \&\fItransmission\-cli\fR\|(1) .SH "AUTHORS" .IX Header "AUTHORS" This manual page was written by Jari Aalto , for the Debian \s-1GNU\s0 system (but may be used by others). Released under license \s-1GNU\s0 \s-1GPL\s0 v2 or (at your option) any later version. .PP The program development was discontinued 2006\-06\-07. See project page https://sourceforge.net/projects/ctorrent debian/control0000644000000000000000000000265111742557206010606 0ustar Source: ctorrent Section: net Priority: extra Maintainer: Andrea Veri Build-Depends: debhelper (>= 9) Standards-Version: 3.9.3 Homepage: http://www.rahul.net/dholmes/ctorrent Package: ctorrent Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: BitTorrent Client written in C++ This application is written in the C++ language and doesn't require any graphical component, such as an X server. Original ctorrent's upstream has stopped its development and now it's kept updated with new releases/bug fixes by a new developer. It's built as a console program and it can be even used remotely in a machine that provides outside ssh access. Other main features are: . * Support for large files (>2GB) and large torrents (>255 files). * Strategic selection of pieces to request for download. * Continuous queueing of download requests, tuned based on latency and throughput for each peer. * Improved download performance, including parallel requests in initial and endgame modes. * Improved bandwidth regulation. * Improved compatibility with other peers. * Performance optimization and bug fixes. * An interface for monitoring and managing multiple clients. * Dynamic cache allocation and management, including prefetch. . More information about the original but discontinued ctorrent's project can be found by browsing the following website: http://ctorrent.sourceforge.net debian/manpages0000644000000000000000000000002211742557365010715 0ustar debian/ctorrent.1 debian/compat0000644000000000000000000000000211742554622010374 0ustar 9 debian/source/0000755000000000000000000000000011715050026010463 5ustar debian/source/format0000644000000000000000000000001411715050026011671 0ustar 3.0 (quilt) debian/changelog0000644000000000000000000001060511742557705011057 0ustar ctorrent (1.3.4.dnh3.3.2-4) unstable; urgency=low * Moved to Source Format Quilt. * Acknowledge NMU. * General package's cleanup: - copyright moved to DEP-5. - bumped Standards-Version to latest. * debian/control: - moved Homepage away from long desc. (Closes: #615319) - removed bzr repository bits since I won't use a VCS anymore to maintain this package. -- Andrea Veri Sun, 15 Apr 2012 16:25:59 +0200 ctorrent (1.3.4.dnh3.3.2-3.1) unstable; urgency=low * Non-maintainer upload. * Enable hardened build flags (Closes: #653536) -- Moritz Muehlenhoff Fri, 06 Apr 2012 17:33:32 +0200 ctorrent (1.3.4.dnh3.3.2-3) unstable; urgency=low * clean up upload * debian/control: - mail address changed - DM tag removed, not needed anymore. - added missing misc:depends. * debian/ctorrent.1: - typo fixed. -- Andrea Veri Tue, 19 Jan 2010 14:24:56 +0100 ctorrent (1.3.4.dnh3.3.2-2) unstable; urgency=low * debian/control: - bumped standards-version to 3.8.3. No changes needed. - added DM tag. - XS prefix removed, it's a deprecated field now. - added missing VCS-Browser field. - updated VCS-Bzr with a new value. * debian/rules: - cleaned up a bit * debian/docs: - NEWS file won't be installed anymore, it contains outdated informations. * debian/compat: - bumped to level 7. -- Andrea Veri Sun, 04 Oct 2009 14:53:47 +0200 ctorrent (1.3.4.dnh3.3.2-1) unstable; urgency=low * The "I'm back" release. (Closes: #533229) * New upstream release. To prevent some strange behaviours from bzr bd or dpkg-buildpackage, I've changed the way of versioning this package, will use "." now instead of the old "-". (Closes: #501900) * debian/patches/cve-security-fix.dpatch: added to re-apply NMU changes regarding a security fix. (take a look at bug #530255 about this) * debian/patches/FTBFS-fix.dpatch: added to prevent a FTBFS after applying cve-security-fix patch. (which contains NMU changes) * debian/control: - Changed my mail address. (Closes: #533820) - changed homepage setting it to the right project. Plus changed and set the "See also" website to the old and discontinued project, which is no more active. (http://ctorrent.sf.net) (Closes: #501899) - Removed docbook-to-man dep, we have a ctorrent.1 file ready to go. - Bumped Standards-version to the latest 3.8.2 - libssl-dev removed, it's no more needed now. - added a dep on dpatch * debian/ctorrent.sgml: removed, now we have an improved ctorrent.1 file. (Closes: #501893) * debian/ctorrent.1: added, thanks to Jari Aalto for the patch. * debian/rules: - fixed path to ctorrent.1, now dh_installman will be able to find ctorrent.1 again and install it on the right place. - added a better clean rule to prevent lintian complaining. - added a --with-ssl=no rule to the configure run, so ctorrent won't depend on openssl preventing a copyright issue. - added dpatch support -- Andrea Veri Fri, 10 Jul 2009 14:37:28 +0200 ctorrent (1.3.4-dnh3.2-1.1) unstable; urgency=high * Non-maintainer upload by the Security Team. * Fix stack-based buffer overflow via crafted path names in torrent files (CVE-2009-1759; Closes: #530255). -- Nico Golde Wed, 17 Jun 2009 00:59:49 +0200 ctorrent (1.3.4-dnh3.2-1.1) unstable; urgency=high * Non-maintainer upload by the Security Team. * Fix stack-based buffer overflow via crafted path names in torrent files (CVE-2009-1759; Closes: #530255). -- Nico Golde Wed, 17 Jun 2009 00:59:49 +0200 ctorrent (1.3.4-dnh3.2-1) unstable; urgency=low * New upstream release. * Package description has been implemented with new informations fixing invalid details. (Closes: #428187) -- Andrea Veri Thu, 02 Aug 2007 20:48:15 +0200 ctorrent (1.3.4-dnh3.1-1) unstable; urgency=low * New upstream release. * Patch system dropped: upstream integrated patches (dnh3_update) on the new tarball released. -- Andrea Veri Tue, 5 Jun 2007 21:11:09 +0200 ctorrent (1.3.4-dnh3-1) unstable; urgency=low * Initial release (Closes: #425236) * patched using dnh3_update patch (27 Apr 2007) -- Andrea Veri Sat, 5 May 2007 16:15:56 +0200 debian/patches/0000755000000000000000000000000011742556327010631 5ustar debian/patches/series0000644000000000000000000000004511742554210012032 0ustar cve-security-fix.diff FTBFS-fix.diff debian/patches/cve-security-fix.diff0000644000000000000000000001642011742554532014670 0ustar Description: Patch made to re-apply NMU changes regarding a security fix, take a look at bug #530255 on Debian BTS. Author: Andrea Veri diff -urNad ctorrent-1.3.4+dnh3.3.2~/bencode.cpp ctorrent-1.3.4+dnh3.3.2/bencode.cpp --- ctorrent-1.3.4+dnh3.3.2~/bencode.cpp 2008-06-15 02:00:19.000000000 +0200 +++ ctorrent-1.3.4+dnh3.3.2/bencode.cpp 2009-07-12 23:53:50.000000000 +0200 @@ -233,22 +233,28 @@ return bencode_end_dict_list(fp); } -size_t decode_list2path(const char *b, size_t n, char *pathname) +size_t decode_list2path(const char *b, size_t n, char *pathname, size_t maxlen) { const char *pb = b; - const char *s = (char *) 0; - size_t r,q; + const char *s = (char *)0; + const char *endmax = pathname + maxlen - 1; + size_t r, q; if( 'l' != *pb ) return 0; pb++; n--; if( !n ) return 0; - for(; n;){ - if(!(r = buf_str(pb, n, &s, &q)) ) return 0; + while( n && pathname < endmax ){ + if( !(r = buf_str(pb, n, &s, &q)) ) return 0; + if( q >= maxlen ) return 0; memcpy(pathname, s, q); pathname += q; - pb += r; n -= r; - if( 'e' != *pb ){*pathname = PATH_SP, pathname++;} else break; + maxlen -= q; + pb += r; + n -= r; + if( 'e' == *pb ) break; + if( pathname >= endmax ) return 0; + *pathname++ = PATH_SP; } *pathname = '\0'; return (pb - b + 1); diff -urNad ctorrent-1.3.4+dnh3.3.2~/bencode.h ctorrent-1.3.4+dnh3.3.2/bencode.h --- ctorrent-1.3.4+dnh3.3.2~/bencode.h 2008-06-15 02:00:19.000000000 +0200 +++ ctorrent-1.3.4+dnh3.3.2/bencode.h 2009-07-13 00:04:29.000000000 +0200 @@ -25,7 +25,7 @@ size_t decode_list(const char *b,size_t len,const char *keylist); size_t decode_rev(const char *b,size_t len,const char *keylist); size_t decode_query(const char *b,size_t len,const char *keylist,const char **ps,size_t *pi,int64_t *pl,int method); -size_t decode_list2path(const char *b, size_t n, char *pathname); +size_t decode_list2path(const char *b, size_t n, char *pathname, size_t maxlen); size_t bencode_buf(const char *str,size_t len,FILE *fp); size_t bencode_str(const char *str, FILE *fp); size_t bencode_int(const uint64_t integer, FILE *fp); diff -urNad ctorrent-1.3.4+dnh3.3.2~/btfiles.cpp ctorrent-1.3.4+dnh3.3.2/btfiles.cpp --- ctorrent-1.3.4+dnh3.3.2~/btfiles.cpp 2008-06-15 02:00:19.000000000 +0200 +++ ctorrent-1.3.4+dnh3.3.2/btfiles.cpp 2009-07-13 00:02:32.000000000 +0200 @@ -353,6 +353,7 @@ }else{ CONSOLE.Warning(1, "error, \"%s\" is not a directory or regular file.", fn); + errno = EINVAL; closedir(dp); return -1; } @@ -444,12 +445,13 @@ }else{ CONSOLE.Warning(1, "error, \"%s\" is not a directory or regular file.", pathname); + errno = EINVAL; return -1; } return 0; } -int btFiles::BuildFromMI(const char *metabuf, const size_t metabuf_len, const char *saveas) +int btFiles::BuildFromMI(const char *metabuf, const size_t metabuf_len, const char *saveas, bool exam_only) { char path[MAXPATHLEN]; const char *s, *p; @@ -464,6 +466,13 @@ memcpy(path, s, q); path[q] = '\0'; + if( !exam_only && + (PATH_SP == path[0] || '/' == path[0] || 0==strncmp("..", path, 2)) ){ + CONSOLE.Warning(1, "error, unsafe path \"%s\" in torrent data", path); + errno = EINVAL; + return -1; + } + r = decode_query(metabuf, metabuf_len, "info|files", (const char**)0, &q, (int64_t*)0, QUERY_POS); @@ -529,7 +538,20 @@ r = decode_query(p, dl, "path", (const char **)0, &n, (int64_t*)0, QUERY_POS); if( !r ) return -1; - if(!decode_list2path(p + r, n, path)) return -1; + if(!decode_list2path(p + r, n, path, sizeof(path))){ + CONSOLE.Warning(1, "error, invalid path in torrent data for file %lu", + (unsigned long)m_nfiles); + delete pbf; + errno = EINVAL; + return -1; + } + if( !exam_only && (PATH_SP == path[0] || '/' == path[0] || 0==strncmp("..", path, 2)) ){ + CONSOLE.Warning(1, "error, unsafe path \"%s\" in torrent data for file %lu", + path, (unsigned long)m_nfiles); + delete pbf; + errno = EINVAL; + return -1; + } int f_conv; char *tmpfn = new char[strlen(path)*2+5]; @@ -632,22 +654,26 @@ if( !_btf_creat_by_path(fn,pbt->bf_length)){ CONSOLE.Warning(1, "error, create file \"%s\" failed: %s", fn, strerror(errno)); + errno = EINVAL; return -1; } }else{ CONSOLE.Warning(1, "error, couldn't create file \"%s\": %s", fn, strerror(errno)); + errno = EINVAL; return -1; } }else{ if( !check_exist) check_exist = 1; if( !(S_IFREG & sb.st_mode) ){ CONSOLE.Warning(1, "error, file \"%s\" is not a regular file.", fn); + errno = EINVAL; return -1; } if(sb.st_size != pbt->bf_length){ CONSOLE.Warning(1,"error, file \"%s\" size doesn't match; must be %llu", fn, (unsigned long long)(pbt->bf_length)); + errno = EINVAL; return -1; } } @@ -656,6 +682,7 @@ m_file = new BTFILE *[m_nfiles]; if( !m_file ){ CONSOLE.Warning(1, "error, failed to allocate memory for files list"); + errno = ENOMEM; return -1; } for( pbt = m_btfhead; pbt; pbt = pbt->bf_next ){ @@ -694,6 +721,31 @@ size_t btFiles::FillMetaInfo(FILE* fp) { BTFILE *p; + const char *refname, *s; + char path[MAXPATHLEN]; + + refname = m_directory ? m_directory : m_btfhead->bf_filename; + while( (s = strchr(refname, PATH_SP)) && *(s + 1) ){ + refname = s + 1; + } + if( m_directory && '.' == *refname ){ + char dir[MAXPATHLEN]; + if( getcwd(dir, sizeof(dir)) && 0==chdir(m_directory) ){ + if( getcwd(path, sizeof(path)) ){ + refname = path; + while( (s = strchr(refname, PATH_SP)) && *(s + 1) ){ + refname = s + 1; + } + } + chdir(dir); + } + } + if( '/' == *refname || '\0' == *refname || '.' == *refname ){ + CONSOLE.Warning(1, "error, inappropriate file or directory name \"%s\"", + m_directory ? m_directory : m_btfhead->bf_filename); + errno = EINVAL; + return 0; + } if( m_directory ){ // multi files if( bencode_str("files", fp) != 1 ) return 0; @@ -715,16 +767,16 @@ if(bencode_end_dict_list(fp) != 1 ) return 0; if(bencode_str("name", fp) != 1) return 0; - return bencode_str(m_directory, fp); + return bencode_str(refname, fp); }else{ if( bencode_str("length", fp) != 1 ) return 0; if( bencode_int(m_btfhead->bf_length, fp) != 1) return 0; if( bencode_str("name", fp) != 1 ) return 0; - return bencode_str(m_btfhead->bf_filename, fp); + return bencode_str(refname, fp); } - return 1; + return 0; } diff -urNad ctorrent-1.3.4+dnh3.3.2~/btfiles.h ctorrent-1.3.4+dnh3.3.2/btfiles.h --- ctorrent-1.3.4+dnh3.3.2~/btfiles.h 2008-06-15 02:00:19.000000000 +0200 +++ ctorrent-1.3.4+dnh3.3.2/btfiles.h 2009-07-13 00:04:55.000000000 +0200 @@ -61,7 +61,7 @@ int BuildFromFS(const char *pathname); int BuildFromMI(const char *metabuf, const size_t metabuf_len, - const char *saveas); + const char *saveas, bool exam_only); char *GetDataName() const; uint64_t GetTotalLength() const { return m_total_files_length; } debian/patches/FTBFS-fix.diff0000644000000000000000000000126311742554606013113 0ustar Description: added a false instruction into line 360 preventing a FTBFS after applying cve-security-fix patch. (which contains NMU changes) Author: Andrea Veri diff -urNad ctorrent-1.3.4+dnh3.3.2~/btcontent.cpp ctorrent-1.3.4+dnh3.3.2/btcontent.cpp --- ctorrent-1.3.4+dnh3.3.2~/btcontent.cpp 2008-06-15 02:00:19.000000000 +0200 +++ ctorrent-1.3.4+dnh3.3.2/btcontent.cpp 2009-07-13 00:15:14.000000000 +0200 @@ -357,7 +357,7 @@ cfg_req_queue_length = (m_piece_length / cfg_req_slice_size) * 2 - 1; - if( m_btfiles.BuildFromMI(b, flen, saveas) < 0 ) ERR_RETURN(); + if( m_btfiles.BuildFromMI(b, flen, saveas, 0) < 0 ) ERR_RETURN(); delete []b; b = (char *)0; debian/rules0000755000000000000000000000022411742556752010262 0ustar #!/usr/bin/make -f override_dh_auto_configure: ./configure --prefix=/usr $(shell dpkg-buildflags --export=configure) --with-ssl=no %: dh $@ debian/copyright0000644000000000000000000000214311742557726011141 0ustar Format: http://dep.debian.net/deps/dep5 Upstream-Name: ctorrent Source: http://www.rahul.net/dholmes/ctorrent/ctorrent-1.3.4-dnh3.tar.gz Files: * Copyright: 2004 YuHong 2007, 2008 Dennis Holmes License: GPL-2.0+ Files: debian/* Copyright: 2012 Andrea Veri License: GPL-2.0+ License: GPL-2.0+ This package 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 package 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 program. If not, see . 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/docs0000644000000000000000000000002011742555523010042 0ustar README-DNH.TXT