From 80f9326b2fbf8857f221b6ee6d44c3982cdcbff9 Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Mon, 9 Sep 2013 19:30:30 +0000 Subject: 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 --- ui/gtk/follow_tcp.c | 78 ----------------------------------------------------- 1 file changed, 78 deletions(-) (limited to 'ui/gtk/follow_tcp.c') 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 /* -- cgit v1.2.1