diff options
author | Luca <deri@ntop.org> | 2024-01-15 19:03:46 +0100 |
---|---|---|
committer | Luca <deri@ntop.org> | 2024-01-15 19:03:46 +0100 |
commit | 162c38f18f81a4e069db5f957c13f68c2cdc9b89 (patch) | |
tree | 33555b3e246c83832c0e3a99fda75912ba686461 /src/include/ndpi_api.h | |
parent | 61a18623e71626b4c9197f171ca219fae6f5792b (diff) |
Added new API calls
- ndpi_load_domain_suffixes()
- ndpi_get_host_domain_suffix()
whose goal is to find the domain name of a hostname. Example:
www.bbc.co.uk -> co.uk
mail.apple.com -> com
Diffstat (limited to 'src/include/ndpi_api.h')
-rw-r--r-- | src/include/ndpi_api.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h index b20305e33..f4c2f6114 100644 --- a/src/include/ndpi_api.h +++ b/src/include/ndpi_api.h @@ -2147,6 +2147,9 @@ extern "C" { u_int8_t class_id, char *file_path); bool ndpi_domain_classify_finalize(ndpi_domain_classify *s); + const char* ndpi_domain_classify_longest_prefix(ndpi_domain_classify *s, + u_int8_t *class_id /* out */, + const char *hostnname); bool ndpi_domain_classify_contains(ndpi_domain_classify *s, u_int8_t *class_id /* out */, const char *domain); @@ -2188,6 +2191,8 @@ extern "C" { /** * Get user data which was previously set with `ndpi_set_user_data()`. * + * @par ndpi_str = the struct created for the protocol detection + * * @return the user data pointer * */ @@ -2195,6 +2200,36 @@ extern "C" { /* ******************************* */ + /** + * Loads the domain suffixes from the specified path. You need to + * perform this action once + * + * @par ndpi_str = the struct created for the protocol detection + * @par public_suffix_list_path = path of the public_suffix_list path + * + * @return 0 = no error, -1 otherwise + * + */ + int ndpi_load_domain_suffixes(struct ndpi_detection_module_struct *ndpi_str, + char *public_suffix_list_path); + + /** + * Returns the domain suffix out of the specified hostname. + * The returned pointer is an offset of the original hostname. + * Note that you need to call ndpi_load_domain_suffixes() before + * calling this function. + * + * @par ndpi_str = the struct created for the protocol detection + * @par hostname = the hostname from which the domain name has to be extracted + * + * @return The host domain name or the hostitself if not found. + * + */ + const char* ndpi_get_host_domain_suffix(struct ndpi_detection_module_struct *ndpi_str, + const char *hostname); + + /* ******************************* */ + /* Can't call libc functions from kernel space, define some stub instead */ #define ndpi_isalpha(ch) (((ch) >= 'a' && (ch) <= 'z') || ((ch) >= 'A' && (ch) <= 'Z')) |