Google Summer of Code 2023
Each year Google brings students and beginner contributors and open source projects together in the Google Summer of Code. This page tracks Wireshark's participation in GSoC 2023.
Guidelines
The ideas below have been contributed by Wireshark's community of developers and users. Some of them are "what ifs". Some are based on very specific and immediate needs. Either way, if you are a student you should contact the submitter/mentor or the wireshark-dev mailing list for background information or clarification before submitting your proposal. More information about wireshark-dev and complete list archives can be found on the mailing lists page.
If you are adding an idea below, please be as clear and provide as much information as possible. GSoC 2023 allows short (~175 hours) and long (~350 hours) projects. Projects that can be completed within in about 12 weeks are preferred.
Status
We're collecting proposals for projects. See "Ideas" below. The mentor organization application has been completed.
Important dates (from Timeline):
-
2023-01-23 18:00 UTC - Mentoring organizations can begin submitting applications to Google.
-
2023-02-07 18:00 UTC - Mentoring organization application deadline.
-
2023-02-22 18:00 UTC - List of accepted mentoring organizations published. Potential GSoC contributors discuss application ideas with mentoring organizations.
-
2023-03-20 18:00 UTC - GSoC contributor application period begins.
-
2023-04-04 18:00 UTC - GSoC contributor application deadline.
-
2023-05-04 18:00 UTC - Accepted GSoC contributor projects announced, start community bonding.
-
2023-05-29 - Coding officially begins!
-
2023-08-28 18:00 UTC - Final week: GSoC contributors submit their final work product and their final mentor evaluation (standard coding period)
-
2023-11-06 18:00 UTC - Final date for all GSoC contributors to submit their final work product and final evaluation
Links
-
GSoC Contributor Guide (highly recommended for contributors!)
The Nmap SoC page has some good guidelines for contributors including:
Ideas
As discussed at https://www.wireshark.org/lists/wireshark-dev/201302/msg00199.html please use the following template for proposed topics.
- Subject
- Summary of the topic, what should be done
- Summary of the expected result
- Developer who could mentor
- Prerequisites (skills required / preferred)
- Level of expertise in these languages (beg./adv./exp.)
- Area of Wireshark it pertains to
- Level of Wireshark expertise needed
- Amount of time estimated for a developer already familiar with the code
Please provide as much information as possible.
Contributors who are considering one of these ideas, please read https://google.github.io/gsocguides/student/writing-a-proposal.
usbmon extcap
Summary. Libpcap supports capture from usbmon interfaces on Linux. Unfortunately, libpcap implementation is limited and it is not easy to add USB developer-friendly extensions to libpcap. The project idea is to solve the issue by writing usbmon extcap to be used instead of the usbmon interfaces exposed by libpcap. The new features are expected to match USBPcap: support for capture only from newly connected devices (i.e. discard data at capture time from already connected devices) and select individual devices to capture from.
Expected Result. Improved usbmon capture experience.
Mentor(s). Tomasz Moń
Prerequisites. C
Area(s) of Wireshark. extcap
Extcap interface improvements
Summary. Wireshark extcap interface allows easy integration of various capture sources. While the extcap interface is generally working fine, there are some outstanding bugs that limit its usefulness. The project idea is to fix multiple extcap related bugs/feature requests, e.g. graceful shutdown on Windows, Wireshark freezes until extcap opens control pipes, properly indicate capture source, bookmark extcap options as new "interface", reduce number of configuration calls to extcap binary, implement grouping in selector options.
Expected Result. Improved extcap interface support, lower amount of open extcap bugs.
Mentor(s). Tomasz Moń
Prerequisites. C, C++, Qt
Area(s) of Wireshark. extcap, UI
USB Audio/Video stream export
Summary. Wireshark features RTP stream analysis and filtering. It would be nice to have similar functionality for USB Audio and/or USB Video class devices. USB Audio devices describe the supported audio formats in class-specific descriptors. Information from descriptors alongside with control requests can be used to determine the format used in isochronous transfers (e.g. 16-bit PCM).
Expected Result. Ability to playback captured USB Audio streams.
Mentor(s). Tomasz Moń
Prerequisites. C, C++, Qt
Area(s) of Wireshark. libwireshark (dissector), UI
Others
The above list of projects are suggested examples. Feel free to propose your own idea on the wireshark-dev mailing list.
For a full list of open issues and feature requests, see https://gitlab.com/wireshark/wireshark/-/issues. Users might also ask questions on https://ask.wireshark.org/, but are typically requested to open a bug entry if they have feature requests or bug reports.