| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1283,9 +1283,9 @@ static void update_notify(ckpool_t *ckp, const char *cmd) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						json_get_int(&id, val, "proxy"); | 
					 | 
					 | 
					 | 
						json_get_int(&id, val, "proxy"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						json_get_int(&subid, val, "subproxy"); | 
					 | 
					 | 
					 | 
						json_get_int(&subid, val, "subproxy"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						proxy = subproxy_by_id(sdata, id, subid); | 
					 | 
					 | 
					 | 
						proxy = existing_subproxy(sdata, id, subid); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (unlikely(!proxy->subscribed)) { | 
					 | 
					 | 
					 | 
						if (unlikely(!proxy || !proxy->subscribed)) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							LOGNOTICE("No valid proxy %d:%d subscription to update notify yet", id, subid); | 
					 | 
					 | 
					 | 
							LOGINFO("No valid proxy %d:%d subscription to update notify yet", id, subid); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							goto out; | 
					 | 
					 | 
					 | 
							goto out; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (!subid) | 
					 | 
					 | 
					 | 
						if (!subid) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1397,7 +1397,11 @@ static void update_diff(ckpool_t *ckp, const char *cmd) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							LOGNOTICE("Got updated diff for proxy %d", id); | 
					 | 
					 | 
					 | 
							LOGNOTICE("Got updated diff for proxy %d", id); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						else | 
					 | 
					 | 
					 | 
						else | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							LOGINFO("Got updated diff for proxy %d:%d", id, subid); | 
					 | 
					 | 
					 | 
							LOGINFO("Got updated diff for proxy %d:%d", id, subid); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						proxy = subproxy_by_id(sdata, id, subid); | 
					 | 
					 | 
					 | 
						proxy = existing_subproxy(sdata, id, subid); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						if (!proxy) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							LOGINFO("No existing subproxy %d:%d to update diff", id, subid); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							return; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						/* We only really care about integer diffs so clamp the lower limit to
 | 
					 | 
					 | 
					 | 
						/* We only really care about integer diffs so clamp the lower limit to
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * 1 or it will round down to zero. */ | 
					 | 
					 | 
					 | 
						 * 1 or it will round down to zero. */ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -2043,7 +2047,9 @@ static void dead_proxy(sdata_t *sdata, const char *buf) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						proxy_t *proxy; | 
					 | 
					 | 
					 | 
						proxy_t *proxy; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						sscanf(buf, "deadproxy=%d:%d", &id, &subid); | 
					 | 
					 | 
					 | 
						sscanf(buf, "deadproxy=%d:%d", &id, &subid); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						proxy = subproxy_by_id(sdata, id, subid); | 
					 | 
					 | 
					 | 
						proxy = existing_subproxy(sdata, id, subid); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						if (!proxy) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							return; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						proxy->dead = true; | 
					 | 
					 | 
					 | 
						proxy->dead = true; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						LOGNOTICE("Stratifier dropping clients from proxy %d:%d", id, subid); | 
					 | 
					 | 
					 | 
						LOGNOTICE("Stratifier dropping clients from proxy %d:%d", id, subid); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |