|
|
||
|---|---|---|
| .. | ||
| capture | ||
| demo | ||
| CMakeLists.txt | ||
| README.md | ||
| modules_api.h | ||
README.md
Proxy filter API
freerdp-proxy has an API for filtering certain messages. A filter can register callbacks to events, allowing to record the data and control whether to pass/ignore the message, or right out drop the connection.
During startup, the proxy loads its filters from the configuration:
[Filters]
; FilterName = FilterPath
DemoFilter = "server/proxy/demo.so"
Currently supported events
- Mouse event
- Keyboard event
Developing a new filter
- Create a new file that includes
filters_api.h. - Implement the
filter_initfunction and register the callbacks you are interested in. - Each callback receives two parameters:
connectionInfo* infoholds connection info of the raised event.void* paramholds the actual event data. It should be casted by the filter to the suitable struct fromfilters_api.h.
- Each callback must return a
PF_FILTER_RESULT:FILTER_IGNORE: The event will not be proxied.FILTER_PASS: The event will be proxied.FILTER_DROP: The entire connection will be dropped.
A demo can be found in filter_demo.c.