Project

General

Profile

Actions

Feature #2537

open

package wireshark with osmocom patches

Added by laforge about 4 years ago. Updated 4 months ago.

Status:
Stalled
Priority:
Normal
Assignee:
Target version:
-
Start date:
10/05/2017
Due date:
% Done:

10%

Spec Reference:

Description

We should have some jenkins-ci job that
  • packages our wireshark as packages in OBS as part of the feeds
  • possibly even re-bases our non-mainline patches before each build

This is particularly important for the AMR voice playback, as wireshark has refused to include this upstream. We can also include any other not-yet-mainline code that we have at osmocom, like osmux statistics, Jacob's EGPRS patch, Ericsson RSL support, ...

It would probably be best if both the package as well as the file names are modified to not conflict with the distribution-standard wireshark package that mostly everyone has installed. Let's hope this is not too hard to do. Alternatively we could install into something like an /opt/osmocom PREFIX. A bit ugly, but then it would avoid having to patch the wireshark source?

Please coordinate with Daniel on this.

Actions #1

Updated by pespin almost 4 years ago

Daniel, can you add some details/links here on the patches which should be included in here? Let's first make a list and then we can continue with it.

If anyone else wants any related patch to be included, please share it here.

Actions #2

Updated by pespin over 3 years ago

  • Status changed from New to Feedback
  • Assignee changed from pespin to daniel

Assigning to Daniel so he can give me feedback on where can I find the different interesting patches.

Actions #3

Updated by pespin over 3 years ago

  • Assignee changed from daniel to laforge

AMR decode support: https://git.osmocom.org/wireshark/commit/?h=daniel/osmux&id=0ac2c285e965d7ae104f857c829c3978cdd7b83c

Other patches from daniel/osmux should be already merged in upstream.

There seem to be other branches in our wireshark repo at osmocom.org:

laforge/gsup    Dissector for the Osmocom GSUP Protocol    Harald Welte    3 months
laforge/pending    Add dissector for OsmoTRX protocol    Harald Welte    2 weeks
laforge/qcdiag    qcdiag_log: Implement RRC dissection    Harald Welte    15 months
laforge/trx    Add dissector for OsmoTRX protocol    Harald Welte    5 weeks

What's the status of these branches? Are they merged upstream? Should I copy all those patches into the same branch and use the branch as source to build our own wireshark?

Assigning to laforge as the branches are from him.

Actions #4

Updated by laforge over 3 years ago

  • Assignee changed from laforge to pespin
  • gsup has just been merged upstream
  • trx is about to get merged upstream
  • qcdiag is nowhere near
  • for "pending" you will have to rebase/review. I think at least the EGPRS patch as well as the "hand RLC payload to LLC" are not upstream.
Actions #5

Updated by pespin over 3 years ago

  • Status changed from Feedback to In Progress

I started adding commits to osmocom/master branch.

gsup: Already in master, we get it for free.
trx: Available in laforge/trx and in wireshark's gerrit, still not merged.
qcdiag: Several commits in laforge/qcdiag. I didn't look at those yet.
pendign: In laforge/pendign. Several L2TP, GPRS-RLC and EGPRS patches.
AMR: Original commit in daniel/osmux. During rebase I had to fix some small bits and add all the CMake build bits since autoconf was dropped in master. New branch can be found in pespin/amr and is already merged in osmocom/master.

I also started work on building wireshark in OBS: https://build.opensuse.org/package/show/home:pespin:branches:network:osmocom:nightly/wireshark#
I had to modify debian/control to depend on libgnutsl28-dev instead of libgnutls-dev. Debian package also has this patch. See 7580784d4bc98544684607c70c6d490c0f9316cc in our wireshark repo in osmocom/master branch.

I also had to modify the Project Config to tell OBS which package to use as preferred, otherwise it won't build:

Prefer: libjpeg-dev

Actions #6

Updated by pespin over 3 years ago

  • Status changed from In Progress to Stalled

Set to stalled since I have this task paused for a while due to having other more urgent tasks.

Actions #7

Updated by laforge about 2 years ago

  • Status changed from Stalled to Feedback

this sounded like it was already rather complete before it was stalled. Can you estimate the amount of time required to finish it?

Actions #8

Updated by pespin about 2 years ago

I think during last year the building system (cmake->ninja) and dependencies (dropped gtk, neq qt afair) have changed, I'd need to check again.

Actions #9

Updated by pespin 4 months ago

  • Status changed from Feedback to Stalled
Actions #10

Updated by osmith 4 months ago

  • Assignee changed from pespin to osmith
Actions #11

Updated by osmith 4 months ago

  • Status changed from Stalled to In Progress
  • % Done changed from 0 to 10

It would probably be best if both the package as well as the file names are modified to not conflict with the distribution-standard wireshark package that mostly everyone has installed. Let's hope this is not too hard to do. Alternatively we could install into something like an /opt/osmocom PREFIX. A bit ugly, but then it would avoid having to patch the wireshark source?

There's a set(_project_name wireshark line in CMakeLists.txt. I've changed it to osmoshark in a local build to test what it does and found that it changes some of the paths from wireshark to osmoshark, but not all of them (e.g. /usr/share/wireshark). Also the binaries and libwireshark.so are not renamed, so this doesn't resolve conflicts with distributions packaging.

So installing to /opt seems to be the best solution to avoid conflicts. Passing -DCMAKE_INSTALL_PREFIX=/opt/wireshark-osmo/ to cmake does the trick.

I'll add wireshark-osmo, tshark-osmo etc. wrappers that point to the binaries in /opt, so it is still convenient to run the custom wireshark build.

Actions #12

Updated by osmith 4 months ago

  • Status changed from In Progress to Stalled

I'm working on other issues right now, but for future reference:

I had built the daniel/osmux branch (2016) with AMR support to test if I had a good AMR sample that I could play and test with a rebased version. With that version wireshark was able to decode the file (showed the waveform, which does not show in wireshark without these patches) but audio playback didn't work. (Looks like it didn't work in general in that build, maybe I would have needed more build flags for that.)

However with the pespin/amr branch (2018), opening the same sample causes the wireshark gui to freeze. So there's a regression from the rebase that needs to be fixed.

Also the patches need to be rebased again on a recent version. If I understood it correctly, we could also refactor the patches to use the plugin api so we don't have problems with further rebases (or at least less problems).

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)