to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
(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.
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.