Skip to content

Conversation

ThibaudCartegnie
Copy link
Contributor

✨ Pull Request Template

‼️ Once all the checklist is done you have to:

  • stash merge this pull request
  • delete the corresponding branch
  • close the associated issue

📃 Type of change

Please delete options that are not relevant.

Breaking change: fix or feature that would cause existing functionality to not work as expected.

💡 Related Issue(s)

✒️ Description

Reworks the python filter to be closer of what we need and easier to use.

🎯 Test Environments

FreeBSD - Vulture ISO (12.2)

  • Redis (6.2.6)
  • Boost (1.72.0)
  • clang++(10.0.1)
  • CMake (3.21.3)
  • Python (3.8.11)

Ubuntu (20.04)

  • Redis (5.0.7)
  • Boost (1.71.0)
  • g++ (9.3.0)
  • CMake (3.16.3)
  • Python (3.8.10)
  • Valgrind (3.15.0)

✔️ Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • (If new filter) I have added corresponding page to the documentation
  • (If other changes) I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

  • 🙋 I certify on my honor that all the information provided is true, and I've done all I can to deliver a high-quality code

Thibaud Cartegnie and others added 30 commits June 9, 2021 17:51
If more than 1 certitude is sent back to client AND a body is set, the body is copied on the memory location of the certitudes
It is fixed by using the correct offset when copying the body data.
The other function using similar logic has been modified to keep it coherent.
UnixSessions are spawn by UnixServer and TcpSessions by TcpServer
Included a modification when passing arguments from sessions to task (move instead of ref)
 - Used to pass needed data from Session to Task
(some work is still need for the tasks)
State accessible by const getters only
State mutable with only two methods : add Certitude and mutateBody
Added a few methods for DarwinPacket
Added ParseBody in ATask::run with error handling
Fixed issues with threadpool instance and size issues in the ASession
Fixed issues in the serialization
Added support for ipv6 in Tcp sessions
Adapted python manager to handle tcp sockets
The packet was illformed near the certitudes
NextFilterConnector: Working WIP
Abstract/Tcp/Unix, fixed configuration for nextFilter
- DarwinPacket copied only the first 15 bytes of event id
- Destructor of AServer wasn't virtual leading to memory leak when
UnixServer was destroyed
Service.update did not update nettwork field
Added retry attempts, modified tests accordingly
Proprietary filters needed additional methods for accessing private
fields of a packet
Added possibility to run all tests in TCP mode
Assured working with ipv4 and ipv6 addresses
Fixed a few log lines in the redis test file
Fixed a few problems and cleaned some code
Added tests for tcp and udp
Added possibility to run all test in unix or tcp
Removed unused methods
Specification of move semantic for DarwinPacket
@ThibaudCartegnie ThibaudCartegnie changed the base branch from dev to support_tcp_udp February 1, 2022 14:25
}
}
for(auto cert: resp.certitudes) {
_packet.AddCertitude(cert);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stats' support might be complicated with this filter, bu I think you could add a STAT_MATCH_INC; for each certitude over threshold

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added it

example.py is made a better example to test the filter
Added logger to example
added support for venv
updated cmake min version
- now expects a class (see algorithm_module.py)
- added tests for class specific issues
Base automatically changed from support_tcp_udp to dev September 12, 2025 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants