aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ssl-utils.h
diff options
context:
space:
mode:
authorgerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>2011-04-26 21:59:11 +0000
committergerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>2011-04-26 21:59:11 +0000
commit3122bf11c62ee942d2f9708c39283efdc96c307b (patch)
tree85d7982fbcded140cf5573aa8376dbd89a05ba70 /epan/dissectors/packet-ssl-utils.h
parent7f8faef350c859c2d5d03e0851a705df0f9e729d (diff)
From Ivan Sy via bug 3343:
- Support for DTLS and SSL RSA keys list using User Accessible Table - Support for IPv6 SSL as posted by bug#3343 comment#1 - 'any' and 'anyipv4' for IPv4 wildcard - 'anyipv6' for IPv6 wildcard - UAT fields validation. From me: - Update paramaters to match UAT API changes. - Change the UAT filename. - Fix buffer overflow for IPv6 addresses. - Allow the use of hostnames along with numeric addresses. - Don't convert strings to addresses twice. - Don't use the same variable name for different data types. - Make "any" mean "any IPv4 or any IPv6". - Bend the concept of obsolete preferences slightly so that we can convert and old-style key list to a UAT. - Clean up whitespace. - Don't point to a User's Guide section for now; it may make more sense to keep using the wiki page. SSL dissector changes have been tested. DTLS dissector changes have not. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@36875 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-ssl-utils.h')
-rw-r--r--epan/dissectors/packet-ssl-utils.h34
1 files changed, 31 insertions, 3 deletions
diff --git a/epan/dissectors/packet-ssl-utils.h b/epan/dissectors/packet-ssl-utils.h
index ea0b5eb70d..157a63f1dc 100644
--- a/epan/dissectors/packet-ssl-utils.h
+++ b/epan/dissectors/packet-ssl-utils.h
@@ -346,6 +346,21 @@ typedef struct _Ssl_private_key {
SSL_PRIVATE_KEY *sexp_pkey;
} Ssl_private_key_t;
+/* User Access Table */
+typedef struct _ssldecrypt_assoc_t {
+ char* ipaddr;
+ char* port;
+ char* protocol;
+ char* keyfile;
+ char* password;
+} ssldecrypt_assoc_t;
+
+gboolean ssldecrypt_uat_fld_ip_chk_cb(void*, const char*, unsigned, const void*, const void*, const char** err);
+gboolean ssldecrypt_uat_fld_port_chk_cb(void*, const char*, unsigned, const void*, const void*, const char** err);
+gboolean ssldecrypt_uat_fld_protocol_chk_cb(void*, const char*, unsigned, const void*, const void*, const char** err);
+gboolean ssldecrypt_uat_fld_fileopen_chk_cb(void*, const char*, unsigned, const void*, const void*, const char** err);
+gboolean ssldecrypt_uat_fld_password_chk_cb(void*, const char*, unsigned, const void*, const void*, const char** err);
+
/** Initialize decryption engine/ssl layer. To be called once per execution */
extern void
ssl_lib_init(void);
@@ -487,7 +502,7 @@ ssl_common_init(GHashTable **session_hash, StringInfo *decrypted_data, StringInf
/* parse ssl related preferences (private keys and ports association strings) */
extern void
-ssl_parse_key_list(const gchar * keys_list, GHashTable *key_hash, GTree* associations, dissector_handle_t handle, gboolean tcp);
+ssl_parse_key_list(const ssldecrypt_assoc_t * uats, GHashTable *key_hash, GTree* associations, dissector_handle_t handle, gboolean tcp);
/* store master secret into session data cache */
extern void
@@ -525,6 +540,19 @@ ssl_debug_printf(const gchar* fmt _U_,...)
#define ssl_set_debug(name)
#define ssl_debug_flush()
-#endif
+#endif /* SSL_DECRYPT_DEBUG */
-#endif
+#endif /* SSL_UTILS_H */
+
+/*
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */