You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(10) |
Jun
(1) |
Jul
(3) |
Aug
(6) |
Sep
(8) |
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(12) |
Oct
(15) |
Nov
(37) |
Dec
(11) |
| 2002 |
Jan
(33) |
Feb
(14) |
Mar
(18) |
Apr
(38) |
May
(6) |
Jun
(20) |
Jul
(35) |
Aug
(155) |
Sep
(65) |
Oct
(112) |
Nov
(84) |
Dec
(68) |
| 2003 |
Jan
(86) |
Feb
(46) |
Mar
(39) |
Apr
(32) |
May
(52) |
Jun
(48) |
Jul
(8) |
Aug
(49) |
Sep
(16) |
Oct
(25) |
Nov
(19) |
Dec
(47) |
| 2004 |
Jan
(23) |
Feb
(31) |
Mar
(15) |
Apr
(13) |
May
(1) |
Jun
(9) |
Jul
(13) |
Aug
(6) |
Sep
(10) |
Oct
(7) |
Nov
(17) |
Dec
(35) |
| 2005 |
Jan
(31) |
Feb
(11) |
Mar
(15) |
Apr
(7) |
May
(38) |
Jun
(3) |
Jul
(5) |
Aug
(10) |
Sep
|
Oct
|
Nov
(17) |
Dec
(6) |
| 2006 |
Jan
(4) |
Feb
(32) |
Mar
(38) |
Apr
(6) |
May
(1) |
Jun
(7) |
Jul
(5) |
Aug
(19) |
Sep
(7) |
Oct
(23) |
Nov
(76) |
Dec
(50) |
| 2007 |
Jan
(33) |
Feb
(24) |
Mar
(1) |
Apr
(1) |
May
(5) |
Jun
|
Jul
(11) |
Aug
(5) |
Sep
|
Oct
|
Nov
(12) |
Dec
(2) |
| 2008 |
Jan
(5) |
Feb
|
Mar
(3) |
Apr
|
May
(5) |
Jun
|
Jul
(9) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2009 |
Jan
|
Feb
(7) |
Mar
(7) |
Apr
(1) |
May
(3) |
Jun
|
Jul
|
Aug
(7) |
Sep
(6) |
Oct
(2) |
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
(1) |
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
(7) |
Aug
(4) |
Sep
|
Oct
(4) |
Nov
|
Dec
|
| 2011 |
Jan
(2) |
Feb
|
Mar
(4) |
Apr
(3) |
May
(14) |
Jun
(6) |
Jul
(7) |
Aug
(9) |
Sep
(4) |
Oct
|
Nov
(15) |
Dec
(20) |
| 2012 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
(6) |
Oct
|
Nov
|
Dec
(1) |
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
(4) |
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(2) |
Dec
(2) |
| 2016 |
Jan
(2) |
Feb
(3) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(2) |
Dec
(1) |
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2018 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2023 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(6) |
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Jamie Landeg-J. <ja...@ca...> - 2025-08-08 04:50:29
|
Schimon Jehudah <sc...@fe...> wrote: > Currently, GTK-GNUTELLA is available mostly on "unofficial" > repositories, probably due to GTK+ 2, which is better than the bloated > GTK+ 3 and GTK+ 4, and a daemon mode would definitely qualify it as an > official package on most FreeBSD and Linux distributions. It's available in FreeBSD ports (albeit an older version) already. gtk2 still exists in the ports tree. Headless mode can be installed from the ports build menu by de-selecting option "GUI" I did try to get that port updated, but the maintainer was busy, so maybe I should just take it over, now I see he's dropped it, and try again. Anyway, all my servers are FreeBSD, and Raphael just builds the source direct from the git master. I think for a daemon build this way, you simply supply "-Dd_headless" to configure, but again, I've not tried it myself. Cheers! Jamie |
|
From: Schimon J. <sc...@fe...> - 2025-08-08 04:30:05
|
On Fri, 08 Aug 2025 05:11:49 +0100 Jamie Landeg-Jones <ja...@ca...> wrote: > Schimon Jehudah via gtk-gnutella-users > <gtk...@li...> wrote: > > > Is there a future plan to have a background mode (i.e. so called > > "daemon"), which the graphical and command line interfaces could > > interact communicate with? > > That would be the "headless' mode I mentioned - Raphael Manfredi runs > various of these daemons on some of his servers, and on some of mine. > > The servers don't have any X components installed, they just run > as daemons. > So I assumed. > The cli communicates with the daemon over the socket, as mentioned in > those links. > Good. This is exactly how I want the graphical interface to communicate with the "daemon". I think, that this practice, for aMule, Shareaza, GTK-GNUTELLA would be the safest and most efficient in proliferation of peers. > I'm not an expert in how this is all put together, because I don't > actually run it myself, but I know it exists. > > Looking at one such instance now, it only links against the following > extenal libraries: > > libgobject-2 libglib-2 libintl libz libm libiconv libthr libc libpcre > libffi > > Simply launch it as a background daemon - with no X dependencies, it > doesn't try to open a GUI window, and will just run until manually > killed. > > Cheers, Jamie Currently, GTK-GNUTELLA is available mostly on "unofficial" repositories, probably due to GTK+ 2, which is better than the bloated GTK+ 3 and GTK+ 4, and a daemon mode would definitely qualify it as an official package on most FreeBSD and Linux distributions. Thank you, Schimon |
|
From: Jamie Landeg-J. <ja...@ca...> - 2025-08-08 04:11:59
|
Schimon Jehudah via gtk-gnutella-users <gtk...@li...> wrote: > Is there a future plan to have a background mode (i.e. so called > "daemon"), which the graphical and command line interfaces could > interact communicate with? That would be the "headless' mode I mentioned - Raphael Manfredi runs various of these daemons on some of his servers, and on some of mine. The servers don't have any X components installed, they just run as daemons. The cli communicates with the daemon over the socket, as mentioned in those links. I'm not an expert in how this is all put together, because I don't actually run it myself, but I know it exists. Looking at one such instance now, it only links against the following extenal libraries: libgobject-2 libglib-2 libintl libz libm libiconv libthr libc libpcre libffi Simply launch it as a background daemon - with no X dependencies, it doesn't try to open a GUI window, and will just run until manually killed. Cheers, Jamie |
|
From: Schimon J. <sc...@fe...> - 2025-08-08 03:11:52
|
On Fri, 08 Aug 2025 00:56:09 +0100
Jamie Landeg-Jones <ja...@ca...> wrote:
> Schimon Jehudah via gtk-gnutella-users
> <gtk...@li...> wrote:
>
> > Good day.
> >
> > I would want to know whether there are plans compartmentalize
> > gtk-gnutella into background mode, command line interface, and
> > console interface.
> >
> > Or is it currently feasible to do so now?
>
> Hi! That can be done now. You can build gtk-gnutella without the UI
> stuff ("headless mode"), and / or use command line instructions to
> operate it.
>
> The docs are pretty old, so I don't know how uptodate thing are.
> Also, I don't actually have experience of using this, so can't help
> more than pointing you to the information:
>
> https://gtk-gnutella.sourceforge.io/?page=headless_mode
>
> https://github.com/gtk-gnutella/gtk-gnutella/blob/devel/doc/other/shell.txt
>
> Cheers, Jamie
Jamie. Thank you.
Is there a future plan to have a background mode (i.e. so called
"daemon"), which the graphical and command line interfaces could
interact communicate with?
I think that it would be the best practice, as it would facilitate the
development of more interfaces with HTML, Qt, SDL, Tk, Tkinter, etc.
Regards,
Schimon
|
|
From: Jamie Landeg-J. <ja...@ca...> - 2025-08-08 00:37:37
|
Schimon Jehudah via gtk-gnutella-users <gtk...@li...> wrote:
> Good day.
>
> I would want to know whether there are plans compartmentalize
> gtk-gnutella into background mode, command line interface, and console
> interface.
>
> Or is it currently feasible to do so now?
Hi! That can be done now. You can build gtk-gnutella without the UI stuff
("headless mode"), and / or use command line instructions to operate it.
The docs are pretty old, so I don't know how uptodate thing are. Also, I
don't actually have experience of using this, so can't help more than
pointing you to the information:
https://gtk-gnutella.sourceforge.io/?page=headless_mode
https://github.com/gtk-gnutella/gtk-gnutella/blob/devel/doc/other/shell.txt
Cheers, Jamie
|
|
From: Schimon J. <sc...@fe...> - 2025-08-07 04:47:56
|
Good day. I would want to know whether there are plans compartmentalize gtk-gnutella into background mode, command line interface, and console interface. Or is it currently feasible to do so now? Kind regards, Schimon |
|
From: Raphael M. <Rap...@po...> - 2024-03-03 14:47:21
|
Quoting david thompson via gtk-gnutella-users: : I am seeing a message on screen warning that my version of gtk-gnutella : is pretty old, when its not; my version is the same as on the : sourceforge page (1.2.2). Yes, but it is two-years old! :-) : I have tried reinstalling, have downloaded again the version on the : sourceforge page, deleting the hidden file in the home directory to no : avail. : : I am using slackware 14.2 64bit. : : Everything was fine until yesterday (scratches head). : Anyone have a clue that they could tell me? Yes, there is a time limit that triggered on Feb 25th. I am in the process of releasing 1.2.3 on sourceforge. The sources are there, and I am currently compiling the version for Windows. I have fixed some bugs that randomly triggered, but nothing major since 1.2.2. Sorry for the inconvenience. Cheers, Raphael |
|
From: david t. <dmt...@gm...> - 2024-03-01 13:49:19
|
Hello all, I am seeing a message on screen warning that my version of gtk-gnutella is pretty old, when its not; my version is the same as on the sourceforge page (1.2.2). I have tried reinstalling, have downloaded again the version on the sourceforge page, deleting the hidden file in the home directory to no avail. I am using slackware 14.2 64bit. Everything was fine until yesterday (scratches head). Anyone have a clue that they could tell me? Cheers |
|
From: Muhammad M. <muh...@fh...> - 2023-02-08 20:00:31
|
Hi All, Hope things are good at your end. I need some help setting up the software for only private setup. Iwant to use this software only for private setup without internet. I have devices connected to each other without internet and want to share files between each other. Is it possible that way or not? I am trying to find local IP address and search files but unable to connect. I will appreciate if I can get some help. If I try to manually connect to the local IP address, it says connection failed and then disappear. Regards, Malik |
|
From: Raphael M. <Rap...@po...> - 2022-02-25 17:24:11
|
Hello Gnutella fans, Version 1.2.2 contains major bug fixes and you should upgrade immediately if you are currently running GTKG. # v 1.2.2 2022-02-25 [stable] This is a maintenance release with major bug fixes. There were several shortcomings with bandwidth management: capping was not performed correctly and could overuse uploading bandwidth. Also when the DHT is turned off or on, we need to recompute proper bandwidth stealing. Corruption of the DHT disk databases could also lead to a crash. There was a critical old bug in the Dynamic Querying layer that affected Ultrapeers mostly: we could corrupt memory and/or crash when the current node was removed and we were processing a Dynamic Query for that node. This is more likely to happen when running as an Ultrapeer but it could also affect nodes running as leaves, although the probability of that bug happening is much less in that case. Finally, it is best to not iterate on a global list that could get changed due to a node removal. This was the case when sending pongs to neighbouring nodes, so we now take a private copy. Improvements: - Extended "props" shell command with -e (exact) and -i (ignore missing). - The "props" command now takes a set of properties, handled as one batch. Bug Fixes: - Properly recompute bandwidth stealing on DHT changes. - Avoid crashing in D-Bus lib when filename is improperly UTF-8 encoded. - DHT: protect against corrupted database. - bw_available(): fix invalid logic for I/O source capping. - pong_all_neighbours_but_one(): iterate on local list. - dq_node_removed(): must free dq object asynchronously. Under the Hood: - Update IRC network information: moved from freenode to libera.chat - Chunk size limiting for uploads accounts for bandwidth. - Reduce memory footprint for statx_t if no data kept. - CQ: defer freeing of dispatched event. - watchdog: be more verbose within critical messages. - node_parse(): signal to callers when we have BYE-ed the node. - cq_event_called(): use better diagnostic on assert failure. - dbus_util_send_message(): protect against invalid text. - prepare_entry(): ensure entry invariant remains true. - wd_expire(): do nothing if watchdog was asleep. Cheers, Raphael |
|
From: Raphael M. <Rap...@po...> - 2020-07-09 12:07:57
|
Hello Gnutella fans, I have just released version 1.2.0, which contains important fixes and really needs to be installed to replace 1.1.15. Here's the ChangeLog entry for the release: # v 1.2.0 2020-06-14 [stable] This is an evolution release, hence the minor version bump. Several cases of bad input (from network) causing assertion failures were fixed. In particular, bad DHT response after a security token lookup or invalid G2 input streams were fatal. There was also a critical bug, originating from a harmful code typo, which led gtk-gnutella to serve unvailable file chunks from partial files, as if they were available, resulting in unintended download corruption on the remote end! Thanks to Laurent Gil's efforts, it is now possible to run gtk-gnutella from a Docker container. See https://github.com/angegar/gtk-gnutella-docker. Running within docker raised some issues about sbrk() and thread_self(), which were fixed. The computation of the build date was fixed, to avoid corner cases where gtk-gnutella would complain it was "old" when freshely compiled from up-to-date sources in a git tree whose "master" branch was only infrequently updated. The file selector was fixed, to avoid displaying grayed-out folders, a setup wich did not allow one to actually select directories in the preferences. Many improvements were done to allow smoother uploading for servents with more bandwidth than the recipients. Instead of drastically limiting upload bandwidth (which was negatively impacting everyone), we are now monitoring and adjusting our uploading speed to avoid congestion on the remote end. When stalling happens, we also react quickly to reduce the available bandwidth of the connection, not that of all connections to whom we are uploading. We also no longer rely on MaxMind GeoIP for providing the IP -> country mappings. Their distribution mode now requires a specific licence which seems totally incompatible with the gtk-gnutella's distribution mode. Instead, we are now using IP2Location, and the GEO_LICENCE file now lists the conditions under which these data are re-distributed (gtk-gnutella transforms the data into a form that it can digest, so we are distributing a modified, derived work, not the original). If you are still using a version of gtk-gnutella earlier than the 1.1.x series, you are strongly encouraged to upgrade. Starting from this release, we are now considering these versions too old to connect to. Improvements: - Let --compile-info show which malloc() is used. - It is now possible to run gtk-gnutella from a Docker container. - Added details in the README file about required packages to compile. - Use gradual bandwidth penalty when uploads are stalling. - Added upload bandwidth capping. - Forcefully reduce request chunk if b/w is limited. - Emit a Retry-After header on 416 replies. - On HTTP 416, emit a Last-Modified header. - Switched to IP2Location for mapping IPs to countries, dropping MaxMind GeoIP. - Upload tab now shows our own partial completion ratio, not just "(partial)". - Detect abuse from HTTP clients not reading payloads. - Enforce Retry-After softly. - Ban them when they abuse of the browse-host feature. - Smarter detection of duplicate incoming Gnutella connections. Bug Fixes: - [GTK2] Fixed file selector to avoid greyed-out folders. - [GTK2] Guarantee updating of properties when refresh button is clicked. - Added emergency path during startup should sbrk() fail. - Fixed instructions following build.sh run. - Fixed possible thread_self() instability at startup. - Fixed backward portability issue with the BFD library. - Fixed computation of build date. - Fix 2 harmful typos, affecting serving of partial files. - Regenrate Configure to fix gccversion usage bug. - Restored compilation of a standalone local shell. - Remove executable permissions on C source file! - Rename our ARC4 interface on systems with native arc4random(). - Updated all files to fix obsolete FSF postal address. - Avoid banning hosts issuing legitimate upload requests. - Implement GNU extension malloc_usable_size() when using our malloc(). - UHC: when hardwired list is exhausted, reload it. - Make Content-Range and Content-Length prioritary headers. - ban_allow(): was never returning BAN_FORCE. - download_reply(): reload available ranges after 416 if needed. - download_stop_switch(): forgot to remove passive queue indication. - gtk_gnutella_exit(): must close UPnP layer before HTTP. - http_send_status(): reworked to avoid undue header truncation. - node_g2_read(): fixed faulty assertion. - pb_token_found(): be more robust against unexpected input. - search_gui_close_search(): avoid crash when emptying search list twice. - update_available_ranges(): revisited range processing logic. - upload_416_extra(): was generating non-compliant headers. - vmm_dump_pmap_log(): fixed deadlock. - download_moved_with_bad_sha1(): always reset fileinfo. - file_info_reset(): also discard previous TTH info. Under the Hood: - Added temporary "xk" country code for Kosovo. - Added vmm_type_pointer() to determine region type. - Add lingering period for unreferenced file_descriptor objects. - Add shell command "show files -d" to list currently used file_descriptor. - Raise minimum b/w scheduling slot to 256 bytes per second. - Fixed HashGenericCat() in Jmakefile, leading to wrong .c dependency. - Fast assertions are a must for GTKG nowadays, always compile with them. - Do not post multiple randomness generation messages. - Split bit_generic routines into .ht and .ct. - Reserve file_object_close() for user code. - Made it possible to compile with TRACK_MALLOC again. - Improved "thread elements" shell command to trace callback function names. - Avoid VMM magazine allocation when running with TRACK_MALLOC. - Enhanced TRACK_MALLOC to be able to trap xalloc() as well. - Enhanced TRACK_MALLOC debugging power with MALLOC_CATCH_MALLOC. - Extended bool_to_string() to display value if not 0 or 1. - TEQ: optimize I/O events by posting them directly to I/O queue. - VMM pmap logging shows allocated size per fragment type. - Removed gone / probably gone logic for discovered threads. - Ensure thread_atexit() callbacks run in discovered threads. - Ensure walloc0() redirects to underlying zeroing routines, for statistics. - Simplified shell I/O condition management and logging. - Separate Gnutella and HTTP (upload) banning categories. - STATIC_ASSERT: use a more compact version for less verbose errors. - Made thread exit value read-only in thread_atexit() callbacks. - Emit thread mask in crash logs upon detected deadlock. - ADNS: the cache is now thread-safe and cached replies shuffled. - ADNS: added expiring periodic callback for cached DNS entries. - Added new "adns_debug" property for ADNS debugging. - Avoid g_memmove() which has been deprecated. - Added ripening_contains() and ripening_update() routines, not used yet. - Optimize ripening table when no value is kept. - Use aging table to track download mesh sending times. - Use 429 instead of 550 for "Too Many Requests". - Remind less often about banning status. - Let emulated alloca() cleanup when thread exits. - Ensure alloca_stack_direction_compute() is never inlined. - Smarter detection of duplicate incoming Gnet connections. - xmalloc: must "embed" xstrdup() and xstrndup(). - xmalloc: simplified allocation entry points. - xmalloc: ensure stricter memory alignment when xmalloc() replaces malloc(). - ban_delay(): fixed to return remaining ban time. - ban_force(): read incoming data before shutdown(). - ban_vendor(): GTKG earlier than version 1.1 deemed too old. - bitcmp(): use memcmp() for byte comparison. - bool_to_string(): added carp trace to help spot the culprit. - cq_cancel(): fix logic to return TRUE if event was NULL. - crash_deadlocked(): no longer dump stacks. - crash_handler(): enter thread crash mode before signal cleanup. - crash_time_internal(): use thread_safe_small_id() in raw mode. - download_queue_delay_switch(): explicitly turn off queuing if switching. - download_queue_v(): explicitely reset passive queuing info. - download_reply(): Content-Length not necessary if Content-Range. - download_send_push_request(): trace server GUID. - erbtree_foreach(): added cheap safety assertion. - evq_trampoline(): cleanup event if cannot signal thread. - extract_retry_after(): ensure amount in seconds is the only value. - fi_pick_rarest_chunk(): be smarter about selected chunk. - fi_pick_rarest_chunk(): ensure first free chunk is available. - hcache_fill_caught_array(): fix array fill logic. - http_send_status(): ensure generated header has trailing CRLF. - local_shell_mainloop(): must flag "writable" on POLLHUP. - mingw_exception_log(): use static variables and be more careful. - natpmp_handle_discovery_reply(): trace inconsistent replies. - natpmp_handle_mapping_reply(): trace inconsistent replies. - parq_upload_send_queue(): tie PARQ upload queue and upload. - pcache_pong_received(): also validate changing ports. - rand31: avoid race condition during intial seeding. - random_pool_append(): ensure no endless recursion, ever! - send_pproxy_error_v(): remove dead code. - shell_handle_event(): always write() when having pending data. - shell_handle_event(): on exception, setup EOF/shutdown. - shell_write_data(): make sure to flush as much as possible. - sig_compute_pc_index(): be paranoid about optimization. - signal_name(): contort to avoid gcc-10 warning. - signal_trap_with(): avoid kernel signal desynchronisation. - signal_uncaught(): dump stack trace if harmful signal. - sorted_array_lookup(): sort array if they forgot to do it! - spinlock_deadlocked(): capture lock status early. - stacktrace_atom_lookup_and_store(): trace race conditions. - stacktrace_load_symbols(): do nothing if too early. - thread_create_full(): keep async exit callback separated. - thread_deadlock_check(): disable locks when deadlock is certain. - thread_deadlock_check(): only dump stacks of involved threads. - thread_stack_check_overflow(): also log used stack size. - upload_remove_v(): create better logging message. - vmm_malloc_inited(): now only called internally. - xmalloc_show_settings_log(): trace chosen memory alignment. - zgc_zalloc(): transformed some assertions into verbose ones. Enjoy! Raphael |
|
From: David R. <da...@da...> - 2019-12-27 19:34:58
|
Anyone have an idea what might be breaking here? I tried rebuilding the app. Rebuild is successful, but it still fails when running it, with the below output. Is GG still being actively maintained? Thanks, DR On 12/16/19 10:30 PM, David Rosenstrauch wrote: > v1.1.5 seems to be crashing for me on linux kernel 5.4.1. Some of the > errors I see logged to the console are attached below. Any ideas what > the issue might be? > > Thanks, > > DR > > > ... > 19-12-16 22:24:58.794 (DEBUG): loaded 330525 geographical IPv4 ranges > (2900521315 hosts) from "/usr/share/gtk-gnutella/geo-ip.txt" > 19-12-16 22:24:58.816 (DEBUG): loaded 95090 geographical IPv6 ranges > from "/usr/share/gtk-gnutella/geo-ipv6.txt" > 19-12-16 22:24:59.339 (CRITICAL): vmea_alloc(): cannot allocate > 6,227,198,758,839,676,928 bytes (used 0 bytes out of 8,388,608 reserved > with 0 allocations and 0 freeings) > 19-12-16 22:24:59.339 (CRITICAL): vmm_alloc_internal(): cannot allocate > 6,227,198,758,839,676,928 bytes: out of virtual memory > 19-12-16 22:24:59.339 (CRITICAL): crash_oom(): process is out of memory, > aborting... > 19-12-16 22:24:59.339 (WARNING): filelock_clean(): unlocking > /home/darose/.gtk-gnutella/gtk-gnutella.pid > 19-12-16 22:24:59.344 (WARNING): filelock_clean(): unlocking > /home/darose/gtk-gnutella-downloads/incomplete/.gtk-gnutella.lock > 19-12-16 22:24:59.345 (CRITICAL): trapped foreign exit(), cleaning up... > 19-12-16 22:24:59.345 (WARNING): disabled fancy symbolic stack traces > 0x7f83eea286a7 > 0x7f83eea2885e > do__exit > crash_deadlocked > vmm_alloc > xallocate+564 > xreallocate+143 > 0x7f83e7922310 > 0x7f83e7924343 > 0x7f83e7926c4c > 0x7f83e7927fd3 > 0x7f83e7928302 > 0x7f83eead2c95 > 0x7f83eead3951 > name_to_host_addr+189 > name_to_single_host_addr+58 > is_local_addr+1313 > inet_udp_got_incoming+44 > urpc_received+46 > socket_udp_event+1727 > inputevt_handle+259 > inputevt_timer+565 > dispatch_poll+12 > 0x7f83ef0bc26f > 0x7f83ef0be1b1 > 0x7f83ef0be1f1 > 0x7f83ef652032 > 0x7f83ef774de5 > main_gui_run+61 > main+2608 > ... > > > ... > 19-12-16 22:25:09.757 (DEBUG): loaded 330525 geographical IPv4 ranges > (2900521315 hosts) from "/usr/share/gtk-gnutella/geo-ip.txt" > 19-12-16 22:25:09.807 (DEBUG): loaded 95090 geographical IPv6 ranges > from "/usr/share/gtk-gnutella/geo-ipv6.txt" > 19-12-16 22:25:10.222 (WARNING): got SIGSEGV for VA=0x0 at > PC=0x7f7df189a2a8 (malloc_usable_size) from /usr/lib/libc.so.6 > 19-12-16 22:25:10.222 (DEBUG): crash_mode(): initial external call, > level=basic from thread "main" (#0) > 19-12-16 22:25:10.222 (DEBUG): crash_mode(): depth=0, external=y, > level=basic, old=none, new=basic > 19-12-16 22:25:10.222 (WARNING): signal_uncaught(SIGSEGV): running 2 > cleanup handlers > 19-12-16 22:25:10.222 (WARNING): filelock_clean(): unlocking > /home/darose/.gtk-gnutella/gtk-gnutella.pid > 19-12-16 22:25:10.226 (WARNING): filelock_clean(): unlocking > /home/darose/gtk-gnutella-downloads/incomplete/.gtk-gnutella.lock > 19-12-16 22:25:11.063 [23190] (MESSAGE): child #3 (PID 25022) killed by > SIGSEGV, core dumped after 7s > ... > > > _______________________________________________ > gtk-gnutella-users mailing list > gtk...@li... > https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-users |
|
From: David R. <da...@da...> - 2019-12-17 03:47:24
|
v1.1.5 seems to be crashing for me on linux kernel 5.4.1. Some of the errors I see logged to the console are attached below. Any ideas what the issue might be? Thanks, DR ... 19-12-16 22:24:58.794 (DEBUG): loaded 330525 geographical IPv4 ranges (2900521315 hosts) from "/usr/share/gtk-gnutella/geo-ip.txt" 19-12-16 22:24:58.816 (DEBUG): loaded 95090 geographical IPv6 ranges from "/usr/share/gtk-gnutella/geo-ipv6.txt" 19-12-16 22:24:59.339 (CRITICAL): vmea_alloc(): cannot allocate 6,227,198,758,839,676,928 bytes (used 0 bytes out of 8,388,608 reserved with 0 allocations and 0 freeings) 19-12-16 22:24:59.339 (CRITICAL): vmm_alloc_internal(): cannot allocate 6,227,198,758,839,676,928 bytes: out of virtual memory 19-12-16 22:24:59.339 (CRITICAL): crash_oom(): process is out of memory, aborting... 19-12-16 22:24:59.339 (WARNING): filelock_clean(): unlocking /home/darose/.gtk-gnutella/gtk-gnutella.pid 19-12-16 22:24:59.344 (WARNING): filelock_clean(): unlocking /home/darose/gtk-gnutella-downloads/incomplete/.gtk-gnutella.lock 19-12-16 22:24:59.345 (CRITICAL): trapped foreign exit(), cleaning up... 19-12-16 22:24:59.345 (WARNING): disabled fancy symbolic stack traces 0x7f83eea286a7 0x7f83eea2885e do__exit crash_deadlocked vmm_alloc xallocate+564 xreallocate+143 0x7f83e7922310 0x7f83e7924343 0x7f83e7926c4c 0x7f83e7927fd3 0x7f83e7928302 0x7f83eead2c95 0x7f83eead3951 name_to_host_addr+189 name_to_single_host_addr+58 is_local_addr+1313 inet_udp_got_incoming+44 urpc_received+46 socket_udp_event+1727 inputevt_handle+259 inputevt_timer+565 dispatch_poll+12 0x7f83ef0bc26f 0x7f83ef0be1b1 0x7f83ef0be1f1 0x7f83ef652032 0x7f83ef774de5 main_gui_run+61 main+2608 ... ... 19-12-16 22:25:09.757 (DEBUG): loaded 330525 geographical IPv4 ranges (2900521315 hosts) from "/usr/share/gtk-gnutella/geo-ip.txt" 19-12-16 22:25:09.807 (DEBUG): loaded 95090 geographical IPv6 ranges from "/usr/share/gtk-gnutella/geo-ipv6.txt" 19-12-16 22:25:10.222 (WARNING): got SIGSEGV for VA=0x0 at PC=0x7f7df189a2a8 (malloc_usable_size) from /usr/lib/libc.so.6 19-12-16 22:25:10.222 (DEBUG): crash_mode(): initial external call, level=basic from thread "main" (#0) 19-12-16 22:25:10.222 (DEBUG): crash_mode(): depth=0, external=y, level=basic, old=none, new=basic 19-12-16 22:25:10.222 (WARNING): signal_uncaught(SIGSEGV): running 2 cleanup handlers 19-12-16 22:25:10.222 (WARNING): filelock_clean(): unlocking /home/darose/.gtk-gnutella/gtk-gnutella.pid 19-12-16 22:25:10.226 (WARNING): filelock_clean(): unlocking /home/darose/gtk-gnutella-downloads/incomplete/.gtk-gnutella.lock 19-12-16 22:25:11.063 [23190] (MESSAGE): child #3 (PID 25022) killed by SIGSEGV, core dumped after 7s ... |
|
From: <shu...@21...> - 2019-08-27 04:43:17
|
<html> <head></head> <body> i established a vpn connection and i made a search, nothing prompted except no guess queries run yet <br /> </body> </html> |
|
From: David R. <da...@da...> - 2018-11-26 02:22:21
|
FYI, a patch was needed to build this on Arch Linux, as glibc now also includes a statx struct. (See http://darose.net/statx.patch) Best, DR On 10/30/18 6:24 PM, David Rosenstrauch wrote: > Hi. I'm trying to build the v1.1.14, but running into a compile issue: > > ... > /usr/bin/rm -f stats.o > cc -c -I../.. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > -I/usr/lib/libffi-3.2.1/include -pthread -I/usr/include/dbus-1.0 > -I/usr/lib/dbus-1.0/include -DCURDIR=src/lib -O2 -g -pthread > -momit-leaf-frame-pointer -W -Wall -Wformat=2 -Wshadow -march=x86-64 > -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt > -D_FORTIFY_SOURCE=2 stats.c > stats.c:53:8: error: redefinition of ‘struct statx’ > struct statx { > ^~~~~ > In file included from /usr/include/sys/stat.h:446, > from ../common.h:108, > from stats.c:34: > /usr/include/bits/statx.h:36:8: note: originally defined here > struct statx > ^~~~~ > ... > > > Apparently other software packages have run into this issue as well, > with the cause being that a new version of glibc now includes statx. Any > idea how to solve this issue in the gtk-gnutella build? > > Thanks, > > DR |
|
From: David R. <da...@da...> - 2018-10-30 22:24:43
|
Hi. I'm trying to build the v1.1.14, but running into a compile issue:
...
/usr/bin/rm -f stats.o
cc -c -I../.. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/lib/libffi-3.2.1/include -pthread -I/usr/include/dbus-1.0
-I/usr/lib/dbus-1.0/include -DCURDIR=src/lib -O2 -g -pthread
-momit-leaf-frame-pointer -W -Wall -Wformat=2 -Wshadow -march=x86-64
-mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt
-D_FORTIFY_SOURCE=2 stats.c
stats.c:53:8: error: redefinition of ‘struct statx’
struct statx {
^~~~~
In file included from /usr/include/sys/stat.h:446,
from ../common.h:108,
from stats.c:34:
/usr/include/bits/statx.h:36:8: note: originally defined here
struct statx
^~~~~
...
Apparently other software packages have run into this issue as well,
with the cause being that a new version of glibc now includes statx.
Any idea how to solve this issue in the gtk-gnutella build?
Thanks,
DR
|
|
From: Raphael M. <Rap...@po...> - 2018-10-07 07:21:22
|
Hello, It appears the OS/X file I had downloaded from the object store (file which is built by the Travis Continuous Integration) was corrupted. Or so have I been told on #gtk-gnutella. I have re-downloaded the file, which was different. Its SHA1 is now: 9fe726be2a0f15bd092eda18778b47d5ab5d48a1 gtk-gnutella-1.1.14.dmg I immediately deleted the previous file on Sourceforge, re-signed this binary and uploaded it along with its signature to Sourceforge. If you are on OS/X, please re-download that file and I appreciate if you could drop me a note to acknowledge whether this file works now or is still corrupted. Not having any OS/X platform myself means I am blind. ACK by e-mail or on #gtk-gnutella (irc.freenode.net) will be fine. Sorry about the trouble! Raphael |
|
From: Raphael M. <Rap...@po...> - 2018-10-05 01:23:54
|
Dear Gnutella fans,
I have just released version 1.1.14. Here are the changes:
# v 1.1.14 2018-10-04 [stable]
This release mostly improves the core routines and fixes a few important bugs.
Due to a bug in the usage of the RX buffers, we were not correctly parsing
data returned in "chunked" transfer-encoding by HTTP/1.1 servers. This
affected the UPnP logic.
The UPnP port unmapping done when the program shuts down was also not being
able to complete successfully because we were preventing the HTTP connection
from going on during the shutdown. Not critical because there is a lifetime
attached to all mappings, but always best to properly clean-up when leaving.
The algorithm used to pick random chunks to download was also revisited to
ensure a uniform selection within the whole file ranges that remain to be
fetched.
At startup time, the DHT code no longer expires keys when reloading data.
This could create crashes during the operation, with no other remedy than
to erase all the DHT database files manually to be able to recover!
The background task layer was also causing crashes (at exit time though)
because it was not recording whether it was running "user" code as opposed
to "kernel" code.
The SDBM code was also improved to allow concurrency and, in particular,
a "loose" iteration scheme which does not need to grab the database lock
during the whole iteration process. It is also possible to perform a
concurrent database rebuilding.
The thread runtime now has an improved deadlock detection engine, based
on a topological sort, that can definitely tell whether we are deadlocked.
When the deadlock is detected, we can also have more information about
the threads participating in that deadlock condition, to assist debugging.
On Windows, a bug in our mingw_dlerror() emulation caused it to always
fail once an error had been recorded, leading to un-decorated subsequent
stack traces, which really do not help on that platform!
There was also a concurrency bug in the processing of network queries.
Every time the library was rescanned, it could trigger a crash due to
a memory zone being declared private and was in fact shared between
threads. The crash occurred only when a query was received on the
Gnutella network whilst the library was rescanned.
The semi-reliable UDP layer TX side was revisited to maximize chances that
reliable messages get through completely.
The pattern matching code was revisited thoroughly. A new algorithm (2-Way
String Matching) now complements the Quick Search algorithm and an initial
benchmarking is done to compare our own matching routines with native libc
versions of strstr(), strlen(), strchr() and memchr(). The fastest routine
is then selected, to ensure optimal performances. There is also a unit-test
program ensuring proper semantics for the pattern search flags.
New Features:
- Added UDP scheduler message statistics by priority.
Improvements:
- [GTK2] Catch column resize events to persist widths quickly.
- Added "shutdown -x" to stop the program and continue session next time.
- Added --resume-session option to request explicit continuation.
- Improved pattern matching with new algorithm and runtime benchmarking.
- Persist current_peermode to restart in same mode after crash.
- Record compilation date and time for the crashlog.
- When running with no GUI, relax mem requirements to become ultra.
- Use minimum download chunk size to align requested download offsets.
- Added statistics for OOB hit notifications we process.
- Extensive improvements of the SDBM code to allow concurrency.
- Semi-reliable UDP TX layer now sends messages more aggressively.
- Reduce memory footprint of compiled patterns for short patterns.
Bug Fixes:
- No longer supply -lgthread-2.0 and -lresolv at link time.
- DHT: do not expire keys when reloading data at startup.
- Restored alphabetical listing of command options in the man page.
- The --use-poll argument was not mentioned in the manual page.
- UPnP: fixed XML logging.
- UPnP: was not correctly unmapping ports on servent shutdown.
- crash_time_internal(): protect against recursions in raw mode.
- file_info_retrieve(): must restore proper mtime for seeded files!
- filter_apply(): fixed suffix matching to allow whole match.
- http_data_ind(): could not process chunked data!
- iov_contiguous_size(): fixed destructive implementation.
- pslist_last_count(): fixed off-by-one error.
- recursive_scan_step_build_partial_table(): removed assertion.
- statx_opx(): use fabs() on double.
- word_vec_init(): zone cannot be private.
- zgc_subzone_defragment(): fixed improper assertion.
Under the Hood:
- Added hidden --no-build-version option.
- Added cstr_{b,f,l}cpy() routines to supplant g_strlcpy()
- Added strpcpy() which returns pointer to last copied trailing NUL.
- Added vmm_move() to move allocated VM regions to better places.
- Added G_FALL_THROUGH and fixed fall-through in switch cases.
- Added assertions in embedded lists for insertions / removals.
- Added new _mark_removed() and _link_mark_removed() for lists.
- Added is_ascii_ident() to check "\w" (word) in ASCII.
- Added ULONG_SWAP().
- Added op_roundup() and op_ptr_roundup() to round to upper aligned boundary.
- Added stats datapoint iterators and ability to remove outliers.
- Added G_FAST and G_NO_OPTIMIZE compilation directives.
- Added support for case-insensitive pattern matching.
- Added zone_info() to request zone allocation stats.
- Added p[s]list_shift_data() to remove head when NULL is valid data.
- Attempt relocation of hash tables arenas once in a while.
- Always capture and display the routine name in assertions.
- Disable parallel make execution in src/if.
- Fixed indentation for "if" and "else" leading to gcc 7.x warnings.
- Fixed logging fast assertion macros to allow just one string.
- Declare property choices[] array static and const!
- Optimize h_strnjoinv() with new strpcpy().
- Optimize memory for the gnet property init_list[].
- Optimized ctz64() to make it more obvious.
- Protect events and subscribers with magic tags.
- Removed http_buffer_t, completely obsoleted by pmsg_t.
- Show zalloc settings at startup and in "memory show options".
- Simplify code for read-lock upgrading and releasing.
- Strings now hold persistent "truncated" flags, for formatting.
- The watcher layer now auto-initializes.
- Use the Mersenne Twister as an additional random source.
- Use s_carp() instead of s_warning() for reporting "deep" important warnings.
- Use new vstrstr(), vstrlen(), vmemchr() and vstrchr() for optimized runtime.
- Windows: added ftruncate() emulation.
- Windows: fixed stat() and fstat(), with proper st_dev and st_ino fields.
- enamed hash_table_size() as hash_table_count() for consistency.
- When log messages are truncated, signal it visually with trailing "+++".
- VMM: use smarter core allocation under long-term strategy.
- anti_window_shift_hack(): hide normal output if not debugging.
- compat_longjmp(): record usage location and trace duplicate use.
- crash_invoke_inspector(): do not hardwire parent stdout / stderr.
- crash_restart(): always log the given message.
- crash_setcctime(): avoid using "time" as parameter name.
- crash_vmea_usage(): trace calling routine.
- entropy_seed(): also initialize random "previous entropy".
- fi_pick_chunk(): fixed selection of first chunk.
- fi_pick_chunk(): revisited random chunk selection algorithm.
- file_object_find(): loudly warn on file mismatch.
- get_iconv_charset_alias(): do not copy trailing ' ' in charset name.
- halloc_dump_stats_log(): was not logging realloc_via_xprealloc.
- hrealloc(): use vmm_move() and attempt to optimize VM space.
- log_handler(): emit stacktrace for glib, GTK or Pango warnings.
- mingw_dladdr(): use win32 DLP layer to check for new libraries.
- mingw_dlerror(): fixed to follow POSIX semantics.
- mingw_fix_stat(): trap ERROR_NOT_READY errors correctly.
- node_timer(): periodically try to move QRT arenas in VM space.
- parse.h: remove NON_NULL_PARAM() on function with assertions.
- rwlock_upgrade_from(): must only count read-locks from current thread.
- s_logv(): default log message max length raised to 3500 bytes.
- search_oob_pending_results(): randomly discard hits if too many.
- search_request_preprocess(): warn if TCP query contains a "QK".
- sequence_backward_iterator(): fixed case of one-way lists.
- stacktrace_pretty_filepath(): move to latest /src/.
- str_chr(): optimized to use vstrchr() if we can NUL-terminate.
- str_destroy(): ensure we do not call on a thread-private string.
- str_s2c(), str_2c(), str_dup(): handle already NUL-terminated strings.
- str_s2c(): ensure we do not call on a thread-private string.
- thread_suspend_others(): skip threads not marked as "valid".
- timestamp: be paranoid and protect against invalid time_t inputs.
- vmea_capacity(): changed semantics to report initial capacity.
- vmm_mmap_anonymous(): identify foreign regions more quickly.
- word_vec_make(): simplified code a bit.
- wrealloc(): if size does not change, attempt a wmove().
- xallocate(): be more aggressive when forcing VMM allocation.
- xmalloc: allocate via standalone VMM regions if possible.
- xmalloc: revisited plain VMM block allocation and freeing.
- xmalloc: use checksums to validate chunk headers.
- xreallocate(): ensure VMM space improves when reallocating.
- zcreate(): flag created zones as "user" ones.
- zgc(): only run for long-lived processes.
Enjoy!
Raphael
|
|
From: Victor B. C. <vic...@gm...> - 2018-04-16 14:07:33
|
I've tried to follow the README.Win32, but the first link to the GTK2.0 Bundle is dead so I installed GTK 2.24 with pre-build packages, when running ./build.sh the following error is displayed: Feature Summary (Version 1.1.13): ------------------------------------------------- GLib version : glib-2.x GUI front-end : GTK2 GnuTLS support : no NLS (Native Language Support) : yes Fast assertions : yes DBus support (experimental) : no Remote Shell Interface (deprecated): no ------------------------------------------------- ERROR: Cannot compile against GLib. Library or header files might be missing. ERROR: Cannot compile against Gtk+. Library or header files might be missing. As far as I'm aware of I've installed both GTK+ 2 and GLib. I was able to compile the source code in Ubuntu 14.04 following the Debian README. But I'm quite new to the MinGW environment so it is possible that it is something very basic taht fails. Any clue would be appreciated. <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Virus-free. www.avast.com <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> |
|
From: <ze...@te...> - 2018-01-25 23:44:53
|
Its UI becomes unusable after running it for a few days on the Windows 7 SP1 OS. |
|
From: Raphael M. <Rap...@po...> - 2017-10-27 17:43:12
|
Dear Gnutella fans, Release 1.1.13 has just been pushed out to Sourceforge. You can safely move to 1.1.11 to 1.1.13. Release 1.1.12 was an accident. :-) Here is the Changelog entry for 1.1.13 and 1.1.12: # v 1.1.13 2017-10-22 [stable] This release primarily addresses issues that were left-over in 1.1.12. Do not use that previous release, migrate from 1.1.11 to 1.1.13 directly! The main issue was that of Partial File Sharing. Numerous bugs, dating from 7 years or more, were lurking because my local configuration had switched PFS off for testing, and it had never been turned back on! In particular, completed files were not properly shared, it was not possible to upload their THEX since it was not recomputed, and the files were not properly indexed in the Query Routing Table due to bugs in the background task layer. In case of a crash, we now dump the value of all the Gnutella properties to be able to spot configurations that deviate from the norm. Too many bugs were reported and ignored because they could not be reproduced, often due to not having the same setup when attempting to debug! Another nasty bug was fixed: it was not possible to change the IP support configuration without causing an immediate crash. The reason is due to a change that was integrated in 1.1.12 to allow IPv6 UDP traffic from G2 nodes. The problem was that this created an extra client stack on top of the low-level UDP traffic scheduler and it was not properly cleaned-up when switching IP configurations, leading to an assertion failure! New Features: Improvements: - Append all Gnutella properties to the crashlog file. - At startup, do not needlessly request TTH if we have it cached already. - Optimized requests for library scan / QRP rebuild, avoiding multiple events. - Allow TTH computation for seeded files. - Obsolete and stale entries are now removed from the SHA1 cache. - [GTK] Added GUI events on more fileinfo changes. - [GTK] Show information about recomputed TTH for seeded files. - Prune unshared entries from SHA1 cache at startup. - Persist information about seeded files in the ASCII fileinfo database. - Remove unneeded libraries from the default GTK2 ldflags. Bug Fixes: - Was not able to properly seed completed files; fixed shared_file_path(). - Was not always updating QRP on the UP side after a library change. - Could have background tasks stuck after cancelling a multi-ref'ed one. - Dynamic querying timeout was not properly computed (made too small). - Changing from "IPv6 & IPv4" to "IPv4 only" mode caused a crash. - Restored ability for "shutdown -r" to work. Under the Hood: - Added prop_to_typed_string(). - Added s_where() to log a stacktrace on stderr only. - Added tt_slice_size() to compute slice length per leaf in the TTH. - New crash_dumper_add() to register crash dumper callbacks. - No panicing when thread cannot block but was actually suspended. - Was unduly offsetting stacktrace by one extra level. - bg_sched_sleep(): don't reduce runcount on exiting task! - bg_sched_timer(): added run count consistency check. - bg_sched_timer(): fixed logging of task's run time. - bg_task_cancel(): log task address as well, not just the task name. - bg_task_wakeup(): must clear user sleeping flag. - crash_restart_notify(): use smarter crash_exit(). - crash_try_reexec(): suspend other threads as a precaution. - deflate_flushed(): suppressed soft assertion. - dq_results_expired(): fixed improper timeout computation. - fi_free(): cut any pending reference by uploads! - fi_tigertree_check(): more verbose in case of errors. - file_info_moved(): must update fi->modified as well. - file_info_remove_source(): removed unused discard parameter. - file_info_retrieve(): also validate that DONE is consistent. - file_info_shared_sha1(): do not share bad files. - get_file_to_upload_from_urn(): factorized code. - huge_update_hashes(): enforce one sync of SHA1 cache every minute. - huge_verify_callback(): use shared_file_indexed(). - node_udp_disable(): was not disabling the G2 UDP IPv6 node. - parse_and_append_cache_entry(): discard obsolete / stale entries. - qrt_compressed(): fixed outdated comments. - qrt_diff_1(): was never considering change. - request_sha1(): don't request TTH if we have it cached. - shared_file_fileinfo_unref(): clear fileinfo pointer. - shared_file_from_fileinfo(): copy TTH atom as well, if any. - shared_file_is_shareable(): be stricter for partial files. - shared_file_path(): must process sf->fi correctly! - upload_file_present(): loudly warn when completed file changed on disk. - upload_file_present(): loudly warn when file not shareable. - verify_update(): loudly warn when "progress" callback stops processing. # v 1.1.12 2017-09-20 [stable] This release fixes a very critical bug that was only manifesting when Partial File Sharing was turned on, and which caused possible memory corruption (leading to a sure crash later) when enqueuing new files for downloading. New Features: - Throttle browsing requests to one per hour from a given IP. - Limit uploads to stalling hosts to 1, regardless of user settings. - [GTK2] Show proper average data speed on completed uploads. Improvements: - Added "WSHR" vendor code for WireShare. - Added "ENVY" vendor code for Envy. - Do not attempt costly operations after a crash / auto-restart. - Updated FAQ -Uploads and Sharing- - Use 64-bit variables for bandwidth computations. - Make sure early stalling is not always reported for the same IP. - Use even HTTP outgoing bandwidth as the last measure when stalling. Bug Fixes: - Allow IPv6 UDP traffic from G2 nodes. - Be sure to use destructive list iteration with tmalloc_free_magazine(). - Critical upload HTTP statuses are now fully sent. - Must give plain (untranslated) strings to send_upload_error(). - bg_task_finished(): now calls safer bg_task_dead(). - file_object_open_from(): also catch EROFS when opening file. - node_bye_v(): do not call node_remove_v() for G2 nodes. - vendor_code_get_name(): fixed validation of unknown code tokens. - verify_next_file(): fixed wrong argument order in log message. Under the Hood: - bfd_util: reworked mutex grabbing in an attempt to avoid deadlocks. - binary_hash(): disperse bits in initial hash value. - check_for_events(): optimize path if timeout is 0 or we collect events. - cq_event_called(): only zero variable holding event when asked! - cq_zero(): now always nullify the event, as the name suggests. - crash_setmain(): avoid spurious warnings with recent gcc. - english_strerror() and symbolic_errno() made thread-safe. - inputevt_timer(): factorized common code into new inputevt_handle(). - socket_udp_flush_queue(): do not process anything if we cannot devote time. - stack_sym_trylock(): avoid deadly recursions through stack lock dumping! - thread_sig_handle(): use atomic exchange operation to clear pending set. - u32_ptr_hash(): discard lower bits of the multiplication as well. - upload_timer(): clear the stall flag when it is over. - Added aging_record() to simplify code for plain keys. - Added cq_event() to acknowledge reception of events we do not track. - Added "inputevt_trace" property for tracing dispatched I/O callbacks. - Added english_strerror() to guarantee English messages. - Added thread_signal_has_pending() and thread_signal_process(). - Added "lock_sleep_trace" and "lock_contention_trace" properties. - AJE: changed pool #0 filling policy and reseeding checks. - Ensure misc_init() is called before using lookup tables. - Simplify is_ascii_*() by performing table lookup. - Thread runtime now allows a signal handler to run within another one. - Updated UHC list, fixed obsolete port numbers. - Use new cq_event() in thread callout events to avoid possible leaks. - Watchdog: revisited logic to do more under lock protection. Enjoy! Raphael |
|
From: Vishnu V. K. <vis...@gm...> - 2017-06-12 09:45:39
|
Hi, I want to setup a Gnutella network between friends on my LAN. I did try setting the IP to my ip on the LAN, but I still can't manage to see anyone else on the network. Can someone help me out? What exactly do I have to do? Thanks! Vishnu -- OpenPGP fingerprint: 5015 1D4C 9BDF 9062 A9E1 62CB 5B1F4BEE7EED7131 |
|
From: Kristoff M. - M. S. <kri...@gm...> - 2016-12-18 22:32:52
|
I love that the program is agnostic to operating system and is evolving the gNutella protocol I think for accelerated adoption I would include an Android version to cater to the growing community of people who do not use a computer anymore. A mobile app would greatly increase the user base and being that it runs well on Linux creating an Android App would not be a far leap. I remember the days when I was running massive gNutella networks on a Pentium 800 so I am sure current cellphones could easily handle large gNutella networks created in the wild. Keep up the amazing work :) Ciao, Kristoff Morgan True Zen is just eating when you are hungry and sleeping when you are tired. - Alan Watts a Zen scholar |
|
From: David R. <da...@da...> - 2016-11-15 10:11:07
|
Sorry I wasn't able to get to this while it was still in the devel branch. But I was able to successfully build the new 1.1.11 release. Will try to run it when I have a moment. DR On 10/28/2016 03:35 AM, Raphael Manfredi wrote: > Quoting David Rosenstrauch <da...@da...> from ml.softs.gtk-gnutella.users: > :Hi. I'm the maintainer for the ArchLinux AUR package for gtk-gnutella. > :I'm trying to upgrade the package to v1.1.10, but getting a compile > :error. (See below.) > > David, I have pushed a fix on the "devel" branch on github. Maybe you can > grab that branch locally and try to build it on ArchLinux to make sure > it now works correctly? > > Thanks, > Raphael |
|
From: Raphael M. <Rap...@po...> - 2016-11-11 17:17:22
|
Dear Gnutella fans,
Release 1.1.11 has just been pushed out to Sourceforge.
Here is the Changelog entry:
# v 1.1.11 2016-11-11 [stable]
This release fixes a portability issue on FreeBSD and introduces a main core
feature and minor new GUI features.
The main feature is the additiona of "equivalence classes" defining word
aliases, used when sharing files and querying for them.
Currently, the only supported equivalence class deals with naming of series.
Indeed, there are various conventions that can be used to represent these,
and it makes searching inefficient: either one will lookup for all the
possible variations, or one will miss some of the files.
For instance, episode #8 of an hypothetical season #4 can be represented by
any of these strings:
{ "s04e08", "4x08", "408", "04x08", "0408" }
Thanks to the equivalence class, a file bearing one of these strings can
be searched for (and located successfully) by using any of the other strings.
Of course, since this is a local processing, the more servents out there are
deployed with this aliasing support, the more efficient the feature becomes!
There are also new GUI features: the "Clear completed" button from the Download
pane is now doing someething useful, and the current page of different notebooks
is remembered across sessions. The only one which is not restored on normal
resuming is the main notebook tab. It will be restored if GTKG is restarted
after a crash, but otherwise the application will always start up within the
Network tab.
In the Uploads tab, upload requests coming from a G2 servent will not be
flagged with a "[G2]" tab right after the IP address. This helps seeing how
the Gnutella and G2 network unification is evolving.
New Features:
- Flag uploads coming from G2 servents with a "[G2]" tag after IP address.
- Added alias support in sharing/querying.
- Made the "Clear completed" button in Downloads/Tools do something useful.
- Moved "Clear completed" button to the bottom right of the download pane.
- Remember fileinfo notebook tab number across sessions.
- Remember main notebook tab number across sessions, only restored after crash.
- Remember Gnet stats notebook tab number across sessions.
- Remember download info / tools notebook tab number across sessions.
Improvements:
- Added --cleanup to explicitly request for final memory cleanup sequence.
- Updated Italian translation.
- Updated GeoIP databases.
Bug Fixes:
- Leaf nodes could end-up being connected to more ultrapeers than configured.
- Fixed monitoring of alien threads, important when GTK file selector is used.
Under the Hood:
- Debian compatibility level changed from 4 to 5.
- Make sure we can deal with older pkg-config, which needs leading arguments.
- Use "embedded" symbols for xmalloc(), xfree() and friends.
- Added "query_trace" property to trace all queries which were searched.
- Moved halloc-based string functions like h_strdup() to dedicated hstrfn.c.
- Expanded search mask to 64 bits to be able to hold all digits and letters.
- Count aliased queries and hits from aliases.
- Pre-compute shared file media type at record creation time.
- Pass query limits to st_search() to avoid needless pattern matching.
- Added h_strsplit() and h_strsplit_set().
- Added strvec_append_with() to expand vector by appending another vector.
- crash_assert_logv(): don't call crash_mode() if assert failure was recorded.
- entropy_clock_time(): mix the entropy nonce through hashing for more diffusion.
- node_can_accept_connection(): only send headers back when handshaking.
- qrp_add_file(): optimized to avoid computing word length if not required.
- thread_stack_check_overflow(): ignore virtual addresses outside stack range.
- vmm_init_once(): ensure any shared library for stacktrace unwinding is loaded.
Enjoy!
Raphael
|