The Wayback Machine - https://web.archive.org/web/20201109134041/https://github.com/secdev/scapy/issues/399
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contribute to Scapy: a master list of good first issues #399

Open
gpotter2 opened this issue Dec 18, 2016 · 3 comments
Open

Contribute to Scapy: a master list of good first issues #399

gpotter2 opened this issue Dec 18, 2016 · 3 comments

Comments

@gpotter2
Copy link
Member

@gpotter2 gpotter2 commented Dec 18, 2016

Hi & welcome to Scapy's github ! This page lists issues that you can try to fix if you want to start contributing to Scapy.

This list includes wishes and things added by the maintainers based on the issues that we get, but also issues marked with TODO or XXX that already exist in Scapy's code base (layers). If you want to contribute to the project you might just take care one of the bugs.

You can also look for issues and pull requests in the old Bitbucket repository. If you find something interesting there (there shouldn't be anything left, but sometimes lost people add issues there), please do not update it on Bitbucket, open an issue here and mention (link) the old issue and/or pull request.

To get a bug, create an issue with the description of the bug and refer to this issue (just mention #399 in the text) so we can update it.

Please read How to contribute before starting to work!

Note: all of those issues are updated regularly but might sometimes fall out of date. The links are static so the part you need to change might move on master (look for it). If the issue has been fixed and we missed it, feel free to ping us

Available:

Easy - Recommended for new users - Hacktoberfest

  • Participate in project Hinty: #2158. This is easy but requires a lot of hands to help 😄. You'll just have to add static typing to a file or layer you've selected.

  • Fill up the scapy topic in github explore. Scapy is already popular enough to have its own github topic but it would be nice if it could have a logo/banner.

  • Any of the issues tagged with "good first issue"

  • Add documentation for dispatch_hook based on this StackOverflow post. You can add this documentation to scapy/doc/scapy/advanced_usage.rst for instance.

  • Add hashret()/answers() regression tests to ICMPv6ND_RA in regression.uts as said

    # TODO: Add answers()/Hashret() tests ( think about Cisco routers
    . This is a good way to discover what our unit test infrastructure looks like (it's a bit outdated though very complete.. we're trying to switch to pytest....)

Medium - More advanced features or wishes

  • Help to get rid of duplicated names in contrib files: #2862 This is rather easy, not super interesting though.

  • create a snap package for Scapy (#2153) (apparently that's something Linux users want)

  • Implement TCP_server like TCP_client (#2083) (This should make you discover how Scapy automatons work)

  • Improve in6_getAddrType: add support for Unique local Address and add unit tests. (this function appears to be unused, try pinging guedou about that)

    # TODO : integrate Unique Local Addresses

  • Add more tests in regression.uts for IA_PD Prefix Option in

    #TODO : finish me

  • Make the FlagField a bit cleaner thanks to the new capabilities of FlagsField in isakmp.py (This should be easy enough, try help(FlagsField) to see what this field is about)

    FlagsField("flags",0, 8, ["encryption","commit","auth_only","res3","res4","res5","res6","res7"]), # XXX use a Flag field

  • Don't remove Teredo's route when refreshing in route6.py

    # TODO : At the moment, resync will drop existing Teredo routes
    (I'm honnestly not sure what this is about. Ask us :p)

Hard - Build entire modules or refactor complex stuff

  • add SNMPv3 support #1132

  • add DTLS support #1931 (This is very cool, but not easy. We do have full TLS support though so it should be feasible to re-use almost everything)

  • Update the p0f support #1923 (This sounds pretty cumbersome...)

  • Remove the "trick" from carp.py

    # XXX: this is a dirty hack. it needs to pack version and type into a single 8bit field
    (You very likely need to get back to the RFC to understand what the heck is going on here. At least this should be rather simple)

  • Try to call Enum_metaclass from ASN1_Class_metaclass or at least try to reduce the amount of duplicated code:

    def __new__(cls, name, bases, dct): # XXX factorise a bit with Enum_metaclass.__new__()

  • Update the OPC UA support #1569 (This sounds extremely hard, considering how big the PR is. Don't dive into this unless you actually need OPC UA)

  • Add support to addresses other than MAC in DUID_LLT in dhcp6.py

    # XXX We only support Ethernet addresses at the moment. _LLAddrField

  • Add support for authdata in OSPF_Hdr in ospf.py

    # TODO: Support authdata (which is appended to the packets as if it were padding)

  • Guess the next hop properly when multiple IPv6ExtHdrDestOpt extensions are used on inet6.py

    nh = self.payload.nh # XXX what if another extension follows ?
    (You might want to check the RFC: should we use the one from the last option? or the first one? (current))

  • Check that Multicast scopes match when performing answers in [inet6.py]

    # XXX test mcast scope matching ?

  • Write X.400 format in X509.py. (this is ASN.1. Not the easiest thing to begin with)

    #XXX write me

HELP: the RFC of the the X.400 format is on rfc5280, at the bottom of page 117.

Unknown difficulty

  • Fix a bug with ICMPv6's hashret in inet6.py
    # TODO: big bug with ICMPv6 error messages as the destination of IPerror6
    (this looks like a bug but it's not crystal clear... 😕)
@p-l- p-l- added the help wanted label Dec 19, 2016
@gpotter2 gpotter2 closed this Dec 19, 2016
@gpotter2 gpotter2 reopened this Dec 19, 2016
@secdev secdev deleted a comment from Chibbluffy Apr 6, 2019
@guedou guedou pinned this issue May 31, 2019
@guedou guedou changed the title [RoadMap] Contributions wanted Contributions wanted May 31, 2019
@secdev secdev deleted a comment from mumblemaker Jun 15, 2019
@adharshkamath

This comment has been hidden.

@guedou

This comment has been hidden.

@p-l-

This comment has been hidden.

This was referenced Mar 9, 2020
@gpotter2 gpotter2 changed the title Contributions wanted Contribute to Scapy: a master list of good first issues Sep 27, 2020
@gpotter2 gpotter2 removed the Hacktoberfest label Nov 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
4 participants
You can’t perform that action at this time.