return false;
}
-bool AppIdSessionApi::is_appid_available() const
+bool AppIdSessionApi::is_appid_available(uint32_t stream_index) const
{
if (!asd)
return false;
-
- return ( (service.get_id() != APP_ID_NONE ||
- payload.get_id() != APP_ID_NONE) &&
- (asd->is_tp_appid_available() ||
- asd->get_session_flags(APPID_SESSION_NO_TPI)) );
+ if (service.get_id() == APP_ID_HTTP2)
+ return (get_payload_app_id(stream_index) != APP_ID_NONE);
+ else
+ return ( (service.get_id() != APP_ID_NONE ||
+ payload.get_id() != APP_ID_NONE) &&
+ (asd->is_tp_appid_available() ||
+ asd->get_session_flags(APPID_SESSION_NO_TPI)) );
}
const char* AppIdSessionApi::get_client_info(uint32_t stream_index) const
void get_app_id(AppId* service, AppId* client, AppId* payload, AppId* misc, AppId* referred,
uint32_t stream_index = 0) const;
bool is_appid_inspecting_session() const;
- bool is_appid_available() const;
+ bool is_appid_available(uint32_t stream_index = 0) const;
const char* get_client_info(uint32_t stream_index = 0) const;
uint64_t get_appid_session_attribute(uint64_t flag) const;
const SfIp* get_initiator_ip() const;