{"thread":{"id":"54424","subject":"Re: Wireshark-dev Digest, Vol 173, Issue 14","startedAt":"2020-10-15T08:53:36Z","lastAt":"2020-10-16T03:05:25Z","messageCount":2,"participants":["Amanda Shafack","Jonathan Nieder"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"407585","messageId":"CAGxm6oUcxLCqhN0+tSA37xsNUJbjcyj3ahraVdiwxnQn-7qC4g@mail.gmail.com","threadId":"54424","inReplyTo":"mailman.1.1602590401.25101.wireshark-dev@wireshark.org","subject":"Re: Wireshark-dev Digest, Vol 173, Issue 14","fromName":"Amanda Shafack","fromEmail":"shafack.likhene@gmail.com","sentAt":"2020-10-15T08:52:57Z","receivedAt":"2020-10-15T08:53:36Z","isPatch":false,"sender":{"key":"shafack.likhene@gmail.com","avatar":"https://avatars.githubusercontent.com/u/17765231?v=4"},"body":"Hi Jonathan,\n\nI have completed the MyFirstContribution tutorial\n(https://git-scm.com/docs/MyFirstContribution). You can find my work\nin this repo (https://github.com/lkmandy/git/tree/psuh).\n\nAlso, regarding my initial starter contribution, I chose the\n\"micro-project\" titled \"Avoid pipes in git related commands in test\nscripts\" (source https://bit.ly/3iZQcT2).\nEmily has approved the micro-project.\n\nI plan to complete the micro-project and then move on to more research\non Git's HTTP protocol and other resources you've pointed out.\n\nLet me know your thoughts on this, thanks.\n\n\nOn Tue, Oct 13, 2020 at 1:00 PM <wireshark-dev-request@wireshark.org> wrote:\n>\n> Send Wireshark-dev mailing list submissions to\n>         wireshark-dev@wireshark.org\n>\n> To subscribe or unsubscribe via the World Wide Web, visit\n>         https://www.wireshark.org/mailman/listinfo/wireshark-dev\n> or, via email, send a message with subject or body 'help' to\n>         wireshark-dev-request@wireshark.org\n>\n> You can reach the person managing the list at\n>         wireshark-dev-owner@wireshark.org\n>\n> When replying, please edit your Subject line so it is more specific\n> than \"Re: Contents of Wireshark-dev digest...\"\n>\n>\n> Today's Topics:\n>\n>    1. lua decoder accessing info from layers above (Fulko Hew)\n>    2. Re: lua decoder accessing info from layers above (John Thacker)\n>    3. Re: lua decoder accessing info from layers above (Guy Harris)\n>    4. Re: Introduction - An Outreachy 2020 Applicant (Jonathan Nieder)\n>\n>\n> ----------------------------------------------------------------------\n>\n> Message: 1\n> Date: Mon, 12 Oct 2020 19:59:46 -0400\n> From: Fulko Hew <fulko.hew@gmail.com>\n> To: Developer support list for Wireshark <wireshark-dev@wireshark.org>\n> Subject: [Wireshark-dev] lua decoder accessing info from layers above\n> Message-ID:\n>         <CAGuV3hNXvRDUL02bmLxbkOLEgbOWQSPwj7sSne8CYCcgrNhPQg@mail.gmail.com>\n> Content-Type: text/plain; charset=\"utf-8\"\n>\n> I'm trying to update/improve someone else's decoder written in Lua.\n> It's for a simple UDP (and TCP) based protocol.\n> But I need to be able to get access to the upper layer\n> to be able to decode it easily.\n>\n> Can someone provide an example of how to determine if the higher layer was\n> UDP or TCP?\n>\n> Thanks\n> Fulko\n> -------------- next part --------------\n> An HTML attachment was scrubbed...\n> URL: <https://www.wireshark.org/lists/wireshark-dev/attachments/20201012/d1eaa52a/attachment.html>\n>\n> ------------------------------\n>\n> Message: 2\n> Date: Mon, 12 Oct 2020 20:33:37 -0400\n> From: John Thacker <johnthacker@gmail.com>\n> To: Developer support list for Wireshark <wireshark-dev@wireshark.org>\n> Subject: Re: [Wireshark-dev] lua decoder accessing info from layers\n>         above\n> Message-ID:\n>         <CAP_QLgo5PYz79BXQvoQyiQGjZ-FqBVq__ybRg10xQ3DYd3KUQQ@mail.gmail.com>\n> Content-Type: text/plain; charset=\"utf-8\"\n>\n> On Mon, Oct 12, 2020, 8:00 PM Fulko Hew <fulko.hew@gmail.com> wrote:\n>\n> >\n> > I'm trying to update/improve someone else's decoder written in Lua.\n> > It's for a simple UDP (and TCP) based protocol.\n> > But I need to be able to get access to the upper layer\n> > to be able to decode it easily.\n> >\n> > Can someone provide an example of how to determine if the higher layer was\n> > UDP or TCP?\n> >\n>\n> If all you need to know is whether it was called from TCP or UDP, then a\n> typical approach is to create slightly different dissector functions, one\n> for TCP and one for UDP (they can then call a common function, setting a\n> parameter) and register the TCP dissector with TCP and the UDP dissector\n> with UDP. That approach for C dissectors is demonstrated, for example, here:\n>\n> https://gitlab.com/wireshark/wireshark/-/blob/master/doc/README.heuristic\n>\n> And it's pretty similar for Lua dissectors using some of the examples\n> linked from here:\n>\n> https://gitlab.com/wireshark/wireshark/-/wikis/Lua\n>\n> John Thacker\n> -------------- next part --------------\n> An HTML attachment was scrubbed...\n> URL: <https://www.wireshark.org/lists/wireshark-dev/attachments/20201012/67707084/attachment.html>\n>\n> ------------------------------\n>\n> Message: 3\n> Date: Mon, 12 Oct 2020 17:55:06 -0700\n> From: Guy Harris <gharris@sonic.net>\n> To: Developer support list for Wireshark <wireshark-dev@wireshark.org>\n> Subject: Re: [Wireshark-dev] lua decoder accessing info from layers\n>         above\n> Message-ID: <93FB74E3-88D0-408F-883D-F0385A916EA0@sonic.net>\n> Content-Type: text/plain;       charset=us-ascii\n>\n> On Oct 12, 2020, at 5:33 PM, John Thacker <johnthacker@gmail.com> wrote:\n>\n> > If all you need to know is whether it was called from TCP or UDP, then a typical approach is to create slightly different dissector functions,\n>\n> ...or, in that particular case, slightly *less* different functions, given that UDP provides a packet-based service (so that packet boundaries are provided for you, unless you have to send packets that don't fit in a UDP datagram and add your own reassembly - but, even there, *fragment* boundaries would probably be provided by UDP), while TCP provides a byte-stream service (with *no* packet boundary information).\n>\n>\n>\n> ------------------------------\n>\n> Message: 4\n> Date: Mon, 12 Oct 2020 20:10:56 -0700\n> From: Jonathan Nieder <jrnieder@gmail.com>\n> To: Developer support list for Wireshark <wireshark-dev@wireshark.org>\n> Cc: Emily Shaffer <emilyshaffer@google.com>, git@vger.kernel.com\n> Subject: Re: [Wireshark-dev] Introduction - An Outreachy 2020\n>         Applicant\n> Message-ID: <20201013031056.GC3814681@google.com>\n> Content-Type: text/plain; charset=us-ascii\n>\n> Richard Sharpe wrote:\n> > Amanda Shafack wrote:\n>\n> >> Good day.\n> >>\n> >> I'm Amanda Shafack, an Outreachy 2020 applicant who wishes to\n> >> contribute to the \"Add Git protocol support to Wireshark\" project.\n> >>\n> >> I have some experience coding in C and I hope to enhance\n> >> my skill set by contributing to this project.\n> >>\n> >> In addition, I'm fascinated by network protocols and it's really\n> >> exciting to get my hands around these concepts in a real-world\n> >> project.\n> >>\n> >> I'm currently going through the project description and contribution\n> >> guidelines.\n> >\n> > Welcome. There are many helpful people on the list.\n> >\n> > It would be useful if you can point us to a protocol description\n> > document but that can wait until help is needed. It may be that all\n> > the online resources are sufficient, but if not, do not hesitate to\n> > use this list to ask questions.\n>\n> There's an overview of Git's HTTP protocol in the Pro Git book:\n>\n>   https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols\n>\n> The official protocol spec in git.git (https://git.kernel.org/pub/scm/git/git.git)\n> is split between a few files:\n>\n>   Documentation/technical/protocol-common.txt:\n>     conventions for protocol docs\n>\n>   Documentation/technical/pack-protocol.txt:\n>     overview of Git protocol\n>\n>   Documentation/technical/protocol-capabilities.txt:\n>     optional capabilities\n>\n>   Documentation/technical/protocol-v2:\n>     protocol v2, the new default (more about this is at\n>     https://opensource.googleblog.com/2018/05/introducing-git-protocol-version-2.html)\n>\n>   Documentation/technical/http-protocol.txt:\n>     how this works with http\n>\n>   Documentation/technical/pack-format.txt:\n>     packed representation of Git objects (used both on disk and over\n>     the wire)\n>\n> Amanda, if you have any questions, please don't hesitate to ask\n> (#git-devel on IRC is the best place for that, and email works as\n> well).  I am there around 15:00-24:00 UTC most days.  In addition to\n> working on your initial starter contributions, we can start to put\n> together a plan for the project.\n>\n> Richard, to set expectations: the internship period for accepted\n> interns starts in December: https://www.outreachy.org/apply/project-selection/.\n> Until then, potential interns are often not free full time, so we\n> focus on smaller contributions that help get their feet wet in the\n> codebase.\n>\n> Excited,\n> Jonathan\n>\n>\n> ------------------------------\n>\n> Subject: Digest Footer\n>\n> _______________________________________________\n> Wireshark-dev mailing list\n> Wireshark-dev@wireshark.org\n> https://www.wireshark.org/mailman/listinfo/wireshark-dev\n>\n>\n> ------------------------------\n>\n> End of Wireshark-dev Digest, Vol 173, Issue 14\n> **********************************************\n\n\n\n-- \n\nCheers!\n\nAmanda  Shafack\n"},{"id":"407704","messageId":"20201016030518.GE539114@google.com","threadId":"54424","inReplyTo":"CAGxm6oUcxLCqhN0+tSA37xsNUJbjcyj3ahraVdiwxnQn-7qC4g@mail.gmail.com","subject":"Re: Introduction - An Outreachy 2020 Applicant","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2020-10-16T03:05:18Z","receivedAt":"2020-10-16T03:05:25Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi Amanda,\n\nAmanda Shafack wrote:\n\n> Also, regarding my initial starter contribution, I chose the\n> \"micro-project\" titled \"Avoid pipes in git related commands in test\n> scripts\" (source https://bit.ly/3iZQcT2).\n\nThanks, sounds good.\n\n> I plan to complete the micro-project and then move on to more research\n> on Git's HTTP protocol and other resources you've pointed out.\n>\n> Let me know your thoughts on this, thanks.\n\nI think that a good next step after the Git micro-project is to get to\nknow wireshark --- this would involve building wireshark, finding\nsomething to change, and then changing it.\n\nhttps://gitlab.com/wireshark/wireshark/-/wikis/Development/ describes\nhow to download and build wireshark.  Then for something to change, I\nhave a few different ideas:\n\na. tighten the error handling in epan/dissectors/packet-git.c\n   (for example, what happens when there are not exactly 4 hexdigits\n   at the beginning of a pkt-line?).  Git's\n   Documentation/technical/protocol-common.txt describes the pkt-line\n   format and Documentation/technical/pack-protocol.txt describes the\n   Git transport dissected by packet-git.\n\nb. add tests for the Git dissector.  test/README.test and the page it\n   links to describe how wireshark's tests work\n\nc. try to parse out the service name and protocol version in\n   epan/dissectors/packet-git.c.  Git's\n   Documentation/technical/protocol-v2.txt describes where we can find\n   that information\n\nThat would get us more comfortable with the wireshark codebase and\nwould help prepare for fleshing out a plan for the internship.\n\nThoughts?\n\nSincerely,\nJonathan\n"}]}