Compare commits
No commits in common. "develop" and "v0.1.2" have entirely different histories.
3 changed files with 12 additions and 47 deletions
19
.drone.yml
19
.drone.yml
|
@ -5,12 +5,12 @@ name: default
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: debian:12
|
image: alpine:latest
|
||||||
environment:
|
environment:
|
||||||
PACKAGE_BASENAME: igmpgen_linux_amd64
|
PACKAGE_BASENAME: igmpgen_linux_amd64
|
||||||
commands:
|
commands:
|
||||||
- apt-get update
|
- apk update
|
||||||
- apt-get install -y cmake gcc g++ libnet1 libnet-dev rpm make
|
- apk add cmake gcc g++ libnet libnet-dev debian-devscripts rpm make
|
||||||
- make build
|
- make build
|
||||||
- make package
|
- make package
|
||||||
- mkdir -p /_cache/bin /_cache/packages
|
- mkdir -p /_cache/bin /_cache/packages
|
||||||
|
@ -44,12 +44,9 @@ steps:
|
||||||
- apk add --update --no-cache curl jq
|
- apk add --update --no-cache curl jq
|
||||||
- env |grep DRONE
|
- env |grep DRONE
|
||||||
- |
|
- |
|
||||||
for package_path in /_cache/packages/* ; do \
|
curl -H "Authorization: token $PACKAGE_UPLOAD_TOKEN" \
|
||||||
package_name="$(basename "$package_path")" ; \
|
--upload-file "/_cache/bin/$PACKAGE_BASENAME" \
|
||||||
curl -H "Authorization: token $PACKAGE_UPLOAD_TOKEN" \
|
"$PACKAGE_UPLOAD_URL/$DRONE_TAG/$PACKAGE_BASENAME"
|
||||||
--upload-file "$package_path" \
|
|
||||||
"$PACKAGE_UPLOAD_URL/$DRONE_TAG/$PACKAGE_BASENAME" ; \
|
|
||||||
done
|
|
||||||
- |
|
- |
|
||||||
set -x
|
set -x
|
||||||
curl -X POST \
|
curl -X POST \
|
||||||
|
@ -70,12 +67,12 @@ steps:
|
||||||
- |
|
- |
|
||||||
set -x
|
set -x
|
||||||
for package_path in /_cache/packages/* ; do \
|
for package_path in /_cache/packages/* ; do \
|
||||||
package_name="$(basename "$package_path")" ; \
|
package_name="$(basename "$package_path")"
|
||||||
curl -X POST \
|
curl -X POST \
|
||||||
-H "Authorization: token $RELEASE_UPLOAD_TOKEN" \
|
-H "Authorization: token $RELEASE_UPLOAD_TOKEN" \
|
||||||
-H "accept: application/json" \
|
-H "accept: application/json" \
|
||||||
-H "Content-Type: multipart/form-data" \
|
-H "Content-Type: multipart/form-data" \
|
||||||
-F "attachment=@$package_path" \
|
-F "attachment=@$package_name" \
|
||||||
"$RELEASES_URL/$TAG_ID/assets?name=$package_name" ; \
|
"$RELEASES_URL/$TAG_ID/assets?name=$package_name" ; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,6 @@ set(CPACK_PACKAGE_VERSION_MAJOR "${igmpgen_VERSION_MAJOR}")
|
||||||
set(CPACK_PACKAGE_VERSION_MINOR "${igmpgen_VERSION_MINOR}")
|
set(CPACK_PACKAGE_VERSION_MINOR "${igmpgen_VERSION_MINOR}")
|
||||||
|
|
||||||
# CPack RPM specific settings
|
# CPack RPM specific settings
|
||||||
set(CPACK_RPM_FILE_NAME RPM-DEFAULT)
|
|
||||||
set(CPACK_RPM_PACKAGE_LICENSE "MIT")
|
set(CPACK_RPM_PACKAGE_LICENSE "MIT")
|
||||||
set(CPACK_RPM_PACKAGE_SUMMARY "IGMP Packet Generator")
|
set(CPACK_RPM_PACKAGE_SUMMARY "IGMP Packet Generator")
|
||||||
set(CPACK_RPM_PACKAGE_NAME "igmpgen")
|
set(CPACK_RPM_PACKAGE_NAME "igmpgen")
|
||||||
|
@ -65,19 +64,15 @@ set(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64")
|
||||||
set(CPACK_RPM_PACKAGE_GROUP "Network")
|
set(CPACK_RPM_PACKAGE_GROUP "Network")
|
||||||
set(CPACK_RPM_PACKAGE_VENDOR "Your Company/Organization")
|
set(CPACK_RPM_PACKAGE_VENDOR "Your Company/Organization")
|
||||||
set(CPACK_RPM_PACKAGE_DESCRIPTION "A tool for generating IGMP packets.")
|
set(CPACK_RPM_PACKAGE_DESCRIPTION "A tool for generating IGMP packets.")
|
||||||
set(CPACK_RPM_PACKAGE_LICENSE "LGPL-3.0-or-later")
|
|
||||||
set(CPACK_RPM_PACKAGE_LICENSE "libnet (>= 1.3-1)")
|
|
||||||
|
|
||||||
# CPack DEB specific settings
|
# CPack DEB specific settings
|
||||||
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
|
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Your Name <your-email@example.com>")
|
||||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Glenn Y. Rolland <glenux@glenux.net>")
|
|
||||||
set(CPACK_DEBIAN_PACKAGE_NAME "igmpgen")
|
set(CPACK_DEBIAN_PACKAGE_NAME "igmpgen")
|
||||||
set(CPACK_DEBIAN_PACKAGE_VERSION "${igmpgen_VERSION}")
|
set(CPACK_DEBIAN_PACKAGE_VERSION "${igmpgen_VERSION}")
|
||||||
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
|
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
|
||||||
set(CPACK_DEBIAN_PACKAGE_SECTION "net")
|
set(CPACK_DEBIAN_PACKAGE_SECTION "net")
|
||||||
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
|
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
|
||||||
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "A tool for generating IGMP packets.")
|
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "A tool for generating IGMP packets.")
|
||||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libnet1 (>= 1.1.6)")
|
|
||||||
|
|
||||||
set(CPACK_GENERATOR "TGZ;RPM;DEB")
|
set(CPACK_GENERATOR "TGZ;RPM;DEB")
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|
33
README.md
33
README.md
|
@ -7,9 +7,7 @@
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The IGMP Packet Generator (`igmpgen`) is a specialized tool designed for
|
The IGMP Packet Generator (`igmpgen`) is a specialized tool designed for
|
||||||
generating various types of [Internet Group Management Protocol
|
generating various types of Internet Group Management Protocol (IGMP) packets.
|
||||||
(IGMP)](https://en.wikipedia.org/wiki/Internet_Group_Management_Protocol)
|
|
||||||
packets.
|
|
||||||
|
|
||||||
This tool is particularly useful for network administrators, developers, and
|
This tool is particularly useful for network administrators, developers, and
|
||||||
researchers involved in testing and analyzing multicast network protocols.
|
researchers involved in testing and analyzing multicast network protocols.
|
||||||
|
@ -116,31 +114,6 @@ This project is licensed under the LGPL 3.0-or-later.
|
||||||
|
|
||||||
## Related projects
|
## Related projects
|
||||||
|
|
||||||
* [IGMPproxy (Official Version)](https://github.com/pali/igmpproxy): The
|
* [IGMPproxy (Official Version)](https://github.com/pali/igmpproxy): The official version of the IGMPproxy tool.
|
||||||
official version of the IGMPproxy tool.
|
* [IGMPproxy with IGMPv3 & FreeBSD support](https://github.com/ViToni/igmpproxy/): A version of IGMPproxy with added support for IGMPv3 and FreeBSD.
|
||||||
* [IGMPproxy with IGMPv3 & FreeBSD
|
|
||||||
support](https://github.com/ViToni/igmpproxy/): A version of IGMPproxy with
|
|
||||||
added support for IGMPv3 and FreeBSD.
|
|
||||||
* [pierf packet generator and analyzer](https://pierf.sourceforge.net/): A
|
|
||||||
packet injection tool.
|
|
||||||
* [Send IGMP](https://sendigmp.com/#examples): A simple command-line tool to
|
|
||||||
send IGMP packets
|
|
||||||
* [Ostatino](https://github.com/pstavirs/ostinato): Traffic generator for
|
|
||||||
network engineers.
|
|
||||||
* [individuwill/mcast](https://github.com/individuwill/mcast)
|
|
||||||
* [troglobit/mcjoin](https://github.com/troglobit/mcjoin)
|
|
||||||
* [troglobit/mrdisc](https://github.com/troglobit/mrdisc)
|
|
||||||
* [troglobit/mrouted](https://github.com/troglobit/mrouted)
|
|
||||||
* [scapy](https://scapy.net/)
|
|
||||||
* <https://itecnote.com/tecnote/python-send-igmp-packets-with-scapy/>
|
|
||||||
* <https://gist.github.com/sdir/6e44c14f6fd29149689b2f9fe37ba6b9>
|
|
||||||
|
|
||||||
* <https://github.com/Abaco-Systems/WinPcap-igmp-join>
|
|
||||||
|
|
||||||
## References
|
|
||||||
|
|
||||||
* https://www.ietf.org/proceedings/50/I-D/idmr-snoop-00.txt
|
|
||||||
* https://www.rfc-editor.org/rfc/rfc4541
|
|
||||||
* [Wikipedia: IGMP Snooping](https://en.wikipedia.org/wiki/IGMP_snooping)
|
|
||||||
* [Wikipedia: Multicast Listener Discovery](https://en.wikipedia.org/wiki/Multicast_Listener_Discovery)
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue