Releases: SentryPeer/SentryPeer
Releases · SentryPeer/SentryPeer
v3.0.2
v3.0.1
Stable release
- Add a check for a response code of 403 to trigger a new access token request for WebHooks in addition to a 401
Changes
-pedantic-errors
is now enabled by default inMakefile.am
Fixes
- Switch to
getsockname()
to correctly get destination IP address for SIP TCP mode - Check for a blank
User-agent
SIP header and add a test case. Only a missing one was catered for before.
v3.0.0
Stable release
- OAuth2 support for sending events to the SentryPeerHQ RESTful API (client_credentials grant type) with
a Bearer token in the Authorization header
Fixes
- Clean up memory leaks in libcurl code when sending events to a WebHook url
- Fix segfault on parsing part of a 'To' SIP header that could be NULL
- Fix failing sqlite test on macOS
v2.0.1
Stable release
- Re-work dht memory usage
- cppcheck work in tests
- Clearly state that Peer to Peer mode is off by default in the docs and that setting an environment variable to
anything, e.g.0
will enable that particular mode. We don't care what you set it to, just that it's set.
Fixes
- Fix config trying to free an OpenDHT member that isn't present if not built with OpenDHT
v2.0.0
Stable release
- Added optional
-w https://my_sentrypeerhq_onprem_or_cloud_url/events
WebHook cli/env var to set URL for bad actor
JSON to be sent to SentryPeerHQ for the dashboard and other services - Removed local incomplete web gui. This will be replaced by a new FL/OSS project called SentryPeerHQ
Breaking Changes
-w
now requires a URL to be set as it is used for the WebHook to SentryPeerHQ.
Before it enabled the local Web UI which has been removed.
Tests
- Added tests for new WebHook feature
v1.4.1
Stable release
Changes
- New SIP TCP mode
- New
-b
flag to set your own DHT bootstrap node (default:bootstrap.sentrypeer.org:4222
) - Error handing for
-p
flag if OpenDHT support is not compiled in - Debug mode now shows what OpenDHT-C library version we're using
- Debug mode for p2p now shows the correct
event_uuid
when checking for duplicate events - Coverity scan fixes
Tests
- New tests for
sip_message_event
type and related functions
v1.4.0
Stable release
Changes
- Peer to Peer mode with CLI (
-p
) and ENV options to enable, added for DHT node using the OpenDHT library - Added
-R
flag to completely disable SIP mode. You can then run SentryPeer in API mode or DHT mode only etc. i.e.
not as a honeypot, but to serve local data - Added Peer to Peer bad_actor sharing (data replication), e.g. it gets saved on the DHT and consumed by other peers
- RESTful API numbers resource (
/numbers
) now only returns numbers like +441234567890 or 441234567890 - RESTful API number resource (
/numbers/{number}
) now only accepts +441234567890 or 441234567890 formats - Generate a SentryPeer node ID at startup to be used in all
bad_actor
events - Stop the SIP daemon thread correctly on shutdown
- If OpenDHT-C is detected, check it is at least version 2.3.5. If Peer to Peer mode is not needed, you can
use--disable-opendht
- Remove the Zyre library dependency as it is not needed anymore
Breaking changes
--disable-zyre
option has now been removed, so./configure
will now fail if you try to build with that option
Tests
- More configuration CLI options tested
- Bad Actor to JSON conversion tests - used to save on the DHT
- Memory cleanups on tests
- UUID parsing tests
- JSON parsing tests
- Additional SQLite3 database select tests
bad_actor_exists
tests
What can you do at the moment?
- Process and chose to reply 200 OK to SIP probes (set via cli or env variable)
- Disable SIP mode completely so you can just operate a p2p node for receiving bad_actors and API use
- Output JSON logs
- List collected IP addresses via the RESTful API
- Query a specific IP address via the RESTful API
- List collected phone numbers via the RESTful API
- Query a specific phone number via the RESTful API
- Operate in Peer to Peer mode to share and receive bad_actors
- See the README for examples
v1.2.0
Stable release
Changes
- Add signal handlers to gracefully shut down the SIP, P2P and HTTP daemons
- Move SIP daemon into its own thread
- Integrate the Zyre library for proximity-based Peer to Peer support with tests
- Integrate the OpenDHT library for a
Kademlia like distributed key-value storage with tests. We will store the
public IP addresses of the nodes in the DHT so peers can find each other and share collected data - Zyre and OpenDHT are optional and detected at build time
- Add
destination_ip
to bad_actor data structure - Add JSON logging to log bad actor events to a json file via
-j
flag andSENTRYPEER_JSON_LOG
environment variable,
plus custom log file location via-l
flag andSENTRYPEER_JSON_LOG_FILE
environment variable - Add
--disable-opendht/zyre
flags to disable OpenDHT and Zyre build requirements. This allows a user to run
SentryPeer as a full standalone node done at build time
Tests
- Clean up all valgrind warnings
- Use the new http_daemon_stop() which calls MHD_stop_daemon() to clear up memory leaks, sockets etc. in tests
- Add tests for the sip_daemon_XXXX() functions
- Add tests for the peer_to_peer_lan_XXXX() functions
- Add tests for the peer_to_peer_dht_XXXX() functions
- Switch to cmocka XML output format to show time taken for each test
- Update tests for new JSON log format and new
destination_ip
field in bad_actor data structure
What can you do at the moment?
- Process and chose to reply 200 OK to SIP probes (set via cli or env variable)
- Output JSON logs
- List collected IP addresses via the RESTful API
- Query a specific IP address via the RESTful API
- List collected phone numbers via the RESTful API
- Query a specific phone number via the RESTful API
- See the README for examples
v1.0.0
Stable release
Changes
- Called Number RESTful API resource live at (
http://x.x.x.x:8082/numbers/{number}
) - Called Numbers RESTful API resource live at (
http://x.x.x.x:8082/numbers
)
What can you do at the moment?
- Process and chose to reply 200 OK to SIP probes (set via cli or env variable)
- List collected IP addresses via the RESTful API
- Query a specific IP address via the RESTful API
- List collected phone numbers via the RESTful API
- Query a specific phone number via the RESTful API
- See the README for examples