I wonder why nobody uses the md5 hash function when spreading files over IRC. Sometimes people share files with the same name, but different hashes and if an uploader disappears, one resumes the download from a different xdcc server, and in the end the file is broken! I've already lost at least 100GB of data due to this negligence! Most people use IROffer for uploads, which doesn't seem to even support md5, or may be it does, but the xdcc server ads don't display it and thus, you never know whether you are resuming the same file as before. Same is true for xdcc scripts written for various Mirc versions, nobody adds CRC/MD5 functions!
Recently I re-wrote an xdcc script for mirc, adding md5, which is calculated, when a pack is added to the server, the calculated hash then written to an ini file and displayed every time the xdcc server sends an ad to the channel. looks like this:
#1 00x [699M] file1.zip MD5 Hash: d8f5d72ed787f307943d99e65429c4f9
#2 00x [51.6M] file2.zip MD5 Hash: 529bb65a1062d3df01945565bca22ccc
this way the files are identifiable. Besides, it's really easy to add this function, as illustrated by the following example, where the md5 function is inserted into already existing code of an xdcc script:
%xdcc.set.tmp2 = $$dir="Select a file to add:"
; adding md5 hash calculation:
var %md5hash = $md5(%xdcc.set.tmp2,2)
%xdcc.set.tmp2 = $instok(%xdcc.set.tmp2,%md5hash,4,134)
and then the calculated hash is added to the xdcc server ini file, next to the pack harddisk path, description, size, # of uploads etc. When the xdcc server sends the ad to the channel, it retrieves various pack properties (incl. the md5 hash) from the ini file, using the $gettok function. This way mirc doesn't have to recalculate the md5 hash every time it displays the ad, only once, when the file is added, otherwise Mirc would die every couple of minutes, because md5 calculation of huge files takes some time and requires a large portion of the cpu resources.
I hope those people that write xdcc scripts will read this and also add md5 calculation to their scripts. Really tired of broken downloaded files