summaryrefslogtreecommitdiff
blob: 65775e2acf381bf0d4477977faa2c8a945a6eab8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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