Comments (5)
Yes, this is out of date and should probably be removed. We shifted focus from lua modules to lua rules. Take a look at:
lua/ironbee-api.lua
tests/test_module_rules_lua.lua
In addition, I updated the lates docs with some basic info:
https://www.ironbee.com/docs/manual/ironbee-reference-manual.html#N100C2
from ironbee.
Lua rules don't seem to provide enough extensibility, as compared to modules. We wanted to use Ironbee as a framework to build specific "intelligent" sensors, because it seemed to allow quick module prototyping via lua modules coupled with ability to rewrite them into c to gain performance.
What are the plans for lua modules support? Will it be dropped in favor of rules and C modules?
from ironbee.
It is our plan to support lua modules again. We learned quite a bit about integrating lua with the rules, so we need to rewrite lua modules using these lessons learned. One item I will drop is the fixed "onSomeEvent" handlers and go with having to register them like C. We will also be continuing to build lua api wrappers (lua/ironbee-api.lua) and be able to use those in modules as well as rules. I'll take a look at it this week and see how much of this we can get done as I want to use this myself.
from ironbee.
Lua modules are working again!
See the updated example here:
https://github.com/ironbee/ironbee/blob/master/lua/example.lua
And the Lua wrapper API (which we will be expanding as needed) here:
https://github.com/ironbee/ironbee/blob/master/lua/ironbee-api.lua
And the C API (Foreign Function Interface - FFI) exposed to lua here:
https://github.com/ironbee/ironbee/blob/master/lua/ironbee-ffi.lua
from ironbee.
Quick example config loading example.lua:
### Logging
Log debug.log
LogLevel info
### Sensor Info
SensorId E4F68B09-3D08-40A9-8B80-78879708AD01
### Load Modules
LoadModule "ibmod_htp.so"
LoadModule "ibmod_lua.so"
LoadModule "ibmod_pcre.so"
LoadModule "ibmod_ac.so"
LoadModule "ibmod_rules.so"
# Load a lua module
LuaLoadModule "example.lua"
# This directive is defined in the lua module and context aware
LuaExampleDirective "Value in MAIN"
# Enable audit engine
AuditEngine RelevantOnly
AuditLogBaseDir /tmp/ironbee
AuditLogSubDirFormat "%Y%m%d-%H%M"
AuditLogDirMode 0755
AuditLogFileMode 0644
AuditLogParts all
### Buffering
RequestBuffering On
ResponseBuffering On
### Rule diagnostics
# What data to log
RuleEngineLogData all
# What level to log the data
RuleEngineLogLevel info
### Sites
# Default
<Site default>
SiteId C6D2A3E6-88DD-4185-AC2B-FC662D59F514
Service *:*
Hostname *
# This directive is defined in the lua module and context aware
LuaExampleDirective "Value in DEFAULT SITE"
</Site>
from ironbee.
Related Issues (20)
- ironbee dies if there is a body in response to HEAD request HOT 5
- File descriptor leak fix HOT 3
- Sync libinjection to latest HOT 4
- sync libinjection to 1.1.0 HOT 6
- Sync libinjection to 1.2.0 HOT 1
- make check error HOT 8
- make nginx error HOT 11
- make test error : ipset HOT 3
- include rex_pcre error HOT 9
- nginx reload causes complete failure of all requests HOT 14
- "unknown directive ironbee_loglevel" in nginx HOT 3
- Register Directive Error HOT 3
- nginx/1.7.0 and ironbee logging problem HOT 16
- ld command not picking boost libraries HOT 1
- centos 6.5 make errors out with error libironbee_la-core.lo HOT 12
- Ubuntu 14.04 error HOT 2
- Nginx with Ironbee rpms HOT 8
- Cannot find mod_ironbee.so
- Getting errors while executing the 'make' command
- Site dead? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ironbee.