DC++ 0.76x improvements in detail – Part Three: Behind the Scenes

As you may know, the structure of the source code of DC++ is divided into many parts. Basically it can be grouped into three major parts, as the GUI, the DCPP library and additional open source libraries. We covered the most important changes in the GUI part in the first and second post of this series. We won’t go into details about what’s new with the additional libraries since they are (mostly) developed by others.

So let’s talk about what’s happened around the DCPP library (or DClib) recently. DClib is the heart of  all  DC clients which inherit code from DC++. This means that the changes we discuss in this post are not unique to DC++: all the DC clients shown in the link above will incorporate most of the improvements as well as the compatiblility changes sooner or later, as they release their new versions.

The new version fixes two long standing and annoying problems with hashing files. As we know, if you add files to an already shared folder and want to hash them immediately you select Refresh filelist. However, in most cases after a simple refresh command the new files wasn’t added to your own filelist so you needed refresh twice. This problem is hopefully gone now, along with another annoyance when you wanted to restart DC++ while a large file has been hashed. In the latter case the the thread busy with hashing was not closed immediately with the rest of the application, keeping the user from restarting DC++ sometimes even for several minutes.

A memory leak happened in (automatic and manual) refreshing of the filelist is also fixed. It is an important fix to those who are with large shares and running the client all day. These users often experienced that after a few days of uptime all free memory was eaten out by DC++.

From now you must experience much less UAC warnings under Vista or Windows 7, since all keys are written to per user sections of the Windows Registry.

An identifying problem of users in ADC hubs has been solved which could happen when two users both were logged on to (two or more) same hubs. Connection requests, searches and private messages could went through other hub than selected/used which could cause privacy problems.

User commands support for ADC is greatly improved and modified according the current protocol standards.

The code for parsing XML files was completly rewritten to meet the current XML standards and to avoid various attacks trying to distract the normal operation of the program by providing malicious input files. As an effect of this change, all not fully XML compatible hublists will be rejected by the new DC clients. Fresh hublists provided by major hublist servers do not have this problem but some small static hublist files or old / cached hublists may fail to open from now. This applies to all old non-XML format hublists (their name usually contain .config) as well, because upon this change, support of them is also removed.

As you already informed before this version of the lib also drops compatibility with clients using ADC version 0.10 and earlier.

The list of changes is now over, but there’s more: a lot of small things you can be informed from the changelog. We hope you’ll like all the advantages of this year old development… and beware of another milestone improvement coming soon :)

About emtee
I started to use DC using DC++ in 2003 when its version number was around 0.261. Since then I've been amazed by the DC network: a professional but still easy-to-use way of P2P file sharing. I was invited to the DC++ development team in 2006 where - in the beginning - I had been doing user support and testing only. A few years later I started to add small contributions to the DC++ code as well so these days I do mostly bug fixes, testing and improvements as well as I take part of the improvement of the documentation for both DC++ and ADCH++. I translated the whole DC++ help file to my native language (Hungarian) and currently maintaining the whole HU locale stuff for DC++. My ultimate goal is to help making the DC network as more user friendly as possible.

3 Responses to DC++ 0.76x improvements in detail – Part Three: Behind the Scenes

  1. gelite2k says:

    What happened to the old “get filelist” where you came into that folder you clicked? I’d still use Odc if it was accepted by the hubs that I wisit. Odc had an amazing feature with the “go to file” AND “get filelist”. The colours in this new update are ugly as hell, and with the same colours for up/down its hard know what to click. The old scheme was way better. By the way, where do I turn off “check for new version at startup”?

  2. canraps says:

    Hmmmm This user has disabled segmented downloading and here is the result of his downloading on my pc
    Ive able to upload 1.12 gigs in 22 minutes which should be a new world record for my Country

    What can he do to fix this ? What can you do so that it never happens ?

  3. emtee says:

    This isn’t a place to answer support questions but actually it was a normal segmented upload. There’s a bug in the Finished Upload window in every new DC client, so in some cases one uploaded file shows many times in the list. So there’s nothing wrong with this and if you’d have checked the total uploads value in the main statusbar it should have shown a number around 95Gb.
    Next time please ask your question in the support forum of your client. Thanks.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: