|Filesharing: Amigift 2.0 (Prerelease)|
Amigift ist ein P2P-Filesharingsystem das auf dem aus der Unix-Welt portierten giFT-Dämon (Gnutella, FastTrack, OpenFT) basiert und über eine MUI-basierte graphische Benutzeroberfläche namens "GiftMUI" verfügt. Änderungen seit der letzten Version:
- Fixed a bug on the Online Updater which fail to update some files
due a CRC Checksum error reported by analizing not the correct
chunk of data...
- To reload the daemon from giFTMui a timeout-Timer for daemon
shutdown chekout is created, if such timer cannot be created for
any reason a 'failed assertion' causes the interface to exit
completely, This has been changed to avoid the assert()'ion
check and instead trying to bind the daemon port should let us know
as well when daemon isn't running to be reloaded. Also, such
timeout-Timer calls a dispatcher on intervals of 300000 micro
seconds, that value has been changed to 700K as well
- On a failed assertion situation, the chat tryes to re-connect
itself to the server, due a common method from the chat custom
class is invoked, this will no longer happen if such method is
invoked disposing the class.
- Recent Ares versions don't report real stats, it's not a bug, at
least not on our part. alas, giftd doesn't allow plugins *not* to
provide stats, so we just return what the supernode tells us if
it's an old supernode then it'll work, if it's not, it won't ...
- Stats window will no longer be activated while it is opened/updated
- Added new options to the giFTMui's MUI Settings, you can now
load the settings from disk, save them to disk, restore current
settings to the last saved, and restore and/or reset the settings
to the defaults.
- Fixed a parser error which has made the Gnutella HTTP requests to
be incomplete/truncated causing the supernodes to ignore us and
hence there was the problem with this plugin not being able to
connect on the latest build.
- Unfortunatelly there is somewhere some other issue which makes
the plugin to take long time to reconnect on shutdown connections..
we should assume the problem comes from the "complicated" input
and event notifications mechanism, which seems or probably isnt
properly ported on the new shared libraries fashion, any help ?...
- optimized/improved a bit gift.library's logging facility, while
using GLOB_STDERR and GLOB_STDOUT we'll check if pr_COS and
pr_CES (which fail back to pr_COS when isnt available) aren't
the same and hence avoid logging to both filehandlers.
Also giftd.log filesize was checked on each write, making a too
unnecessary/possible overload... now only every 1000 writes will
be checked, which should be ok as the filesize limit is 10MB ...
- How FastTrack loads his banlist file and Gnutella loads his
hostiles.txt file has been improved. Previously it was just
Open()'ing the file and reading line-by-line, to read each line
gift.library/file_read_line() was used, which function does
"free-old-buffer > read-line-from-file > dup-line-to-memory",
NOW we just "slurp" the whole file into memory and process it
later internally in one step.
PROS: should be working faster
CONS: it needs the filesize's memory at once (about ~500KB)
- The maximun number of connections which OpenFT guess at startup
has been down to 30 (it was 255) ... you can always override
that value by using the appropiate option (max_active)
- How to request network statistics and how to launch the inspector
has been changed... there may be now a bit more overload from
the GUI but it will no longer require two standalone-signals on
connection for the timers we used...
- Searches by realm should be now working fine for all networks.
- VerifyIncoming tool must be performed while the daemon isnt
running, and giFTMui do not checked for that, Fixed.
- Optimized how data is received from the daemon... For information,
previously we was receiving line-by-line and then processed each
line/packet, that data was received reading byte-by-byte until a
CRLF is found, furthermore we checked if that was a multi-line
string (comming from a "malformed" META data though), which slowed
even more the process... NOW we just receive all data available
at once, and the data received are procesed internally without
congesting the socket...
- There may be some situations where a Inspector could not work
properly or fail without notice, those are RARE cases though!,
What we have noticed is a little problem on the inspector process
while a method is pushed to select the next entry on the downloads
list, if in the process the user de-select the active entry or
select an entry from the uploads list (which action automatically
disables any active entry on the downloads list) once the pushed
method take action on the next app loop the inspector will fail
to continue as it was unable to get the information needed (from
the active entry on the list) to launch a locator, at this step
the inspector stopped working internally, but to the user eyes it
is running (but doing nothing), and thats the only thing we have
found buggy on the inspector procedure (at least for now), now if
that happens the inspector will be properly fully aborted and in
addition the user will be warned of the issue.
- Ghosting of the Stop button when it is clicked didn't worked
properly to be re-enabled while using multi-lists, Fixed.
- Searches directed to the Ares network (by using giFTMui's protocol
checkmark) and Locators launched for this same network wasn't
working properly due a very stupid bug... the protocol name to be
used on a search request and the check for online plugin state
is fetched/detected given the network's HASH type, Ares uses
"SHA1" and Gnutella "SHA", and on both functions we checked for
the three first bytes of the Gnutella hash before than the Ares
hash, making request directed to the Ares network interpreted
like if what we wanted is about the Gnutella netowrk, FIXED!
- Sometimes a Locator cannot stablish the connection to the daemon
due the connect event isn't notifyed... fixed...(hopefully!, and
hopefully without side effects..)
- Fixed some string mismatch issues at giFTMui.cd, where updated
strings at the build-in laungage wasn't at his time adapted as
well on the catalog descriptor. Most important are string
numbers #447, #417, #407, #380, #323, #321 where a formatting
was changed (%s to %ld or viceversa), also strings #595, #593,
#585, #593, #553, #166, #145, #142, #54 and #5 was minimal
corrected for typos.
- Some users reported a issue about the OpenFT nodes file ends
with 0 bytes of size and making on the next run unable to connect
to the network, with the need of the user manually replacing the
file, well, first is needed to mention that this happens due OpenFT
do not stores nodes where we was unable to connect, but theres some
factors to consider which that plugin leave out...(ie, dynamic IPs,
not a 24/7 node, etc), also I should mention that Im in doubt if
theres a bug somewhere since that behaviour do not happens from the
first porting of the plugin, or it wasn't reported on the very
firsts builds IIRC, so there will be two workarround for now to
that issue, 1) the nodes file size will be checked and deleted if
his size is 0, forcing the plugin to copy the nodes from the data
dir (amigift:daemon/data/openft/). 2) the plugin will check for the
enviroment variable DONT_PURGE_OPENFT_NODES before updating the
nodes to disk, if such variable is found it will NOT try to leave
out nodes where we was unable to connect.
NOTE this way of "fixing" that issue is TOO lame and hence
subject to change...
- Added a new giftd command-line option: TASKPRI/N
Obviously is behaviour is to change the daemon task priority,
giFTMui has a new slider object to change it as well.
giFTMui has been translated to Italian language, Thanks a lot
to Samir Hawamdeh for his work.
- German and Swedish catalogs contains some issues and has been
renamed on the packages until they are fixed...
- bzlib.library can be now loaded from amigift:libs/ as well
- Starting a new search we will check now if any/some of the networks
are online, warning the user if there is no online network and not
proceding with the search then.
- Default Ares port for giFTMui settings was missing, Fixed.
- Requesters Timeout handling and downcheck was enabled by default
where the appropiate is to have both disabled at a first run.
- some very little internal fixes...
[Meldung: 31. Jul. 2006, 15:53] [Kommentare: 0]
[Per E-Mail versenden] [Druck-Version] [ASCII-Version]