diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2013-09-09 19:30:30 +0000 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2013-09-09 19:30:30 +0000 |
commit | 80f9326b2fbf8857f221b6ee6d44c3982cdcbff9 (patch) | |
tree | d5dd5ce48d3da0595cc10da6319c729604511c23 /ui/gtk/follow_tcp.c | |
parent | 41174fa490f141aaf1fdddfcb4f445ecd95888f7 (diff) | |
download | wireshark-80f9326b2fbf8857f221b6ee6d44c3982cdcbff9.tar.gz |
From Thomas ERSFELD (GSoC13)
Add TCP/UDP/SSL Follow feature to QtShark
Known issue :
* Duplicate code with GTK (function need follow_info_t struct but in GTK there is some GWidget variable in struct)
* Sometimes TCP Follow fail...
svn path=/trunk/; revision=51883
Diffstat (limited to 'ui/gtk/follow_tcp.c')
-rw-r--r-- | ui/gtk/follow_tcp.c | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/ui/gtk/follow_tcp.c b/ui/gtk/follow_tcp.c index c188e0134c..8ca8be452a 100644 --- a/ui/gtk/follow_tcp.c +++ b/ui/gtk/follow_tcp.c @@ -316,84 +316,6 @@ follow_tcp_stream_cb(GtkWidget * w _U_, gpointer data _U_) data_out_file = NULL; } -#ifdef HAVE_LIBZ -static char * -sgetline(char *str, int *next) -{ - char *end; - - end = strstr(str, "\r\n"); - if (!end) { - *next = (int)strlen(str); - return NULL; - } - *end = '\0'; - *next = (int)(end-str+2); - return str; -} - -static gboolean -parse_http_header(char *data, size_t len, size_t *content_start) -{ - char *tmp, *copy, *line; - size_t pos = 0; - int next_line; - gboolean is_gzipped; - - /* XXX handle case where only partial header is passed in here. - * we should pass something back to indicate whether header is complete. - * (if not, is_gzipped is may still be unknown) - */ - - /* - * In order to parse header, we duplicate data and tokenize lines. - * We aren't interested in actual data, so use g_strndup instead of memcpy - * to (possibly) copy fewer bytes (e.g., if a nul byte exists in data) - * This also ensures that we have a terminated string for futher processing. - */ - tmp = copy = g_strndup(data, len); - if (!tmp) { - *content_start = 0; - return FALSE; - } - - /* skip HTTP... line*/ - /*line = */sgetline(tmp, &next_line); - - tmp += next_line; - pos += next_line; - - is_gzipped = FALSE; - - *content_start = -1; - while ((line = sgetline(tmp, &next_line))) { - char *key, *val, *c; - - tmp += next_line; - pos += next_line; - - if (strlen(line) == 0) { - /* end of header*/ - break; - } - - c = strchr(line, ':'); - if (!c) break; - - key = line; - *c = '\0'; - val = c+2; - - if (!strcmp(key, "Content-Encoding") && strstr(val, "gzip")) { - is_gzipped = TRUE; - } - } - *content_start = pos; - g_free(copy); - return is_gzipped; -} -#endif - #define FLT_BUF_SIZE 1024 /* |