| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -2135,8 +2135,11 @@ static proxy_t *__generate_proxy(sdata_t *sdata, const int id) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						HASH_ADD(sh, proxy->subproxies, subid, sizeof(int), proxy); | 
					 | 
					 | 
					 | 
						HASH_ADD(sh, proxy->subproxies, subid, sizeof(int), proxy); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						proxy->subproxy_count++; | 
					 | 
					 | 
					 | 
						proxy->subproxy_count++; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						HASH_ADD_INT(sdata->proxies, id, proxy); | 
					 | 
					 | 
					 | 
						HASH_ADD_INT(sdata->proxies, id, proxy); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						/* Set the new proxy priority to its id */ | 
					 | 
					 | 
					 | 
						/* Set the initial priority to impossibly high initially as the userid
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						__set_proxy_prio(sdata, proxy, id); | 
					 | 
					 | 
					 | 
						 * has yet to be inherited and the priority should be set only after | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						 * all the proxy details are finalised. */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						proxy->priority = 0x00FFFFFFFFFFFFFF; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						HASH_SORT(sdata->proxies, prio_sort); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						sdata->proxy_count++; | 
					 | 
					 | 
					 | 
						sdata->proxy_count++; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						return proxy; | 
					 | 
					 | 
					 | 
						return proxy; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -2505,7 +2508,7 @@ static void update_subscribe(ckpool_t *ckp, const char *cmd) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							dead_proxyid(sdata, id, subid, true, false); | 
					 | 
					 | 
					 | 
							dead_proxyid(sdata, id, subid, true, false); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							proxy = old; | 
					 | 
					 | 
					 | 
							proxy = old; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							proxy->dead = false; | 
					 | 
					 | 
					 | 
							proxy->dead = false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} else | 
					 | 
					 | 
					 | 
						} else /* This is where all new proxies are created */ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							proxy = subproxy_by_id(sdata, id, subid); | 
					 | 
					 | 
					 | 
							proxy = subproxy_by_id(sdata, id, subid); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						proxy->global = global; | 
					 | 
					 | 
					 | 
						proxy->global = global; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						proxy->userid = userid; | 
					 | 
					 | 
					 | 
						proxy->userid = userid; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -2555,6 +2558,12 @@ static void update_subscribe(ckpool_t *ckp, const char *cmd) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								   proxy->enonce2varlen, ckp->nonce2length, id, subid); | 
					 | 
					 | 
					 | 
								   proxy->enonce2varlen, ckp->nonce2length, id, subid); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						json_decref(val); | 
					 | 
					 | 
					 | 
						json_decref(val); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						/* Set the priority on a new proxy now that we have all the fields
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						 * filled in to push it to its correct priority position in the | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						 * hashlist. */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						if (!old) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							set_proxy_prio(sdata, proxy, id); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						check_proxy(sdata, proxy); | 
					 | 
					 | 
					 | 
						check_proxy(sdata, proxy); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |