dotpcap / packetnet

Official repository - High performance .Net assembly for dissecting and constructing network packets such as ethernet, ip, tcp, udp etc.
Mozilla Public License 2.0
476 stars 105 forks source link

Add IgmpV3 support #169

Closed jlshuman1961 closed 2 years ago

jlshuman1961 commented 2 years ago

Added support for IGMP version 3 messages.

jlshuman1961 commented 2 years ago

I found a shortcoming with the code I submitted in the Pull Request on made on Wednesday. How can I submit some changes to the Pull Request? Or do I need to make a new branch and submit a whole new Pull Request and just close the previous Pull Request?

PhyxionNL commented 2 years ago

I found a shortcoming with the code I submitted in the Pull Request on made on Wednesday. How can I submit some changes to the Pull Request? Or do I need to make a new branch and submit a whole new Pull Request and just close the previous Pull Request?

You can simply commit your changes to your own repository and branch (https://github.com/jlshuman1961/packetnet/tree/IGMPv3-support) and it will be updated here automatically.

jlshuman1961 commented 2 years ago

Thanks, PhyxionNL, I made 5 more commits to fix the shortcoming that I mentioned. Please let me know if did correctly, or not.

jlshuman1961 commented 2 years ago

Made changes as requested.

jlshuman1961 commented 2 years ago

Made changes as requested.

PhyxionNL commented 2 years ago

Made changes as requested.

Build fails.

jlshuman1961 commented 2 years ago

I forgot to add using statements for my previous code submission. Added those in.

jlshuman1961 commented 2 years ago

I don't know what to do about this build error. Something about not installing winpcap. Did I break something to make that happen?

PhyxionNL commented 2 years ago

I don't know what to do about this build error. Something about not installing winpcap. Did I break something to make that happen?

No, Windows fails at the moment due to https://github.com/dotpcap/packetnet/issues/150. Doesn't matter for this PR. It looks good now, I'll format the documents and merge it.

jlshuman1961 commented 2 years ago

How long will it be before we can see this IGMPv3 support in an official release of PacketDotNet?

jlshuman1961 commented 2 years ago

I just noticed that there are still two properties that may need setters in them. This is in the IgmpV3MembershipQueryPacket.cs file. The properties are MaxResponseTime (a calculated value based on MaxResponseCode) and QueriersQueryInterval (a calculated value based on QueriersQueryIntervalCode). Or, I need to make MaxResponseCode and QueriersQueryIntervalCode public, so that the user can set those bytes directly. This is an oversight on my part because it is code that I would not normally use. What do you want me to do about this?

PhyxionNL commented 2 years ago

If you can add setters to these properties, that'd be great. You can submit a follow up PR. Please start fresh from master branch here.