(missed those and *emacs* the first time round because they pull
in their png dependencies via default-on options; they were included
in the test bulk build though)
* Bug Fixes
* Refuse to share certain directories: /, $HOME, $GTK_GNUTELLA_DIR, and
the incomplete and corrupted directories.
* Downloads GUI: added checkboxes to invert the select/filter patterns.
* Downloads GUI: added "Modified" column and detail showing the timestamp of
the last file modification.
* Optional beautification operations on filenames: strip leading "-", remove
consecutive "_" and prevent "_" surrounding punctuation characters.
* Fixed significant performance issue in the Gtk+ 1.2 front-end: update of
upload statistics was O(n) but is now O(1).
* Background TTH file verification now lights an icon in the GUI.
* Show TTH tree depth in the download "Details" pane.
* Update the bitzi metadata info box when a query finishes, so that it is
not required to click on the result again after requesting bitzi data.
* Added MIME type column for search results.
* Added "Last Request" and "Last Upload" columns to the Upload History.
* Almost complete DHT support (missing only publishing of data), but code
needs to be explicitly enabled by setting "enable_dht" to TRUE. The DHT
knows how to look for alt-locs for files and push-proxies for firewalled
hosts, and will store local data for others to query.
* New shell commands "stats", "download", "echo".
* It is now possible to rename files being downloaded (through GTK2 or shell,
no support in GTK1).
* Added more filename extensions to the built-in search filters.
* Switch resources after getting an HTTP error if the connection is kept alive
and the error permits follow-ups (non-busy conditions).
* Improved ability to switch resources after file completion by ignoring
trailing swarming data, to keep the connection alive.
* Bitzi tickets are refreshed when explicitely requested, avoiding reuse
of stale metadata
* Completed files are displayed during hash verification.
* Only propagate good alt-locs for files we are downloading, i.e. addresses
of hosts which we know to be serving that file because we contacted them.
* Many new statistics counters.
* Allow scheduling of special downloads without considering per-host limits,
as these are of a much shorter duration (THEX and browse host requests).
* Always seed completed files, regardless of their size (no PFSP minimum as
with partial files), when their SHA-1 has been verified.
* Incorrectly encoded Bitzi metadata is translated to Unicode.
* Browse-host responses are sorted alphanumerically on relative pathnames to
allow users to relate files together if they don't understand GGEP "PATH".
* Improved routing of PUSH messages by also looking whether targetted hosts
happen to be one of our immediate neighbours.
* Updated Norwegian Bokmal and Spanish translations.
Bug Fixes:
- 1870957: Wrong sign could cause out-of-bounds read and potentially a crash.
- Firewalled status was not re-verified after a port change if the previously
used port was open.
- Fixed issue that caused the local peer cache to degenerate.
Improvements:
- Client-side support for tigertree hashes (TTH/THEX).
- Replaced navigation tree by tabs.
- Redesigned download user-interface to make it more accessible.
- Added some selectable pre-defined search filters.
- Bitzi tickets are displayed in full raw indented XML.
- Display Bitzi and ShareMonkey URLs as search result details.
- Topless mode is available at run-time via command-line switch.
- Added default shared filename extensions:
.7z, .bittorrent, .oga, .ogv, .spx, .tbz2
- Removed default shared filename extensions: .doc
- Updated translations: Japanese, Norwegian Bokmal, French.
Under the hood:
- Changed default to dual use of IPv4 and IPv6 instead of IPv4-only.
- Support the "as" (Alternate Source) key in magnet links.
- Eszett is finally normalized to "ss" in search queries.
- Avoid display updates for elements not currently visible.
- Take full advantage of persistent HTTP connections to fetch multiple
files from the same peer through over the same connection if scheduling
permits.
- Improved TLS support and blocking detection.
- Updated list of hostile IP adress ranges, bogons, Geo-IP data,
spam patterns and spam samples.
Bug Fixes:
- The download overlap checking was incorrectly detecting mismatches.
- A bug in the network queue caused frequent crashes.
- A bug in the event timing caused failures after 25 days uptime.
- A stalling issue with TLS connections.
- The search retry timeouts weren't accepted.
- The order of items in the search history was wrong.
- The quick-connect limit wasn't respected causing too frequent
connection attempts during startup.
- Removed incorrect use of SF_NODISKIO flag for sendfile() on FreeBSD.
- Fixed crash that could be triggered by changing the listening port
temporarily to zero.
- iconv() was not used correctly which could cause wrong conversions
for longer strings.
- Generated filenames weren't properly restricted in length which
could cause crashes.
- There was a compile issue on NetBSD caused by namespace pollution.
- Added workaround for the issue that on Solaris only the file descriptors
0..255 can be used for stdio.
Improvements:
- Finished downloads are now seeded for the whole session or until
they are manually purged, if partial file-sharing is enabled.
- Server-side support for Tigertree hashes and THEX thanks to patches
provided by Martijn van Oosterhout.
- Improved spam filters.
* Added GUI option "headless".
* Removed dbus dependency. It's just a gimmick, not worth it.
* Added patch-ab to avoid picking up stuff from /usr/local for example.
Bug fixes:
- Fixed issue when browse host is the only search in the list.
- Reset download buffers on incomplete writes.
- Fixed ever-growing sidebar at each relaunch under GTK1.
- Fixed misdetection of chunk completion, causing undue abortion of downloads.
- Was wrongly showing the source download speed twice in download status.
- Range column was sometimes inexact in downloads.
Improvements:
- Print PFS indication for actively queued entries as well.
- Take buffered data into account when showing download progress.
- Downloads now show how many HTTP requests were made on the same connection.
- Try to reposition the main window correctly.
Configuration Changes:
- Minimum connection timeout is set to 15 seconds.
- Default for "maximum % of slots / vendor" raised to 90.
libintl. Hack around the gettext detection in Configure, I twisted
my mind too much trying to understand the "logic". Just assume that
we have and want NLS. Bump revision.
PKGLOCALEDIR and which install their locale files directly under
${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries. From now
on, pkgsrc/mk/plist/plist-locale.awk will automatically handle
transforming the PLIST to refer to the correct locale directory.
New features:
- Browse Host (HTML and Gnutella), TLS and IPv6 support.
- Chinese and Greek translations of the user interface.
- D-BUS plugging.
- Added hot keys: F2, F8 and F9 (see menu View->...).
- Searches are now created with a configurable expiration date.
Improvements:
- Optimization of the UTF-8 processing.
- Better filename conversion to locale, with automagic charset detection.
- General performance improvements in QRP and search filters.
- Full "nl" translation.
- Sorting persistence.
Under the hood:
- Buffering of downloaded data to avoid excessive disk fragmentation
- Support for the epoll()/kqueue() system calls.
- More optimistic PARQ ETA, and PARQ back-off when QUEUE are unanswered.
- NFS-compatible session locking if anyone cares.
- Nifty property browser.
* The last-byte download bug, where a download would not complete if only the last byte needed to be downloaded, has been fixed.
* Preliminary browse-host support, allowing other servents to browse the files that are shared. This is disabled by default.
* GTKG will detect online status again after temporary network failure.
* The .desktop file and application icons are now properly installed.
* Downloads are now sorting in a more logical way.
* Bug fixes in UTF-8 support.
* Doxygen documentation updates.
* Japanese and Spanish translation updates.
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
- Fixed a potential denial-of-service problem.
- Fixed OOB reply code which would lead to failed assertions.
- [GTK1] Show Enable option and Remove button in Filter editor again.
- Fixed inadvertent truncation of large files (> 4 GB).
- Compatibility fixes for 64-bit platforms.
- GTKG generated up to four times more traffic than was needed between
GTKG Ultrapeer and GTKG leafs.
- Improved firewall status detection: if you are not firewalled then GTKG
is now less likely to claim that you are.
- Fix a build problem for some versions of Glade
- A few minor bugs fixed
Changes 0.95.1:
- Bitzi tickets are now persistently cached so that tickets are
available again after restarting GTKG.
- Improved Unicode support:
- Search improvements:
- [GTK2] GUI updates:
- The GUI uses SI prefixes according to IEC 60027-2 (2000-11) Ed. 2.0
everywhere, so hard disk vendors won't fool you any longer.
- Compatibility fixes to allow compilation on more architectures,
including 64 bit architectures.
- There are now two hostiles.txt, a system-wide ("global") and one in
the ~/.gtk-gnutella directory. So you only need to put private
additions into ~/.gtk-gnutella/hostiles.txt. These files are also
automagically reloaded on change, so you don't need to restart
Gtk-Gnutella to make the changes effective.
- Updated listings for geographic information, bogus addresses and
spam sites.
- Greatly enhanced stability as compared to 0.95 due to many bug
fixes.
- Support for very old Gnutella features has been removed or deprecated
to keep the network healthy. Note that GTKG 0.94 is now considered a
deprecated servent in terms of Gnutella features. Every GTKG user
MUST upgrade to 0.95 as soon as possible.
- GUI updates:
* [GTK2] Enable drag and drop for magnet links
* [GTK1] Search results have less columns, and the hit details are now
displayed in a separate pane underneath.
* Visual progress indicator correctly shows newly downloaded
fragments, shows fragments currently available for download more
accurately, and active downloads are marked with arrows.
* The maximum amount of search results has been lowered to 1000.
Please use filters or more specific queries to find what you are
looking for if you get many search results.
* A detailed view has been added to the search results to show all
available information for a search result.
* The status bar will now give feedback about the contacted host caches.
* Gnutella node stats can now show how many bytes were sent/received.
* In the node pane, right-clicking now allows to configure which columns
should be displayed, just like in the search pane.
* More general statistics in the stats pane. It is possible to see TCP and/or
UDP traffic stats separately (for messages only, not flow-control).
- Bitzi support has been added to retrieve additional information on
possible downloads. See http://bitzi.com/ for details.
- The geographic location of hosts can now be shown courtesy of MaxMind.
- Recently developed features of the Gnutella network are now supported:
* High outdegree provides better connectivity between Gnutella hosts.
The maximum TTL in the network is now 4 and ultra nodes must maintain
at least a connection with 30 peers.
* Last-hop QRP between ultra peers.
* Dynamic querying support, allows selective querying of peers instead
of simply broadcasting the query. It is used for leaf queries and
for your queries when running as an ultra node.
* OOB (out of band) query hits lets other servents deliver search
results directly to you instead of going through the Gnutella network.
* OOB proxied queries, allowing direct hit delivery at the ultra node level
for queries emitted by legacy leaves.
* GTKG will now prevent firewalled hosts from running as ultra nodes.
* In "auto mode", GTKG will revert to leaf mode when uploads are stalling
at an abnormally high rate, indicating bandwidth is saturated.
- UDP is now also supported as a transport protocol in addition to TCP.
You may need to make changes to your firewall settings to take full
advantage of this. The UDP port used is the same as the one used for TCP.
- Firewall detection has been improved to include UDP firewalling detection.
- Clock skew computation for hosts not running NTP has been redesigned.
Also, GTKG will now automatically detect a locally running NTP.
- Japanese translation added.
- French and German translation updated.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
* GUI updates:
* File info pane renamed to "Downloads".
* Downloads pane renamed to "Sources".
* Progress of a download can now be visualized.
* Uploads and download sources pane now contain a visual progressbar.
* The GTK2 GUI can now be resized smaller than a width of 933 pixels.
* Search results now include an extension column.
* The Gnet stats panel and the statusbar now include horizon statistics.
* New Gnutella extension HSEP/0.2 included.
* The remote shell now includes a command "HORIZON", which will output horizon
stats.
* If no default port is specified, gtk-gnutella will now bind to a random port
and will use that port from then on.
* If you are behind a firewall and have routed a port to gtk-gnutella, please
check that gtk-gnutella is still running on the port you want it to!
* Will parse up to 150 hosts in a gwebcache reply to bootstrap from.
* New hostcache to make gtk-gutella connect to the network more quickly.
* Translations updated.