@ -80,18 +80,13 @@
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_PAYLOAD           BIT_U16(0) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_PACKET            BIT_U16(1) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_PAYLOAD_BASE64    BIT_U16(2) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_HTTP              BIT_U16(3) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_TLS               BIT_U16(4) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_SSH               BIT_U16(5) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_SMTP              BIT_U16(6) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_TAGGED_PACKETS    BIT_U16(7) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_DNP3              BIT_U16(8) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_APP_LAYER         BIT_U16(9) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_FLOW              BIT_U16(10) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_HTTP_BODY         BIT_U16(11) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_HTTP_BODY_BASE64  BIT_U16(12) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_METADATA_ALL  (LOG_JSON_APP_LAYER|LOG_JSON_HTTP|LOG_JSON_TLS|LOG_JSON_SSH|LOG_JSON_SMTP|LOG_JSON_DNP3|LOG_JSON_FLOW) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_TAGGED_PACKETS    BIT_U16(3) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_APP_LAYER         BIT_U16(4) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_FLOW              BIT_U16(5) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_HTTP_BODY         BIT_U16(6) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_HTTP_BODY_BASE64  BIT_U16(7) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define LOG_JSON_METADATA (LOG_JSON_APP_LAYER | LOG_JSON_FLOW) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# define JSON_STREAM_BUFFER_SIZE 4096 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -375,66 +370,48 @@ static int AlertJson(ThreadVars *tv, JsonAlertLogThread *aft, const Packet *p)
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            AlertJsonTunnel ( p ,  js ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        if  ( json_output_ctx - > flags  &  LOG_JSON_HTTP )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( p - > flow  ! =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                uint16_t  proto  =  FlowGetAppProtocol ( p - > flow ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                /* http alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( proto  = =  ALPROTO_HTTP )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    hjs  =  JsonHttpAddMetadata ( p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    if  ( hjs )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                        if  ( json_output_ctx - > flags  &  LOG_JSON_HTTP_BODY )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                            JsonHttpLogJSONBodyPrintable ( hjs ,  p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                        if  ( json_output_ctx - > flags  &  LOG_JSON_HTTP_BODY_BASE64 )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                            JsonHttpLogJSONBodyBase64 ( hjs ,  p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                        json_object_set_new ( js ,  " http " ,  hjs ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        if  ( json_output_ctx - > flags  &  LOG_JSON_APP_LAYER  & &  p - > flow  ! =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            uint16_t  proto  =  FlowGetAppProtocol ( p - > flow ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            /* http alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( proto  = =  ALPROTO_HTTP )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                hjs  =  JsonHttpAddMetadata ( p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( hjs )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    if  ( json_output_ctx - > flags  &  LOG_JSON_HTTP_BODY )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                        JsonHttpLogJSONBodyPrintable ( hjs ,  p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    if  ( json_output_ctx - > flags  &  LOG_JSON_HTTP_BODY_BASE64 )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                        JsonHttpLogJSONBodyBase64 ( hjs ,  p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    json_object_set_new ( js ,  " http " ,  hjs ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        if  ( json_output_ctx - > flags  &  LOG_JSON_TLS )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( p - > flow  ! =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                uint16_t  proto  =  FlowGetAppProtocol ( p - > flow ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                 /* tls alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                 if  ( proto  = =  ALPROTO_TLS ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                     AlertJsonTls ( p - > flow ,  js ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            /* tls alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( proto  = =  ALPROTO_TLS )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                AlertJsonTls ( p - > flow ,  js ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        if  ( json_output_ctx - > flags  &  LOG_JSON_SSH )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( p - > flow  ! =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                uint16_t  proto  =  FlowGetAppProtocol ( p - > flow ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                 /* ssh alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                 if  ( proto  = =  ALPROTO_SSH ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                     AlertJsonSsh ( p - > flow ,  js ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            /* ssh alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( proto  = =  ALPROTO_SSH )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                AlertJsonSsh ( p - > flow ,  js ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        if  ( json_output_ctx - > flags  &  LOG_JSON_SMTP )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( p - > flow  ! =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                uint16_t  proto  =  FlowGetAppProtocol ( p - > flow ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                /* smtp alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( proto  = =  ALPROTO_SMTP )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    hjs  =  JsonSMTPAddMetadata ( p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    if  ( hjs ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                        json_object_set_new ( js ,  " smtp " ,  hjs ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            /* smtp alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( proto  = =  ALPROTO_SMTP )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                hjs  =  JsonSMTPAddMetadata ( p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( hjs )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    json_object_set_new ( js ,  " smtp " ,  hjs ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                     hjs  =  JsonEmailAddMetadata ( p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                     if  ( hjs ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                         json_object_set_new ( js ,  " email " ,  hjs ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                hjs  =  JsonEmailAddMetadata ( p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( hjs )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    json_object_set_new ( js ,  " email " ,  hjs ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        if  ( ( json_output_ctx - > flags  &  LOG_JSON_APP_LAYER )  & &  p - > flow  ! =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            uint16_t  alproto  =  FlowGetAppProtocol ( p - > flow ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# ifdef HAVE_RUST 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( al proto = =  ALPROTO_NFS )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( proto  = =  ALPROTO_NFS )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                hjs  =  JsonNFSAddMetadataRPC ( p - > flow ,  pa - > tx_id ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( hjs ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    json_object_set_new ( js ,  " rpc " ,  hjs ) ; 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -443,21 +420,17 @@ static int AlertJson(ThreadVars *tv, JsonAlertLogThread *aft, const Packet *p)
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    json_object_set_new ( js ,  " nfs " ,  hjs ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# endif 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( al proto = =  ALPROTO_FTPDATA )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  (  proto = =  ALPROTO_FTPDATA )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                hjs  =  JsonFTPDataAddMetadata ( p - > flow ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( hjs ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    json_object_set_new ( js ,  " ftp-data " ,  hjs ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        if  ( json_output_ctx - > flags  &  LOG_JSON_DNP3 )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( p - > flow  ! =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                uint16_t  proto  =  FlowGetAppProtocol ( p - > flow ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                /* dnp3 alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( proto  = =  ALPROTO_DNP3 )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    AlertJsonDnp3 ( p - > flow ,  js ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            /* dnp3 alert */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            if  ( proto  = =  ALPROTO_DNP3 )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                AlertJsonDnp3 ( p - > flow ,  js ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        if  ( p - > flow )  { 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -782,23 +755,27 @@ static void XffSetup(AlertJsonOutputCtx *json_output_ctx, ConfNode *conf)
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    json_output_ctx - > xff_cfg  =  xff_cfg ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    uint32_t  payload_buffer_size  =  JSON_STREAM_BUFFER_SIZE ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    uint16_t  flags  =  0 ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  ( conf  ! =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " metadata " ,  LOG_JSON_METADATA_ALL ,  & json_output_ctx - > flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " flow " ,  LOG_JSON_FLOW ,  & json_output_ctx - > flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " http " ,  LOG_JSON_HTTP ,  & json_output_ctx - > flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " tls " ,   LOG_JSON_TLS ,   & json_output_ctx - > flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " ssh " ,   LOG_JSON_SSH ,   & json_output_ctx - > flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " smtp " ,  LOG_JSON_SMTP ,  & json_output_ctx - > flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " dnp3 " ,  LOG_JSON_DNP3 ,  & json_output_ctx - > flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  ( conf  = =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        /* Enable metadata by default. */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        flags  | =  LOG_JSON_METADATA ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    }  else  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        /* If metadata not set, default to yes. */ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        if  ( ConfNodeLookupChildValue ( conf ,  " metadata " )  = =  NULL )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            flags  | =  LOG_JSON_METADATA ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        }  else  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            SetFlag ( conf ,  " metadata " ,  LOG_JSON_METADATA ,  & flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            SetFlag ( conf ,  " app-layer " ,  LOG_JSON_APP_LAYER ,  & flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            SetFlag ( conf ,  " flow " ,  LOG_JSON_FLOW ,  & flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " payload " ,  LOG_JSON_PAYLOAD_BASE64 ,  & json_output_ctx - > flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " packet " ,  LOG_JSON_PACKET ,  & json_output_ctx - > flags ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " tagged-packets " ,  LOG_JSON_TAGGED_PACKETS ,  & json_output_ctx- >  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " payload-printable " ,  LOG_JSON_PAYLOAD ,  & json_output_ctx- >  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " http-body-printable " ,  LOG_JSON_HTTP_BODY ,  & json_output_ctx- >  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " http-body " ,  LOG_JSON_HTTP_BODY_BASE64 ,  & json_output_ctx- >  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " payload " ,  LOG_JSON_PAYLOAD_BASE64 ,  &  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " packet " ,  LOG_JSON_PACKET ,  &  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " tagged-packets " ,  LOG_JSON_TAGGED_PACKETS ,  &  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " payload-printable " ,  LOG_JSON_PAYLOAD ,  &  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " http-body-printable " ,  LOG_JSON_HTTP_BODY ,  &  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        SetFlag ( conf ,  " http-body " ,  LOG_JSON_HTTP_BODY_BASE64 ,  &  flags) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        const  char  * payload_buffer_value  =  ConfNodeLookupChildValue ( conf ,  " payload-buffer-size " ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -817,6 +794,8 @@ static void XffSetup(AlertJsonOutputCtx *json_output_ctx, ConfNode *conf)
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        json_output_ctx - > payload_buffer_size  =  payload_buffer_size ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        HttpXFFGetCfg ( conf ,  xff_cfg ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    json_output_ctx - > flags  | =  flags ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				} 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				/**