--- azureus-4.2.0.8.orig/debian/azureus.desktop +++ azureus-4.2.0.8/debian/azureus.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Categories=Java;Network;FileTransfer;P2P +Comment=peer-to-peer file distribution tool +Exec=azureus %f +GenericName=BitTorrent client +Icon=Azureus +MimeType=application/x-bittorrent +Name=Vuze +Type=Application --- azureus-4.2.0.8.orig/debian/copyright +++ azureus-4.2.0.8/debian/copyright @@ -0,0 +1,379 @@ +Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=59 +Name: Azureus +Maintainer: Olivier Chalouhi +Source: http://azureus.sourceforge.net + +Files: com/aelitis/* +Copyright: 2008-2009, Vuze Inc + 2003-2009, Aelitis +License: GPL-2+ + +Files: com/aelitis/azureus/ui/swt/Sleak.java +Copyright: 2003-2006, Aelitis + 2000-2002, IBM Corporation +License: GPL-2+ + +Files: com/aelitis/azureus/core/peermanager/utils/BTPeerIDByteDecoder.java +Copyright: 2003-2006, Aelitis + 2002-2004, Alon Rohter +License: GPL-2+ + +Files: org/gudy/azureus2/* +Copyright: 2008-2009, Vuze Inc + 2003-2009, Aelitis +License: GPL-2 + +Files: org/gudy/azureus2/core3/util/BrokenMd5Hasher.java +Copyright: 2005, jMuleGroup +License: GPL-2 + +Files: edu/harvard/* +Copyright: 2006-2009, Maykel Parker + 2006-2009, Jonathan Ledlie +License: GPL-2 + +Files: org/json/simple/* +Copyright: 2006-2009, Fang Yidong +License: LGPL-2.1 + +Files: org/apache/commons/lang/* +Copyright: 2002-2004, The Apache Software Foundation +License: Apache-2.0 + +Files: org/bouncycastle/* +Copyright: 2000, The Legion Of The Bouncy Castle +License: other + +Files: org/pf/* +Copyright: 1999-2003, Manfred Duchrow +License: CPL-1.0 + +Files: debian/* +Copyright: 2009, Adrian Perez + 2005-2009, Shaun Jackman +License: GPL-2+ + + +License: GPL-2+ + + 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 package. 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. + + +License: 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. + + 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 ( see the LICENSE file ). + + 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. + + +License: LGPL-2.1 + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . + + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/LGPL-2.1. + + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + On Debian systems, the complete text of the Apache License, Version 2.0 + can be found in /usr/share/common-licenses/Apache-2.0. + + +License: other + + The Bouncy Castle License + + Copyright (c) 2000 The Legion Of The Bouncy Castle + (http://www.bouncycastle.org) + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License: CPL-1.0 + + Licensed under the terms of the Common Public License - v1.0. + The complete text of the CPL can be found below or at + http://www.programmers-friend.org/cpl-v10.html + + Common Public License - v 1.0 + + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC + LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM + CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + + 1. DEFINITIONS + + "Contribution" means: + + a) in the case of the initial Contributor, the initial code and + documentation distributed under this Agreement, and b) in the case of + each subsequent Contributor: + + i) changes to the Program, and + + ii) additions to the Program; + + where such changes and/or additions to the Program originate from and are + distributed by that particular Contributor. A Contribution 'originates' + from a Contributor if it was added to the Program by such Contributor + itself or anyone acting on such Contributor's behalf. Contributions do + not include additions to the Program which: (i) are separate modules of + software distributed in conjunction with the Program under their own + license agreement, and (ii) are not derivative works of the Program. + + "Contributor" means any person or entity that distributes the Program. + + "Licensed Patents " mean patent claims licensable by a Contributor which are + necessarily infringed by the use or sale of its Contribution alone or when + combined with the Program. + + "Program" means the Contributions distributed in accordance with this + Agreement. + + "Recipient" means anyone who receives the Program under this Agreement, + including all Contributors. + + 2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free copyright license to + reproduce, prepare derivative works of, publicly display, publicly + perform, distribute and sublicense the Contribution of such Contributor, + if any, and such derivative works, in source code and object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free patent license under + Licensed Patents to make, use, sell, offer to sell, import and otherwise + transfer the Contribution of such Contributor, if any, in source code and + object code form. This patent license shall apply to the combination of + the Contribution and the Program if, at the time the Contribution is + added by the Contributor, such addition of the Contribution causes such + combination to be covered by the Licensed Patents. The patent license + shall not apply to any other combinations which include the + Contribution. No hardware per se is licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the patent + or other intellectual property rights of any other entity. Each + Contributor disclaims any liability to Recipient for claims brought by + any other entity based on infringement of intellectual property rights or + otherwise. As a condition to exercising the rights and licenses granted + hereunder, each Recipient hereby assumes sole responsibility to secure + any other intellectual property rights needed, if any. For example, if a + third party patent license is required to allow Recipient to distribute + the Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + + d) Each Contributor represents that to its knowledge it has sufficient + copyright rights in its Contribution, if any, to grant the copyright + license set forth in this Agreement. + + 3. REQUIREMENTS + + A Contributor may choose to distribute the Program in object code form under + its own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + + b) its license agreement: + + i) effectively disclaims on behalf of all Contributors all warranties and + conditions, express and implied, including warranties or conditions of + title and non-infringement, and implied warranties or conditions of + merchantability and fitness for a particular purpose; + + ii) effectively excludes on behalf of all Contributors all liability for + damages, including direct, indirect, special, incidental and + consequential damages, such as lost profits; + + iii) states that any provisions which differ from this Agreement are + offered by that Contributor alone and not by any other party; and + + iv) states that source code for the Program is available from such + Contributor, and informs licensees how to obtain it in a reasonable + manner on or through a medium customarily used for software exchange. + + When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + + b) a copy of this Agreement must be included with each copy of the + Program. + + Contributors may not remove or alter any copyright notices contained within the + Program. + + Each Contributor must identify itself as the originator of its Contribution, if + any, in a manner that reasonably allows subsequent Recipients to identify the + originator of the Contribution. + + 4. COMMERCIAL DISTRIBUTION + + Commercial distributors of software may accept certain responsibilities with + respect to end users, business partners and the like. While this license is + intended to facilitate the commercial use of the Program, the Contributor who + includes the Program in a commercial product offering should do so in a manner + which does not create potential liability for other Contributors. Therefore, if + a Contributor includes the Program in a commercial product offering, such + Contributor ("Commercial Contributor") hereby agrees to defend and indemnify + every other Contributor ("Indemnified Contributor") against any losses, damages + and costs (collectively "Losses") arising from claims, lawsuits and other legal + actions brought by a third party against the Indemnified Contributor to the + extent caused by the acts or omissions of such Commercial Contributor in + connection with its distribution of the Program in a commercial product + offering. The obligations in this section do not apply to any claims or Losses + relating to any actual or alleged intellectual property infringement. In order + to qualify, an Indemnified Contributor must: a) promptly notify the Commercial + Contributor in writing of such claim, and b) allow the Commercial Contributor + to control, and cooperate with the Commercial Contributor in, the defense and + any related settlement negotiations. The Indemnified Contributor may + participate in any such claim at its own expense. + + For example, a Contributor might include the Program in a commercial product + offering, Product X. That Contributor is then a Commercial Contributor. If that + Commercial Contributor then makes performance claims, or offers warranties + related to Product X, those performance claims and warranties are such + Commercial Contributor's responsibility alone. Under this section, the + Commercial Contributor would have to defend claims against the other + Contributors related to those performance claims and warranties, and if a court + requires any other Contributor to pay any damages as a result, the Commercial + Contributor must pay those damages. + + 5. NO WARRANTY + + EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR + IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, + NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each + Recipient is solely responsible for determining the appropriateness of using + and distributing the Program and assumes all risks associated with its exercise + of rights under this Agreement, including but not limited to the risks and + costs of program errors, compliance with applicable laws, damage to or loss of + data, programs or equipment, and unavailability or interruption of operations. + + 6. DISCLAIMER OF LIABILITY + + EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY + CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST + PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS + GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 7. GENERAL + + If any provision of this Agreement is invalid or unenforceable under applicable + law, it shall not affect the validity or enforceability of the remainder of the + terms of this Agreement, and without further action by the parties hereto, such + provision shall be reformed to the minimum extent necessary to make such + provision valid and enforceable. + + If Recipient institutes patent litigation against a Contributor with respect to + a patent applicable to software (including a cross-claim or counterclaim in a + lawsuit), then any patent licenses granted by that Contributor to such + Recipient under this Agreement shall terminate as of the date such litigation + is filed. In addition, if Recipient institutes patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging that the + Program itself (excluding combinations of the Program with other software or + hardware) infringes such Recipient's patent(s), then such Recipient's rights + granted under Section 2(b) shall terminate as of the date such litigation is + filed. + + All Recipient's rights under this Agreement shall terminate if it fails to + comply with any of the material terms or conditions of this Agreement and does + not cure such failure in a reasonable period of time after becoming aware of + such noncompliance. If all Recipient's rights under this Agreement terminate, + Recipient agrees to cease use and distribution of the Program as soon as + reasonably practicable. However, Recipient's obligations under this Agreement + and any licenses granted by Recipient relating to the Program shall continue + and survive. + + Everyone is permitted to copy and distribute copies of this Agreement, but in + order to avoid inconsistency the Agreement is copyrighted and may only be + modified in the following manner. The Agreement Steward reserves the right to + publish new versions (including revisions) of this Agreement from time to + time. No one other than the Agreement Steward has the right to modify this + Agreement. IBM is the initial Agreement Steward. IBM may assign the + responsibility to serve as the Agreement Steward to a suitable separate + entity. Each new version of the Agreement will be given a distinguishing + version number. The Program (including Contributions) may always be distributed + subject to the version of the Agreement under which it was received. In + addition, after a new version of the Agreement is published, Contributor may + elect to distribute the Program (including its Contributions) under the new + version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient + receives no rights or licenses to the intellectual property of any Contributor + under this Agreement, whether expressly, by implication, estoppel or + otherwise. All rights in the Program not expressly granted under this Agreement + are reserved. + + This Agreement is governed by the laws of the State of New York and the + intellectual property laws of the United States of America. No party to this + Agreement will bring a legal action under this Agreement more than one year + after the cause of action arose. Each party waives its rights to a jury trial + in any resulting litigation. --- azureus-4.2.0.8.orig/debian/azureus.xpm +++ azureus-4.2.0.8/debian/azureus.xpm @@ -0,0 +1,329 @@ +/* XPM */ +static char * azureus_xpm[] = { +"32 32 294 2", +" c None", +". c #C2CFDD", +"+ c #B5CEE5", +"@ c #94BBDB", +"# c #72A8D3", +"$ c #6FA8D5", +"% c #A0C6E2", +"& c #6C99CA", +"* c #3E7DBD", +"= c #2571B7", +"- c #2274BB", +"; c #2379BF", +"> c #237CC1", +", c #2380C4", +"' c #84AFCE", +") c #ACC3DD", +"! c #3873B8", +"~ c #2A6CB4", +"{ c #2870B9", +"] c #2974BB", +"^ c #2A78BE", +"/ c #297CC0", +"( c #2980C3", +"_ c #2883C6", +": c #1D74BC", +"< c #D1D7DF", +"[ c #5282BE", +"} c #2766B1", +"| c #2B6DB5", +"1 c #2871B9", +"2 c #2A74BB", +"3 c #2880C3", +"4 c #2983C5", +"5 c #2287CA", +"6 c #637AA7", +"7 c #B7CAE3", +"8 c #1D5CAB", +"9 c #2A69B3", +"0 c #258ACD", +"a c #416587", +"b c #6990C5", +"c c #2561AE", +"d c #2B69B3", +"e c #2489CB", +"f c #587C9B", +"g c #2D64AE", +"h c #2964AF", +"i c #2286C9", +"j c #7998B2", +"k c #B9CAE0", +"l c #235CAA", +"m c #2A65B0", +"n c #2286CB", +"o c #798CA0", +"p c #6086BF", +"q c #2960AC", +"r c #2B65B0", +"s c #2983C6", +"t c #2180C2", +"u c #6C7485", +"v c #A5B7D4", +"w c #3162AD", +"x c #2B62AD", +"y c #2582C6", +"z c #3F80B1", +"A c #4793BF", +"B c #8EA1CC", +"C c #315FAB", +"D c #2B5EAB", +"E c #2A62AE", +"F c #2B81C1", +"G c #B9D1E2", +"H c #234990", +"I c #2851A1", +"J c #2752A4", +"K c #2C5AA8", +"L c #2C5EAB", +"M c #267EC0", +"N c #6199C3", +"O c #2B4EA0", +"P c #2D52A3", +"Q c #2B57A5", +"R c #2B5BA8", +"S c #267EC1", +"T c #669FC9", +"U c #1F2532", +"V c #242B3B", +"W c #2A4B98", +"X c #2C53A3", +"Y c #2C5BA8", +"Z c #5096C9", +"` c #E7EDF2", +" . c #2C4089", +".. c #213982", +"+. c #133174", +"@. c #294D9D", +"#. c #2C52A3", +"$. c #2A78BD", +"%. c #287CC1", +"&. c #287FC2", +"*. c #2C78BA", +"=. c #313438", +"-. c #D3E9F3", +";. c #293B8A", +">. c #2D4398", +",. c #2D489C", +"'. c #2B4B9E", +"). c #2C4FA0", +"!. c #2B5DAA", +"~. c #2A74BA", +"{. c #2879BF", +"]. c #256499", +"^. c #287CBC", +"/. c #277DC4", +"(. c #5C78AC", +"_. c #8DA4C4", +":. c #1F93D1", +"<. c #61B6E0", +"[. c #2C3F94", +"}. c #2E4498", +"|. c #2D489B", +"1. c #2D4C9E", +"2. c #2D4FA0", +"3. c #2B56A5", +"4. c #2B5AA7", +"5. c #2577BD", +"6. c #212630", +"7. c #1F3A4E", +"8. c #2B86C7", +"9. c #2253AB", +"0. c #BDBECE", +"a. c #447AB7", +"b. c #3490C3", +"c. c #283786", +"d. c #2D4095", +"e. c #2C4B9E", +"f. c #2A76BE", +"g. c #22629C", +"h. c #1B1D22", +"i. c #1B1C1C", +"j. c #2C6790", +"k. c #2885CF", +"l. c #2B4098", +"m. c #7C7A81", +"n. c #74828A", +"o. c #2E6F94", +"p. c #738289", +"q. c #BBB8B4", +"r. c #C9C8BB", +"s. c #B9AFA6", +"t. c #2B3A8D", +"u. c #2E4096", +"v. c #2971B9", +"w. c #2772B9", +"x. c #244364", +"y. c #181819", +"z. c #171716", +"A. c #1E3240", +"B. c #277FB9", +"C. c #237FC6", +"D. c #165197", +"E. c #287BAD", +"F. c #2E4C62", +"G. c #43403F", +"H. c #484268", +"I. c #202D9C", +"J. c #3480BD", +"K. c #2C368E", +"L. c #2E3D93", +"M. c #2D4096", +"N. c #2C4799", +"O. c #2870B8", +"P. c #26629E", +"Q. c #1E3144", +"R. c #303B4E", +"S. c #373F51", +"T. c #2F4761", +"U. c #287AB3", +"V. c #278BCB", +"W. c #2791CF", +"X. c #248CC8", +"Y. c #31678D", +"Z. c #356685", +"`. c #327BA8", +" + c #3CA2CD", +".+ c #48AFDA", +"++ c #2E388F", +"@+ c #2D3D93", +"#+ c #2A6CB5", +"$+ c #286EB5", +"%+ c #243D59", +"&+ c #1E3143", +"*+ c #1D496B", +"=+ c #1E4B6C", +"-+ c #2D658C", +";+ c #4080AB", +">+ c #4791C0", +",+ c #4393C3", +"'+ c #4896C3", +")+ c #5EA3C9", +"!+ c #91B8CC", +"~+ c #B8B5B3", +"{+ c #2B368A", +"]+ c #2D4B9E", +"^+ c #2A6AB3", +"/+ c #2C6EB4", +"(+ c #223E5C", +"_+ c #191818", +":+ c #151413", +"<+ c #1B1816", +"[+ c #484644", +"}+ c #908D8B", +"|+ c #B0AEAD", +"1+ c #ECE9E7", +"2+ c #212F71", +"3+ c #273D89", +"4+ c #2C479B", +"5+ c #2C4B9D", +"6+ c #2B66B1", +"7+ c #245FAE", +"8+ c #15356A", +"9+ c #282930", +"0+ c #181717", +"a+ c #191919", +"b+ c #505050", +"c+ c #939393", +"d+ c #000000", +"e+ c #294494", +"f+ c #2961AD", +"g+ c #2A6BB4", +"h+ c #1B419F", +"i+ c #040C16", +"j+ c #212530", +"k+ c #2A2A2E", +"l+ c #6E6E6E", +"m+ c #27438D", +"n+ c #2B59A6", +"o+ c #2B5DA9", +"p+ c #2B70B7", +"q+ c #276EB5", +"r+ c #1B4E82", +"s+ c #1D3B68", +"t+ c #343949", +"u+ c #7A7978", +"v+ c #14244C", +"w+ c #294E9E", +"x+ c #2C52A2", +"y+ c #2A77BF", +"z+ c #2574BD", +"A+ c #184C8A", +"B+ c #39393E", +"C+ c #737372", +"D+ c #929190", +"E+ c #9E9D9D", +"F+ c #254489", +"G+ c #2D52A2", +"H+ c #2A79BE", +"I+ c #267CC2", +"J+ c #2A3B52", +"K+ c #25201E", +"L+ c #3D4252", +"M+ c #4B4D5A", +"N+ c #BCBBBB", +"O+ c #254F9B", +"P+ c #2D57A6", +"Q+ c #287EC4", +"R+ c #2F587F", +"S+ c #33658F", +"T+ c #2C87C5", +"U+ c #91AABA", +"V+ c #44639D", +"W+ c #2E5CA7", +"X+ c #2A65B1", +"Y+ c #2973B9", +"Z+ c #286DAA", +"`+ c #2D72AA", +" @ c #4C8FC2", +".@ c #81B2D4", +"+@ c #2C446A", +"@@ c #2B4E84", +"#@ c #2E5B98", +"$@ c #3165A7", +"%@ c #2B69B1", +"&@ c #296CAF", +"*@ c #2C4469", +"=@ c #1E395D", +"-@ c #35414F", +";@ c #A3A4A3", +">@ c #193C63", +",@ c #225E99", +"'@ c #27547F", +")@ c #1A2E45", +"!@ c #1F2C41", +"~@ c #47586C", +" ", +" . + @ # $ % ", +" & * = - ; > , ' ", +" ) ! ~ { ] ^ / ( _ : ", +" < [ } | 1 2 ^ / 3 4 5 6 ", +" 7 8 9 | 1 2 ^ / ( 4 0 a ", +" b c d | 1 2 ^ / ( 4 e f ", +" g h d | 1 2 ^ / ( 4 i j ", +" k l m d | 1 2 ^ / 3 4 n o ", +" p q r 9 | 1 2 ^ / ( s t u ", +" v w x r d | 1 2 ^ / ( y z ", +" A B C D E r d | 1 2 ^ / 3 F G ", +" H I J K L E r d | 1 2 ^ / M N ", +" O P Q R L E r d | 1 2 ^ / S T ", +" U V W X Q Y L E r d | 1 2 ^ / 3 Z ` ", +" ...+.@.#.Q Y L E r d | 1 2 $.%.&.*.=. -. ", +" ;.>.,.'.).X Q Y !.E r d | 1 ~.{.].^./.(. _.:.<. ", +" [.}.|.1.2.X 3.4.!.E r d | 1 2 5.6.7.8.9.0. a.b. ", +" c.d.}.|.e.2.X Q Y L E r d | 1 f.g.h.i.j.k.l.m.n.o.p.q.r.s.", +" t.u.}.|.e.2.X Q Y L E r d | v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.", +" K.L.M.}.N.e.2.X Q Y L E m d | O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+", +" ++@+u.}.|.e.2.X Q Y L E r 9 #+$+%+&+*+=+-+;+>+,+'+)+!+ ~+ ", +" {+@+M.}.|.]+).X Q Y L E r ^+/+(+_+:+<+[+}+|+ 1+ ", +" 2+3+4+5+2.X Q Y L E 6+7+8+9+0+a+b+c+d+ ", +" e+5+2.X Q 4.!.f+m g+h+i+j+k+l+d+d+ ", +" m+).X Q n+o+E r 9 p+q+r+s+t+u+ ", +" v+w+x+Q Y !.E m d | v.y+z+A+B+C+D+E+ ", +" F+G+3.Y L E r d | 1 ~.H+I+J+K+L+M+N+ ", +" O+P+R L E r 9 | 1 2 $.Q+R+S+T+U+ ", +" V+W+D E X+9 | 1 Y+Z+`+ @.@ ", +" +@@@#@$@%@| &@*@=@-@;@ ", +" >@,@'@)@!@~@ "}; --- azureus-4.2.0.8.orig/debian/NEWS.Debian +++ azureus-4.2.0.8/debian/NEWS.Debian @@ -0,0 +1,16 @@ +azureus (4.2.0.4-1) unstable; urgency=low + + * New upstream release. + * This release is the result of a major packaging rewrite as part of + package adoption. + * Important changes: + - Most user-visible bugs fixed. + - Add multiuser support: allow multiple instances running in the + same machine. + - Fixes "a malicious user could control another user's instance". + - Handle file associations and magnet URL links. + - Refer to Vuze in menus. + - No updates that break sync with the Debian package manager. + - Launcher automatically detects installed JVM and sets classpath. + + -- Adrian Perez Wed, 12 Aug 2009 11:20:03 -0400 --- azureus-4.2.0.8.orig/debian/rules +++ azureus-4.2.0.8/debian/rules @@ -0,0 +1,21 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +include /usr/share/cdbs/1/rules/patchsys-quilt.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/ant.mk +-include /usr/share/topgit/tg2quilt.mk + +JAVA_HOME := /usr/lib/jvm/java-6-openjdk +DEB_ANT_BUILDFILE := debian/build.xml +DEB_ANT_BUILD_TARGET := package +DEB_JARS := log4j commons-cli swt junit +ANT_OPTS := -Xmx512m +PATCHES_DIR := debian/patches/ + +build/azureus:: + perl -ne 'print(unpack "u", $$_)' debian/Azureus.png.uu > \ + debian/Azureus.png + perl -ne 'print(unpack "u", $$_)' debian/Azureus.torrent.png.uu > \ + debian/Azureus.torrent.png + --- azureus-4.2.0.8.orig/debian/vuze.links +++ azureus-4.2.0.8/debian/vuze.links @@ -0,0 +1,2 @@ +usr/share/man/man1/azureus.1.gz usr/share/man/man1/vuze.1.gz +usr/bin/azureus usr/bin/vuze --- azureus-4.2.0.8.orig/debian/changelog +++ azureus-4.2.0.8/debian/changelog @@ -0,0 +1,338 @@ +azureus (4.2.0.8-1) unstable; urgency=low + + * New upstream release. + * debian/control: + - Update Standards-Version to 3.8.3. + - Add Vcs-* fields for Git repository. + * debian/copyright: Minor updates. + * debian/patches: + - Reorganize patches as per-feature patches. + - Disable authentication on SpeedTest. Thanks: upstream-dev Scott Wolchok. + - Disable Core Update Patcher updates. + * debian/rules: + - Optional use of TopGit in makefile. + - Developers recommend 512MB for building. Updated ANT_OPTS. + + -- Adrian Perez Mon, 31 Aug 2009 18:24:02 -0400 + +azureus (4.2.0.4-1) unstable; urgency=low + + * New upstream release. + * debian/control: + - Update maintainer. + - Update Standards-Version to 3.8.2. + - Add Homepage field. + - Update Vuze description to reflect some of it's new features and + the package role. + - Build-Depends on ant, cdbs, quilt, debhelper (>= 7.0). + - Build-Depends-Indep on openjdk-6-jre | sun-java5-jre | + sun-java6-jre. Closes: #515015, #398014. + - Drop fastjar build dependency. + - Add Vcs-Svn and Vcs-Browser fields. + * debian/rules: + - Use CDBS build system. + - ANT_OPTS=-Xmx256m. Closes: #516059, #409952. + * debian/patches: + - fix-chars-encoding.patch: Fix encoding in characters translation. + - fix-platform-code: Remove Win32 and MacOS-X imports and logic. + - fix-messagetext-dont-use-privileges: Don't use AccessController. + Thanks to Shaun Jackman. + - multiuser.patch: Import multiuser patch. Closes: #329018. + Thanks to Stefano Maioli. + - Disable component update patches: Closes: #455351. + + updater-dont-initialize-swt-updatechecker.patch: + Prevent Azureus' updater from upgrading SWT libraries. + + updater-dont-register-core-updatechecker.patch: + Prevent Azureus' updater from upgrading the core version of Azureus. + - Add patch descriptions, with DEP-3 compliance. + * debian/copyright: + - Change to machine-readable format. + - Notice package adoption. + - Update copyright information and holders. + * debian/watch: Update file. + * debian/compat: Bump compatibility to 7. + * debian/docs: Remove reference to README.txt. + * debian/azureus.desktop: + - Fix handling file associations. Closes: #491624. + Thanks to Stefano Maioli. + * debian/vuze.links: usr/bin/vuze is now a symbolic link to azureus. + * Import README.multiuser, which documents the multiuser patch. + * Use quilt patch system and add README.source documenting it. + * Update azureus and link vuze manpages. + * Create new PNG files for Vuze and Vuze torrents, uuencoded in debian/. + * Remove source.lintian-overrides, no longer necessary. + * Import gconf schema for magnet URLs. Closes: #412213. + Thanks to Stefano Maioli. + * Add debian/README.Debian: describe the user interface override and the + update patches. + * Add debian/NEWS.Debian. + * Remove debian/dirs since it's unnecessary. + * Use java-wrappers as launcher. Thanks to Onkar Shinde for the suggestion. + * debian/wrappers/azureus: + - Detect installed JVM and set classpath. + - User interface override applies only when vuze is not installed. + + -- Adrian Perez Wed, 12 Aug 2009 11:35:24 -0400 + +azureus (3.1.1.0-4) unstable; urgency=medium + + * New executable: vuze. The azureus executable overrides the user's + configured preference and starts the classic interface. The vuze + executable starts the interface specified by the user's configured + preference. Closes: #509878. + * Azureus recommends Vuze. + * Modified the vuze description to describe its social-networking features. + Closes: #509881. + * Update the watch file. + * Acknowledge NMU. Closes: #495514. Thanks to Sebastien. + + -- Shaun Jackman Thu, 01 Jan 2009 13:13:21 -0800 + +azureus (3.1.1.0-3.1) unstable; urgency=low + + * Tentative NMU. + * Build with openjdk-6-jdk by default (but allow for user rebuilds + using any JDK), and remove azureus-gcj altogether (Closes: #495514). + * Add a lintian override to signify that java and ant are indeed needed + as Build-Depends-Indep even though we do not build any arch-dependent + binary packages. + * In /usr/bin/azureus, enforce use of the JRE specified in Depends:. + + -- Sebastien Delafond Mon, 18 Aug 2008 19:36:05 -0700 + +azureus (3.1.1.0-3) unstable; urgency=medium + + * Remove the four non-latin characters in DateParserRegex.java. + Closes: #492800. Thanks to Jurij Smakov. + + -- Shaun Jackman Mon, 11 Aug 2008 08:10:34 -0700 + +azureus (3.1.1.0-2) unstable; urgency=medium + + * Move all Build-Depends-Indep to Build-Depends to build the native binary + using GCJ. Closes: #490025. + * Add libswt-cairo-gtk-3.4-jni to the dependencies of vuze. + Closes: #491201. + + -- Shaun Jackman Sun, 27 Jul 2008 23:12:11 -0700 + +azureus (3.1.1.0-1) unstable; urgency=low + + * New upstream release. Closes: #487512. + * Enable plugins. Closes: #481011, #452321, #452326. + * Build using ant. + * Remove the dependency on libseda-java. + * Update the watch file. + * Update the policy to version 3.8.0.1. No changes were necessary. + * Use System.getProperty rather than sun.security.action.GetPropertyAction. + + -- Shaun Jackman Wed, 16 Jul 2008 22:29:18 -0700 + +azureus (3.0.5.0-2) unstable; urgency=low + + * Depend on libswt-gtk-3.4-java instead of libswt-gtk-3.3-java. + Closes: #488348. + + -- Shaun Jackman Sat, 28 Jun 2008 15:00:24 -0700 + +azureus (3.0.5.0-1) unstable; urgency=low + + * New upstream release. Closes: #470235. + * New package, vuze, which depends on azureus as well as the necessary + gnome and mozilla JNI libraries. Closes: #469590. + * Do not create an empty ~/plugins directory. Closes: #471878. + * Update the policy to version 3.7.3.0. No changes were necessary. + + -- Shaun Jackman Fri, 21 Mar 2008 09:02:34 -0700 + +azureus (3.0.4.2-1) unstable; urgency=low + + * New upstream release. Closes: #458263. + * Do not changing the current working directory. Closes: #459857. + + -- Shaun Jackman Sun, 10 Feb 2008 18:58:49 -0800 + +azureus (3.0.3.4-3) unstable; urgency=low + + * Set the environment variable MOZILLA_FIVE_HOME to /usr/lib/xulrunner. + Closes: #452322. + + -- Shaun Jackman Thu, 10 Jan 2008 23:40:35 -0800 + +azureus (3.0.3.4-2) unstable; urgency=low + + * The shell script should use SWT 3.3. Closes: #448253. + + -- Shaun Jackman Sun, 4 Nov 2007 12:59:36 -0700 + +azureus (3.0.3.4-1) unstable; urgency=low + + * New upstream release. Closes: #443634. + * Move the Debian menu entry to the new "Applications/Network/File Transfer" + section. + * Do not check for SWT updates. Closes: #447679. + + -- Shaun Jackman Tue, 16 Oct 2007 10:31:33 -0700 + +azureus (2.5.0.4-1) unstable; urgency=low + + * New upstream release. Closes: #406914. + * Disable auto-update. Closes: #405997. + + -- Shaun Jackman Thu, 5 Jul 2007 11:32:18 -0600 + +azureus (2.5.0.0+0-1) unstable; urgency=medium + + * Bump the upstream version number due to a bug in dak (#232730). + * Launch ui.common instead of ui.swt. Allows using the + --ui=console option. Closes: #367110. + * Add -Xmx1024M to the java command line, which increases the size + of the heap. Closes: #386765. + + -- Shaun Jackman Wed, 22 Nov 2006 13:17:40 -0700 + +azureus (2.5.0.0-2) unstable; urgency=medium + + * Move azureus to main. It runs very well now using java-gcj-compat. + Closes: #369376. + * Remove sun-java5-jre from the dependencies. Replace it with + java-gcj-compat. Closes: #365766, #395555. + * Update the policy to version 3.7.2.2. No changes were necessary. + * Minor updates to the manual page. + * Update manifest.mf. + + -- Shaun Jackman Fri, 17 Nov 2006 10:56:04 -0700 + +azureus (2.5.0.0-1) unstable; urgency=low + + * New upstream release. + + -- Shaun Jackman Wed, 23 Aug 2006 16:41:25 -0600 + +azureus (2.4.0.2-4) unstable; urgency=medium + + * Source libswt-3.2-java instead of libswt-3.1-java. Closes: #380721. + + -- Shaun Jackman Tue, 1 Aug 2006 09:42:24 -0600 + +azureus (2.4.0.2-3) unstable; urgency=medium + + * Depend on libswt-gtk-3.2-java instead of libswt-gtk-3.1-java. + Closes: #380312. + + -- Shaun Jackman Sun, 30 Jul 2006 20:26:40 -0600 + +azureus (2.4.0.2-2) unstable; urgency=low + + * Fix `Unable to close Warning window' bug. Closes: #364706. + Thanks to Markus Schaber . + * Build using java-gcj-compat-dev and debhelper 5. + * Replace gij-4.1 dependency with sun-java5-jre or java-gcj-compat. + * Remove sun-j2re1.5 dependency. + * Update Debian policy to version 3.7.2.1. No changes necessary. + + -- Shaun Jackman Sun, 16 Jul 2006 11:34:02 -0600 + +azureus (2.4.0.2-1) unstable; urgency=low + + * New upstream release. Closes: #353241. + * Add swt.jar to the classpath to aid updating SWT. + + -- Shaun Jackman Sun, 16 Apr 2006 14:30:54 -0600 + +azureus (2.3.0.6-4) unstable; urgency=low + + * Add . to the java.library.path. Allows updating to 2.4.0.2. + Closes: #358615. + * Add gij-4.1 to the dependencies as an option. Closes: #349811, #350399. + * Enable the OK button of the donation request. Closes: #346362. + * Update the watch file to version 3. + + -- Shaun Jackman Thu, 23 Mar 2006 15:10:56 -0700 + +azureus (2.3.0.6-3) unstable; urgency=low + + * Use SWT from the updated Azureus. Allows updates to 2.4.0.0. + Closes: #353456. + * Use the directory ~/.azureus if it exists and ~/.Azureus otherwise. + Azureus 2.4.0.0 uses the former, previous versions use the latter. + * Update policy version to 3.6.2.2. No changes necessary. + + -- Shaun Jackman Sat, 18 Feb 2006 10:18:50 -0700 + +azureus (2.3.0.6-2) unstable; urgency=low + + * Add /usr/lib/jni to java.library.path. Closes: #335740, #351750. + + -- Shaun Jackman Tue, 7 Feb 2006 09:50:15 -0700 + +azureus (2.3.0.6-1) unstable; urgency=low + + * New upstream release. + + -- Shaun Jackman Fri, 25 Nov 2005 11:06:17 -0700 + +azureus (2.3.0.4-3) unstable; urgency=low + + * Add a build dependency on fastjar. + + -- Shaun Jackman Tue, 13 Sep 2005 16:07:23 -0600 + +azureus (2.3.0.4-2) unstable; urgency=low + + * Change the build dependency on jikes-classpath to sun-j2sdk1.5. + Closes: #326254. + * Change the dependency on sun-j2sdk1.5 to sun-j2re1.5. + * Recommend java-package. + + -- Shaun Jackman Tue, 13 Sep 2005 10:33:55 -0600 + +azureus (2.3.0.4-1) unstable; urgency=low + + * New upstream release. Closes: #316817. + + -- Shaun Jackman Mon, 4 Jul 2005 10:45:54 -0700 + +azureus (2.3.0.2-1) unstable; urgency=low + + * New upstream release. Closes: #311063. + * Depend on libseda-java. + * Use ~/.Azureus/Azureus2.jar if it exists. + + -- Shaun Jackman Sun, 29 May 2005 12:42:19 -0700 + +azureus (2.3.0.0-3) unstable; urgency=low + + * Call update-desktop-database. Closes: #307332. + + -- Shaun Jackman Thu, 19 May 2005 15:46:07 -0700 + +azureus (2.3.0.0-2) unstable; urgency=low + + * Target Java VM 1.4.2. Closes: #308545. + + -- Shaun Jackman Tue, 10 May 2005 17:38:27 -0700 + +azureus (2.3.0.0-1) unstable; urgency=low + + * New upstream release. Closes: #308392. + * Support all architectures. Closes: #298112. + * Use Debian's SWT. Closes: #298104. + * Exec the Java binary. Closes: #308239. + * Compile Azureus from source. + + -- Shaun Jackman Wed, 4 May 2005 16:19:04 -0700 + +azureus (2.2.0.2-2) unstable; urgency=low + + * Add a mime type to the desktop entry. Closes: #307332. + * Add a menu entry. + + -- Shaun Jackman Tue, 3 May 2005 09:35:01 -0700 + +azureus (2.2.0.2-1) unstable; urgency=low + + * Initial release. Closes: #215127. + + -- Shaun Jackman Mon, 3 Jan 2005 11:05:57 -0800 + --- azureus-4.2.0.8.orig/debian/README.source +++ azureus-4.2.0.8/debian/README.source @@ -0,0 +1,15 @@ +azureus for Debian +------------------ + +The azureus source package uses quilt to apply and remove its patches. Please +refer to /usr/share/doc/quilt/README.source for information about how to use +quilt for source packages. + +The quilt series is generated from the Git repository, using TopGit. +This process is documented in /usr/share/doc/topgit/HOWTO-tg2quilt.gz . + +The azureus package uses the branch layout described in the aforementioned +document. + +-- Adrian Perez Mon, 31 Aug 2009 18:20:35 -0400 + --- azureus-4.2.0.8.orig/debian/vuze.desktop +++ azureus-4.2.0.8/debian/vuze.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Categories=Java;Network;FileTransfer;P2P +Comment=Multimedia P2P Client with HD Network support +Exec=vuze %f +GenericName=Mutimedia BitTorrent client +Icon=/usr/share/pixmaps/Azureus.png +MimeType=application/x-bittorrent +Name=Vuze +Type=Application --- azureus-4.2.0.8.orig/debian/azureus.schemas +++ azureus-4.2.0.8/debian/azureus.schemas @@ -0,0 +1,38 @@ + + + + + /schemas/desktop/gnome/url-handlers/magnet/enabled + /desktop/gnome/url-handlers/magnet/enabled + azureus + bool + true + + Whether the specified command should handle "magnet" URLs + True if the command specified in the "command" key should handle "magnet" URLs. + + + + /schemas/desktop/gnome/url-handlers/magnet/command + /desktop/gnome/url-handlers/magnet/command + azureus + string + azureus "%s" + + The handler for "magnet" URLs + The command used to handle "magnet" URLs, if enabled. + + + + /schemas/desktop/gnome/url-handlers/magnet/needs_terminal + /desktop/gnome/url-handlers/magnet/needs_terminal + azureus + bool + false + + Run the command in a terminal + True if the command used to handle this type of URL should be run in a terminal. + + + + --- azureus-4.2.0.8.orig/debian/watch +++ azureus-4.2.0.8/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/azureus/Vuze_(.+)_source\.zip --- azureus-4.2.0.8.orig/debian/README.multiuser +++ azureus-4.2.0.8/debian/README.multiuser @@ -0,0 +1,87 @@ +Multi-user patch +================ + +This package contains a patch to fix Launchpad bug 222630, +"Azureus always listens on local port without authentication". + + +Rationale +--------- + +Azureus uses tcp port 6880 bound to localhost for instance detection and +command-line parameter passing. + +This implementation has the following drawbacks: + + - It is not possible to run more than one instance per machine. Port 6880 is + hard coded. + + - Any local user can control another user's instance by passing command line + arguments. This is a security vulnerability. + +A single-user system seems to be assumed. This patch restores user's environment +isolation. + + +Design +------ + +Listen port 6880 is substituted by a random port allocated in the ephemeral +range 49152-65535, as per IANA specification. The listener also chooses a random +key that must be sent by connecting clients as authentication. The port number +and the key are then saved in the localport.lock file in the Azureus +configuration directory, which is in the user's home and thus private. + +A new instance checks for the presence of the lock file. If it is found the port +and the key are used to connect to the running instance. + + +Implementation +-------------- + +The patch is designed to have minimum impact on the codebase to facilitate +merging of future upstream versions. + +It is to be noted that there is a certain amount of code duplication in Azureus: +most different UIs have their own code for managing port 6880. + +A new class, org.gudy.azureus2.core3.util.LocalSocketHelper, is introduced. This +class, with its connect() and listen() methods, is a drop-in replacement for any +call to "new Socket(...)" and new "ServerSocket(...)" involving port 6880. Port +selection and authentication are handled automatically. + +The rest of the modifications are mostly one line changes implementing the +substitution described above. In addition, references to port 6880 are removed +from all code involving port selection. Port validation logic that used to +exclude port 6880 has been updated to respect the ephemeral range instead. + + +Possible issues +--------------- + +The call to SystemProperties.getUserPath() in LocalSocketHelper() can cause +PlatformManager to be initialized sooner than it should. It seems to work, but +upstream says this is not advisable. As a workaround -Dazureus.config.path is +passed on the command line, avoiding the invocation of the platform-specific +code that discovers the user's home directory. + + +Note for mergers +---------------- + +When merging a new upstream version, the merger should search for "6880" and +apply the correct substitution. Also, any port selection in the range x-65535 +should be done in the range x-49151 instead. + + +Further development +------------------- + +This patch is a quick fix, a proper rewrite is desirable. Any efforts should +start with reducing code duplication. That would increase the chances of this +being accepted upstream. + + +-- +Stefano Maioli + --- azureus-4.2.0.8.orig/debian/build.xml +++ azureus-4.2.0.8/debian/build.xml @@ -0,0 +1,105 @@ + + + + + + + + + This build file will compile the Azureus and Vuze files + from the Vuze source distribution. + Vuze is a Multimedia BitTorrent Client. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --- azureus-4.2.0.8.orig/debian/menu +++ azureus-4.2.0.8/debian/menu @@ -0,0 +1,4 @@ +?package(azureus):needs="X11" section="Applications/Network/File Transfer"\ + icon="/usr/share/pixmaps/azureus.xpm"\ + title="Azureus" command="/usr/bin/azureus" \ + hints="Internet" --- azureus-4.2.0.8.orig/debian/control +++ azureus-4.2.0.8/debian/control @@ -0,0 +1,48 @@ +Source: azureus +Section: net +Priority: optional +Maintainer: Debian Java Maintainers +Uploaders: Adrian Perez +Build-Depends: ant, cdbs, quilt, debhelper (>= 7.0) +Build-Depends-Indep: openjdk-6-jdk, libcommons-cli-java, liblog4j1.2-java, + libswt-gtk-3.4-java, junit +Standards-Version: 3.8.3 +Vcs-Git: git://git.debian.org/git/pkg-java/azureus.git +Vcs-Browser: http://git.debian.org/?p=pkg-java/azureus.git;a=summary +Homepage: http://azureus.sourceforge.net + +Package: azureus +Architecture: all +Depends: openjdk-6-jre | sun-java5-jre | sun-java6-jre, + libcommons-cli-java, liblog4j1.2-java, libswt-gtk-3.4-java, + java-wrappers, ${misc:Depends} +Recommends: vuze +Description: BitTorrent client + BitTorrent is a peer-to-peer file distribution tool. + . + Azureus offers multiple torrent downloads, queuing/priority systems + (on torrents and files), start/stop seeding options and instant + access to numerous pieces of information about your torrents. Azureus + now features an embedded tracker easily set up and ready to use. + +Package: vuze +Architecture: all +Depends: azureus, libswt-cairo-gtk-3.4-jni, libswt-gnome-gtk-3.4-jni, + libswt-mozilla-gtk-3.4-jni, ${misc:Depends} +Description: Multimedia BitTorrent client + BitTorrent is a peer-to-peer file distribution tool. + . + Vuze is a multimedia BitTorrent client based on Azureus intended for + DVD and HD video. It includes some social-networking features to + share videos among friends. + . + Vuze offers subscriptions to preferred content, an embed media player and + web-browser, support for multiple Content Networks, sharing .vuze files, + popularity contexts, categories and tagging, IPv6 compact tracker support, + automatic URL handling, and a plugin architecture; besides other features. + . + This package is part of the azureus package, and provides the dependencies + necessary to run the new user interface. + + + --- azureus-4.2.0.8.orig/debian/README.Debian +++ azureus-4.2.0.8/debian/README.Debian @@ -0,0 +1,15 @@ +azureus for Debian +------------------ + + * Azureus in Debian will start the classic interface by default when the vuze package + isn't installed. + If it is, then the azureus executable will start the user preferred's interface. + * Please note that the new interface won't work without the vuze package installed, + so if you need to use it, install that package first. + * The vuze package is actually kind of dummy package, providing the dependencies + necessary to run the new interface. + * Azureus in Debian has been patched to prevent updates to the Core and SWT components, + since those updates will break sync with the package manager. The remaining plugins + updates remain unchanged, since they are not part of the debian archive. + + -- Adrian Perez Fri, 31 Jul 2009 13:49:06 -0400 --- azureus-4.2.0.8.orig/debian/compat +++ azureus-4.2.0.8/debian/compat @@ -0,0 +1 @@ +7 --- azureus-4.2.0.8.orig/debian/manpages +++ azureus-4.2.0.8/debian/manpages @@ -0,0 +1 @@ +debian/azureus.1 --- azureus-4.2.0.8.orig/debian/build.properties +++ azureus-4.2.0.8/debian/build.properties @@ -0,0 +1,11 @@ +root.dir=${basedir} +src.dir=${root.dir} +build.dir=${basedir}/build +lib.dir=${src.dir}/libs +dist.dir=${basedir}/dist +generic.excludes=.bzr/** **/debian/** .bzr* **/.pc/** +platform.excludes=**/macosx/** org/gudy/azureus2/ui/swt/osx/** org/gudy/azureus2/platform/macosx/* org/gudy/azureus2/ui/swt/win32/** org/gudy/azureus2/ui/swt/test/** org/gudy/azureus2/platform/macosx/**/*.java org/gudy/azureus2/platform/macosx/PlatformManagerImpl.java +compile.excludes=${platform.excludes} ${generic.excludes} *build.xml azureus Azureus.* *.properties **/*.gif **/*.png **/Azureus2.jar +jar.mainclass=org.gudy.azureus2.ui.common.Main +jar.classpath=Azureus2.jar commons-cli.jar log4j-1.2.jar swt.jar /usr/lib/jni +jar.excludes=**/*.java ${generic.excludes} ${platform.excludes} **/Azureus2.jar azureus Azureus.* *build.xml build.properties **/build/** --- azureus-4.2.0.8.orig/debian/Azureus.torrent.png.uu +++ azureus-4.2.0.8/debian/Azureus.torrent.png.uu @@ -0,0 +1,171 @@ +&B5!.1PT* +"&@H` +M````#4E(1%(```"`````@`@&````PSYARP````%S4D="`*[.'.D````&8DM' +M1`#_`/\`_Z"]IY,````)<$A971<5YWG/_>^I?9-JI(E2_(BVW&@DI-.0@1FVP]#TH0]-SPQ-3WH.`ST<&J;I)I,&!@X)`W,ZW72`,P/=8;H3 +MMD`(2T(2$K)YC>--MB3;DDI+2:K]O7OGCUHDV;*=156JDNIW3KF>Z]5[>G5_ +MO_O[?7_?^[OW0DM:TI*6M*0E+6E)2UK2DI:TI"4M:4E+6M*2EK1DF8NHZU_[ +MZK-W`&^;]YG6"Q^?Z]Q"Q[KZSUG.G^-[E<_.]K[@?19XUX!6H#1H%XH.%/.0 +8RX)R"V1F_IK[__/Q1C(`L\Y_[QK@`[@* +M'%5MVS.5KV?/+:CXTY5SVC5G5>8K4&15F?HLSU)1]$+7Z[+R%;@N.$4HE`T@ +M$@&O;S-O_\P=?.\O)U>J`>1P%->O"7/]ZF"Y7<5L(XK3>NC<<\S]?/[A?$-X +M#9^=\SNO\)K*UY1"*853+)+/YLC,I)D:'^?1D0+#T=77D3#O3V74LA_R"_>^?; +G^.D7)Y;Z,25UMP#(N7K9ZETI3:'H,)DK,IDK,I$M,)[.HUT77`<* +M1>C=>"V=/0]RXY_%5I@!5-SEG851K7<<%QZ0B8".5`]X:= +C='8_R(U_&ELY!E!!RF*Y]G^!7L@DM$8K!=D\MVV(\[7?WPH` +MN0)TK=M)HOM!;E@Z(Y!+TU&6LP=8Z%.-*&<&F7R1#UVUCB^_XY*2$21Z=A+O +M?(CK_U-L!7B`BO*7K0LX.]VB-;@NRG$!^-.=F[CW76]`%HL0Z]I!6^=#W/"1 +MV#+W`!I6GNH1`J36X#BXKEL]]Q^NO8!_^,!.#,>!4&('D<1#7%]?(ZA_"*@0 +M)LM>%F`U7;>4#H"+ON'(# +MW[GS-KQ2@_3MP!-^B.MJ;P1+X`%6!@BL.(&*1Y``CE,%@0O)'5=NY#L?NP.O +M!+2]`RM0^,-&\!K`"4L!2!B"0`@PIL4P#G\?&-DU0FF?W#7+3?_T6J'+-P(+O +!"@`` +ME`N646HSQX&\WHFK'^3FC_\;?G)7LLD]P/('@$)*3,/`:UOX?#9=L2";$EX* +MCD.Q('$=!^V*TAB!$FBE01F@RK2Q+A662`V&@,E,GDRVN)-UH>H,$- +MP)`"RS3PV!8>CY?+UB7X=-0F.3Y-:CI-)I>GX+@H5Z'1\Z.BF),]2$'`8_/2 +MZ#3_],Q1,*WN)@X!R]\(A)A57,7]AX,^E%)(*?#8'J*1(/F"@^.Z*%4>0IX' +ADL5L%B$$?MLD:WK!.@F666QB$*A72`@02%$.`1X;C48* +(B<>V"`?\Y`H` +M18J.@U(:=9X.(2@90-(QP/*`M;@JJ[\'6!$AH.0!#$-B"Q,AP)0E8R@6BQ1= +M%UJ_(O'; +M%CZO#4*6;MC<1-#*J0FH`$)=+H*14LP!>^+TV'AVD1+3-)DEEYN:"%H9.&`A +,;U!ZUVA]YG#Q^40* +M41,298G2P)4L`B%>BQ'51/]+416L5V)EV.)BJ*8U@);F%\%[JD6][;)A`HNN +M(I-WF/+`*"\H_F,8''U +MOT0\P"+J?R"985?_"#_?-<#S_6F&#N%I41\NTUM7C\^?2L]Y(`K\5W7SEZ]]IHBR@ +MJ3W`:^_]7__10?[;_2^03.416B/0IQ$LKYZ<45HA/1Z^]*,,>W:_T#*`^H2` +M5Q_''OK-`%]Y\"6JC)D0KTGIIS]*Q2/HO@NXY]Y'%A]BMWB`LX2`5R$3,WGN +M_N[>16?!JX`0L-IL'GY&,7QJJ+%!P+((`:\R#-SWXX.,3^=K\C@5_"`]!AF/ +MS7//[6IP(FBY9`&O\#7GQ^=X.'`,5BQX"&GASZ3[\\ +MRG2F6'7_JH8#2;ZXS='^$RBE&MP+K)`0D,DY/'T@B:I63.D%<_O%"`,`IBW) +M9HKSYN\W9`Q8*3Q`__`T!P:G9CF0&L\G<[4D$/27"R\:N/\L`&@$$CDSF.#0T]5H2A]?>$(5,@\]: +MURN'!WAJWT@5^='!SBW?/<71RI)6I6NK8F4"T;0 +M&F8FR62RK#19HK&`LRMU8&2&0X-3U8D3]4#EPLDC!Y!.'LO)$@Z'&AP#+/-Z@/Z3TSRQ9[@ZUE]+]U^:E%FN)TBG +MZ%G51D]O=V-[`*67"PC4"]B&YH=/'N?D6*8:^VOM_BMC"],O[^'=[WX;/I^W +MH1U`\U/!YW!A^_HG^/;#+\W!9Z*FBJ\LY%083_*^[7Y^[ZVW-3AR($O+JHDZT#&5ZN!8>HA[/_$!/+YF*`MG&7@`K9&N8GPD +)QY_=_2B//G<* +M+8WR$BH"I6LSY#NW`U7O[N3YZW][*;&V2),HOS9I8%T-8%6R<(DO#[_XU[UH +M8:`K)5FRK'PI:FZ`BM(2;M?Y1[CABNN;C+9I4@/8]OM_'T+*7^F4NPU!2?&4 +MTK!*CY=UB,&Z](<0`[OYPP]W[PP4D!NP&A2B%X2=NO\H.?/CY%DUI`8V.`FV^X +M(X:4-[M*;Q4H#,&+8O*[=P[&WMDGX'I=ETS_'"&@##8/GIII4@S0P"#PNIO^ +$Z(_'"@`` +M^M/#R?[.R$6E9:>\MZ:2\^Z'1\I,#4U1CC?'AGGCW\RP+?VCI%W +MW/HKO]&(H&W7?[7'T"A4+B$LW6/_1*'^H:"10L#V +J-]US+8AW5]S[W$86HKR$2WD3)99@N%6Y#H'A7>0>_SNRC_WODONO%($* +MPK=SJ@LWCTJ%O^R:>>,)E[[Z]59?ONBZ.XY#)9!@9&>;PH>/H:`C36S(> +MKRKPX=4S;`[)^O?^1ID;N.U-][Q9"'$U> +MJ9:#"T,R$"PBG`OY\CT/XS@9LMDL4U-3C(^/,S0TQ,LOO\0+NP;P;HDC;`-/ +M(<7M:A_7QL$PC'G9@>NZLX!QL=NC1B5AKPD$7KSC2Q::/T#@K_1[V2`5-5IK +MA)0EI8P>115FJKY)*1=]_+<8W9>CA!'N;@P?WLGS0(WA3'GAC@RK%?<_%E6[!M&\=Q2*?3\Q0NI<2V;2S+ +MPB@O6+GH1K"$!B``H9SL)L,3>HMNP(V`*PV>3R7Q9T_B%+((47)TKNN2/?8" +MOHL'R;9OJC[XV(4VD8XM?.'KC_',;[_()5LO)!P+,CPR3/^Q$<9O_!C&U$D2 +M3W^#R/IN7-=E8F("QW$00N"Z#DHIA!#8'@_12)1H-$H@$%C8-P`0:@"V% +MO%E#NY@#^!I!5+F!!(*IP0-TDR%9R%<'@9129+,9O$]]`W';9ZL%*=HC:7O7 +M.D[]WS2_V/OZ>EF_?C-KUZ[%MNU%7F]@:<<"#,`;#&]:A9!_R%D`WY+W_C+X +2,X>>0Q13%%T'(8W2$C-*4RP* +M4B>/XM_W`]RMMU?#AKG*1_SM%S#ZF&!OZGF&O)KVJV_""'=@C@]0./`4XUX+ +MH]]@;K1G>%9NFK:T-WZ+5&^HE)X+, +MG@WOO202O^Q^*>T^YO%J#1#[RT^B@=3NGY"0&5*I43P>/Z9IE0F=`H[CX+H. +MA:^^:"%WOV([.;4'X)"(8!,![;`\=G1N8G$XR.3%-+EO$ +B-,+LWW@X_UK"+PAQI3/X`'#8$LF1U]-V,`E"@`` +M`1=>^JFW6)[H-Z1A1K30=5FVY54!OW*IMS,]BI@(6S;M[;WD"WD* +MN&0-'XFK)^C:WDUARS:T::'*NX5K0%E>+,M:'E3P]JN^^&8-WQ9"^DN3*D3# +M]/Y24:FL3O9(']M%IY%C(E/$M^5FAM.CI%.3&%JAT&`'L'K["'1N)M>S?8$V +MUN5UA&=_F__*FQE+GR1O>7ͦXCA/I!"DPBVDB^7$\#EA>#V&/ES?$O=RV +LOFUQ#6!^*E!O#R`^+P3^^5IOC-Y?I7VEP,U-$TCN)S=Q#/.2=^+=?`-**PH` +M^12ZF$68-L(3P`E$2O,03EL\NK*S%W-X#0F8O9N8$IO*+680SYQD0WHOO7Y% +M5\BB(V#3'@D2"0>(MX=HBT;Q^7Q5GF`99`%ZJL+EB24JYCQ;[R^Q?B7DG]_U +M?6*Y$PREDEA[OH]V4%&$Z6H#/%1I7DFFB![G4Q5K5W$@Z'\?O]>#R>ZJO"`ER_,MI7H9BED&0//$HB?9"!X7Z$,'`GA\@\]8^S5+006):%U^LE$`@0 +>#H<)MJTBM*H7.]Z##B:8,0+DE,1U-!Y=("SRK+(* +M=`=-UL=#M+=WT=;6-D_Q%6577F(1%K(^>Q;`DF4!/]9:/R.$N%*#%D*(Z@:( +M=4X#U6DQ'REQ1@_1/O(;!@=?/N.12ENX&MBV33@<)I%(T-G924='!QT='202 +M"3HZ.HA$(AB&@>NZ%(O%4FIHFE6#"0:#^/U^?#X?MFUC&$:-%=Y`(6#7TW=. +M;KWR[C_7VGI`(A):J^KR'15#J-=P3R7F:U'NV>-'L';=S\"I(VCF*Z.B?)_/ +M1UM;&[V]O?3U];%NW3I6KUY-/!XG&HT2#H>K,;O"ZU>N-TT3R[(P31/#,*KT +M;MWYCZ4>"]CSS,<>N_"R_WZ5Y0T](*1YN9Y%A&=0@;H&GD'/"3\E!4C,XX\Q +M]M3?DW<<#,.<9X(5Y?O]?A*)!.O7KV?+EBULWEQBZ>+Q.,%@$*_76^W1XK2: +M@=G]?V5CD%XUB+ROBJ=\Z?E/'0.NVG+UY]XF3<_[$&*-1OL0PB,,(RI-NQVM +MM1!"5%WT8K%\L"R+2"1"=W'^U_^!WE!Q0L#]/6T_\WV&+1E34K7*`XTO_C9#$W_I'38,NBN*T* +1KI!"X(GZB.U<0V3399B!'@H` +MZ3%>WO<$N_:^@#`#K%]S$5Z/CT*Q0"Z78WIZFE0JQ?3T-+E<#M=UTI(GLI996PJ<3_9I&C +/@TGN_W^/@V$<9?2Y^Y<* +M`YPW-"3['YG*I/H_%E]_ZXO!Q,6?E)8GLI@K?U2*3RL@T_!X"6_<06CC[U!, +M3Z+&3Y+:]RS/GLRRN=.'E4_Q\H$#9#)I\OE\%2`:AH'7ZYV'_!L>$-:@(J@6 +MNR?K8FZ\F#KY])'T^(&G`AW;WF3:_C"42K5>JP=@CO?0@)2B.@)8807Q^+': +M._%OOA1+)#AXY_X#$PY%%&GV]8#U`QT0(PF9DXM"<]NOL^JW?G7R"EN5@51*>3 +M/94LP9"R>O_0UC[6Q*(,/O$K3`&]'I?CQX\3#(;P^7SD\WE"H5"U_-LP#$*A +M$.WM[42C4;Q>[^(/YC0@%V#6\#%S0#)U\MD'0UU7O,?P!#=JK46MYH?+.;N( +M*D!H3:"GG=X;;^3X$S\@[BV@TE,?^T==S#PIA!"E8??:]2JYP#S$R*:-%$)="&$R-37% +0-;^J7&!F:F1W1_4JE"HSJVK4^-6=A9OWW(Y3K%`/I_#=16A0()( +M=`U.?"-3FW8@$EW$8I$J6=18[O]T+J#Q0\`9K.'@;__72SGS3W[2T77-[147 +M76LCJ$P2T8"(=I$MY%G=V4T7J[FKQ%.9/M9:4XSUDKSF0Z6_(P520D`6N3I>X+T7^8G'+R(6 +MBQ$,!JM5/@WI_C5-;`!**:3-!1=$>?L;(WSSD5-,Y*T2V3-7<8L`!%79_9== +M015'QZP":X)P2:?%F_HB],0C!`(!_'Y_=3Y?8U/$S>P!@G'0FD`PS#MOV49[ +M&+[UTT$.COE+[%YE';\Y9-'YB"-=6?_WM"GHE6N$DR7LIED?=+AB;9AM:Q-L +M7-U.-%PJ!JE4^U1J^AI:\4WO`=:\`:9FL&R;:'N"*[9?0'O8YH>/'^:QPP;3 +/1=]LN79EGE]9*6<+$94* +M7NVZ.-,IS*E#.,.[*([U8SDSM,>B]*U?S_9M6[ELU65LZHT3C\?Q>KW-50Q2 +M(ZFO`;@NZ'*)E31))!(8AL';O5ZNV'2,W^X_P4LG7(;S$?)XT5@H88,PSC`" +M76;[D!)93!,Z\C`SPVF&LUXLPR4@_=A&GMST),G14XR-=3(S,X-2:EYM7].) +M;O+]`M`:VRPI-!`($/![:8^&Z.GL8./Z$8:'ATDFDPR.CC$TX9),0ZI@,N/8 +MI'68@@C/Z_FEH&]2+(P3%$>(1MH8+K0S4EB-EG%665,D7!?E%I$HO):!SVLO +?R9(UKT=\MMW4:>!LOY6"`X-C//KBT=+Z_4J7)FL6"@`` +%Y+*"C`H` +MD?8(/#$_J[U9VG)9>*%A! +MD#9G<.O5WJ7GE&#/?3_7=QMW>NUC`^-%=_[L2Q,8142*N$)X0`+196]H+*/-=W%CJWP+'F3(,XZ_$" +MYV;E^>;U`#64B^Y\.(J45V@IKA=2O%$+L1TA$@@QK:2XYL!?7;>/EBQ?`Z@: +.PL<>,;04?H2((D08(0H` +=2HK^`W]U7;&E[I:TI"4M:4E+6M*2EK2D)2UIR0H` +7E_\//7\TP(CBY[8`````245.1*Y"8((` --- azureus-4.2.0.8.orig/debian/docs +++ azureus-4.2.0.8/debian/docs @@ -0,0 +1,2 @@ +debian/README.multiuser +debian/README.source --- azureus-4.2.0.8.orig/debian/azureus.1 +++ azureus-4.2.0.8/debian/azureus.1 @@ -0,0 +1,40 @@ +.TH azureus "1" "2009-07-08" "azureus 4.2.0.4" "User Commands" + +.SH NAME +azureus \- a BitTorrent client + +.SH SYNOPSIS +.B azureus +.br +.B azureus + +.SH DESCRIPTION +BitTorrent is a peer-to-peer file distribution tool. + +Azureus offers multiple torrent downloads, queuing/priority systems +(on torrents and files), start/stop seeding options and instant access +to numerous pieces of information about your torrents. Azureus now +features an embedded tracker easily set up and ready to use. + +.SH AUTHOR +Written by Aelitis, and Vuze Inc. + +This manual page was written by Adrian Perez +for the Debian project (and may be used by others). + +.SH "REPORTING BUGS" +Report bugs to . + +.SH COPYRIGHT +Copyright 2009 Vuze, Inc. +Copyright 2003-2009 Aelitis. + +This is free software; see the source for copying conditions. There is +NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. + +.SH "SEE ALSO" +http://azureus.sourceforge.net + +The user guide, which may be accessed from the \fIHelp\fR menu within +the program. --- azureus-4.2.0.8.orig/debian/install +++ azureus-4.2.0.8/debian/install @@ -0,0 +1,7 @@ +debian/Azureus.png usr/share/pixmaps +debian/Azureus.torrent.png usr/share/pixmaps +dist/Azureus2.jar usr/share/java +debian/wrappers/azureus usr/bin +debian/azureus.desktop usr/share/applications +debian/azureus.xpm usr/share/pixmaps +debian/azureus.schemas usr/share/gconf/schemas --- azureus-4.2.0.8.orig/debian/Azureus.png.uu +++ azureus-4.2.0.8/debian/Azureus.png.uu @@ -0,0 +1,128 @@ +&B5!.1PT* +"&@H` +M````#4E(1%(```"`````@P@&````1:H390```!ET15AT4V]F='=A7')93P``!/`241!5'C:[%T)F"-5$:[7Z"JXB(`@*B"\ARLP+"LNPU>\V5 +MI-/6_][K3#+3G7223J8[Z?J^VF0GG_YST?R\\WY,>M^"^;\^-FS)-L0>/)X-=PD;K6XL=%_/@._V<./W^0GR_+ +MW2ND9%),0ZF%>1OF/9AW8]Z6>8K/]TY@GL%\&`O^(G[\'O.]8?ZR,0`&A;XS +M\Z',^S%O%L`]UV>^1VH-!808`"&D39F_S'PD\Q8U^HR+F=.L$2Z+`1`>@GH_ +M@_E@YHXZ?-ZES/]F_ET,@)$EK.E8FP\8@<^^B;7`L_S8':8?Q&@2P:_'_&OF +M9T9(^,X8S@[;#],,`#B>^47F$VCD';)O:$\A!D"=Z"KFNYC7"`FI#DYE_ +M&N+QX3??-[8!:D=7ALW0#C6``'124\=$ +M;,R=H0"`:(S9O[NM]M^C1*'05HVR!!P1P3&/B8W`8&@4&U3[17#K*KNJ3G,@G7O7B`H` +CGW\(>VDXE@!#5`4`*<1,=G`Y*/66_C11-NL?--Z$6KWU(@H` +M@#[FS\(!@"#(23'S>VW:(I'I([NCC:@E017N1WR!HAO'7A8>(W`D2`BM#=@5 +MSB;);C45,,H"@CB`HDN8_:O#,)"1H$UNP&`H#C$MBRTQ9:K$R+N/"?$3;-">IG@5 +$Q\3#"@`` +M`/3F@[5_!#4&?#9WQ;X%M)(`0"I7-]F_B(U-K'JIZ75SGR$Q;-C:]//LMX` +M&,U\-ZF>O(U-MGT[&VC5JWYV][)CVY6?7X/DVT``(-(9LHVDCPO%)4TA?*6H +L;ZE:8%CW,?,=B[\&%,!VL%"#TZFYB!8:`<%,?MSOGZ-R`CJZPH` +M)(86'^@.S..H64B((YF3@P=0E,F@EJ16_11R`#@@X*6@RI^8BQ#2J:D%O +M`P`USGP--B,(L0G+JL]G16,9V*%RR1@U5__!"P5?&?:`Y;K?\28U'VU=L?'7 +MEJRV;F($`)`#@:L]@%[Y+S<9`*96UL)7*`#4(7&X=A"SAH$`U3!',_^QB0"P +M5B6SGZ#ZDV9=$L=KJV.@:$+9L8^V9%T'6&TH^$12K=E'Y_T-9^ZA:>-9S'?2X,[E#16MB=$F%KY` +M1]!%?EQH;/K(O?XZ-MRH!@`GZ9GO1F/T:X@,W<-?;G]>VPZBYB34,/[#3Q!% +C9OGX[YL`S8+\"9Q]B(RC^Y@_*1\`%:%-[,&S^E8?%]Y"J@H` +MYEQJ7MJ3?ZO2!UC`^/,_^Z%E']7"=VZ`[?5#J,P&U(:/0LRA/$[/[A8?]Q_% +M`WN<'S_?Q`#8A7E-/P!0L[_D[]_*?#>#:M,A=\!)*=>5:]=58@1>S;Q!&==/ +MI,8[H'*>MFG\3%><6!9D*QMD2L_T>&TCYO8R-8!-93"^R,D4TY.D#H&$,/Q4 +M^OKK9.Y/`Q]8Y`X+J_48L?WI:*&$\J6?WHR6N/Y#5^P1?6\"E +9:4:1UWY.J@"E."'6T)J47(XP#]'K6;/3"@`` +MEOP+>=I_,4L/]0N_*&&Q%Z]QR&;53FIQ((SR7G[M.WA(=Q35'G*'D06/TGO3 +MD.QW"<#LORB6O:07'+]>V+E=3SPYC?G^(N\[A4J>9U12_^^DC;VA=!/SUXO9 +M)#:RBID5P.S<+?UJ`#1DVCZ6O:0_Y.3AR'^P2]KIS!]YO.]SLJU]L27`+N$% +M$)TZY)[H-(:SD<\BKYI#N)?HQ&885;F!9\=REY2BH;N9$+R1$V*WMI.\R%N+ +MZM)N:!6!Q^&,"9B?4/L!J?3Z>XJZEF:BZ+)B^)#^3!G,B`DTE_GM`HT]G'!, +M_7R/]^_*D_PH&[,RGY'\"4%E;:_L7Z`#FVC.1@&2:W#ZJ'=^!4!IEE;PI34` +MUBX16_Z:'F1[R"ZTC_1,&\SFP$D@/RQRCVOXLG&YRPTJS/R1R30T"(:L[6C@ +MW?456&+0);(*]Y7$?6/%WL8!: +MU-)A#+<#G8PJ-0%W)G42,%7ZX +M;>>C;Y,X\).C^?S;/#XL/I)01ERN*JIP$F:8+R]QW^.E74$T:< +M=KAIYFOSO0)E.Y0UZR?H8!Y"^;F.*Z:GSXID#J5Z8E)93GT%OC766L=XDY/& +M4O\O7(-1'/J\7L>]Z#!2]0-0]>]H&^%KI#:1''J19?YZ;I[B,PR#R%^;`,CP +F?.8S2!U:[=!/F,]U`P":,5U%(3G8,`2$QHZW#1I9AJ/B7=;NK`H` +MYA@Y($`U7"\5I$M_OO"*O/UD@?'\6?JNV-2[T".*=P_>Y+Q\`2-="`L?1 +MLN$IKG4_B0(7(T]].N8JG2M`X'`-/X +M]@_SW;>.!5Y`BWCVWS`8J2L7.S(MOI-!4.U2.BFG<6SV'(3<%%I;JW38:JA# +MW$8+O,OG/1]#US(`8(I649O$\AY&/Y!+@%+G<-F.))7=@PVA-[1QYF5PH=/9 +M@2RPPPDGFU97XXDFF=B/@>#'ZS%@MI=*_D!CJM5Y[D**5)3R]]JN20$`5\?" +M=Z77>(;<3(-J%TVL;M"O6=I@0U@8AS^LTL)91QMQ&VI!!45K:0`4HT^97V'^ +0EWY\C\6^B(&'X)&S490="@`` +M6@!@9BSKX:LXJ1Y&`WEK;OXV;$*KWOP[YV_4:!#BHND>KU@&MC@UM=:.3TVCM08W56B'(.J^,GMULK]$3 +MI(IQJHH&F1H]N\RUX:3;/YY^T=!$!%JKE7\U)M +M*SR5]_HX#0``8:KF=AJ,[G=KK?RAY@7:>*L)F8SN]_GQ9\SG-;GPH5X1FGVK +M#B!;5H?/\46.'M[!6[=MDF@#^^[%4;*NWB0``0G1K3^D&Y>]^-2;ANR*I\OYH +MKUUJ@SC#HLQ4D+GG]HYN'039SE:[@B]KH\5J(.%CQN]&V&9U(RR+3E*E:=2U +M7M__NB78-3"E^$W^WT1[):UCKV(0)"@E3/FZ7S?0BY!Y>K'F+AWP6%,'..#? +M8@\!VXP'4C1Z_%OZ.UU**M/&1?"4G]%3]6DUC=,376M5 +MS?H-62'ODWV7)M$JJ?9M_1IHD^QGM'%V$75G.FBNN2Z]97;18AK-D%&:8B@E +MNJ8<4'P&Y/^-7%XWQ,?27A!B_X)94Y@?Y_V<2KP^[%J/L94:I\"6JMB,&=&T +MGN+7EO']R>5:&GJ]S^]/WI^3$@EJ80'N9A=&D,#$@Q.&8F3CFS)^6ZP +MADC31M9BVB*S@-:R>VFYT4$K$NWR7A(R^G.J`T`N_US,Y?\?PMP58@#`Y9W. +1C'&^QH\?5@V`W#HK:@8`2PH` +MWZ1I8CD=9KQ),VB1G/56"8,/H+"$(2&RKM4M@;!&MH]6,!!ZC%9*&TD:X/M6 +MWKC!,92<98GHN\R/1T"38N/KSSKZB:+*^=6;XLX)IR(PN\&6/ZI):U`_[<*S +M?FOQ*9URZFDU=P/]#V_X%WTB0L$4E%BAV@8[:X\Q?Y7L#3*ZSK]8VK:=ES>H*2U+-05MGEA"L\P%-%6L8%4O>"!FV`#@2?C1CM<6 +M]Z44K:JB3AT5/%8'B>XB58Q1N_"XW/_+JC1SYDF)U;1C<@%--Q;+-3Q5AYZ: +MM2KZ1%LT%!\\$E&/:SJI5+E7]./$FKIW#(2DE:;#6]ZB+8U%4O#I.M7CUO)3 +M4$>'A,@H=Q89S]/S`E)Y=J?7\H.$_C=5YTZZM869\FPP@QZ@:!,TP,VDJH,G +)4@-1[0!0V/D* +MQ\4--,#OA6KI9TBE?`<>Y:*5T]N^@+U[TEQ#WH444:,)>CG8N,B"7A8E +MA$US4VM3OYVHJQ:H2`/(`PT,H]QFATAA_DT#+9]=TDU$V9?+F3^DN['Y]\>S +M]*DUBN:E.ZE56"$&@&PRF"A=NY`&`,G@<:&0(JNPT+)K/W&A'QJ`5_N0@;H0MVY795GJB +M;P-I%(I0`<#6FQVFLQ\N),+.VWA=T,+J +?_[WT&O35?Y+J'>BT?<%A&_M[VP(V==MMM,`:+;V#6E)YFT'!YL@A +#,7,* +>J=KWJ%,OD4[,4<)%3R"<$7`H>3=L*!H7P?[`0O8* +M-DUVAP@`P=/EI(HD+XDX`&#<(M\0Z55XG%[D6M3[7<0VU5]*&81=B1[?V;U1 +M!0#H^Z3"Q%=&&`#HIGIE0#0%`$!(P$"E,GK7;$[1 +MIB6LXN>PS82$$JCZLD+@EFW0^N9*:C> +D)94;B=2RA97>"(G>4\U5=1FT&[E@3B*8$@$-WDDK./%=K@_%U_GRTA$'% +M-**6[VE&MXY%&J0UR6_(L/J?DEQ):[$-8-4A+2SL!SK",#R'U&D9L+31IV\' +M\G=J:26$V"NR@N\F513;7>\O#+=O2F(U)46VYNM_%`"0O[[>J'FZ]K7AT'R]7A;0>0N;*UMI[V%];3=4,GU2 +M;OGZ]2*X?VNRZN]*],KTL!@`_@S&9S4[M`:I[5D``[USG19M&_C2`$(\S?Q* +MH5E6'V'`Z.LR>VF,D::4;<0`J)!6:(:6>%C_#<&E&7KI.%IK"S?JU&[7UWZIC5F`S'@>7TE;^+.:3R*M-C-K)F\/J'\O!CYGW +M)K6O[RW!K"X.16V@E5L76++!V4 +MMKN%;&%+?$?')!`3N)E*I83;NK]@*D,TP+=,6855PRXY$@#`1+-':H%Z=B2* +M#X14?0+1/_\@E@2TPG6DCF5U(W@8*!%#R-I?R1N$GK84$'H'2/2E2/2[<-\` +*3:*55.]V5#$`"@`` +M">H>D4>`2J==].!IRE::R"W;W5%=W>1LL%_6YINE:'@,DL* +M8@#4F)9J^^#QO-],]@,)>AT:8V9D:9AEUZ]"^/\"#`!9J-F=B..^$0````!) +'14Y$KD)@@@`` --- azureus-4.2.0.8.orig/debian/patches/series +++ azureus-4.2.0.8/debian/patches/series @@ -0,0 +1,6 @@ +debian/speedtest.diff -p1 +debian/update-disable.diff -p1 +fixes/encoding.diff -p1 +fixes/multiuser.diff -p1 +fixes/platform.diff -p1 +fixes/sunsecurity.diff -p1 --- azureus-4.2.0.8.orig/debian/patches/debian/speedtest.diff +++ azureus-4.2.0.8/debian/patches/debian/speedtest.diff @@ -0,0 +1,43 @@ +Author: Scott Wolchok +Last-Update: 2009-08-31 +Reviewed-by: Azureus Team +Reviewed-by: Adrian Perez +Description: Integrate this patch from upstream developer which +disables client-side validation for the Speed Test. + +--- + .../NetworkAdminSpeedTestScheduledTestImpl.java | 8 +++++--- + 1 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/com/aelitis/azureus/core/networkmanager/admin/impl/NetworkAdminSpeedTestScheduledTestImpl.java b/com/aelitis/azureus/core/networkmanager/admin/impl/NetworkAdminSpeedTestScheduledTestImpl.java +index 01022eb..76e27df 100644 +--- a/com/aelitis/azureus/core/networkmanager/admin/impl/NetworkAdminSpeedTestScheduledTestImpl.java ++++ b/com/aelitis/azureus/core/networkmanager/admin/impl/NetworkAdminSpeedTestScheduledTestImpl.java +@@ -461,20 +461,22 @@ NetworkAdminSpeedTestScheduledTestImpl + if( size==null || offset==null ) + throw new IllegalStateException("scheduleTestWithSpeedTestService had a null parameter."); + +- ++ /* ++ Speedtest authentication is disabled -- dont waste resources ++ reading the JAR. + //read the bytes + raf = new RandomAccessFile( jar_file, "r" ); + byte[] jarBytes = new byte[size.intValue()]; + + raf.seek(offset.intValue()); + raf.read( jarBytes ); +- ++ */ + + //Build the URL. + Map request = new HashMap(); + request.put("request_type", new Long(CHALLENGE_REPLY) ); + request.put("challenge_id", challenge_id ); +- request.put("data",jarBytes); ++ request.put("data", new byte[] {0,}); + + retVal = sendRequest( request ); + +-- +tg: (320870a..) debian/speedtest (depends on: upstream) --- azureus-4.2.0.8.orig/debian/patches/debian/update-disable.diff +++ azureus-4.2.0.8/debian/patches/debian/update-disable.diff @@ -0,0 +1,114 @@ +Author: Adrian Perez +Reviewed-by: Shaun Jackman +Last-Update: 2009-08-31 +Description: Prevent the automatic update of several components like the Core, the Core Patcher +and the SWT libraries; avoids sync breakage with the Debian repositories. + +--- + com/aelitis/azureus/ui/swt/Initializer.java | 8 ++++++-- + .../azureus2/ui/swt/mainwindow/Initializer.java | 8 ++++++-- + org/gudy/azureus2/update/CorePatchChecker.java | 6 +++++- + org/gudy/azureus2/update/CoreUpdateChecker.java | 5 ++++- + 4 files changed, 21 insertions(+), 6 deletions(-) + +diff --git a/com/aelitis/azureus/ui/swt/Initializer.java b/com/aelitis/azureus/ui/swt/Initializer.java +index 54f4367..5571a3a 100644 +--- a/com/aelitis/azureus/ui/swt/Initializer.java ++++ b/com/aelitis/azureus/ui/swt/Initializer.java +@@ -40,9 +40,10 @@ import org.gudy.azureus2.ui.swt.networks.SWTNetworkSelection; + import org.gudy.azureus2.ui.swt.pluginsinstaller.InstallPluginWizard; + import org.gudy.azureus2.ui.swt.progress.ProgressWindow; + import org.gudy.azureus2.ui.swt.update.UpdateMonitor; ++/* --- Adrian Perez: Don't initialize SWTUpdateChecker in Debian. + import org.gudy.azureus2.ui.swt.updater2.PreUpdateChecker; + import org.gudy.azureus2.ui.swt.updater2.SWTUpdateChecker; +- ++*/ + import com.aelitis.azureus.core.*; + import com.aelitis.azureus.core.cnetwork.ContentNetwork; + import com.aelitis.azureus.core.messenger.ClientMessageContext; +@@ -294,12 +295,15 @@ public class Initializer + } + + reportCurrentTaskByKey("splash.openViews"); +- ++/* ++ * Adrian Perez: Don't initialize SWTUpdateChecker in Debian ++ * + SWTUpdateChecker.initialize(); + + PreUpdateChecker.initialize(core, + COConfigurationManager.getStringParameter("ui")); + ++*/ + UpdateMonitor.getSingleton(core); // setup the update monitor + + //Tell listeners that all is initialized : +diff --git a/org/gudy/azureus2/ui/swt/mainwindow/Initializer.java b/org/gudy/azureus2/ui/swt/mainwindow/Initializer.java +index 3991ffa..e19cfee 100644 +--- a/org/gudy/azureus2/ui/swt/mainwindow/Initializer.java ++++ b/org/gudy/azureus2/ui/swt/mainwindow/Initializer.java +@@ -45,9 +45,10 @@ import org.gudy.azureus2.ui.swt.networks.SWTNetworkSelection; + import org.gudy.azureus2.ui.swt.pluginsinstaller.InstallPluginWizard; + import org.gudy.azureus2.ui.swt.progress.ProgressWindow; + import org.gudy.azureus2.ui.swt.update.UpdateMonitor; ++/* --- Adrian Perez: Don't initialize SWTUpdateChecker in Debian. + import org.gudy.azureus2.ui.swt.updater2.PreUpdateChecker; + import org.gudy.azureus2.ui.swt.updater2.SWTUpdateChecker; +- ++*/ + import com.aelitis.azureus.core.*; + import com.aelitis.azureus.core.util.CopyOnWriteList; + import com.aelitis.azureus.launcher.Launcher; +@@ -253,11 +254,14 @@ Initializer + + if (finalLogListener != null) + Logger.removeListener(finalLogListener); +- ++/* ++ * Adrian Perez: Don't initialize SWTUpdateChecker in Debian. ++ * + SWTUpdateChecker.initialize(); + + PreUpdateChecker.initialize( core, COConfigurationManager.getStringParameter("ui")); + ++*/ + UpdateMonitor.getSingleton(core); // setup the update monitor + + //Tell listeners that all is initialized : +diff --git a/org/gudy/azureus2/update/CorePatchChecker.java b/org/gudy/azureus2/update/CorePatchChecker.java +index 82fd9ae..b87f55a 100644 +--- a/org/gudy/azureus2/update/CorePatchChecker.java ++++ b/org/gudy/azureus2/update/CorePatchChecker.java +@@ -65,7 +65,11 @@ CorePatchChecker + System.out.println( "CorePatchChecker: TESTING !!!!" ); + } + +- plugin_interface.getUpdateManager().registerUpdatableComponent( this, false ); ++ /* ++ * Adrian Perez: Don't register Core Patcher in Debian ++ * ++ * plugin_interface.getUpdateManager().registerUpdatableComponent( this, false ); ++ */ + } + } + +diff --git a/org/gudy/azureus2/update/CoreUpdateChecker.java b/org/gudy/azureus2/update/CoreUpdateChecker.java +index c1ade9d..7907dc9 100644 +--- a/org/gudy/azureus2/update/CoreUpdateChecker.java ++++ b/org/gudy/azureus2/update/CoreUpdateChecker.java +@@ -127,8 +127,11 @@ CoreUpdateChecker + props.setProperty( "plugin.version", plugin_interface.getAzureusVersion()); + + rdf = plugin_interface.getUtilities().getResourceDownloaderFactory(); +- ++ /* ++ * Adrian Perez: Don't update Azureus Core in Debian. ++ * + plugin_interface.getUpdateManager().registerUpdatableComponent( this, true ); ++ */ + } + + public String +-- +tg: (25674b0..) debian/update-disable (depends on: master) --- azureus-4.2.0.8.orig/debian/patches/fixes/multiuser.diff +++ azureus-4.2.0.8/debian/patches/fixes/multiuser.diff @@ -0,0 +1,522 @@ +Author: Stefano Maioli +Bug-Debian: http://bugs.debian.org/329018 +Bug-Ubuntu: https://bugs.launchpad.net/222630 +Reviewed-by: Onkar Shinde +Reviewed-by: Adrian Perez +Last-Update: 2009-07-30 +Description: Implement a LocalSocketHelper class to avoid Azureus from +hardcoding it's interface port to 6080. Allows one instance per user as +opposed to one instance per machine. A user can no longer control +another user's instance. + +--- + .../core/impl/AzureusCoreSingleInstanceClient.java | 8 +- + .../impl/tcp/IncomingSocketChannelManager.java | 2 +- + .../networkmanager/impl/udp/UDPNetworkManager.java | 4 +- + .../core3/config/impl/ConfigurationChecker.java | 2 +- + .../core3/ipchecker/natchecker/NatChecker.java | 2 +- + .../azureus2/core3/util/LocalSocketHelper.java | 128 ++++++++++++++++++++ + org/gudy/azureus2/core3/util/RandomUtils.java | 2 +- + .../platform/unix/ScriptBeforeStartup.java | 2 +- + org/gudy/azureus2/ui/common/Main.java | 2 +- + org/gudy/azureus2/ui/common/StartServer.java | 6 +- + org/gudy/azureus2/ui/swt/Main.java | 4 +- + org/gudy/azureus2/ui/swt/StartServer.java | 6 +- + org/gudy/azureus2/ui/swt/StartSocket.java | 4 +- + org/gudy/azureus2/ui/swt/osx/Start.java | 2 +- + .../azureus2/ui/swt/updater/snippets/Main.java | 2 +- + .../azureus2/ui/swt/updater/snippets/Started.java | 4 +- + .../configsections/ConfigSectionConnection.java | 18 ++-- + .../ConfigSectionConnectionAdvanced.java | 2 +- + .../configsections/ConfigSectionTrackerClient.java | 2 +- + 19 files changed, 164 insertions(+), 38 deletions(-) + +diff --git a/com/aelitis/azureus/core/impl/AzureusCoreSingleInstanceClient.java b/com/aelitis/azureus/core/impl/AzureusCoreSingleInstanceClient.java +index ada3ce6..a9b92d2 100644 +--- a/com/aelitis/azureus/core/impl/AzureusCoreSingleInstanceClient.java ++++ b/com/aelitis/azureus/core/impl/AzureusCoreSingleInstanceClient.java +@@ -29,8 +29,8 @@ import java.io.*; + /** + * Single instance management is a bit of a mess. For some reason the UIs have their own implementations of clients and servers. + * We also have a more generic plugin-accessible single instance service that can be used by launchable plugins but don't give +- * a generic mechanism for dealing with the basic mechanism used by the UIs (that run on 6880). +- * I have introduced this class to give a programmatic way of passing arguments using the existing 6880 port. Perhaps one day ++ * a generic mechanism for dealing with the basic mechanism used by the UIs (that run on main local port). ++ * I have introduced this class to give a programmatic way of passing arguments using the existing local port. Perhaps one day + * the various UI implementations will be rewritten to use this... + * @author Parg + */ +@@ -69,9 +69,7 @@ AzureusCoreSingleInstanceClient + Socket sock = null; + + try{ +- sock = new Socket(); +- +- sock.connect( new InetSocketAddress( "127.0.0.1", 6880 ), CONNECT_TIMEOUT ); ++ sock = org.gudy.azureus2.core3.util.LocalSocketHelper.connect(); + + sock.setSoTimeout( READ_TIMEOUT ); + +diff --git a/com/aelitis/azureus/core/networkmanager/impl/tcp/IncomingSocketChannelManager.java b/com/aelitis/azureus/core/networkmanager/impl/tcp/IncomingSocketChannelManager.java +index d74e5ef..4189790 100644 +--- a/com/aelitis/azureus/core/networkmanager/impl/tcp/IncomingSocketChannelManager.java ++++ b/com/aelitis/azureus/core/networkmanager/impl/tcp/IncomingSocketChannelManager.java +@@ -370,7 +370,7 @@ public class IncomingSocketChannelManager + { + this_mon.enter(); + +- if (tcp_listen_port < 0 || tcp_listen_port > 65535 || tcp_listen_port == 6880) ++ if (tcp_listen_port < 0 || tcp_listen_port >= 49152) + { + String msg = "Invalid incoming TCP listen port configured, " + tcp_listen_port + ". Port reset to default. Please check your config!"; + Debug.out(msg); +diff --git a/com/aelitis/azureus/core/networkmanager/impl/udp/UDPNetworkManager.java b/com/aelitis/azureus/core/networkmanager/impl/udp/UDPNetworkManager.java +index daa77dd..9354448 100644 +--- a/com/aelitis/azureus/core/networkmanager/impl/udp/UDPNetworkManager.java ++++ b/com/aelitis/azureus/core/networkmanager/impl/udp/UDPNetworkManager.java +@@ -118,7 +118,7 @@ UDPNetworkManager + return; + } + +- if ( port < 0 || port > 65535 || port == 6880 ) { ++ if ( port < 0 || port >= 49152 ) { + + String msg = "Invalid incoming UDP listen port configured, " +port+ ". The port has been reset. Please check your config!"; + +@@ -151,7 +151,7 @@ UDPNetworkManager + return; + } + +- if ( port < 0 || port > 65535 || port == 6880 ) { ++ if ( port < 0 || port >= 49152 ) { + + String msg = "Invalid incoming UDP non-data listen port configured, " +port+ ". The port has been reset. Please check your config!"; + +diff --git a/org/gudy/azureus2/core3/config/impl/ConfigurationChecker.java b/org/gudy/azureus2/core3/config/impl/ConfigurationChecker.java +index 15a1912..d3d70cf 100644 +--- a/org/gudy/azureus2/core3/config/impl/ConfigurationChecker.java ++++ b/org/gudy/azureus2/core3/config/impl/ConfigurationChecker.java +@@ -454,7 +454,7 @@ ConfigurationChecker + + // reset invalid ports - single-instance socket port and (small) magnet uri listener port range + +- if ( tcp_port == 6880 || ( tcp_port >= 45100 && tcp_port <= 45103 )){ ++ if ( tcp_port >= 49152 || ( tcp_port >= 45100 && tcp_port <= 45103 )){ + + int new_tcp_port = RandomUtils.generateRandomNetworkListenPort(); + +diff --git a/org/gudy/azureus2/core3/ipchecker/natchecker/NatChecker.java b/org/gudy/azureus2/core3/ipchecker/natchecker/NatChecker.java +index c8aec8d..18138a6 100644 +--- a/org/gudy/azureus2/core3/ipchecker/natchecker/NatChecker.java ++++ b/org/gudy/azureus2/core3/ipchecker/natchecker/NatChecker.java +@@ -70,7 +70,7 @@ public class NatChecker { + { + String check = "azureus_rand_" + String.valueOf( (int)(Math.random() * 100000) ); + +- if ( port < 0 || port > 65535 || port == 6880 ){ ++ if ( port < 0 || port >= 49152 ){ + + result = NAT_UNABLE; + +diff --git a/org/gudy/azureus2/core3/util/LocalSocketHelper.java b/org/gudy/azureus2/core3/util/LocalSocketHelper.java +new file mode 100644 +index 0000000..568efaa +--- /dev/null ++++ b/org/gudy/azureus2/core3/util/LocalSocketHelper.java +@@ -0,0 +1,128 @@ ++/* ++ * Created on Aug 24, 2008 ++ * Created by Stefano Maioli ++ * Copyright (C) 2008 Stefano Maioli, All Rights Reserved. ++ * ++ * 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. ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ */ ++ ++package org.gudy.azureus2.core3.util; ++ ++import java.io.*; ++import java.net.*; ++ ++/** ++ * ++ * @author Stefano Maioli ++ */ ++public class LocalSocketHelper { ++ ++ static private LocalSocketHelper helper = null; ++ ++ private int port; ++ private long key; ++ private boolean wasLocked; ++ private File lock; ++ private ServerSocket listenSocket = null; ++ private Socket outSocket = null; ++ ++ private LocalSocketHelper() throws IOException { ++ String path = SystemProperties.getUserPath(); ++ lock = new File(path, "localport.lock"); ++ if(lock.exists()) { ++ DataInputStream inlock = new DataInputStream(new FileInputStream(lock)); ++ port = inlock.readInt(); ++ key = inlock.readLong(); ++ inlock.close(); ++ wasLocked = true; ++ } else { ++ key = new java.util.Random().nextLong(); ++ do { ++ port = (int)(Math.random()*(65535-49152) + 49152); ++ try { ++ listenSocket = new AuthServerSocket(port, 50, InetAddress.getByName("127.0.0.1")); ++ } catch(BindException ex) { listenSocket.close(); } ++ } while(!listenSocket.isBound()); ++ ++ DataOutputStream outlock = new DataOutputStream( ++ new BufferedOutputStream(new FileOutputStream(lock))); ++ outlock.writeInt(port); ++ outlock.writeLong(key); ++ outlock.close(); ++ lock.deleteOnExit(); ++ wasLocked = false; ++ } ++ } ++ ++ public static Socket connect() throws IOException { ++ if(helper == null) helper = new LocalSocketHelper(); ++ if(helper.outSocket != null && helper.outSocket.isConnected()) ++ return helper.outSocket; ++ ++ if(!helper.wasLocked) throw new IOException("No previous instance to connect to."); ++ ++ Socket s; ++ try { ++ s = new Socket("127.0.0.1", helper.port); ++ DataOutputStream out = new DataOutputStream(s.getOutputStream()); ++ DataInputStream in = new DataInputStream(s.getInputStream()); ++ out.writeLong(helper.key); ++ out.flush(); ++ in.readByte(); ++ } catch(IOException ex) { ++ helper.lock.delete(); ++ helper = new LocalSocketHelper(); ++ throw ex; ++ } ++ helper.outSocket = s; ++ ++ return s; ++ } ++ ++ public static ServerSocket listen() throws IOException { ++ try { ++ connect(); ++ } catch(IOException ex) {} ++ if(helper.listenSocket != null) ++ return helper.listenSocket; ++ else { ++ throw new IOException("Other instance detected"); ++ } ++ } ++ ++ private class AuthServerSocket extends ServerSocket { ++ ++ public AuthServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException { ++ super(port, backlog, bindAddr); ++ } ++ ++ //@Override ++ public Socket accept() throws IOException { ++ Socket s = super.accept(); ++ DataInputStream in = new DataInputStream(s.getInputStream()); ++ if(in.readLong() != key) { ++ in.close(); ++ throw new SocketException("Connection closed: invalid authentication"); ++ } ++ DataOutputStream out = new DataOutputStream(s.getOutputStream()); ++ out.writeByte(1); ++ out.flush(); ++ return s; ++ } ++ ++ //@Override ++ public void close() throws IOException { ++ } ++ ++ } ++} +diff --git a/org/gudy/azureus2/core3/util/RandomUtils.java b/org/gudy/azureus2/core3/util/RandomUtils.java +index 210f6ec..12bd5a2 100644 +--- a/org/gudy/azureus2/core3/util/RandomUtils.java ++++ b/org/gudy/azureus2/core3/util/RandomUtils.java +@@ -70,7 +70,7 @@ RandomUtils + + + public static final int LISTEN_PORT_MIN = 10000; +- public static final int LISTEN_PORT_MAX = 65535; ++ public static final int LISTEN_PORT_MAX = 49151; + + + /** +diff --git a/org/gudy/azureus2/platform/unix/ScriptBeforeStartup.java b/org/gudy/azureus2/platform/unix/ScriptBeforeStartup.java +index af273a6..e377dd1 100644 +--- a/org/gudy/azureus2/platform/unix/ScriptBeforeStartup.java ++++ b/org/gudy/azureus2/platform/unix/ScriptBeforeStartup.java +@@ -42,7 +42,7 @@ public class ScriptBeforeStartup + boolean argsSent = new AzureusCoreSingleInstanceClient().sendArgs(args, 500); + if (argsSent) { + // azureus was open.. +- String msg = "Passing startup args to already-running " + Constants.APP_NAME + " java process listening on [127.0.0.1: 6880]"; ++ String msg = "Passing startup args to already-running " + Constants.APP_NAME + " java process"; + log(msg); + sysout.println("exit"); + +diff --git a/org/gudy/azureus2/ui/common/Main.java b/org/gudy/azureus2/ui/common/Main.java +index 40cf3d7..6686913 100644 +--- a/org/gudy/azureus2/ui/common/Main.java ++++ b/org/gudy/azureus2/ui/common/Main.java +@@ -358,7 +358,7 @@ public class Main { + + // NOTE - this formatting is also used by AzureusCoreSingleInstanceClient and other org.gudy.azureus2.ui.swt.StartSocket + +- sck = new Socket("127.0.0.1",6880); ++ sck = org.gudy.azureus2.core3.util.LocalSocketHelper.connect(); + pw = new PrintWriter(new OutputStreamWriter(sck.getOutputStream())); + StringBuffer buffer = new StringBuffer(AzureusCoreSingleInstanceClient.ACCESS_STRING+";args;"); + for(int i = 0 ; i < args.length ; i++) { +diff --git a/org/gudy/azureus2/ui/common/StartServer.java b/org/gudy/azureus2/ui/common/StartServer.java +index c5f5603..3b46395 100644 +--- a/org/gudy/azureus2/ui/common/StartServer.java ++++ b/org/gudy/azureus2/ui/common/StartServer.java +@@ -35,16 +35,16 @@ public class StartServer extends Thread { + public StartServer() { + super("Start Server"); + try { +- socket = new ServerSocket(6880, 50, InetAddress.getByName("127.0.0.1")); //NOLAR: only bind to localhost ++ socket = org.gudy.azureus2.core3.util.LocalSocketHelper.listen(); //NOLAR: only bind to localhost + state = STATE_LISTENING; +- Logger.getLogger("azureus2").info("StartServer: listening on 127.0.0.1:6880 for passed torrent info"); ++ Logger.getLogger("azureus2").info("StartServer: listening on 127.0.0.1:" + socket.getLocalPort() + " for passed torrent info"); + } catch (Exception e) { + state = STATE_FAULTY; + + // DON'T USE LOGGER here as we DON't want to initialise all the logger stuff + // and in particular AEDiagnostics config dirty stuff!!!! + +- System.out.println( "StartServer ERROR: unable to bind to 127.0.0.1:6880 for passed torrent info"); ++ System.out.println( "StartServer ERROR: unable to bind to a local port for passed torrent info"); + } + } + +diff --git a/org/gudy/azureus2/ui/swt/Main.java b/org/gudy/azureus2/ui/swt/Main.java +index d9e8463..ccc2588 100644 +--- a/org/gudy/azureus2/ui/swt/Main.java ++++ b/org/gudy/azureus2/ui/swt/Main.java +@@ -215,13 +215,13 @@ Main + } + + +- if( another_instance ) { //looks like there's already a process listening on 127.0.0.1:6880 ++ if( another_instance ) { //looks like there's already a process listening + //attempt to pass args to existing instance + StartSocket ss = new StartSocket(args); + + if( !ss.sendArgs() ) { //arg passing attempt failed, so start core anyway + another_instance = false; +- String msg = "There appears to be another program process already listening on socket [127.0.0.1: 6880].\nLoading of torrents via command line parameter will fail until this is fixed."; ++ String msg = "Impossible to bind to a local socket.\nLoading of torrents via command line parameter will fail until this is fixed."; + System.out.println( msg ); + Logger.log(new LogAlert(LogAlert.REPEATABLE, LogAlert.AT_WARNING, msg)); + } +diff --git a/org/gudy/azureus2/ui/swt/StartServer.java b/org/gudy/azureus2/ui/swt/StartServer.java +index 88f520e..e354014 100644 +--- a/org/gudy/azureus2/ui/swt/StartServer.java ++++ b/org/gudy/azureus2/ui/swt/StartServer.java +@@ -68,13 +68,13 @@ StartServer + // DON'T USE LOGGER HERE DUE TO COMMENTS BELOW - IF AZ ALREADY RUNNING THEN THE SERVERSOCKET + // CALL WILL THROW AN EXCEPTION + +- socket = new ServerSocket(6880, 50, InetAddress.getByName("127.0.0.1")); //NOLAR: only bind to localhost ++ socket = org.gudy.azureus2.core3.util.LocalSocketHelper.listen(); //NOLAR: only bind to localhost + + state = STATE_LISTENING; + + if (Logger.isEnabled()) + Logger.log(new LogEvent(LOGID, "StartServer: listening on " +- + "127.0.0.1:6880 for passed torrent info")); ++ + "127.0.0.1:" + socket.getLocalPort() + " for passed torrent info")); + + }catch (Throwable t) { + +@@ -84,7 +84,7 @@ StartServer + state = STATE_FAULTY; + String reason = t.getMessage() == null ? "<>" : t.getMessage(); + +- System.out.println( "StartServer ERROR: unable" + " to bind to 127.0.0.1:6880 listening" ++ System.out.println( "StartServer ERROR: unable" + " to bind to a local port listening" + + " for passed torrent info: " + reason); + } + } +diff --git a/org/gudy/azureus2/ui/swt/StartSocket.java b/org/gudy/azureus2/ui/swt/StartSocket.java +index 2071c96..d6d73de 100644 +--- a/org/gudy/azureus2/ui/swt/StartSocket.java ++++ b/org/gudy/azureus2/ui/swt/StartSocket.java +@@ -49,14 +49,14 @@ public class StartSocket { + Socket sck = null; + PrintWriter pw = null; + try { +- String msg = "StartSocket: passing startup args to already-running Azureus java process listening on [127.0.0.1: 6880]"; ++ String msg = "StartSocket: passing startup args to already-running Azureus java process"; + + // DON'T USE LOGGER here as we DON't want to initialise all the logger stuff + // and in particular AEDiagnostics config dirty stuff!!!! + + System.out.println( msg ); + +- sck = new Socket("127.0.0.1", 6880); ++ sck = org.gudy.azureus2.core3.util.LocalSocketHelper.connect(); + + // NOTE - this formatting is also used by AzureusCoreSingleInstanceClient and other org.gudy.azureus2.ui.common.Main.StartSocket + +diff --git a/org/gudy/azureus2/ui/swt/osx/Start.java b/org/gudy/azureus2/ui/swt/osx/Start.java +index 5f20cd3..c70a78e 100644 +--- a/org/gudy/azureus2/ui/swt/osx/Start.java ++++ b/org/gudy/azureus2/ui/swt/osx/Start.java +@@ -38,7 +38,7 @@ public class Start { + try { + System.out.println("StartSocket: passing startup args to already-running Azureus java process."); + +- sck = new Socket("127.0.0.1", 6880); ++ sck = org.gudy.azureus2.core3.util.LocalSocketHelper.connect(); + + pw = new PrintWriter(new OutputStreamWriter(sck.getOutputStream(),"UTF8")); + +diff --git a/org/gudy/azureus2/ui/swt/updater/snippets/Main.java b/org/gudy/azureus2/ui/swt/updater/snippets/Main.java +index fe96aab..99ffec1 100644 +--- a/org/gudy/azureus2/ui/swt/updater/snippets/Main.java ++++ b/org/gudy/azureus2/ui/swt/updater/snippets/Main.java +@@ -36,7 +36,7 @@ public class Main { + + public static void main(String args[]) { + try { +- ServerSocket server = new ServerSocket(6880, 50, InetAddress.getByName("127.0.0.1")); ++ ServerSocket server = org.gudy.azureus2.core3.util.LocalSocketHelper.listen(); + spawnStarted(); + server.close(); + } catch(Exception e) { +diff --git a/org/gudy/azureus2/ui/swt/updater/snippets/Started.java b/org/gudy/azureus2/ui/swt/updater/snippets/Started.java +index 023a557..7619e99 100644 +--- a/org/gudy/azureus2/ui/swt/updater/snippets/Started.java ++++ b/org/gudy/azureus2/ui/swt/updater/snippets/Started.java +@@ -36,11 +36,11 @@ public class Started { + try { + while(!ok) { + try{ +- ServerSocket server = new ServerSocket(6880, 50, InetAddress.getByName("127.0.0.1")); ++ ServerSocket server = org.gudy.azureus2.core3.util.LocalSocketHelper.listen(); + ok = true; + server.close(); + } catch(Exception e) { +- Logger.log("Exception while trying to bind on port 6880 : " + e); ++ Logger.log("Exception while trying to bind to local port : " + e); + Thread.sleep(1000); + } + } +diff --git a/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionConnection.java b/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionConnection.java +index 5fa1571..34ff660 100644 +--- a/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionConnection.java ++++ b/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionConnection.java +@@ -102,15 +102,15 @@ public class ConfigSectionConnection implements UISWTConfigSection { + label.setLayoutData(gridData); + + final IntParameter tcplisten = new IntParameter(cMiniArea, +- "TCP.Listen.Port", 1, 65535); ++ "TCP.Listen.Port", 1, 49151); + gridData = new GridData(); + gridData.widthHint = 40; + tcplisten.setLayoutData(gridData); + + tcplisten.addChangeListener(new ParameterChangeAdapter() { + public void intParameterChanging(Parameter p, int toValue) { +- if (toValue == 6880) { +- toValue = 6881; ++ if (toValue > 49151) { ++ toValue = 49151; + tcplisten.setValue(toValue); + } + +@@ -130,7 +130,7 @@ public class ConfigSectionConnection implements UISWTConfigSection { + label.setLayoutData(gridData); + + final IntParameter udp_listen = new IntParameter(cMiniArea, +- "UDP.Listen.Port", 1, 65535); ++ "UDP.Listen.Port", 1, 49151); + gridData = new GridData(); + gridData.widthHint = 40; + udp_listen.setLayoutData(gridData); +@@ -139,8 +139,8 @@ public class ConfigSectionConnection implements UISWTConfigSection { + + udp_listen.addChangeListener(new ParameterChangeAdapter() { + public void intParameterChanging(Parameter p, int toValue) { +- if (toValue == 6880) { +- toValue = 6881; ++ if (toValue > 49151) { ++ toValue = 49151; + udp_listen.setValue(toValue); + } + +@@ -175,8 +175,8 @@ public class ConfigSectionConnection implements UISWTConfigSection { + new ParameterChangeAdapter() + { + public void intParameterChanging(Parameter p, int toValue) { +- if (toValue == 6880) { +- toValue = 6881; ++ if (toValue > 49151) { ++ toValue = 49151; + non_data_udp_listen.setValue(toValue); + } + } +@@ -191,7 +191,7 @@ public class ConfigSectionConnection implements UISWTConfigSection { + + int udp_listen_port = udp_listen.getValue(); + +- if ( udp_listen_port != 6880 ){ ++ if ( udp_listen_port < 49152 ){ + + COConfigurationManager.setParameter( "UDP.NonData.Listen.Port", udp_listen_port ); + +diff --git a/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionConnectionAdvanced.java b/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionConnectionAdvanced.java +index 487cb27..590d1d1 100644 +--- a/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionConnectionAdvanced.java ++++ b/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionConnectionAdvanced.java +@@ -173,7 +173,7 @@ public class ConfigSectionConnectionAdvanced implements UISWTConfigSection { + Label lpbind = new Label(gSocket, SWT.NULL); + Messages.setLanguageText(lpbind, CFG_PREFIX + "bind_port"); + final IntParameter port_bind = new IntParameter(gSocket, +- "network.bind.local.port", 0, 65535); ++ "network.bind.local.port", 0, 49151); + gridData = new GridData(); + gridData.widthHint = 40; + port_bind.setLayoutData(gridData); +diff --git a/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionTrackerClient.java b/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionTrackerClient.java +index 5f77ef7..a7531b2 100644 +--- a/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionTrackerClient.java ++++ b/org/gudy/azureus2/ui/swt/views/configsections/ConfigSectionTrackerClient.java +@@ -176,7 +176,7 @@ ConfigSectionTrackerClient + try + { + int portVal = Integer.parseInt(toValue); +- if(portVal >= 0 && portVal <= 65535) ++ if(portVal >= 0 && portVal <= 49151) + return; + } catch (NumberFormatException e) {} + p.setValue(""); +-- +tg: (cb188fa..) fixes/multiuser (depends on: fixes/sunsecurity) --- azureus-4.2.0.8.orig/debian/patches/fixes/encoding.diff +++ azureus-4.2.0.8/debian/patches/fixes/encoding.diff @@ -0,0 +1,40 @@ +Author: Jurij Smakov +Reviewed-by: Shaun Jackman +Reviewed-by: Adrian Perez +Bug-Debian: http://bugs.debian.org/492800 +Last-Update: 2009-07-29 +Description: remove non-UTF8 characters to fix month translation + in DateParserRegex.java. + +--- + .../core/metasearch/impl/DateParserRegex.java | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/com/aelitis/azureus/core/metasearch/impl/DateParserRegex.java b/com/aelitis/azureus/core/metasearch/impl/DateParserRegex.java +index b2e8560..b9099d0 100644 +--- a/com/aelitis/azureus/core/metasearch/impl/DateParserRegex.java ++++ b/com/aelitis/azureus/core/metasearch/impl/DateParserRegex.java +@@ -50,17 +50,17 @@ public class DateParserRegex extends DateParser { + + private static final String[] MONTHS_LIST = new String[] { + " january janvier enero januar", +- " february fevrier fŽvrier febrero februar", +- " march mars marzo marz marz mŠrz" , ++ " february fevrier fevrier febrero februar", ++ " march mars marzo marz marz marz" , + " april avril abril april ", + " may mai mayo mai", + " june juin junio juni", + " july juillet julio juli", +- " august aout aožt agosto august", ++ " august aout aout agosto august", + " september septembre septiembre september", + " october octobre octubre oktober", + " november novembre noviembre november", +- " december decembre dŽcembre diciembre dezember"}; ++ " december decembre decembre diciembre dezember"}; + + public DateParserRegex() { + this("GMT-7",true,null); +-- +tg: (c80152d..) fixes/encoding (depends on: fixes/platform) --- azureus-4.2.0.8.orig/debian/patches/fixes/sunsecurity.diff +++ azureus-4.2.0.8/debian/patches/fixes/sunsecurity.diff @@ -0,0 +1,67 @@ +Author: Shaun Jackman +Reviewed-by: Adrian Perez +Last-Update: 2009-07-29 +Description: Don't use AccessController and privileges to get +user environment information. Use System.getProperty() instead. +The sun.security package is Sun's property and may be removed in the +future. Also, this causes a FTBFS when using OpenJDK. + +--- + org/gudy/azureus2/core3/internat/MessageText.java | 18 ++++++++---------- + 1 files changed, 8 insertions(+), 10 deletions(-) + +diff --git a/org/gudy/azureus2/core3/internat/MessageText.java b/org/gudy/azureus2/core3/internat/MessageText.java +index 816f30c..6f397bb 100644 +--- a/org/gudy/azureus2/core3/internat/MessageText.java ++++ b/org/gudy/azureus2/core3/internat/MessageText.java +@@ -24,7 +24,9 @@ import java.io.FilenameFilter; + import java.net.URI; + import java.net.URL; + import java.net.URLClassLoader; ++/* --- Adrian Perez: Don't use AccessController. + import java.security.AccessController; ++*/ + import java.util.*; + import java.util.jar.JarEntry; + import java.util.jar.JarFile; +@@ -38,9 +40,9 @@ import org.gudy.azureus2.core3.util.Constants; + import org.gudy.azureus2.core3.util.Debug; + import org.gudy.azureus2.core3.util.FileUtil; + import org.gudy.azureus2.core3.util.SystemProperties; +- ++/* --- Adrian Perez: Don't use sun.security. + import sun.security.action.GetPropertyAction; +- ++*/ + /** + * @author Arbeiten + * +@@ -768,11 +770,9 @@ public class MessageText { + // at startup to determine the locale. Too bad they didn't provide + // a way to call this code explicitly.. + String language, region, country, variant; +- language = (String) AccessController.doPrivileged( +- new GetPropertyAction("user.language", "en")); ++ language = System.getProperty("user.language", "en"); + // for compatibility, check for old user.region property +- region = (String) AccessController.doPrivileged( +- new GetPropertyAction("user.region")); ++ region = System.getProperty("user.region"); + if (region != null) { + // region can be of form country, country_variant, or _variant + int i = region.indexOf('_'); +@@ -784,10 +784,8 @@ public class MessageText { + variant = ""; + } + } else { +- country = (String) AccessController.doPrivileged( +- new GetPropertyAction("user.country", "")); +- variant = (String) AccessController.doPrivileged( +- new GetPropertyAction("user.variant", "")); ++ country = System.getProperty("user.country", ""); ++ variant = System.getProperty("user.variant", ""); + } + changeLocale(new Locale(language, country, variant)); + COConfigurationManager.removeParameter("locale"); +-- +tg: (9455772..) fixes/sunsecurity (depends on: fixes/encoding) --- azureus-4.2.0.8.orig/debian/patches/fixes/platform.diff +++ azureus-4.2.0.8/debian/patches/fixes/platform.diff @@ -0,0 +1,137 @@ +Author: Adrian Perez +Last-Update: 2009-07-29 +Description: Avoid the FTBFS caused by the use Win32 and +MacOS-X platforms logic and imports. + +--- + .../core/update/impl/AzureusRestarterImpl.java | 6 +++++- + .../ui/swt/views/skin/TorrentListViewsUtils.java | 6 ++++-- + .../azureus2/platform/PlatformManagerFactory.java | 4 ++-- + .../platform/PlatformManagerPluginDelegate.java | 15 ++++++++++++--- + 4 files changed, 23 insertions(+), 8 deletions(-) + +diff --git a/com/aelitis/azureus/core/update/impl/AzureusRestarterImpl.java b/com/aelitis/azureus/core/update/impl/AzureusRestarterImpl.java +index b4438fb..d238dc6 100644 +--- a/com/aelitis/azureus/core/update/impl/AzureusRestarterImpl.java ++++ b/com/aelitis/azureus/core/update/impl/AzureusRestarterImpl.java +@@ -30,8 +30,10 @@ import org.gudy.azureus2.core3.util.*; + import org.gudy.azureus2.platform.PlatformManager; + import org.gudy.azureus2.platform.PlatformManagerFactory; + import org.gudy.azureus2.platform.unix.ScriptAfterShutdown; ++/* --- Adrian Perez: Don't import this when building for Linux. + import org.gudy.azureus2.platform.win32.access.AEWin32Access; + import org.gudy.azureus2.platform.win32.access.AEWin32Manager; ++*/ + import org.gudy.azureus2.plugins.PluginInterface; + import org.gudy.azureus2.plugins.platform.PlatformManagerException; + import org.gudy.azureus2.pluginsimpl.local.PluginInitializer; +@@ -306,7 +308,8 @@ AzureusRestarterImpl + } + + try { +- int result; ++ int result = -123; // Adrian Perez: Evade Win32 logic, key: "nowin32" ++/* + AEWin32Access accessor = AEWin32Manager.getAccessor(true); + if (accessor == null) { + result = -123; +@@ -345,6 +348,7 @@ AzureusRestarterImpl + SystemProperties.getApplicationPath(), AEWin32Access.SW_NORMAL); + } + } ++*/ + + /* + * Some results: +diff --git a/com/aelitis/azureus/ui/swt/views/skin/TorrentListViewsUtils.java b/com/aelitis/azureus/ui/swt/views/skin/TorrentListViewsUtils.java +index 1fdc4df..6ccac5c 100644 +--- a/com/aelitis/azureus/ui/swt/views/skin/TorrentListViewsUtils.java ++++ b/com/aelitis/azureus/ui/swt/views/skin/TorrentListViewsUtils.java +@@ -78,8 +78,9 @@ import com.aelitis.azureus.util.DLReferals; + import com.aelitis.azureus.util.DataSourceUtils; + import com.aelitis.azureus.util.PlayUtils; + import com.aelitis.azureus.util.PublishUtils; ++/* --- Adrian Perez: Don't import this when building for Linux. + import com.aelitis.azureus.util.win32.Win32Utils; +- ++*/ + /** + * @author TuxPaper + * @created Oct 12, 2006 +@@ -640,7 +641,7 @@ public class TorrentListViewsUtils + private static boolean runInMediaPlayer(String mediaFile) { + + debugDCAD("enter - runInMediaPlayer"); +- ++/* --- Adrian Perez: Don't use Win32 media player. Always return false. + if (Constants.isWindows) { + String wmpEXE = Win32Utils.getWMP(); + if (new File(wmpEXE).exists()) { +@@ -652,6 +653,7 @@ public class TorrentListViewsUtils + } + } + } ++*/ + return false; + } + +diff --git a/org/gudy/azureus2/platform/PlatformManagerFactory.java b/org/gudy/azureus2/platform/PlatformManagerFactory.java +index 82fcb69..6eec2eb 100644 +--- a/org/gudy/azureus2/platform/PlatformManagerFactory.java ++++ b/org/gudy/azureus2/platform/PlatformManagerFactory.java +@@ -51,11 +51,11 @@ PlatformManagerFactory + if ( getPlatformType() == PlatformManager.PT_WINDOWS ){ + + platform_manager = org.gudy.azureus2.platform.win32.PlatformManagerImpl.getSingleton(); +- ++/* --- Adrian Perez: Don't use MacOS-X's PlatformManagerImpl + }else if( getPlatformType() == PlatformManager.PT_MACOSX ){ + + platform_manager = org.gudy.azureus2.platform.macosx.PlatformManagerImpl.getSingleton(); +- ++*/ + }else if( getPlatformType() == PlatformManager.PT_UNIX ){ + + platform_manager = org.gudy.azureus2.platform.unix.PlatformManagerImpl.getSingleton(); +diff --git a/org/gudy/azureus2/platform/PlatformManagerPluginDelegate.java b/org/gudy/azureus2/platform/PlatformManagerPluginDelegate.java +index 3beeb39..b98a0bf 100644 +--- a/org/gudy/azureus2/platform/PlatformManagerPluginDelegate.java ++++ b/org/gudy/azureus2/platform/PlatformManagerPluginDelegate.java +@@ -24,6 +24,10 @@ import java.util.Properties; + + import org.gudy.azureus2.platform.unix.PlatformManagerUnixPlugin; + ++/* --- Adrian Perez: Don't use Win32 UpdateChecker in Linux. ++import org.gudy.azureus2.platform.win32.PlatformManagerUpdateChecker; ++*/ ++ + import org.gudy.azureus2.plugins.Plugin; + import org.gudy.azureus2.plugins.PluginException; + import org.gudy.azureus2.plugins.PluginInterface; +@@ -44,16 +48,21 @@ public class PlatformManagerPluginDelegate + PlatformManager platform = PlatformManagerFactory.getPlatformManager(); + + int platformType = platform.getPlatformType(); +- if ( platformType == PlatformManager.PT_WINDOWS ){ ++ ++ /* Adrian Perez: ++ * We're not in Windows or MacOS ++ * ++ if ( platformType == PlatformManager.PT_WINDOWS ){ + org.gudy.azureus2.platform.win32.PlatformManagerUpdateChecker plugin = new org.gudy.azureus2.platform.win32.PlatformManagerUpdateChecker(); + plugin.initialize(pluginInterface); + }else if ( platformType == PlatformManager.PT_MACOSX ){ + org.gudy.azureus2.platform.macosx.PlatformManagerUpdateChecker plugin = new org.gudy.azureus2.platform.macosx.PlatformManagerUpdateChecker(); + plugin.initialize(pluginInterface); +- }else if ( platformType == PlatformManager.PT_UNIX ){ ++ */ ++ if ( platformType == PlatformManager.PT_UNIX ){ + PlatformManagerUnixPlugin plugin = new PlatformManagerUnixPlugin(); + plugin.initialize(pluginInterface); +- }else{ ++ } else { + Properties pluginProperties = pluginInterface.getPluginProperties(); + pluginProperties.setProperty("plugin.name", "Platform-Specific Support"); + pluginProperties.setProperty("plugin.version", "1.0"); +-- +tg: (320870a..) fixes/platform (depends on: upstream) --- azureus-4.2.0.8.orig/debian/wrappers/azureus +++ azureus-4.2.0.8/debian/wrappers/azureus @@ -0,0 +1,18 @@ +#!/bin/sh + +# Include java-wrappers +. /usr/lib/java-wrappers/java-wrappers.sh + +JAVA_CLASSPATH="/usr/lib/jni:/usr/lib/java" +VUZE_BIN="/usr/bin/vuze" + +find_java_runtime openjdk sunmin5 + +find_jars Azureus2 log4j-1.2 commons-cli swt + +if [ ! -x $VUZE_BIN ]; then + UI=-Dforce.ui=az2 +fi + +run_java -Dazureus.install.path="$HOME/.azureus" $UI \ + org.gudy.azureus2.ui.common.Main "$@"