[wireshark] Fix FTBFS in Rawhide

Peter Lemenkov peter at fedoraproject.org
Thu Dec 19 10:09:55 UTC 2013


commit b23552849b5e9698502ff96ac7fb7c28cd43d9a9
Author: Peter Lemenkov <lemenkov at gmail.com>
Date:   Thu Dec 19 14:08:43 2013 +0400

    Fix FTBFS in Rawhide
    
    - Fix endianness in the Bitcoin protocol dissector (patch no. 19)
    - Last-minute fix for wrongly backported change (patch no. 20)
    - Recent Glib doesn't provide g_memmove macro anymore so we have to fallback to
      memmove (patch no. 21)
    
    Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>

 ...-number-endianness.-Bug-9530-https-bugs.w.patch |   22 +++++
 ...ent-wrong-with-the-backport-of-r53608-r53.patch |   81 ++++++++++++++++++++
 wireshark-0021-Remove-g_memmove.patch              |   56 ++++++++++++++
 wireshark.spec                                     |   17 ++++-
 4 files changed, 175 insertions(+), 1 deletions(-)
---
diff --git a/wireshark-0019-Bugfix-port-number-endianness.-Bug-9530-https-bugs.w.patch b/wireshark-0019-Bugfix-port-number-endianness.-Bug-9530-https-bugs.w.patch
new file mode 100644
index 0000000..d5bf7be
--- /dev/null
+++ b/wireshark-0019-Bugfix-port-number-endianness.-Bug-9530-https-bugs.w.patch
@@ -0,0 +1,22 @@
+From: Michael Mann <mmann78 at netscape.net>
+Date: Wed, 18 Dec 2013 13:15:13 +0000
+Subject: [PATCH] Bugfix port number endianness.  Bug 9530
+ (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9530)
+
+Taken from part of r52609 enhancement.
+
+svn path=/trunk-1.10/; revision=54217
+
+diff --git a/epan/dissectors/packet-bitcoin.c b/epan/dissectors/packet-bitcoin.c
+index 5dd9dae..d7467da 100644
+--- a/epan/dissectors/packet-bitcoin.c
++++ b/epan/dissectors/packet-bitcoin.c
+@@ -256,7 +256,7 @@ create_address_tree(tvbuff_t *tvb, proto_item *ti, guint32 offset)
+   offset += 16;
+ 
+   /* port */
+-  proto_tree_add_item(tree, hf_address_port, tvb, offset, 2, ENC_LITTLE_ENDIAN);
++  proto_tree_add_item(tree, hf_address_port, tvb, offset, 2, ENC_BIG_ENDIAN);
+ 
+   return tree;
+ }
diff --git a/wireshark-0020-Something-went-wrong-with-the-backport-of-r53608-r53.patch b/wireshark-0020-Something-went-wrong-with-the-backport-of-r53608-r53.patch
new file mode 100644
index 0000000..9d17496
--- /dev/null
+++ b/wireshark-0020-Something-went-wrong-with-the-backport-of-r53608-r53.patch
@@ -0,0 +1,81 @@
+From: Chris Maynard <Christopher.Maynard at GTECH.COM>
+Date: Wed, 18 Dec 2013 16:31:29 +0000
+Subject: [PATCH] Something went wrong with the backport of r53608 + r53611. 
+ Fix it.
+
+svn path=/trunk-1.10/; revision=54225
+
+diff --git a/ui/gtk/capture_dlg.c b/ui/gtk/capture_dlg.c
+index 44d5652..db74289 100644
+--- a/ui/gtk/capture_dlg.c
++++ b/ui/gtk/capture_dlg.c
+@@ -1019,7 +1019,7 @@ guint32 value)
+     if (value > (((guint32)G_MAXINT + 1) / 1000)) {
+         return 0;
+     } else {
+-    return value;
++        return value;
+     }
+   case(SIZE_UNIT_MEGABYTES):
+     if (value > (((guint32)G_MAXINT + 1) / (1000 * 1000))) {
+@@ -3257,13 +3257,11 @@ static void promisc_mode_callback(GtkToggleButton *button, gpointer d _U_)
+   GtkTreeIter        iter;
+   GtkTreeView       *if_cb;
+   GtkTreeModel      *model;
+-  gboolean           enabled = FALSE, set;
++  gboolean           enabled = FALSE;
+   interface_t        device;
+   interface_options  interface_opts;
+   guint              i;
+ 
+-  set = gtk_toggle_button_get_active(button);
+-  gtk_toggle_button_set_active(button, (set?FALSE:TRUE));
+   if (gtk_toggle_button_get_active(button))
+     enabled = TRUE;
+ 
+@@ -4489,7 +4487,9 @@ update_properties_all(void)
+   /* If all selected interfaces are in promiscuous mode, check the global
+      "promiscuous mode" checkbox, otherwise un-check it. */
+   promisc_b = (GtkWidget *)g_object_get_data(G_OBJECT(cap_open_w), E_CAP_PROMISC_KEY_ALL);
++  g_signal_handler_block(promisc_b, promisc_all_handler_id);
+   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(promisc_b), promisc_all);
++  g_signal_handler_unblock(promisc_b, promisc_all_handler_id);
+ 
+   /* If all selected interfaces have the same filter string, set the
+      global filter string to it. */
+@@ -5315,7 +5315,7 @@ fprintf(stderr, "Adding the default filter \"%s\"???\n", global_capture_opts.def
+ 
+   window_get_geometry(top_level, &tl_geom);
+   gtk_window_set_default_size(GTK_WINDOW(cap_open_w), tl_geom.width * 8 / 10, -1);
+-  
++
+   gtk_widget_show_all(cap_open_w);
+   window_present(cap_open_w);
+ 
+@@ -5356,7 +5356,7 @@ capture_start_cb(GtkWidget *w _U_, gpointer d _U_)
+     }
+     success = capture_dlg_prep(cap_open_w);
+     if (success)
+-    window_destroy(GTK_WIDGET(cap_open_w));
++      window_destroy(GTK_WIDGET(cap_open_w));
+     if (!success)
+       return;   /* error in options dialog */
+   }
+@@ -5712,7 +5712,7 @@ create_and_fill_model(GtkTreeView *view)
+         device.snaplen = WTAP_MAX_PACKET_SIZE;
+         device.has_snaplen = FALSE;
+       }
+-      
++
+       if (device.has_snaplen) {
+         snaplen_string = g_strdup_printf("%d", device.snaplen);
+       } else {
+@@ -5725,7 +5725,7 @@ create_and_fill_model(GtkTreeView *view)
+         device.buffer = buffer;
+       } else {
+         device.buffer = DEFAULT_CAPTURE_BUFFER_SIZE;
+-      } 
++      }
+ #endif
+       global_capture_opts.all_ifaces = g_array_remove_index(global_capture_opts.all_ifaces, i);
+       g_array_insert_val(global_capture_opts.all_ifaces, i, device);
diff --git a/wireshark-0021-Remove-g_memmove.patch b/wireshark-0021-Remove-g_memmove.patch
new file mode 100644
index 0000000..58c404d
--- /dev/null
+++ b/wireshark-0021-Remove-g_memmove.patch
@@ -0,0 +1,56 @@
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Wed, 18 Dec 2013 13:39:07 +0400
+Subject: [PATCH] Remove g_memmove
+
+Glib no longer offers this macro so we have to fallback to C90 memmove.
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+
+diff --git a/epan/dissectors/packet-ssl-utils.c b/epan/dissectors/packet-ssl-utils.c
+index 1ab3c8d..0f1ad44 100644
+--- a/epan/dissectors/packet-ssl-utils.c
++++ b/epan/dissectors/packet-ssl-utils.c
+@@ -1633,7 +1633,7 @@ ssl_private_decrypt(guint len, guchar* encr_data, SSL_PRIVATE_KEY* pk)
+     ssl_debug_printf("pcry_private_decrypt: stripping %d bytes, decr_len %" G_GSIZE_MODIFIER "u\n",
+         rc, decr_len);
+     ssl_print_data("decrypted_unstrip_pre_master", decr_data_ptr, decr_len);
+-    g_memmove(decr_data_ptr, &decr_data_ptr[rc], decr_len - rc);
++    memmove(decr_data_ptr, &decr_data_ptr[rc], decr_len - rc);
+     decr_len -= rc;
+ 
+ out:
+@@ -1670,7 +1670,7 @@ out:
+     ssl_debug_printf("pcry_private_decrypt: stripping %d bytes, decr_len %d\n",
+         rc, decr_len);
+     ssl_print_data("decrypted_unstrip_pre_master", decr_data_ptr, decr_len);
+-    g_memmove(decr_data_ptr, &decr_data_ptr[rc], decr_len - rc);
++    memmove(decr_data_ptr, &decr_data_ptr[rc], decr_len - rc);
+     decr_len -= rc;
+ #endif /* SSL_FAST */
+     gcry_mpi_release(text);
+diff --git a/packaging/macosx/native-gtk/glibconfig.h b/packaging/macosx/native-gtk/glibconfig.h
+index e0a9589..2730202 100644
+--- a/packaging/macosx/native-gtk/glibconfig.h
++++ b/packaging/macosx/native-gtk/glibconfig.h
+@@ -78,8 +78,6 @@ typedef unsigned long gsize;
+ # define g_ATEXIT(proc)	(atexit (proc))
+ #endif
+ 
+-#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
+-
+ #define GLIB_MAJOR_VERSION 2
+ #define GLIB_MINOR_VERSION 12
+ #define GLIB_MICRO_VERSION 9
+diff --git a/ui/export_object_smb.c b/ui/export_object_smb.c
+index dec3de9..59ccaa2 100644
+--- a/ui/export_object_smb.c
++++ b/ui/export_object_smb.c
+@@ -254,7 +254,7 @@ gpointer    dest_memory_addr;
+ 	/* ...then, put the chunk of the file in the right place */
+ 	if (!file->is_out_of_memory) {
+ 		dest_memory_addr = entry->payload_data + chunk_offset;
+-		g_memmove(dest_memory_addr, eo_info->payload_data, eo_info->payload_len);
++		memmove(dest_memory_addr, eo_info->payload_data, eo_info->payload_len);
+ 	}
+ }
+ 
diff --git a/wireshark.spec b/wireshark.spec
index 573a8f6..381dd88 100644
--- a/wireshark.spec
+++ b/wireshark.spec
@@ -21,7 +21,7 @@
 Summary:	Network traffic analyzer
 Name:		wireshark
 Version:	1.10.4
-Release:	1%{?dist}
+Release:	2%{?dist}
 License:	GPL+
 Group:		Applications/Internet
 Source0:	http://wireshark.org/download/src/%{name}-%{version}.tar.bz2
@@ -62,6 +62,13 @@ Patch16:	wireshark-0016-Crash-when-selecting-Decode-As-based-on-SCTP-PPID.-B.pat
 Patch17:	wireshark-0017-Fix-https-bugs.wireshark.org-bugzilla-show_bug.cgi-i.patch
 # Backported from upstream.
 Patch18:	wireshark-0018-Copy-over-from-Trunk.patch
+# Backported from upstream.
+Patch19:	wireshark-0019-Bugfix-port-number-endianness.-Bug-9530-https-bugs.w.patch
+# Backported from upstream.
+Patch20:	wireshark-0020-Something-went-wrong-with-the-backport-of-r53608-r53.patch
+# Sent upstream:
+# https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9576
+Patch21:	wireshark-0021-Remove-g_memmove.patch
 
 Url:		http://www.wireshark.org/
 BuildRequires:	libpcap-devel >= 0.9
@@ -174,6 +181,9 @@ and plugins.
 #%patch16 -p1 -b .fix_sctp
 #%patch17 -p1 -b .fix_global_pinfo
 %patch18 -p1 -b .fix_overflow
+%patch19 -p1 -b .fix_endianness
+%patch20 -p1 -b .fix_previous_backport
+%patch21 -p1 -b .remove_g_memmove
 
 %build
 %ifarch s390 s390x sparcv9 sparc64
@@ -372,6 +382,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_datadir}/aclocal/*
 
 %changelog
+* Thu Dec 19 2013 Peter Lemenkov <lemenkov at gmail.com> - 1.10.4-2
+- Fix endianness in the Bitcoin protocol dissector (patch no. 19)
+- Last-minute fix for wrongly backported change (patch no. 20)
+- Fix FTBFS in Rawhide (see patch no. 21 - recent Glib doesn't provide g_memmove macro anymore)
+
 * Wed Dec 18 2013 Peter Lemenkov <lemenkov at gmail.com> - 1.10.4-1
 - Ver. 1.10.4
 - Don't apply upsteamed patches no. 13, 14, 15, 16, 17


More information about the scm-commits mailing list