Releases: irai/arp
Claim IP is now optional
Interface change
This release has a minor change to the interface that will require a code change.
New functionality
- Allow client to specify if to claim the target IP during spoofing. In ForceIPChange(mac net.HardwareAddr, claimIP bool) you can specify true if you like to claim IP.
- In Hunt, send announcement unicast to target client
Detailed fixes
2021-01-18 bug: don't create dup IP in history if another client claims the IP (commit#: fee177e)
2021-01-17 interface change to allow caller to not claim the target IP during force change (commit#: 7ee07a3)
2021-01-17 bug: network disappear if we announce at end of hunt; removed code (commit#: 4b1de1a)
2021-01-16 when hunt ends, send arp announcement to restore target arp table (commit#: aa99b25)
2021-01-16 bug: send accouncement to broadcast target address only force announcement the first few seconds (commit#: 46d815e)
2021-01-16 bug: in hunt, force announcement unicast to target (commit#: b8c179c)
2021-01-16 bug: in hunt, fix arp announcemet to be unicast to target (commit#: 3ac25be)
2021-01-16 bug: fix reply to send to unicast ethernet addr minor cleanup for consistency (commit#: e0ef279)
2020-11-21 logging incorrect state when transitioning to offline (commit#: abbd9a2)
2020-11-10 Make internal array in MACEntry public to enable external testing (commit#: 03d2087)
Important fixes for 1.3.x series
2020-09-25 Revert "at end of spoof loop, flush target arp entry" (commit#: 2e97c21)
2020-09-25 at end of spoof loop, flush target arp entry (commit#: e7a2288)
2020-09-16 force conn close on ctx cancel (commit#: adb7643)
2020-09-16 disable network scan if duration is zero (commit#: 256cf53)
2020-09-16 change cancellation log msg (commit#: 91d0472)
2020-09-10 return error in whois (commit#: 9b6d979)
2020-09-10 fix loading of zero mac from proc table (commit#: dd5bd8a)
2020-09-10 don't close on goroutine termination (commit#: 09d76cf)
2020-09-10 create ErrNotFound (commit#: 12ff5e3)
2020-09-09 fix proc file load (commit#: 8fa8cb9)
2020-09-09 comments (commit#: 9060c50)
2020-09-09 add FindIP method (commit#: 7cf104a)
2020-09-08 on startup, load macs from proc table (commit#: cc85555)
Fixes to prevent race conditions
This release fixes a number of concurrency issues.
2020-08-06 update findVirtualIP (commit#: a6d7ae3)
2020-08-06 Add ClaimIP() function (commit#: bcf6077)
2020-08-05 test for invalid arp packet logging (commit#: ae8e48e)
2020-08-05 respond with announcement if IP is virtual (commit#: 118428d)
2020-08-05 print table when ip goes offline (commit#: 3b1cd21)
2020-08-05 minor code cleanup to updateIP signature (commit#: 0752109)
2020-08-05 fix lock() in whois (commit#: e0471e4)
2020-08-05 fix lock() in IPChange (commit#: 4832ef2)
2020-08-05 fix lock() in handler (commit#: e90413e)
2020-08-05 fix bug in handler (commit#: 52494cd)
2020-08-05 change findIP signature (commit#: 487ee51)
2020-08-04 upgrade mdlayher (commit#: caf03e9)
2020-08-04 update go.mod (commit#: 75d12fe)
2020-08-04 mod tidy on arm (commit#: a1bbec0)
2020-08-04 keep router mac (commit#: fa6e61d)
2020-08-04 add GetTable() (commit#: c6f04ec)
Major update to track past IPs
- add support for list of past IPs
- new MACentry format and table structure
- in spoofing, use one goroutine per IP
- remove dependency on logrus
Minor fixes
- fix invalid notification when IP is zero
- notify online only after processing packet
Don't notify if IP is link local
Fixed issue where polling was notifying ip link local
Other minor logging adjustments
Log message changes
Add LogAll variable to control debug & trace messages
Just log a few key info messages; all other moved to debug and off by default
Maintenance release
- Disable discovery if interval is zero on listendandserve
- Various bug fixes
- Fix segfault
- Stop hunt when device switches to offline
- Miscellaneous chances
-Minor fixes
-updated goroutine pool with atomic -added .gitignore -go fmt
Code refactoring & library types rename
Various data types and method signature have changed - so this release is not backwards compatible.
You will need to make some minor updates to types in your code.