SMT

Member
  • Content count

    70
  • Joined

  • Last visited

Posts posted by SMT


  1. sometimes i get the following situation: file download progress is 100%, but file not moved to downloaded directory from temporary directory. tth of download file is correct, file not corrupted. so i manually deleting TTH and dctemp from filename and moving file to needed place

    when i run debug build of apex, it's terminates with assertion dcassert(source->isSet(QueueItem::Source::FLAG_PARTIAL)); failed in QueueManager::getDownload()

    may be this will help


  2. project homepage is http://sourceforge.net/projects/apexdcspeedmod/

    here is a version history:

    mod-s1-s4:

    based on ApexDC 0.2.2

    favorite users page extended, added 'ignore private messages from user',

    upload mode for user:

    - NORMAL - as without modification

    - BANNED - user always gets 'no slots available'

    - SUPERUSER - total upload speed limit not applied to this user

    - 2K, 3K, 5K, 8K, 12K, 16K, 24K, 32K, 64K - limit upload speed for this user

    mod-s5:

    increased max count of segments (from 10 to 200)

    should be set manually in 'settings'

    mod-s6:

    based on ApexDC 0.3.0

    mod-s7:

    sending same message to all selected users, for ex. "hey, give me slot plz"

    works from search page and tranfers view. select users and choose

    'send private message'

    mod-s7.1:

    - exceptionsinfo.txt not overwritten by next crash report, appending

    - PDB-file available for downloading. if you want to help developing

    my mod of ApexDC, plese download PDB and unpack archive to program directory

    - exceptionsinfo.txt created even without PDB-file, it contains registers dump

    - fixed bug, when all downloads freeze in 'connecting' state

    (when in active 'direct connection' mode)

    mod-s8:

    - fixed bug - cancel didn't work on mass sending private messages. now it works.

    to just open all private windows to all selected users without sending anything,

    type empty message

    - added 'DNS' columns to hub users list, tranfers list and search page.

    by DNS, it's easy to find out user's internet provider and probably location.

    there are 3 modes for resolving ip's into domain names:

    0 - disabled

    1 - resolve immediately, client may slow down (though cache used)

    2 - put ips in queue and resolve in background. when this ip used again, it's

    domain name displayed immediately

    unfortunately, mode not configurable in GUI. edit Settings/DCPlusPlus.xml like this:

    <DCPlusPlus>

    <Settings>

    <NsLookupMode type="int">2</NsLookupMode>

    <NsLookupDelay type="int">100</NsLookupDelay>

    </Settings>

    </DCPlusPlus>

    NsLookupDelay is minimal delay time (in ms) between DNS queries

    if nothing specified, default mode is 2 with delay=100 ms

    (note for developers: DNS feature marked in sources with !SMT!-IP tag)


  3. Get ip button doesn't even use Client::getLocalIp(), unless it has to (which shouldn't happen too often)

    it fills 'external WAN/IP' field, that returned by Client::getLocalIp()

    just try - fill 'external WAN/IP' with some garbage, like 64.233.187.99, set direct connection (so, this field should not be used) and try to download something

    i've recently recieved one more complain about this issue, so it's very actual


  4. Cannot seem to be able to reproduce...

    well.. suppose you are always using 'direct connection' and get ip on DHCP (ADSL)

    goto 'connection settings', press 'Get IP Address'

    reconnect to provider again, so you'll get another IP

    that's all, apex can't download anything

    the problem is in Client::getLocalIp()

    function returns 'external ip' even if 'direct connection' selected. i think, 'external ip' should be used only in 'firewall with manual port forwarding' mode

    so curious users, who tested 'get ip' button suffer for their curiosity :-)


  5. it will be very useful

    Why do you need to get the IP of every single user?
    i want to know nickname in DC, when people email me, chat in icq or disclosure their ip's somehow else. another reason is to warn users, infected with inet-worms, annoying me with firewall alerts. also blame those, who uses nukes and etc

    possible implementaion is to send $RevConnectToMe to all active users and $ConnectToMe to all passive, then collect ips from answers (not actually connecting in first case and closing port in second)


  6. howto see bug:

    open favorite users page - each user have context menu with 'grant slot' submenu

    close favorite users page

    open favorite users page again - submenu disappeared

    explanation is easy - shared menu linked into frame's menu and when frame's menu

    destroyed, shared menu is also destroyed

    i'n not sure, but possibly same bug can be in other frames

    quick solution is to unlink all submenus before deleting frame, but if menu

    contains private (not shared) submenus this can cause resource leak

    ...
    
    LRESULT UsersFrame::onClose(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) {
    
    		if(!closed) {
    
    				FavoriteManager::getInstance()->removeListener(this);
    
    				SettingsManager::getInstance()->removeListener(this);
    
    [b]				while (usersMenu.GetMenuItemCount()) usersMenu.RemoveMenu(0, MF_BYPOSITION);[/b]
    
    				closed = true;
    
    				WinUtil::setButtonPressed(IDC_FAVUSERS, false);
    
    ...


  7. BTW, SMT, do you have some free time, do you enjoy Apex and coding? If yes, PM Crise or Lee. :)

    currently i'm working on Apex special edition for our region network. it is avalaible on hub dc.san.ru (88.147.128.8) under TTHs

    ApexDC-mod-s3.exe.rar TFL2QTR5HYR54WVZ3A6HHMCD7NV4NNXRYRKFSLQ

    ApexDC-mod-s4.exe.rar WMSZPDGKRAO26P4GMLBVD4Y24QY6OLMPAZ35K6Y

    ApexDC-mod-s5.exe.rar Z7YTUC66KLY3SZ6Z3HLS6HGNXX2XJB2H3KQ2TLA

    ApexDC-mod-s3-src.rar TTGYTDTDSQH6SCBPDSY36HF3FQSK3YKLHWMMYAQ

    ApexDC-mod-s4-src.rar DWCCYYAHYPQH2UNFJMYBOSLOBGIYXY2SWRMWWDY

    unfortunately, only 5-10% of network users accessible from internet

    so i'm waiting registering page http://sourceforge.net/projects/apexdcspeedmod/

    if you understand russian, here is description and discussions: http://portal.san.ru/forums/index.php?show...c=2499&st=0


  8. sometimes, when trying to download last segment of file, client crashes on this piece of code inside FileChunksInfo.cpp:

    for(u_int16_t i = blockIMWH; i-blockIMWH < (u_int16_t)(minChunkSize/tthBlockSize); i++) {
    
    						if(blockAversion[i] == blockAversion[(size_t)blockIMWH] && isInPartial(i,partialInfo)) {
    the problem is reading std::vector at index, larger then vector size. i've solved this with the following modification:
    for(u_int16_t i = blockIMWH; i < blockAversion.size() && i-blockIMWH < (u_int16_t)(minChunkSize/tthBlockSize); i++) {
    
    						if(blockAversion[i] == blockAversion[(size_t)blockIMWH] && isInPartial(i,partialInfo)) {