| 
					
				 | 
			
			
				@@ -984,6 +984,18 @@ policies_parse_exit_policy_internal(config_line_t *cfg, smartlist_t **dest, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** Parse exit policy in <b>cfg</b> into <b>dest</b> smartlist. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Add entry that rejects all IPv6 destinations unless 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * <b>EXIT_POLICY_IPV6_ENABLED</b> bit is set in <b>options</b> bitmask. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * If <b>EXIT_POLICY_REJECT_PRIVATE</b> bit is set in <b>options</b>, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * do add entry that rejects all destinations in private subnetwork 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Tor is running in. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Respectively, if <b>EXIT_POLICY_ADD_DEFAULT</b> bit is set, add 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * default exit policy entries to <b>result</b> smartlist. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 policies_parse_exit_policy(config_line_t *cfg, smartlist_t **dest, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            exit_policy_parser_cfg_t options, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -999,6 +1011,18 @@ policies_parse_exit_policy(config_line_t *cfg, smartlist_t **dest, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                              add_default); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** Parse <b>ExitPolicy</b> member of <b>or_options</b> into <b>result</b> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * smartlist. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * If <b>or_options->IPv6Exit</b> is false, add an entry that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * rejects all IPv6 destinations. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * If <b>or_options->ExitPolicyRejectPrivate</b> is true, add entry that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * rejects all destinations in the private subnetwork of machine Tor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * instance is running in. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * If <b>or_options->BridgeRelay</b> is false, add entries of default 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Tor exit policy into <b>result</b> smartlist. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 policies_parse_exit_policy_from_options(const or_options_t *or_options, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         uint32_t local_address, 
			 |