rpms/azureus/devel Azureus.desktop, NONE, 1.1 azureus-ChangeLog.txt, NONE, 1.1 azureus-ConfigurationManager-improvement.patch, NONE, 1.1 azureus-GKR.patch, NONE, 1.1 azureus-License.txt, NONE, 1.1 azureus-base64.patch, NONE, 1.1 azureus-cache-size.patch, NONE, 1.1 azureus-java.beans.XMLEncoder.patch, NONE, 1.1 azureus-jessie.patch, NONE, 1.1 azureus-no-bouncycastle.patch, NONE, 1.1 azureus-remove-manifest-classpath.patch, NONE, 1.1 azureus-remove-win32-PlatformManagerUpdateChecker.patch, NONE, 1.1 azureus-remove-win32-osx-platforms.patch, NONE, 1.1 azureus-sun.misc.Cleaner.patch, NONE, 1.1 azureus-sun.misc.Signal.patch, NONE, 1.1 azureus.applications, NONE, 1.1 azureus.script, NONE, 1.1 azureus.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Anthony Green (green) fedora-extras-commits at redhat.com
Thu Jan 19 23:08:03 UTC 2006


Author: green

Update of /cvs/extras/rpms/azureus/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv13410/devel

Modified Files:
	.cvsignore sources 
Added Files:
	Azureus.desktop azureus-ChangeLog.txt 
	azureus-ConfigurationManager-improvement.patch 
	azureus-GKR.patch azureus-License.txt azureus-base64.patch 
	azureus-cache-size.patch azureus-java.beans.XMLEncoder.patch 
	azureus-jessie.patch azureus-no-bouncycastle.patch 
	azureus-remove-manifest-classpath.patch 
	azureus-remove-win32-PlatformManagerUpdateChecker.patch 
	azureus-remove-win32-osx-platforms.patch 
	azureus-sun.misc.Cleaner.patch azureus-sun.misc.Signal.patch 
	azureus.applications azureus.script azureus.spec 
Log Message:
auto-import azureus-2.3.0.6-13 on branch devel from azureus-2.3.0.6-13.src.rpm


--- NEW FILE Azureus.desktop ---
[Desktop Entry]
Name=Azureus
Comment=A BitTorrent Client
Exec=azureus
Icon=azureus
Terminal=false
Type=Application
MimeType=application/x-bittorrent
Categories=Application;Network;



--- NEW FILE azureus-ChangeLog.txt ---
AZUREUS CHANGELOG
---------

2005.11.22 | Azureus 2.3.0.6

FEATURE: Core | Built in tracker support for multiple listen ports [Parg]
FEATURE: Core | Tracker support for multi-hash scrapes [Parg]
FEATURE: Core | "Date added" field added for hosted torrents [Parg]
FEATURE: Core | Alternate max upload rate limit when only seeding option [Nolar]
FEATURE: Core | Ability to move a download's data files and torrent added [Parg]
FEATURE: Core | Added ability to turn off DHT originated IP Filter violation logs [Parg]
FEATURE: Core | When a peer is banned remove any data downloaded from it in partially complete pieces [Parg]
FEATURE: Core | Added "block banning" feature when multiple bad peers found with "close" IPs [Parg]
FEATURE: Core | Support for platform-specific plugin update components [Parg]
FEATURE: Core | Support for .torrent file download using just infohash hex string (via DHT magnet lookup mechanism) [Nolar]
FEATURE: Core | Added some control over initial share ratio for "add for seeding" downloads [Parg]
FEATURE: Core | Added feature to allow disabling of multi-hash tracker scrapes [Parg]
FEATURE: Core | Tracker connections respect bind-ip settings (http only) [Parg]
FEATURE: Core | Banned ips persisted across restart [Parg]
FEATURE: Core | Ability to add an alternative max-torrent-limit when seeding [Parg]
FEATURE: Core | DHT NAT punching for firewalled peers [Parg]
FEATURE: Core | Ability to rename and redirect files within a torrent [Parg]
FEATURE: Core | Compact storage for "do not download" files [Parg]
FEATURE: Core | Magnet URI protocol registration under windows [Parg]
FEATURE: Plug | UPnP plugin will warn if it discovers a router that has known protocol problems [Parg]
FEATURE: Plug | Magnet URI accessor method added to Torrent [Parg]
FEATURE: Plug | Added "launchable plugins" that can be used to start Azureus [Parg]
FEATURE: Plug | Added single-instance management function [Parg]
FEATURE: Plug | Made some platform-specific functions available to plugins [Parg]
FEATURE: Plug | Ability to add Swing based interfaces as plugin views [Parg]
FEATURE: UI   | Console UI support for viewing specific plugin logs [Parg]
FEATURE: UI   | Beginner configuration user mode provides a simplified interface [Gouss]
FEATURE: UI   | Support for --closedown parameter to org.gudy.azureus2.ui.swt.Main to closedown an existing AZ instance [Parg]
FEATURE: UI   | Added Average Peer Completion percentage column to MyTorrents view and Details view [Nolar]
FEATURE: UI   | Added NAT status icon to status area [Parg]
FEATURE: UI   | Indicate potential DHT port problems in SWT status area [Parg]
FEATURE: UI   | Added swarm average to activity view plus a legend [Parg]
FEATURE: UI   | Console support for listing shares improved, deleting of shares added [Parg]

CHANGE: Core  | Countermeasures against swarm DOS/poisoning [Nolar]
CHANGE: Core  | Health status for swarms where all known peers are connected now reported as OK [Parg]
CHANGE: Core  | Friendly hash-checking option now only applied during recheck operations and delay based on piece size [Parg]
CHANGE: Core  | Don't automatically remove directory contents shares if they (appear to) have been deleted [Parg]
CHANGE: Core  | Improved algorithm for detecting DHT port reachability [Parg]
CHANGE: Core  | DHT - removed cache-distance metrics and added value versions to handle value evolution correctly [Parg]
CHANGE: Core  | Reduced thread count by aggregating async listener dispatchers [Parg]
CHANGE: Core  | Major refactoring of Download and Disk managers [Parg]
CHANGE: Core  | Download totals don't include hash fails and discards and aren't included in share-ratio calculation [Parg]
CHANGE: Core  | "Max simultaneous outbound connection attempts" option no longer accepts zero as a disable value [Nolar]
CHANGE: Core  | Under OSX, new bundle launches using the Java Preferences application configured JVM, enabling JRE 5.0 support [Nolar]
CHANGE: Core  | Under Windows, now runs via a launcher built by exe4j - taskmanager process is now "Azureus.exe" [Nolar,Parg]
CHANGE: Plug  | Major refactoring of plugin interface to separate out UI-level and core-level stuff [Parg]
CHANGE: UI    | Update to the latest release SWT library (3.1.1) [Nolar]

BUGFIX: Core  | Fix interested flag being set sometimes when seeding [Nolar]
BUGFIX: Core  | Wrong file name returned for stopped simple torrents [Parg]
BUGFIX: Core  | Seeder/leecher counts missing for published torrents [Parg]
BUGFIX: Core  | Stats going negative for hosted torrent average up/down [Parg]
BUGFIX: Core  | Fix piece request ignore bug [Nolar]
BUGFIX: Core  | Fixed DHT initialisation hang if port already in use [Parg]
BUGFIX: Core  | Don't allow prohibited peer sources to be enabled (ui artifact only) [Parg]
BUGFIX: Core  | Fixed too many socket selectors created when in safe selector mode [Nolar]
BUGFIX: Core  | Fixed re-announce interval when receiving "failure reason" error response from tracker [Nolar]
BUGFIX: Core  | Fixed and improved restarts under OSX (and linux) [Nolar,Gouss]
BUGFIX: Core  | Fixed and improved one-to-one LAN transfer speeds [Nolar]
BUGFIX: Plug  | UPnP fix for picking up changed network interfaces [Parg]
BUGFIX: UI    | Fixed 100% CPU problem with download bars [Parg]
BUGFIX: UI    | Fixed UI foregrounding itself on every unverified localhost:6880 socket connection attempt [Nolar]
BUGFIX: UI    | Create-torrent wizard fix for multi-torrent checkbox enabling error [Parg]




2005.06.27 | Azureus 2.3.0.4

FEATURE: Core | DHT torrent lookup now based on sha1(hash) and torrent xfer encrypted using hash-derived key [Parg]
FEATURE: Core | More aggressive banning of peers sending bad data - algorithm change and block-banning feature [Gudy,Parg]
FEATURE: Core | Support for multiple DHT networks on same port [Parg]
FEATURE: Core | Introduced "passive torrents" - these are tracked but not downloaded [Parg]
FEATURE: Core | Category setting functions added to "My Tracker" [Parg]
FEATURE: Core | Added ability to make plugin config ui components invisible [Parg]
FEATURE: UI   | Average peer speed for swarm column added [Nolar]
FEATURE: Plug | Plugin interface extension to allow per-plugin torrent-attributes [Parg]
FEATURE: Plug | Plugin ResourceDownload feature for accessing content-type [Parg]

CHANGE: Core  | Improved optimistic unchoke anti-leech algorithms [Nolar]
CHANGE: Core  | CVS versions run multiple DHTs to permit validations of changes [Parg]
CHANGE: Core  | DHT anti-spoof for cache forwards [Parg]
CHANGE: Core  | DHT mechanisms for flood prevention [Parg]
CHANGE: Core  | Added local tracker url to torrents when hosting external torrents [Parg]
CHANGE: Core  | Hosted torrents now become "passively tracked" when their corresponding download is removed [Parg]
CHANGE: Core  | More pro-active injection of DHT scrapes for torrents with failing trackers [Parg]
CHANGE: Plug  | More JPC plugin enhancements to help reduce cache server load [Nolar]

BUGFIX: Core  | DHT protocol version logic fixes [Parg]
BUGFIX: Core  | Fix for 100% cpu when more than 60 connections are registered with a selector under buggy network stacks [Nolar]
BUGFIX: Core  | Invalid listen port configuration would prevent Azureus from starting [Nolar]
BUGFIX: Core  | Added hooks to catch Windows shutdown events to allow graceful Azureus exit [Nolar]
BUGFIX: Core  | Fix for start-stopped non-simple torrents showing data-missing error on restart [Parg]
BUGFIX: Core  | Fix for drag-n-drop SWT exceptions blocking Azureus startup [Nolar]
BUGFIX: Core  | Fixed up "interested" message for downloads with "do not download" files [Parg,Nolar]
BUGFIX: UI    | Categories not being correctly displayed when torrents transit between downloading and seeding [Parg]



2005.05.25 | Azureus 2.3.0.2

FEATURE: UI   | Console UI now has update check, alerting and DHT stats [Parg]
FEATURE: UI   | SWT make torrent wizard remembers value for "add other hashes" [Parg]
FEATURE: UI   | Console UI logging config [Fatal]
FEATURE: Plug | Added progress indicator and torrent stats to tracker web templates [Parg, Gouss]
FEATURE: Plug | Availability column added to webui + some alignment changes [Parg]
FEATURE: Plug | XML/http interface access to individual torrent file stats added [Parg]

CHANGE: Core  | CPU usage reductions when connected to many idle peers [Nolar]
CHANGE: Core  | Disable console view logging by default [Nolar]
CHANGE: Core  | Memory usage reductions and optimizations [Gudy, Parg, Nolar]
CHANGE: Core  | Improved long-term connection-attempt management [Nolar]
CHANGE: Core  | DHT bootstrap in absence of version-check server improved [Parg]
CHANGE: Core  | DHT IP filter reports reduced [Parg]
CHANGE: Core  | Disk manager read/write threads now started on demand [Parg]
CHANGE: UI    | Default for "add other hashes" in make torrent wizard and sharing config changed to false [Parg]
CHANGE: UI    | Retention of log history removed as taking up to 1MB mem [Parg]
CHANGE: UI    | Added missing spaces back into SWT dock item's tooltip [Parg]
CHANGE: UI    | Restore version number on status bar and add protocol rate to the stats view [Nolar]
CHANGE: Plug  | JPC plugin refactoring to help reduce cache server load [Nolar]

BUGFIX: Core  | Fix compatibility with JRE 1.4 series under Win32 due to NIO bug [Nolar]
BUGFIX: Core  | Ignore peers with these data ports config option didn't work the DHT and PEX obtained peers [Nolar]
BUGFIX: Core  | DHT IP derivation from contacts fixed [Parg]



2005.05.02 | Azureus 2.3.0.0

FEATURE: Core | Client support for the 'trackerid' announce extension [Nolar]
FEATURE: Core | Client support for the 'min interval' announce extension [Nolar]
FEATURE: Core | Added options to disable scrape entirely or just for non-running torrents [Parg]
FEATURE: Core | RSS Feed parse APIs added to plugin interface [Parg]
FEATURE: Core | Non-blocking sockets based TCP tracker implementation [Parg]
FEATURE: Core | Client identification plugin interface [Parg]
FEATURE: Core | Separate protocol payload and overhead stats [Nolar]
FEATURE: Core | Data deletion can now defer to Recycle Bin and Trash under Windows and Mac OS X, respectively [Parg, CrazyAlchemist]
FEATURE: Core | Distributed Database [Parg]
FEATURE: Core | Decentralised tracking [Parg]
FEATURE: Core | Magnet URI for location of decentralised torrents [Parg]
FEATURE: Core | Ability to update built-in plugins independently of the core [Parg]
FEATURE: Core | Diagnostic collection for system properties and config settings [Parg]
FEATURE: Core | added option to move newly completed seeds to the end of the seeding list, rather than the front [Parg]
FEATURE: Core | Support for I2P plugin [Parg]
FEATURE: Core | Network selection support (public, i2p, tor) [Parg]
FEATURE: Core | Inter-client peer exchange [Nolar]
FEATURE: UI   | Option to disable small fonts under OSX [Nolar]
FEATURE: UI   | Console support for aliases [Fatal]
FEATURE: UI   | Torrent export option added to SWT UI [Parg]
FEATURE: UI   | Keyboard shortcut parsing system [CrazyAlchemist]
FEATURE: UI   | System tray menus for setting global upload and download bandwidth limits [CrazyAlchemist]
FEATURE: UI   | Synthesized speech alerts for Mac OS X; Go to Azureus / Preferences to enable it [CrazyAlchemist]
FEATURE: UI   | New file icon for Mac OS X [CrazyAlchemist]
FEATURE: Plug | Added local host configuration setting for statusmailer [Parg]
FEATURE: Plug | Reworked CSS for tracker web pages to create old and new styles [Gouss]
FEATURE: Plug | StartStop Rules: First Priority ignore Rules: 0 Peers and SeedsPeers Ratio [Gouss]
FEATURE: Plug | RSS Feed added to tracker web pages [Parg]
FEATURE: Plug | Tracker stats added to tracker web pages [Parg]
FEATURE: Plug | Generic Messaging API: inter-client message passing [Nolar]
FEATURE: Plug | Joltid Peer Cache plugin is now bundled with Azureus [Nolar, Parg, Gudy]
FEATURE: Plug | I2P plugin [Parg]

CHANGE: Core | Smarter re-announce interval handling, especially for lopsided swarms [Nolar]
CHANGE: Core | Added many new peerid identifications [Nolar, Gouss]
CHANGE: Core | First piece priority option now also prioritizes last piece of file [Nolar]
CHANGE: Core | NAT check functions even when downloads have already been started [Nolar]
CHANGE: Core | Update check can now check via configured proxy [Nolar]
CHANGE: Core | Rewritten download code: decreased cpu usage and faster speeds in LAN network environments [Nolar]
CHANGE: Core | Network IP_TOS option now sets required registry setting under Win2K/XP [Parg, Nolar]
CHANGE: Core | Favor establishing inbound peer connections, to increase the health of swarms with firewalled clients [Nolar]
CHANGE: Core | Improved seeding unchoking algorithm: distributes data more evenly [Nolar]
CHANGE: Core | Anti-leech code to prevent optimistic unchoke leechers [Nolar]
CHANGE: Core | Reduced threads required for multiple torrents [Parg]
CHANGE: Core | Relaxed cross-torrent file locking to permit multiple read access [Parg]
CHANGE: Core | changed HTTP user-agent to include OS and java version [Parg]
CHANGE: Core | max cache size limited to 32M less than VM size [Parg]
CHANGE: UI   | Reintroduced download completion alerts in Mac OS X (use System Preferences / Sound to set the alert sound of choice) [CrazyAlchemist]
CHANGE: UI   | For Mac OS X, contextual menu items no longer carry images for better compliance with Apple Human Interface Guidelines [CrazyAlchemist]
CHANGE: UI   | RFE #1092614: Informational popup messages now auto-close after 5 seconds - unless the message window is closed manually, or if the mouse is over it / details view is open (the timing will be 'reset' then) [CrazyAlchemist]
CHANGE: UI   | Miscellaneous cosmetics updates for Mac OS X [CrazyAlchemist]
CHANGE: UI   | Bug #1112278: https:// URLs now autopaste in Open URL window [CrazyAlchemist]
CHANGE: UI   | Main menu bar should now be more streamlined in its arrangement [CrazyAlchemist]
CHANGE: UI   | Console view will now display information logged (for the duration of the application session) when the Console view is closed [CrazyAlchemist]
CHANGE: UI   | ETA and remaining now take into account DHD files [Parg]
CHANGE: Plug | More choices in First Priority ShareRatio [Gouss]

BUGFIX: Core | IPFilters loaded from static config file weren't working [Parg]
BUGFIX: Core | Fix re-announce interval bug when zero peers in swarm [Nolar]
BUGFIX: Core | Send uninterested message when complete while using do-not-download feature [Nolar]
BUGFIX: Core | Optimistic Connect, when seeding, no longer drops just random connections [Nolar]
BUGFIX: Core | Better recovery from corrupt resume data [Parg]
BUGFIX: Core | Better handling of invalid torrent save locations [Parg]
BUGFIX: Core | fix for SSL (https) problems introduced by changes in JDK 5.0 [Parg]
BUGFIX: Core | fix for hash-fails when running with cache + incremental file creation enabled [Parg]
BUGFIX: Core | Fix scrape processing stall bug when scrape url was invalid [Nolar]
BUGFIX: UI   | Corrected save dialog behaviour on Make Torrent Wizard regarding file selection [CrazyAlchemist]
BUGFIX: UI   | Bug #953619 concerning Mac OS X: Double-clicking .torrent files now activate Azureus with the expected Finder dialogs (Dragging files to the Dock icon will continue to malfunction for the indefinite future) [CrazyAlchemist]
BUGFIX: UI   | Bug #1120995: Improper validation could allow unreasonably low global upload cap [CrazyAlchemist]
BUGFIX: UI   | Main window no longer tries to steal focus on opening (Mac OS X) [CrazyAlchemist]
BUGFIX: UI   | Pop up messages no longer try to steal focus (Mac OS X) [CrazyAlchemist]
BUGFIX: UI   | Resolved fuzzy dock icon display under Mac OS X if Column Setup is opened [CrazyAlchemist]
BUGFIX: UI   | Upload caps for individual transfers now display more sensible values if global upload cap is set to unlimited [CrazyAlchemist]
BUGFIX: UI   | In My Torrents, a category view will no longer prevent its corresponding table view's horizontal scrolling [CrazyAlchemist]
BUGFIX: UI   | Download bars should no longer disappear when the main window is minimized (Mac OS X) [CrazyAlchemist]
BUGFIX: UI   | Certain table column contents no longer 'disappear' when a row is selected (Mac OS X) [CrazyAlchemist]
BUGFIX: Plug | StartStop Rules: Autostart Seed Count Only and Prefer Large Swarms removed First Priority [Gouss]




2004.12.18 | Azureus 2.2.0.2

FEATURE: Core | Manual peer upload blocking (when seeding) and kick-banning [Nolar]
FEATURE: Core | Control added to not cache small files (default no cache for < 1MB) [Parg]
FEATURE: Core | Ability to cancel torrent creation processes added [Parg, Gudy]
FEATURE: Core | Ability to cancel sharing process added [Parg]
FEATURE: Core | Ability to pass multiple torrents to Azureus.exe [Parg]
FEATURE: Core | Added configuration items for tracker processing limits [Parg]
FEATURE: Core | Option to open torrent for seeding in create-torrent Wizard [Parg,Gudy]
FEATURE: Core | Auto-rescan of shared resources + addition/deletion of shares accordingly [Parg]
FEATURE: Core | Persistence of download and tracker stats for shares [Parg]
FEATURE: Core | Advanced network settings: MTU, SO_RCVBUF, SO_SNDBUF, IPTOS [Nolar]
FEATURE: Core | Optimistic Connect: drop inactive connections in order to find better ones [Nolar]
FEATURE: Core | Added ability to apply updates and shutdown Azureus instead of restarting [Parg]
FEATURE: Core | Can now specify that password protected tracker web is only available via HTTPS, HTTP access -> access denied [Parg]
FEATURE: Core | Can now specify comment to be added to share torrents [Parg]
FEATURE: Core | resume data no longer saved to torrent files, stored in %user-dir%/active instead [Parg]
FEATURE: Core | Plugin support for installing and uninstaling plugins [Parg]
FEATURE: Core | Category support for shares [Parg]
FEATURE: Core | Apply updates and defer applicaton to later restart/close [Parg/Gudy]
FEATURE: UI   | Added 'share' support to console UI [Nolar]
FEATURE: UI   | Option to show confirmation dialog on torrent Removal [Nolar]
FEATURE: UI   | Added Seed2PeerRatio item to MyTorrents view [Nolar]
FEATURE: UI   | Added detailed connection State to peers view [Nolar]
FEATURE: UI   | Added Connected Time item to peers view [Nolar]
FEATURE: UI   | Option to add torrent downloads silently (without activating main Azureus window) [Nolar]
FEATURE: UI   | Added download speed limit column to MyTorrents [Parg]
FEATURE: UI   | Telnet UI added [Fatal]
FEATURE: UI   | Auto-open stats option added [Parg]
FEATURE: UI   | Plugin install/uninstall wizards [Gudy]
FEATURE: UI   | Double click on status bar progress area to give details of update/install/uninstall progress [Parg]
FEATURE: UI   | SWT/Console share support for setting category [Parg]
FEATURE: UI   | Pick out links (anything prefixed with "http") in torrent comments in general view [Parg]
FEATURE: Plug | Status mailer support for SMTP port, user + password [Parg]
FEATURE: Plug | Status mailer support for plain text notifications [Parg]

CHANGE: Core | Support azureus.install.path parameter, used by new linux launcher script [Nolar]
CHANGE: Core | Moved config items for tracker client overrides + UDP to tracker client config [Parg]
CHANGE: Core | Also do dynamic tracker re-announce interval overrides when seeding; uses peer count only [Nolar]
CHANGE: Core | NAT check url changed to aelitis server [Nolar]
CHANGE: Core | Reduce tracker re-announce frequency when incoming connections are accepted (unfirewalled) [Nolar]
CHANGE: Core | Remove old auto-migration code [Nolar]
CHANGE: Core | Update restart logic now preserves JVM max mem setting for Sun JVMs [Parg]
CHANGE: Core | Cleanup and optimize choke-unchoke logic [Nolar]
CHANGE: Core | Added an option to enable the prioritization of most completed Files, default is off [Gudy]
CHANGE: Core | Default http tracker to disabled [Parg]
CHANGE: UI   | Create torrent wizard now initially defaults torrent save path from "save to" default [Parg]
CHANGE: UI   | Obey "start stopped" config item for dropped torrents [Parg]
CHANGE: UI   | Torrents no longer need to be stopped before removal is allowed [Nolar]
CHANGE: UI   | Graphical view item refresh optimizations [Nolar]
CHANGE: UI   | Change context menu selection for queue/stop/force-start/recheck to be "at least one can be..." rather than "all can be..." [Parg]
CHANGE: UI   | More pre-defined speed ranges for queue slot limits [Parg]
CHANGE: UI   | Improve wording of "delete torrent?" prompt [Parg]
CHANGE: Plug | UPnP information messages now off by default [Parg]

BUGFIX: Core | Fix for kernel panics under MacOSX [ej32206, Nolar]
BUGFIX: Core | Handle passing of torrents to already running but not fully initialised process better [Parg]
BUGFIX: Core | Default save dir was defaulting to ON, changed to OFF [Parg]
BUGFIX: Core | Tidied up UPnP error handing if action missing [Parg]
BUGFIX: Core | Scrape mult-tracker torrents correctly when download not running [Parg]
BUGFIX: Core | Upload/download/share ratio frig for newly added seeds made consistent [Parg]
BUGFIX: Core | Fix for stalls from system clock being set backwards in time [Nolar]
BUGFIX: Core | Fixed up bad behaviour on out-of-disk-space falures [Parg]
BUGFIX: Core | Fixed torrents getting stuck in READY state [Parg]
BUGFIX: Core | Fix potential connection establishment backlog [Nolar]
BUGFIX: Core | Fix potential DOS by timing out stalled connections [Nolar]
BUGFIX: Core | Fix bug in re-announce interval override calculation when connection limit has been reached [Nolar]
BUGFIX: Core | Fix for hangs when scraping due to slow DNS resolves [Parg]
BUGFIX: Core | Fix for UPnP failing if trailing spaces in 'action name' [Parg]
BUGFIX: Core | Fixed bug in choke/unchoke logic when number of connected peers < max upload slots [Nolar]
BUGFIX: Core | Updater problems with non-ascii chars in user dir (again!) [Parg]
BUGFIX: Core | Created torrents had name.utf-8 tag in wrong place [Parg]
BUGFIX: Core | UDP scrape responses being handled incorrectly [Parg]
BUGFIX: Core | Fixed the "high priority" piece-picking for files [Gudy]
BUGFIX: UI   | Old language files in user dir causing !missing! item texts [Nolar]
BUGFIX: UI   | Fix for window state not being remembered between sessions [Nolar]
BUGFIX: UI   | Fix for messages window being closed while animated [Gudy]
BUGFIX: UI   | Fix for BUG 1059432 : Download bars spawning multiple times when set to auto open [Gudy]
BUGFIX: UI   | Fix for BUG 1061538 : /0 error if no pieces [Parg]
BUGFIX: UI   | Fix create-torrent wizard to remember paths properly [Parg]
BUGFIX: UI   | Fixed up opening of torrent files not ending in ".tor" or ".torrent" [Parg]
BUGFIX: UI   | Fix Health icons sometimes not refreshing [Nolar]
BUGFIX: UI   | Fix bug with Azureus crashing when quitting on OSX if the Stats view has been opened [Gudy]
BUGFIX: UI   | Fix the fuzzy Azureus icon bug under OSX [Gudy]
BUGFIX: UI   | IPFilter config view slow to display when thousands of ranges are set [Gudy]
BUGGIX: UI   | Fixed bug with sharing window re-animating even when opened [Gudy]
BUGFIX: UI   | Fixed bug 1081886 : stats graphics can now be 2000 pixels wide, instead of only 1600 before [Gudy]
BUGFIX: Plug | UPnP plugin support for multi-homed machines improved [Parg]




2004.10.31 | Azureus 2.2.0.0

FEATURE: Core | Disk cache [Parg]
FEATURE: Core | Ability to set IP type-of-service (TOS) field for outbound data [Nolar]
FEATURE: Core | Show current upload and download limits in status area [Parg]
FEATURE: Core | Locale selection - options to add in all defined encodings + show lax list [Parg]
FEATURE: Core | Change the incoming data port without restarting [Parg]
FEATURE: Core | Display "warning message" responses in announce replies [Parg]
FEATURE: Core | Added option for tracker to perform a connectability check to peers [Parg]
FEATURE: Core | Have message aggregation, for bandwidth savings/efficiency [Nolar] 
FEATURE: Core | Torrent HTTP urls now accepted as program command line parameter [Nolar]
FEATURE: Core | Option added to disable system tray [Parg]
FEATURE: Core | Concurrent hashing for >1 CPU [Parg]
FEATURE: Core | Added ability to not outward connect to a defined set of port numbers [Parg]
FEATURE: Core | SOCKS V4, V4a and V5 (no auth/user+password methods) support for outgoing data connections [Parg]
FEATURE: Core | Torrents created by Azureus now include .utf-8 fields [Parg]
FEATURE: Core | Dynamic piece request queue scaling [Gudy]
FEATURE: Core | Added torrent name to authentication dialog [Parg]
FEATURE: Core | Per-torrent upload speed limits [Nolar,Gudy]
FEATURE: Core | Ability to change the sound played on torrent completion added [Parg]
FEATURE: Core | Added session uptime to stats [Nolar]
FEATURE: UI   | 'Download' menu added with start/stop all + pause/resume options [Parg]
FEATURE: UI   | Table col sort order default option added, thanks to Charnobo! [Parg]
FEATURE: UI   | URL Downloader window now support to set-up referrer and saves last used referrers [Parg, Gudy]
FEATURE: UI   | New Statistic page about the disk cache (yeah more CPU consuming graphs) [Gudy]
FEATURE: UI   | Down/Up speed indicators in main view are now double-clickable to open the Stats View [Gudy]
FEATURE: UI   | Added Path and # Remaining Pieces to Files view, Tracker Name to MyTorrents view [Nolar]
FEATURE: Plug | webui support for torrent encoding choice [Parg]
FEATURE: Plug | Tracker torrent stats available via xml/http interface [Parg]

CHANGE: Core | Show time to re-announce/scrape in general view using hh::mm::ss [Parg]
CHANGE: Core | Timeout tracker server operations [Parg]
CHANGE: Core | Torrent opener will now report errors opening torrents better [Parg]
CHANGE: Core | Complete core networking/messaging rewrite [Nolar]
CHANGE: Core | Stop scrape on UDP V2 torrents when download running [Parg]
CHANGE: Core | Refactor of DiskManager [Parg]
CHANGE: Core | Protocol tweaking for significantly reduced discard rates [Nolar]
CHANGE: Core | Tracker now treats port value of 0 as 'explicitly firewalled' [Parg]
CHANGE: Core | Tracker client will revert to "initialised" state after explicit failure from tracker [Parg]
CHANGE: Core | Locale selection changed to show more possible encodings [Parg]
CHANGE: Core | XML stats - downloads ordered by downloading/index then seeding/index [Parg]
CHANGE: Core | Reworked connection establishment to conform to new WinXP SP2 limits [Nolar]
CHANGE: Core | When restarting torrents are checked in smallest->largest size [Parg]
CHANGE: Core | Reworked the piece picking so that slow peers don't "block" pieces to be completed [Gudy]
CHANGE: Core | JAR signing for webui (etc) now based on "tools.jar" from Sun JDK due to changes with their 1.5 JRE [Parg]
CHANGE: Core | "Pause" command now greyed out if there is nothing to pause [Parg]
CHANGE: Core | Create-torrent wizard now remembers comment data on back button + defaults for open/save dirs [Parg]
CHANGE: Core | Reduced memory used of ipfilter list to help support large list sizes [Parg]
CHANGE: Core | Added "*.*" to list of selectable file types in open-torrent dialogs [Parg]
CHANGE: UI   | Added a legend to the Pieces View [Gudy]
CHANGE: UI   | Pieces View now display if the blocks are in the cache or not [Gudy]
CHANGE: UI   | New Tools menu, Configuration --> Options, Plugins root menu, Language selection moved to config [Nolar,Gudy]
CHANGE: Plug | UPnP plugin now only uses plugin interfaces [Parg]
CHANGE: Plug | Differentiate UDP and TCP mappings in UPnP desc as some routers need this [Parg]
CHANGE: Plug | UpdateLanguagePlugin removed, as no longer maintained [Nolar]

BUGFIX: Core | Throw an error message if existing data file length is too large [Nolar]
BUGFIX: Core | Fix new bug with tracker announce every 10s when no peers were connected [Nolar]
BUGFIX: Core | Fix for renaming files across volumes [Parg]
BUGFIX: Core | Torrent auto-import now works with console UI [Nolar]
BUGFIX: Core | Bug when setting upload to unlimited (forced download to unlimited too) [Parg]
BUGFIX: Core | Set downloaded amount correctly when opening a torrent with existing download data [Parg]
BUGFIX: Core | Detect changed file sizes (smaller) when resuming torrents [Parg]
BUGFIX: Core | Random shuffling of multi-tracker torrent URLs fixed [Parg]
BUGFIX: Core | Fix occasional 60sec delay on initial tracker announce [Nolar]
BUGFIX: Core | Fix for reading piece data from a too-long file [Nolar/Parg]
BUGFIX: Core | Stop scraping all announce URLs in a torrent when removing torrent [Parg]
BUGFIX: Core | File handle closing [Parg/Nolar]
BUGFIX: UI   | Labels with '&' displaying incorrectly [Parg]
BUGFIX: UI   | Torrent Downloader Window : retry button now placed correctly [Gudy]
BUGFIX: UI   | Fix for clicking the plugins directory and open the folder from the Configuration>Plugins view [Gudy]
BUGFIX: UI   | Fix for animated message windows not being at the right place on dual monitors. [Gudy,Bluelive]
BUGFIX: Plug | Netgear WGT624 was crashing when processing UPnP requests [Parg]
BUGFIX: Plug | Webui 'view' mode wasn't working [Parg]
BUGFIX: Plug | Webui - excessively long status text messing up table [Parg]
BUGFIX: Plug | azplugins - web tracker pages wasn't picking up "show details" option [Parg]
BUGFIX: Plug | webui - fixed bug with re-ordering of columns [Parg]




2004.07.08 | Azureus 2.1.0.4

FEATURE: Core | Show built-in plugins in config view [Parg]
FEATURE: Core | Fallback encoding for torrents (a-zA-Z0-9 type encoding with hex chars for others) [Parg]
FEATURE: Core | Numbers now localized to selected language [TuxPaper]
FEATURE: Core | More "polite" hash checking...doesn't stress the cpu/system as much [Nolar]
FEATURE: Core | Tracker seed retention limit added to limit tracker memory on torrents with high seed counts [Parg]
FEATURE: Core | Show Bad ips/banned ips in ipfilter window + allow clear/reset [Parg]
FEATURE: Core | Option to start torrents in a stopped state [Parg]
FEATURE: Core | Torrent removal rules. Initially to handle unauthorised torrents + AZ update torrents [Parg]
FEATURE: Dev  | More features for torrent creation [Parg]
FEATURE: UI   | New peer columns to help track leechers [TuxPaper]
FEATURE: Plug | Experimental data upload facility for tracker web pages [Parg]
FEATURE: Plug | WebUI support for "host" operation [Parg]
FEATURE: Plug | Run the web interface standalone (outside of a browser) [Parg]
FEATURE: Plug | Option to keep hold of UPnP port mappings when closing Azureus [Parg]

CHANGE: Core | More sensible merging of plugin.properties on plugin update [Parg]
CHANGE: Core | Retuned tracker connect failure retry interval [Nolar]
CHANGE: Core | Torrents downloaded by URL now named after torrent if not already .torrent [Parg]
CHANGE: Core | Performance of ipfilter checking improved [Parg]
CHANGE: Plug | Green colour used on tracker web pages now more legible [Nolar]

BUGFIX: Core | 99.X% / continuous hash fails fix [Parg]
BUGFIX: Core | Basic plugin config model parameters not working in non-swt (e.g. console) mode [Parg]
BUGFIX: Core | Fix for 'completed' announce event not being sent on occasion [Nolar]
BUGFIX: Core | Fix for occassional missing of resume data write -> recheck on start up [Parg]
BUGFIX: Core | Bad peers not being detected on hashfail if they contributed all blocks [Parg]
BUGFIX: Core | Better handling of "auto import" + default torrent save dir being the same [Parg]
BUGFIX: Core | Strip resume data on open of new torrent [Parg]
BUGFIX: UI   | Fix bug where failed-hashcheck pieces never reappeared in Pieces view [Nolar]
BUGFIX: Plug | Web UI authentication for torrent download not working with default port URLs [Parg]



2004.06.21 | Azureus 2.1.0.2

FEATURE: Core | Health items now show if a torrent is being shared/published [Parg]
FEATURE: Core | Creation of self-signed certificates for SSL (etc) via UI [Parg]
FEATURE: Core | Set download speed per torrent [Parg]
FEATURE: Core | Universal Plugin and Play (UPnP) support [Parg]
FEATURE: Dev  | ToolTip access functions for table cells [TuxPaper]
FEATURE: Plug | Tracker plugin supports simple category view [Parg]
FEATURE: Plug | Webui support for password protected trackers [Parg]
FEATURE: Plug | Webui attempts to get access to system clipboard to fix copy/paste issues [Parg]
FEATURE: Plug | Plugin interface extensions for basic plugin config [Parg]
FEATURE: Plug | External authorisation framework [Parg]
FEATURE: Plug | WebUI + XML/HTTP i/f now have separately configurable username/password via Plugin config (*not* plugin.properties) [Parg]
FEATURE: Plug | WebUI can now use signed jars, if configured, so that clipboard access doesn't require local config [Parg]
FEATURE: UI   | Better scrape result reporting, including new "Next Tracker Access" column [TuxPaper]
FEATURE: UI   | Tooltip for Health Icon [TuxPaper]
FEATURE: UI   | New language: Japanese [Gouss]

CHANGE: Core | Core update checker now uses aelitis.com server to grab latest version instead of SF's one [Gudy]
CHANGE: Core | Default socket write buffer now a more conservative 1460 bytes for smoother uploading [Nolar]
CHANGE: Core | Central control of global outgoing peer connection rates...i.e. a better SlowConnect [Nolar]
CHANGE: Core | Unused potential peer connections are cached for later use [Nolar]
CHANGE: Core | Tracker now doesn't return peer list on "stopped" event [Parg]
CHANGE: Plug | Tracker web plugin configuration moved to plugin config from core config  [Parg]
CHANGE: Plug | Tracker web contexts now have the option to not apply IP Filters - this affects the web plugin and xml/http interface [Parg]
CHANGE: UI   | About Window is closeable by hitting the 'ESC' key [Gudy]

BUGFIX: Core | Fix for Library Paths using single quotes [Parg]
BUGFIX: Core | Fixed shared plugin dir location on OSX [Parg]
BUGFIX: Core | File Open dialogs now correctly remember their last path [Nolar]
BUGFIX: Core | Plugin loader picking up .zip files instead of corresponding .jar files [Parg]
BUGFIX: Core | Don't delete the imported .torrent file if the import dir happens to also be the Save torrent dir [Nolar]
BUGFIX: Core | Torrents leave READY state quicker after other torrents are re-queued [TuxPaper]
BUGFIX: Core | Fix for Fast Resume not working when a 0-byte file exists in the torrent [Nolar]
BUGIFX: Core | Fix for Fast Resume not working when Incremental File Creation is enabled [Nolar]
BUGFIX: Core | Show error message if previously-allocated data cannot be found, instead of re-creating it [Nolar]
BUGFIX: Core | Force a file handle recycle every 50M read so the OS cache clears (Win2k, possibly other OSes) [TuxPaper]
BUGFIX: Core | Tracker stats wrong [Parg]
BUGFIX: Core | Not deleting backup torrents (.bak) when MyTorrent->remove + delete [Parg]
BUGFIX: UI   | # Column now on by default again [TuxPaper]
BUGFIX: UI   | Fix for Bug #966867: Context Menu not appearing after setting up columns on Linux [TuxPaper]
BUGFIX: UI   | IP column now sorts by hex groups [TuxPaper]
BUGFIX: UI   | Fix for .torrent icons with new Azureus.exe [Parg]
BUGFIX: UI   | Fix for text color on some Table cells not moving when row moved [TuxPaper]
BUGFIX: UI   | Moving torrent from Uncategorized category to new category now removes the row from the display [TuxPaper]
BUGFIX: UI   | Fix for empty table rows appearing in Peers Details tab and Pieces tab [TuxPaper]
BUGFIX: UI   | Windows : Tray Icon should come back after explorer crash (needs latest SWT build) [SWT team, Gudy]
BUGFIX: UI   | 192 bytes memory leak fixed on OSX [SWT Team, Gudy]



30.05.04 | Azureus 2.1.0.0

FEATURE: Core | Ability to limit global download speed [Parg]
FEATURE: Core | Added ability to automatically exclude files when making torrents (e.g. .DS_Store & Thumbs.db) [Parg]
FEATURE: Core | Caching of peer info to disk for quick restarts if tracker is unavailable [Parg]
FEATURE: Core | Detection of plugin updates [Parg]
FEATURE: Core | HTTP scrapes to same tracker combined into one request if tracker supports it [TuxPaper]
FEATURE: Core | Support for scraping trackers like http://tracker.boxtorrents.com:6969/ that scrape with /scrape but don't have "announce" in announce URL [Parg]
FEATURE: Core | Tracker connections proxy support (peer connections not supported yet) [Nolar]
FEATURE: Core | UDP authentication protocol added [Parg]
FEATURE: Core | UDP tracker version 2 support added [Parg]
FEATURE: Core | Generic update mechanisms for core, updater and swt [Parg/Gudy]
FEATURE: Core | Support for loading user-specific plugins from user dir and shared ones from app dir [Parg]
FEATURE: Dev  | Column management for any of Azureus' table views. [TuxPaper]
FEATURE: Dev  | Easy to use "basic plugin view": see PluginInterface::getUIManager::getBasicPluginViewModel [Parg, Gudy]
FEATURE: UI   | Ability to upload torrents with xml/http interface [Parg]
FEATURE: UI   | All columns sortable and configurable [TuxPaper]
FEATURE: UI   | Added "Remaining", "DLing For" (time) and "Seeding For" (time) columns to "My Torrents" [TuxPaper]
FEATURE: UI   | Added option to auto-update language file from web (Config -> Interface -> Language) [TuxPaper]
FEATURE: UI   | Added option to show transfer rates in bits/sec [Parg]
FEATURE: UI   | In the Details view, the peer's pieces that we already have are shown in a faded color [TuxPaper]
FEATURE: UI   | Linux system tray support [Gudy]
FEATURE: UI   | MyTracker row right-click support for copying torrent URL to clipboard [Parg]
FEATURE: UI   | Right-click menu sorting of columns (Sorting for OSX) [TuxPaper]
FEATURE: UI   | Send text in My Torrents to clipboard [TuxPaper]
FEATURE: UI   | When torrent data is missing, you can change directory via the context menu [TuxPaper]
FEATURE: UI   | OSX : About and Preferences items are listed under 'Azureus' menu [Gudy]
FEATURE: UI   | Added an option not to use units bigger than MB [Gudy]
FEATURE: UI   | Option to show peer host names instead of IP address [Parg]
FEATURE: UI   | Embedded tracker IP blocks shown in Blocked IPs List [Parg]
FEATURE: WebUI| Web Plugin now can set upload rate [Parg]
FEATURE: WebUI| Web Plugin support for uploading torrents [Parg]
FEATURE: WebUI| Webui + xml/http "access" property support for IP range [Parg]
FEATURE: WebUI| Webui + xml/http plugins have had basic plugin view added [Parg]

CHANGE:      | IRC and Tracker Web Pages moved to separate plugin [Parg]
CHANGE: Core | Auto-imported .torrent files are moved (not copied) to default .torrent save dir if enabled [Nolar]
CHANGE: Core | Auto-imported .torrent files are renamed *.imported if default .torrent save dir is not enabled [Nolar]
CHANGE: Core | Can set per-torrent and global peer connection limits [Nolar]
CHANGE: Core | Config/pref/torrent file saving uses intermediate .saving file for more reliability [Nolar]
CHANGE: Core | Currently-connected peer connections are dropped when IPFilter is enabled [Nolar]
CHANGE: Core | File descriptor handles increased from default of 256 to 8192 under OSX [Nolar]
CHANGE: Core | Ignore Share Ratio can now be non-integer [TuxPaper]
CHANGE: Core | New SHA-1 hasher: up to 25% faster [Gudy / Nolar]
CHANGE: Core | Scrape interval now based on # of seeds (15min minimum) [TuxPaper]
CHANGE: Core | Socket writes now done in full MSS-sized chunks [Nolar]
CHANGE: Core | Upload limit can now be set less than 5KB/sec. However, doing so limits download speed too [Parg]
CHANGE: Core | User config/pref/plugins dir culled from Windows' Registry (needs aereg.dll) [Parg]
CHANGE: Core | OSX user- pref/plugin dir moved from ~/Library/Azureus/ to ~/Library/Application Support/Azureus/ to meet osx standards [Nolar]
CHANGE: Core | Unix user- pref/plugin dir moved from ~/Azureus/ to ~/.Azureus/ to meet unix standards [Nolar]
CHANGE: UI   | All progress/piece bars re-done (again) [TuxPaper]
CHANGE: UI   | Azureus should work with SWT 2.12 until we break backwards compat. again [TuxPaper]
CHANGE: UI   | Shrink "My Torrents" Context menu [TuxPaper]
CHANGE: UI   | Systray4j removed: system tray support now from SWT built-in code (Requires SWT-M8+) [Gudy]
CHANGE: UI   | Torrent name shown with IPs in the blocked-IPFilter list [Nolar]
CHANGE: UI   | The Donation Window is now Closeable using the 'Esc' Key [Gudy]
CHANGE: UI   | In the Donation Window the OK button should be on top of other Controls [Gudy]
CHANGE: UI   | Added a "what's new" item in help menu, pointing to changelog for current version [Gudy / Gouss]

BUGFIX: Core | Files incorrectly shared if contents not a torrent when opening [Parg]
BUGFIX: Core | First Priority rules based on time now work across sessions [TuxPaper]
BUGFIX: Core | Fix for saving of .torrent file in wrong dir: Bug #916137 [Nolar]
BUGFIX: Core | Fix for some discarded data due to occasional duplicate request [Nolar]
BUGFIX: Core | Fix for system clock changes stalling downloads: Bug #918193 [Nolar]
BUGFIX: Core | Fix for system clock running faster when using Azureus [Nolar]
BUGFIX: Core | Fix for underlying socket handles not closing under linux ("Too many open files") [Nolar]
BUGFIX: Core | Individual file priorities remembered after Stop-Start [Nolar]
BUGFIX: Core | Multiple shares of same resources causing problems (e.g. share contents+share contents recursive of same dir) [Parg]
BUGFIX: Core | Simpler and more reliable file allocation...won't b0rk existing data [Nolar]
BUGFIX: Core | Re-check on completion no longer sends Have messages [Nolar]
BUGFIX: UI   | Fix for the General View in a torrent details, not being layout correctly [Gudy]
BUGFIX: UI   | Fix for the toolbar on linux / OS X [Gudy]
BUGFIX: UI   | Fix for the Torrent Maker not getting the correct Tracker when choosing from the Combo on OS X [Gudy]
BUGFIX: UI   | Fix for the Freeze on exit under OSX [Gudy]





16.03.04 | Azureus 2.0.8.4

CHANGE: WebUI plugin included in mainline (see http://azureus.sf.net/CVS/web.interface.howto.htm) [Parg]
CHANGE: Much more reliable SF mirror auto-update handling [Nolar]

BUGFIX: Fix for loading .torrent files via web-browser/shell/doubleclick/etc [Nolar]



15.03.04 | Azureus 2.0.8.2

FEATURE: Show last time IPFilter list was updated in status area [Parg]
FEATURE: Support for "compact" tracker announce protocol [Parg]
FEATURE: Support for "key" tracker announce protocol [Parg]
FEATURE: Download Speed column in "My Torrents" turns red if below speed set in Queue config. [TuxPaper]
FEATURE: Webplugin swing ui has status area with total ul/dl [Parg]
FEATURE: XML over HTTP remote plugin interface (initially to support GTS) - mail parg at users.sf.net for details [Parg]

CHANGE: All config/pref files utilize .bak backup files [Parg]
CHANGE: Option to limit outstanding disk writes and piece hash checks [Parg]
CHANGE: Can delete shares in QUEUED state [Parg]

BUGFIX: Fix of startup issues under Win95/98/Me [TuxPaper]
BUGFIX: Locale-specific dir creation [Parg]
BUGFIX: Hebrew language works now [TuxPaper]
BUGFIX: Fixed long load times under Linux of Configuration view and General tab [TuxPaper]
BUGFIX: Popup windows now center in main monitor on multi-monitor setups [TuxPaper]
BUGFIX: Fix for Pieces and Files views off-by-one row drawing glitch under linux [TuxPaper]
BUGFIX: Sort on Health and Availability now enabled [TuxPaper]
BUGFIX: Various memory leaks (DiskManager instances not being freed) [Parg]



08.03.04 | Azureus 2.0.8.0

FEATURE: QUEUED status. Torrents that are queued are stopped, but available for automatic starting [TuxPaper]
FEATURE: Partial support for Read-Only data (for seeding) [TuxPaper]
FEATURE: Added "Forced-Start" to force a torrent to start, ignoring download limits or seeding rules [TuxPaper]
FEATURE: Auto-positioning of finished torrent based on how badly the torrent needs seeding [TuxPaper]
FEATURE: Added Availability, Seeding Rank, SavePath, Max # Uploads, and Total Speed columns to My Torrents view [TuxPaper]
FEATURE: Categories to group your torrents in (right click on My Torrents and select Set Category to get started) [TuxPaper]
FEATURE: More auto-seeding options [TuxPaper]
FEATURE: Ability to limit maximum number of file handles open/in-use at any given time [Parg]
FEATURE: Tracker - various performance enhancements such as announce/scrape caching. Tested to 500,000 peers on single torrent [Parg]
FEATURE: Tracker activity logging to %azhome%/tracker.log [Parg]
FEATURE: Tracker bytes in/out + scrapes recorded [Parg]
FEATURE: Tracker - ability to limit number of peers returned [Parg]
FEATURE: Share ratio now shown on tracker web pages [Parg]
FEATURE: Tracker/client support for "no_peer_id" spec for bandwidth savings [Parg/Nolar]
FEATURE: More plugin stuff - alert raising, ipfilter reloading, various other stuff [Parg]
FEATURE: Applet UI enhanced into usable state (start/stop/add/remove downloads) + auto refresh [Parg]
FEATURE: Added torrent hashes for G2 + ED2K (ala http://www.torrentaid.com/) [ Parg]
FEATURE: Added colours to file view to show: grey -> requested; red -> data recently written [Parg]

CHANGE: Split torrents in My Torrents view into 2 lists: Downloading and Seeding (Completed) [TuxPaper]
CHANGE: STOPPED status now means the torrent never auto-starts [TuxPaper]
CHANGE: Moved icon from Rank column to Name column [TuxPaper]
CHANGE: Removed Lock Priority.  No longer an issue since priority only gets autochanged once [TuxPaper]
CHANGE: Remove "Lock Start/Stop" menu option.  Stop now means no auto-starting/stopping [TuxPaper]
CHANGE: Re-design of Configuration view [TuxPaper]
CHANGE: Language files (MessagesBundle_xx_XX.properties) are read in the following order: Azureus user directory, Azureus application directory, JAR file [TuxPaper]
CHANGE: Remember sorted column and order for all views [TuxPaper]
CHANGE: Core performance optimizations and major cpu usage reductions [Nolar]
CHANGE: User prompt when (1) tracker listens fails (2) incoming server port bind fails [Parg]
CHANGE: Config files/dirs and plugins now stored in OS user dir (Win: C:\Documents and Settings\username\Application Data\Azureus\, OSX: /Users/username/Library/Azureus/, Linux: /home/username/Azureus/) [Nolar]
CHANGE: Tracker log now includes date as well as time [Parg]

BUGFIX: Once a torrent is complete, and you remove the data, it wil no longer start downloading again when seeding rules are on [TuxPaper]
BUGFIX: 1st column of MyTorrents no longer has a gap if there's no icon. (Windows Only Bug) [TuxPaper]
BUGFIX: Fix for download stalls at 99% / 100% cpu usage bug introduced in 2070 [Parg/Gudy] 
BUGFIX: Fix for minimize/close causing the program to disappear from view under OSX [Nolar]
BUGFIX: Fix for icon bar buttons not being flat (Bug #890166) [Gudy]
BUGFIX: More reliable .config and .torrent file save/load management [Nolar]
BUGFIX: Better handling of failures when performing "move on complete" [Parg]
BUGFIX: Handle torrent file names with trailing spaces and CR/NL (from Mac) [Parg]


02.02.04 | Azureus 2.0.7.0

FEATURE: Under Linux + GTK, added an option to setup a vertical offset to re-align graphics [Gudy]
FEATURE: SSL tracker client now gives option to import certificate rather than manually doing so via "keytool" [Parg]
FEATURE: Start All Downloads option on tray icon [Nolar]
FEATURE: Support for trackers that do not return peerIDs on announce [Parg]
FEATURE: Sharing - allows files/dirs/dir contents (recursive) to automatically have torrents created for them and torrents hosted
		 The shared resources will automatically have their torrents recalculated if they change (over Azureus restart) [Parg]
FEATURE: Tracker allows number of peers returned to be limited [Parg]
FEATURE: Experimental UDP tracker protocol (see Config->Tracker->Extensions). Azureus client/tracker supports this, as does the XBT tracker (http://sourceforge.net/projects/xbtt/) [Parg]
FEATURE: Tracker support for GZIP encoding [Parg]
FEATURE: Tracker support for multiple pages [IAmChrist]
FEATURE: Tracker pages skinable by placing pages in %azhome%/web [Parg]
FEATURE: Major extensions to plugin interfaces [Parg]
FEATURE: Simple Swing based remote admin interface (over SSL+password auth) - email parg at users.sourceforge.net for details [Parg]
FEATURE: Click on hash in general view to copy hash to clipboard [Parg]

CHANGE: Azureus now identifies itself via User-Agent in tracker http communications [Nolar]
CHANGE: Less flickering, on all platforms (tested on both windows and linux+GTK) [Gudy]
CHANGE: Azureus now responds as Server: Azureus <version> in tracker http comms [Parg]
CHANGE: Unwritten blocks in Pieces view shown in red [Gijs Overvliet]
CHANGE: Prioritizing first piece of file(s) now optional in config [Nolar]
CHANGE: Confirmation on data deletion now optional in config [Nolar]
CHANGE: More intelligent announce url '&numwant=' handling [Nolar]
CHANGE: On tracker announce errors, retry interval now uses exponential backoff [Nolar]
CHANGE: Removed multi-port listening, as shared single port is far superior [Nolar]
CHANGE: More reliable .config and .torrent file writing [Nolar]
CHANGE: Tracker scraper now honors a 'flags: min_request_interval' response [TuxPaper]
CHANGE: Plugins can be initialised from plugin.properties freestanding (not just in .jar file) [Parg]

BUGFIX: Problem with tracker not responding with "Connection: close" causing SSL session maintainance with HttpsURLConnection to stuff up and fail clients with "recv fail" [Parg]
BUGFIX: Fast resuming with Chinese directories: Bug #869749 [Parg]
BUGFIX: System tray icon re-shown after explorer.exe crash (again) [Rele]
BUGFIX: Fix for potential memory leaks [Nolar]
BUGFIX: Fix for stalled piece writing [Gijs Overvliet]
BUGFIX: Fix for .torrent file data not being fully written on shutdown [Parg]
BUGFIX: Fix for OutOfMemoryError in DiskManager: Bug #865553 [TuxPaper]
BUGFIX: Fix for 'Open a URL' downloading of .torrent file which contains white spaces: Bug #878990 [Parg]
BUGFIX: Fix for Fast Resume with Chinese torrents: Bug #878015 [Parg]
BUGFIX: Fix for excess thread creation when tracker does not support single-infohash scrapes [Nolar]
BUGFIX: Fix for hash checking 0-byte files: Bug #853126 [Nolar]
BUGFIX: Fix for opening files via Files tab when using MoveOnComplete: Bugs #860822, #878795 [Nolar] 
BUGFIX: Fix for 100% cpu usage after network disconnect/reconnect: Bugs #873957, #879498 [Nolar]
BUGFIX: Fix for downloaded blocks not being written to disk, due to write-thread stall under high load [Nolar]
BUGFIX: Fix for various non-unicode torrent encoding issues regarding resume data [Parg]



19.12.03 | Azureus 2.0.6.0

FEATURE: Intelligent Tracker Checking: optimizes tracker re-ask interval for quicker download speed ramp up [Nolar]
FEATURE: Azureus can now run all downloads off one shared incoming port: only need to open/forward one port in your firewall/NAT [Parg]
FEATURE: Drag-n-Drop moving of downloads in MyTorrents; moving of downloads in MyTorrents with Ctrl + Arrow-Up/Down [Rele]
FEATURE: Password protected access to tracker web and torrents [Parg]
FEATURE: GUI Update interval is configurable [Gudy]
FEATURE: Images update interval is configurable [Gudy]
FEATURE: Auto sort on tables possible, interval configurable [Gudy]
FEATURE: MyTorrents view can now be customized (choice of columns and order) [Gudy]
FEATURE: Added new columns to MyTorrents : 'Share Ratio', 'Downloaded', 'Uploaded', 'Health' [Gudy]
FEATURE: Details view can now be customized (choice of columns and order) [Gudy]
FEATURE: SSL now supported for tracker web and tracker updates [Parg]
FEATURE: Added Drag and Drop of URLs [Rele]
FEATURE: Multi-Trackers torrents can now be created/edited [Gudy]
FEATURE: Menu option to force a re-check of downloaded data [Nolar]
FEATURE: End-Game Mode: Completes the last few pieces of a download faster [Gudy]
FEATURE: Attempts to download the very beginning of a file first - to support previewing [Nolar]
FEATURE: IPFiltering stats shown in status bar [Gudy]
FEATURE: Toolbar! [Gudy]
FEATURE: Logging of console output to disk [Parg]
FEATURE: Option to confirm on exit [Rele]
FEATURE: Bad Peer Detection [Gudy]
FEATURE: Inclusion of XSL stylesheed tag in stats XML file [Parg]
FEATURE: Editing and selection of tracker announce URLs from general view [Gudy]
FEATURE: Plugin interface for tracker web serving [Parg]
FEATURE: HTML template (http://html-tmpl-java.sourceforge.net/) support for tracker web serving from %az_home%/web folder [Parg]
FEATURE: Opening a second torrent with same hash as existing download causes second torrent's announce urls to be merged into the first [Parg]
FEATURE: Option to not accept multiple connections from the same IP [Gudy]
FEATURE: Option to use the IP Filter list as an 'ALLOW' list [Gudy]
FEATURE: Super-Seed Mode [Gudy]
FEATURE: Pressing a character selects the next download with a name beginning with this character in MyTorrents view [Rele]
FEATURE: Option to move-on-complete only when data is inside the default save dir [Nolar]
FEATURE: Auto-import new .torrents from a chosen folder regularly [Rele]
FEATURE: Create torrent allows manual piece size selection [Parg]
FEATURE: New 'Activity' view (download and upload speed graphics) [Gudy]
FEATURE: Gzip encoding support for tracker announces [Parg]
FEATURE: Tray icon: added Stop All Torrents [Rele]
FEATURE: If .torrents are dropped in COPY state (with modifier key Ctrl under Windows), they will begin in STOPPED state [Rele]
FEATURE: Ctrl + [Home/End/CursorUp/CursorDown] moves selected torrents to top/end/up/down, "Del" removes selected torrents [Rele]
FEATURE: Ctrl + [S/R] stops/resumes(starts) selected torrents, Ctrl+Shift+S stops all torrents, Ctrl+A selects all torrents [Rele]
FEATURE: Option to backup .torrent files [Rele]
FEATURE: Option to play a sound on download finish [Rele]
FEATURE: Download Basket: TrayWindow always visible for Drag-n-Drop of .torrents [Rele]
FEATURE: Clickable Tracker URL in Details/General copies the announce URL into clipboard [Rele]
FEATURE: Tab hot keys: F6 selects next Tab, Shift+F6 selects previous Tab, ESC or CTRL+F4 closes current Tab [Rele]
FEATURE: Extended Plugin interface [Parg,Gudy]

CHANGE: 'Bind to local IP address' now binds outbound sockets as well [Nolar]
CHANGE: Status now shows when it is re-checking pieces on download completion [Nolar]
CHANGE: URL dialogs are initialized with the first valid link beginning with http:// from clipboard [Rele]
CHANGE: Under linux, only use ~/.azureus dir if it already exists, otherwise use normal program dir for files [Nolar] 
CHANGE: Auto-update: now writes a log to an 'update.log' file [Nolar]
CHANGE: Option to disconnect seeds when seeding is now checked by default [Gudy]
CHANGE: FilesView now shows files even in other states than Downloading (configurable) [Rele]
CHANGE: Updated/additional menu buttons [Gudy]
CHANGE: Some speed optimizations with piece-picking [Nolar]
CHANGE: Generated PeerID only uses chars that don't need to be escaped, saving bandwidth for tracker communications [Nolar]
CHANGE: Can now identify BitComet, TurboBT, LibTorrent clients [Nolar]
CHANGE: Support for both SI byte units (KiB,MiB,GiB) and more well known, but incorrect KB/MB/GB units via config Interface param [Parg]
CHANGE: locale choice can force prompt via new config param on "File" tab [Parg]

BUGFIX: 'Re-check pieces when done' now always ignores fast-resume data: Bug #825881 [Nolar]
BUGFIX: Fix some decoding bugs in Chinese torrent files due to missing locale encodings in dialog box [Akilgard]
BUGFIX: System tray icon re-shown after explorer.exe crash [Rele]
BUGFIX: Completed downloads shown in different color when Stopped [Nolar]
BUGFIX: Fix possible data loss when moving complete files if not enough free space avail: Bug #855284 [Nolar]
BUGFIX: Fix for the incremental vs allocate choice in Config [Gudy]
BUGFIX: DNS lookups are no longer cached for ever [Parg]
BUGFIX: OSX: Hang when closing: Bug #824459 [Nhilep]


20.11.03 | Azureus 2.0.4.2

FEATURE: Added tooltip general support [Gudy]
FEATURE: Default torrent encoding selection added to Config->File [Parg]
FEATURE: Public tracker support - config item allows external use of tracker [Parg]

CHANGE: Full scrape of embedded tracker now supported as SN requires this for hosting [Parg]
CHANGE: Better peer client identification [Nolar]
CHANGE: Added AZ version + torrent size to stats [Parg]
CHANGE: Added 'comment' field to torrent create [Parg]
CHANGE: Moving of .torrent to completed dir now optional [Nolar]
CHANGE: Additional upload speed options [Nolar]
CHANGE: Cleanup of Configuration tabs [Nolar]
CHANGE: Rewrite of locale selection code for torrents. Only one encoding allowed per torrent [Parg]
CHANGE: File->Open... now opens to the default download/torrent dirs set in config [Parg]
CHANGE: ETA/TimeRemaining now uses just two significant measures, and "kB" changed to "KB"  [Nolar] 

BUGFIX: Torrent hosting - resetting of tracker url to original after hosting cancelled [Parg]
BUGFIX: Allow for torrent files with '.tor' extention [Nolar]
BUGFIX: Renamed file not reused after torrent Stop-Start: Bug #842750 [Nolar]
BUGFIX: No longer deletes files if the 'completed' dir points to the download dir: Bug #842896 [Nolar]
BUGFIX: Fast resume data no longer duplicated [Nolar]
BUGFIX: File 'downloads.config' kept better up-to-date [Nolar]
BUGFIX: % Completed is now correct again in MyTorrents view on stopped downloads [Gudy]
BUGFIX: Non-UTF8 encoded 'comment' fields in torrents not showing properly [Parg]
BUGFIX: Some dead-lock issues (especially on startup) [Gudy]
BUGFIX: Better recovery on connection closing [Nolar]
BUGFIX: Uncleaned buffers in peer handling code [Nolar]
BUGFIX: Outgoing message correctness verification [Nolar]
BUGFIX: Text scroll is now ok in irc view [Gudy]
BUGFIX: Size is now displayed even when the torrent is stopped [Gudy]
BUGFIX: Sorting by 'Discarded', 'Overall Down Speed', 'Stat Up' in Details view [Nolar]
BUGFIX: Torrent 'discarded' and 'hash fails' now remembered between sessions [Nolar]
BUGFIX: Corrected sorting by DownSpeed, UpSpeed, ETA in MyTorrents view [Nolar]
BUXFIX: Irc input text area gets focus correctly now [Gudy]
BUXFIX: On Windows bundle, systray4.dll as been updated to support chinese characters [evilcai]



13.11.03 | Azureus 2.0.4.0

FEATURE: Disable (per torrent) the auto priority setting when seeding [Gudy]
FEATURE: Disable (per torrent) the rules to start / stop a seeding torrent [Gudy]
FEATURE: Move files to a directory upon completion [Nolar]
FEATURE: Slowly establish new connections to peers (for those with internet disconnection issues) [Nolar]
FEATURE: Bind to local IP address [Nolar]
FEATURE: Export/import torrent file to/from XML file [Parg]
FEATURE: Export of runtime statistics to XML file [Parg]
FEATURE: Hosting of torrents using built-in tracker [Parg]
FEATURE: Trackers used in the 'make torrent' wizard are now remembered.
FEATURE: Embedded tracker [Parg]
FEATURE: Enhanced peer client identification [Nolar]
FEATURE: Publishing of torrents to tracker (as opposed to hosting them) [Parg]
FEATURE: Choosable color for the progress bars [Gudy]
FEATURE: Plugin support [Gudy]
FEATURE: Open a torrent file without using the default save location [Gudy]
FEATURE: Added a FAQ and a Donate link in Help menu [Gudy]
FEATURE: New languages : Brazilian-Portuguese, Czech, Lithuanian [Gouss - Translators]

CHANGE: Some GUI Changes, so that SWT WinXP theme is better supported [Gudy]
CHANGE: Saving of torrent files to central dir now optional [Nolar]
CHANGE: Checking after crash now remembers Fast Resume data [Nolar]
CHANGE: Internal refactorization of core classes [Parg]
CHANGE: More logging of reasons for connection closed [Gudy]

BUGFIX: Fixed snub/unsnub multiple peers on the peers list [Gudy]
BUGFIX: Save file dialog now opens as a 'save' dialog, and not 'open' (for OSX) [Gudy]
BUGFIX: DNS name resolution caching no longer infinite [Nolar]
BUGFIX: Better recovery checking of partially-allocated files [Nolar]
BUGFIX: Re-check file(s) integrity after completion [Nolar]
BUGFIX: Max torrent file size was limited to 1MB - limit removed [Parg]
BUGFIX: Fix for several exceptions thrown during socket reads/writes [Nolar]
BUGFIX: Fix for exception thrown when peer sends an invalid bitfield [Nolar]
BUGFIX: AZ was reporting cumulative upload/download stats to tracker - should be per session [Parg]
BUGFIX: Fix for handling single data files larger than 2GB [Nolar]
BUGFIX: Corrected socket writing [Gudy]
BUGFIX: Weren't sending "complete" event to tracker on download->seeding transition [Parg]
azureus-ConfigurationManager-improvement.patch:

--- NEW FILE azureus-ConfigurationManager-improvement.patch ---
--- org/gudy/azureus2/core3/config/impl/ConfigurationManager.java~	2005-10-03 09:36:58.000000000 -0700
+++ org/gudy/azureus2/core3/config/impl/ConfigurationManager.java	2005-12-18 07:30:07.000000000 -0800
@@ -201,14 +201,14 @@
   }
   
   private String getStringParameter(String parameter, byte[] defaultValue) {
-    try {
-      return new String(getByteParameter(parameter, defaultValue));
-    } catch (Exception e) {
-      byte[] bytesReturn = getByteParameter(parameter, null);
-      if (bytesReturn == null)
-        return null;
-      return new String(bytesReturn);
-    }
+    byte[] bp = getByteParameter(parameter, defaultValue);
+    if (bp == null)
+      {
+	bp = getByteParameter(parameter, null);
+	if (bp == null)
+	  return null;
+      }
+    return new String(bp);
   }
   
   public String getStringParameter(String parameter, String defaultValue) {

azureus-GKR.patch:

--- NEW FILE azureus-GKR.patch ---
--- org/gudy/azureus2/core3/security/impl/SESecurityManagerImpl.java~	2005-12-19 07:55:50.000000000 -0800
+++ org/gudy/azureus2/core3/security/impl/SESecurityManagerImpl.java	2006-01-14 16:52:09.000000000 -0800
@@ -336,7 +336,7 @@
 		try{
 			this_mon.enter();
 		
-			KeyStore keystore = KeyStore.getInstance("JKS");
+			KeyStore keystore = KeyStore.getInstance("GKR");
 			
 			if ( !new File(name).exists()){
 		
@@ -391,7 +391,7 @@
 		
 		throws Exception
 	{
-		KeyStore key_store = KeyStore.getInstance("JKS");
+		KeyStore key_store = KeyStore.getInstance("GKR");
 		
 		if ( !new File(keystore_name).exists()){
 			
@@ -676,7 +676,7 @@
 		try{
 			this_mon.enter();
 		
-			KeyStore keystore = KeyStore.getInstance("JKS");
+			KeyStore keystore = KeyStore.getInstance("GKR");
 			
 			if ( !new File(truststore_name).exists()){
 		


--- NEW FILE azureus-License.txt ---
The GNU General Public License (GPL)
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

one line to give the program's name and a brief idea of what it does.
Copyright (C) 

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

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest 
in the program `Gnomovision' (which makes passes at compilers)
written by James Hacker.

signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

azureus-base64.patch:

--- NEW FILE azureus-base64.patch ---
--- com/aelitis/net/udp/impl/PRUDPPacketHandlerImpl.java~	2005-11-22 12:07:30.000000000 -0800
+++ com/aelitis/net/udp/impl/PRUDPPacketHandlerImpl.java	2006-01-17 21:56:00.000000000 -0800
@@ -43,7 +43,7 @@
 import com.aelitis.net.udp.PRUDPPacketRequest;
 import com.aelitis.net.udp.PRUDPRequestHandler;
 
-import org.bouncycastle.util.encoders.Base64;
+import gnu.crypto.util.Base64;
 
 public class 
 PRUDPPacketHandlerImpl
--- org/gudy/azureus2/ui/console/util/StringEncrypter.java~	2005-10-14 04:43:14.000000000 -0700
+++ org/gudy/azureus2/ui/console/util/StringEncrypter.java	2006-01-17 21:56:24.000000000 -0800
@@ -12,7 +12,7 @@
 import javax.crypto.spec.DESKeySpec;
 import javax.crypto.spec.DESedeKeySpec;
 
-import org.bouncycastle.util.encoders.Base64;
+import gnu.crypto.util.Base64;
 
 /**
  * utility class to encrypt strings. this class was taken from the examples at:
--- org/gudy/azureus2/ui/swt/auth/AuthenticatorWindow.java~	2005-10-14 00:17:38.000000000 -0700
+++ org/gudy/azureus2/ui/swt/auth/AuthenticatorWindow.java	2006-01-17 21:56:47.000000000 -0800
@@ -42,7 +42,7 @@
 import org.gudy.azureus2.core3.config.*;
 import org.gudy.azureus2.core3.security.*;
 
-import org.bouncycastle.util.encoders.Base64;
+import gnu.crypto.util.Base64;
 
 public class 
 AuthenticatorWindow 
--- org/gudy/azureus2/core3/tracker/server/impl/tcp/TRTrackerServerProcessorTCP.java~	2005-10-15 17:36:18.000000000 -0700
+++ org/gudy/azureus2/core3/tracker/server/impl/tcp/TRTrackerServerProcessorTCP.java	2006-01-17 21:57:15.000000000 -0800
@@ -31,7 +31,7 @@
 import org.gudy.azureus2.core3.tracker.server.impl.*;
 import org.gudy.azureus2.core3.util.*;
 
-import org.bouncycastle.util.encoders.Base64;
+import gnu.crypto.util.Base64;
 
 public abstract class 
 TRTrackerServerProcessorTCP

azureus-cache-size.patch:

--- NEW FILE azureus-cache-size.patch ---
--- org/gudy/azureus2/core3/config/COConfigurationManager.java~	2005-10-05 11:27:44.000000000 -0700
+++ org/gudy/azureus2/core3/config/COConfigurationManager.java	2006-01-18 19:49:48.000000000 -0800
@@ -39,7 +39,7 @@
 	public static final int CONFIG_CACHE_SIZE_MAX_MB;
 	
 	static{
-		long max_mem_bytes 	= Runtime.getRuntime().maxMemory();
+	    long max_mem_bytes 	= Math.min (Runtime.getRuntime().maxMemory(), 64*1024*1024);
 	    long mb_1			= 1*1024*1024;
 	    long mb_32			= 32*mb_1;
 	    CONFIG_CACHE_SIZE_MAX_MB = (int)(( max_mem_bytes - mb_32 )/mb_1);

azureus-java.beans.XMLEncoder.patch:

--- NEW FILE azureus-java.beans.XMLEncoder.patch ---
--- org/gudy/azureus2/ui/console/multiuser/UserManager.java~	2005-09-06 08:44:54.000000000 -0700
+++ org/gudy/azureus2/ui/console/multiuser/UserManager.java	2005-12-17 12:06:13.000000000 -0800
@@ -23,7 +23,7 @@
 package org.gudy.azureus2.ui.console.multiuser;
 
 import java.beans.XMLDecoder;
-import java.beans.XMLEncoder;
+// import java.beans.XMLEncoder;
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.File;
@@ -159,9 +159,9 @@
 		List users = new ArrayList( usersMap.values() );
 		config.setUsers(users);
 		
-		XMLEncoder encoder = new XMLEncoder( new BufferedOutputStream( out ) );
-		encoder.writeObject(config);
-		encoder.close();
+		// XMLEncoder encoder = new XMLEncoder( new BufferedOutputStream( out ) );
+		// encoder.writeObject(config);
+		// encoder.close();
 	}
 
 	public static UserManager getInstance(PluginInterface pi) 

azureus-jessie.patch:

--- NEW FILE azureus-jessie.patch ---
--- org/gudy/azureus2/core3/security/impl/SESecurityManagerImpl.java~	2005-11-03 07:32:04.000000000 -0800
+++ org/gudy/azureus2/core3/security/impl/SESecurityManagerImpl.java	2005-12-17 19:33:27.000000000 -0800
@@ -86,7 +86,7 @@
 		
 		try{
 			Security.addProvider((java.security.Provider)
-				Class.forName("com.sun.net.ssl.internal.ssl.Provider").newInstance());
+				Class.forName("org.metastatic.jessie.provider.Jessie").newInstance());
 			
 		}catch( Throwable e ){
 			

azureus-no-bouncycastle.patch:

--- NEW FILE azureus-no-bouncycastle.patch ---
--- org/gudy/azureus2/core3/security/impl/SESecurityManagerImpl.java~	2006-01-17 21:58:55.000000000 -0800
+++ org/gudy/azureus2/core3/security/impl/SESecurityManagerImpl.java	2006-01-17 22:20:05.000000000 -0800
@@ -94,7 +94,7 @@
 		}
 		
 		try{
-			SESecurityManagerBC.initialise();
+		    //			SESecurityManagerBC.initialise();
 			
 		}catch( Throwable e ){
 			
@@ -505,7 +505,8 @@
 	
 		throws Exception
 	{
-		return( SESecurityManagerBC.createSelfSignedCertificate( this, alias, cert_dn, strength ));
+	    //		return( SESecurityManagerBC.createSelfSignedCertificate( this, alias, cert_dn, strength ));
+	    return null;
 	}
 	
 	public boolean

azureus-remove-manifest-classpath.patch:

--- NEW FILE azureus-remove-manifest-classpath.patch ---
--- build.xml~	2005-10-25 07:21:24.000000000 -0700
+++ build.xml	2006-01-19 06:39:07.000000000 -0800
@@ -39,7 +39,6 @@
       <jar destfile="${root.dir}/${dist.dir}/Azureus2.jar" basedir="${root.dir}" excludes="${dist.jar.excludes}" >
          <manifest>
             <attribute name="Main-Class" value="org.gudy.azureus2.ui.common.Main" />
-            <attribute name="Class-Path" value="Azureus2.jar apple-extensions.jar commons-cli.jar log4j.jar swt.jar swt-win32.jar swt-osx.jar" />
          </manifest>
       </jar>
       

azureus-remove-win32-PlatformManagerUpdateChecker.patch:

--- NEW FILE azureus-remove-win32-PlatformManagerUpdateChecker.patch ---
--- org/gudy/azureus2/pluginsimpl/local/PluginInitializer.java~	2005-10-18 17:40:06.000000000 -0700
+++ org/gudy/azureus2/pluginsimpl/local/PluginInitializer.java	2005-12-17 19:19:51.000000000 -0800
@@ -131,11 +131,6 @@
    					"azbpcorepatcher", 
    					"CorePatcher",
 					"true" },
-	   		{	 PluginManagerDefaults.PID_PLATFORM_CHECKER, 
-   					"org.gudy.azureus2.platform.win32.PlatformManagerUpdateChecker", 
-   					"azplatform2", 
-   					"azplatform2",
-					"true" },
 	   		{	 PluginManagerDefaults.PID_JPC, 
 					"com.aelitis.azureus.plugins.jpc.JPCPlugin", 
 					"azjpc", 

azureus-remove-win32-osx-platforms.patch:

--- NEW FILE azureus-remove-win32-osx-platforms.patch ---
--- org/gudy/azureus2/platform/PlatformManagerFactory.java~	2005-09-12 14:00:06.000000000 -0700
+++ org/gudy/azureus2/platform/PlatformManagerFactory.java	2005-12-17 12:35:09.000000000 -0800
@@ -44,28 +44,6 @@
 			class_mon.enter();
 		
 			if ( platform_manager == null ){
-										  
-				try{
-					if ( getPlatformType() == PlatformManager.PT_WINDOWS ){
-						
-						platform_manager = org.gudy.azureus2.platform.win32.PlatformManagerImpl.getSingleton();
-						
-					}else if( getPlatformType() == PlatformManager.PT_MACOSX ){
-						
-	                    platform_manager = org.gudy.azureus2.platform.macosx.PlatformManagerImpl.getSingleton();
-	                    
-					}
-				}catch( PlatformManagerException e ){
-					
-						// exception will already have been logged
-					
-				}catch( Throwable e ){
-					
-					Debug.printStackTrace(e);
-				}
-			}
-			
-			if ( platform_manager == null ){
 				
 				platform_manager = org.gudy.azureus2.platform.dummy.PlatformManagerImpl.getSingleton();
 			}

azureus-sun.misc.Cleaner.patch:

--- NEW FILE azureus-sun.misc.Cleaner.patch ---
--- com/aelitis/azureus/core/diskmanager/MemoryMappedFile.java~	2004-09-23 08:52:12.000000000 -0700
+++ com/aelitis/azureus/core/diskmanager/MemoryMappedFile.java	2005-12-17 12:03:21.000000000 -0800
@@ -220,8 +220,8 @@
   				try {
   					Method getCleanerMethod = buffer.getClass().getMethod( "cleaner", new Class[0] );
   					getCleanerMethod.setAccessible( true );
-  					sun.misc.Cleaner cleaner = (sun.misc.Cleaner)getCleanerMethod.invoke( buffer, new Object[0] );
-  					cleaner.clean();
+					// sun.misc.Cleaner cleaner = (sun.misc.Cleaner)getCleanerMethod.invoke( buffer, new Object[0] );
+  					// cleaner.clean();
   				}
           catch (Exception e) { Debug.printStackTrace( e ); }
   				return null;

azureus-sun.misc.Signal.patch:

--- NEW FILE azureus-sun.misc.Signal.patch ---
--- ./org/gudy/azureus2/core3/util/ShutdownHook.java~	2005-06-14 19:06:26.000000000 -0700
+++ ./org/gudy/azureus2/core3/util/ShutdownHook.java	2005-12-17 12:01:13.000000000 -0800
@@ -22,8 +22,8 @@
 
 package org.gudy.azureus2.core3.util;
 
-import sun.misc.Signal;
-import sun.misc.SignalHandler;
+// import sun.misc.Signal;
+// import sun.misc.SignalHandler;
 
 
 
@@ -40,44 +40,6 @@
    * @param handler
    */
   public static void install( final Handler handler) {
-    try{
-      final SignalHandler[] old_handlers = new SignalHandler[2];
-    
-      //ctrl-c signal
-      old_handlers[0] = Signal.handle( new Signal( "INT" ), new SignalHandler() {
-        public void handle( Signal sig ) {
-          try{
-            handler.shutdown( sig.getName() );  //main ShutdownHook.Handler
-            
-            if( old_handlers[0] != null && old_handlers[0] != SIG_DFL && old_handlers[0] != SIG_IGN ) {  //chain back to previous handler if one exists
-              old_handlers[0].handle( sig );
-            }
-          }
-          catch( Throwable t ) {
-            Debug.out( t );
-          }
-        }
-      });
-      
-      //os termination signal
-      old_handlers[1] = Signal.handle( new Signal( "TERM" ), new SignalHandler() {
-        public void handle( Signal sig ) {
-          try{
-            handler.shutdown( sig.getName() );  //main ShutdownHook.Handler
-            
-            if( old_handlers[1] != null && old_handlers[1] != SIG_DFL && old_handlers[1] != SIG_IGN ) {  //chain back to previous handler if one exists
-              old_handlers[1].handle( sig );
-            }
-          }
-          catch( Throwable t ) {
-            Debug.out( t );
-          }
-        }
-      });
-    }
-    catch( Throwable t ) {
-      Debug.out( t );
-    }
     
   }
   


--- NEW FILE azureus.applications ---
azureus
	command=azureus
	name=Azureus
	can_open_multiple_files=true
	expects_uris=true
	requires_terminal=false
	supported_uri_schemes=http,ftp,file
	mime_types=application/x-bittorrent


--- NEW FILE azureus.script ---
#!/bin/sh

CLASSPATH=`build-classpath junit jakarta-commons-cli log4j swt-gtk-3.1.1 Azureus2` java -Dgnu.gcj.runtime.VMClassLoader.library_control=never org.gudy.azureus2.ui.swt.Main $*


--- NEW FILE azureus.spec ---
Name:           azureus
Version:        2.3.0.6
Release:        13%{?dist}
Summary:        A BitTorrent Client

Group:          Applications/Internet
License:        GPL
URL:            http://azureus.sourceforge.net

# This is just the upstream Azureus_2.3.0.6_source.zip file with 
# the crypto code removed (org/bouncycastle).
Source0:        Azureus_2.3.0.6_source_nocrypto.zip

Source1:        azureus.script
Source2:        Azureus.desktop
Source3:        azureus.applications
Source4:        azureus-License.txt
Source5:        azureus-ChangeLog.txt

Patch0:         azureus-sun.misc.Cleaner.patch
Patch1:         azureus-sun.misc.Signal.patch
Patch2:         azureus-java.beans.XMLEncoder.patch
Patch3:         azureus-remove-win32-osx-platforms.patch
Patch4:         azureus-remove-win32-PlatformManagerUpdateChecker.patch
Patch5:         azureus-jessie.patch
Patch6:         azureus-GKR.patch
Patch7:         azureus-ConfigurationManager-improvement.patch
Patch8:         azureus-base64.patch
Patch9:         azureus-no-bouncycastle.patch
Patch10:        azureus-cache-size.patch
Patch11:        azureus-remove-manifest-classpath.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  ant, jpackage-utils >= 1.5, xml-commons-apis
BuildRequires:  jakarta-commons-cli, libswt3-gtk2, log4j, gnu-crypto
Requires:       jakarta-commons-cli, libswt3-gtk2, log4j, gnu-crypto
Requires:       libgcj >= 4.1.0-0.15
BuildRequires:    java-gcj-compat-devel >= 1.0.31
Requires(post):   java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
BuildRequires:    desktop-file-utils
Requires(post):   desktop-file-utils
Requires(postun): desktop-file-utils

%description 
Azureus implements the BitTorrent protocol using java language and
comes bundled with many invaluable features for both beginners and
advanced users.

%prep
%setup -q -c %{name}-%{version}
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p0
%patch6 -p0
%patch7 -p0
%patch8 -p0
%patch9 -p0
%patch10 -p0
%patch11 -p0
cp %{SOURCE4} License.txt
cp %{SOURCE5} ChangeLog.txt

%build
mkdir -p build/libs
build-jar-repository build/libs jakarta-commons-cli swt-gtk-3.1.1 junit log4j gnu-crypto
find ./ -name osx | xargs rm -r
find ./ -name macosx | xargs rm -r
find ./ -name [Ww]in32\* | xargs rm -r
# Remove the BouncyCastle security manager.
rm org/gudy/azureus2/core3/security/impl/SESecurityManagerBC.java
# Remove test code
rm org/gudy/azureus2/ui/console/multiuser/TestUserManager.java
ant jar

%install
rm -rf $RPM_BUILD_ROOT

install -dm 755 $RPM_BUILD_ROOT%{_javadir}
install -pm 644 dist/Azureus2.jar $RPM_BUILD_ROOT%{_javadir}/Azureus2.jar
install -p -D -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/azureus

mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps
install -m 644 org/gudy/azureus2/ui/icons/a32.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/azureus.png
install -m 644 org/gudy/azureus2/ui/icons/a16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/azureus.png
install -m 644 org/gudy/azureus2/ui/icons/a32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/azureus.png
install -m 644 org/gudy/azureus2/ui/icons/a64.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/azureus.png

mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install --vendor fedora 			\
	--dir ${RPM_BUILD_ROOT}%{_datadir}/applications	\
	--add-category X-Fedora				\
	%{SOURCE2}

mkdir -p $RPM_BUILD_ROOT%{_datadir}/application-registry
install -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/application-registry

# Convert line endings...
%{__sed} -i 's/\r//' License.txt
%{__sed} -i 's/\r//' ChangeLog.txt
chmod 644 *.txt

aot-compile-rpm

%clean
rm -rf $RPM_BUILD_ROOT

%post
%{_bindir}/rebuild-gcj-db
update-desktop-database %{_datadir}/applications
# update icon themes
touch %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  /usr/bin/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
fi

%postun
%{_bindir}/rebuild-gcj-db
update-desktop-database %{_datadir}/applications
# update icon themes
touch %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  /usr/bin/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
fi

%files
%defattr(-,root,root)
%doc License.txt ChangeLog.txt
%{_datadir}/applications/*
%{_datadir}/application-registry/*
%{_datadir}/pixmaps/azureus.png
%{_datadir}/icons/hicolor/16x16/apps/azureus.png
%{_datadir}/icons/hicolor/32x32/apps/azureus.png
%{_datadir}/icons/hicolor/64x64/apps/azureus.png
%{_bindir}/azureus
%{_javadir}/*.jar
%{_libdir}/gcj/*

%changelog
* Wed Jan 18 2006 Anthony Green <green at redhat.com> - 2.3.0.6-13
- Drop the junit dependencies.
- Delete unused test code.

* Wed Jan 18 2006 Anthony Green <green at redhat.com> - 2.3.0.6-12
- Convert line endings with sed, not dos2unix.
- Add BuildRequires for desktop-file-utils.

* Wed Jan 18 2006 Anthony Green <green at redhat.com> - 2.3.0.6-11
- Add Requires(post/postun): desktop-file-utils.
- Install .desktop file with desktop-file-install.

* Wed Jan 18 2006 Anthony Green <green at redhat.com> - 2.3.0.6-10
- Fix post and postun desktop integration.
- Add MimeType to .desktop file.
- Add comment about SOURCE0.
- Install files with install, not cp.
- Fix permissions on doc files.
- Add BuildRequires xml-commons-apis.

* Wed Jan 18 2006 Anthony Green <green at redhat.com> - 2.3.0.6-9
- Require libgcj with the latest fixes for running Azureus.
- Be explicit about .png files in %files.

* Wed Jan 18 2006 Anthony Green <green at redhat.com> - 2.3.0.6-8
- Remove bouncycastle from build-classpath in startup script.
- Remove exclusive arch.
- Remove classpath from manifest.
- Add License.txt and ChangeLog.txt.

* Tue Jan 17 2006 Anthony Green <green at redhat.com> - 2.3.0.6-7
- Add azureus-cache-size.patch

* Tue Jan 17 2006 Anthony Green <green at redhat.com> - 2.3.0.6-6
- Experimental build with no bouncycastle dependency.

* Mon Jan 16 2006 Chris Chabot <chabot at xs4all.nl> - 2.3.0.6-5
- Changed file section so package doesn't end up owning
  standard directories.

* Sun Jan 15 2006 Anthony Green <green at redhat.com> - 2.3.0.6-4
- Remove bouncycastle crypto from zipball.
- Add bouncycastle build- and runtime dependencies.
- Desktop integration work.

* Sun Dec 18 2005 Anthony Green <green at redhat.com> - 2.3.0.6-3
- Add azureus-ConfigurationManager-improvement.patch

* Sat Dec 17 2005 Anthony Green <green at redhat.com> - 2.3.0.6-2
- Add azureus-remove-win32-PlatformManagerUpdateChecker.patch

* Sat Dec 17 2005 Anthony Green <green at redhat.com> - 2.3.0.6-1
- Created.


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/azureus/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	19 Jan 2006 23:00:10 -0000	1.1
+++ .cvsignore	19 Jan 2006 23:08:02 -0000	1.2
@@ -0,0 +1 @@
+Azureus_2.3.0.6_source_nocrypto.zip


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/azureus/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	19 Jan 2006 23:00:10 -0000	1.1
+++ sources	19 Jan 2006 23:08:02 -0000	1.2
@@ -0,0 +1 @@
+e53e5b114750c552dc0773106160275b  Azureus_2.3.0.6_source_nocrypto.zip




More information about the fedora-extras-commits mailing list