diff -Naur dctc-0.86.6-orig/src/keyboard_master.c dctc-0.85.6/src/keyboard_master.c --- dctc-0.86.6-orig/src/keyboard_master.c 2003-10-01 19:16:35.000000000 +0200 +++ dctc-0.85.6/src/keyboard_master.c 2003-11-02 15:36:43.000000000 +0100 @@ -238,12 +238,15 @@ { /* we are behind a firewall */ /* so, the remote side wont be able to contact us */ /* let's ask a reverse connection */ - if(!user_in_list(hub_user_list,fields[2])) /* if the user is not here and we are behind a firewall, we cannot do anything */ - goto abrt; - - LOCK_READ(user_info); - send_dc_line(sck,"$RevConnectToMe",nickname,fields[2],NULL); - UNLOCK_READ(user_info); + if(user_in_list(hub_user_list,fields[2])) { + LOCK_READ(user_info); + send_dc_line(sck,"$RevConnectToMe",nickname,fields[2],NULL); + UNLOCK_READ(user_info); + } else { + /* try a conditionnal download on other client */ + send_dc_line_to_dctc_link(fields[2],sck,"$RevConnectToMe",nickname,fields[2],NULL); + } + disp_msg(DEBUG_MSG,"","/XDL in $RevConnectToMe",NULL); } else