Custom Software & More!

Category Archives: Consulting

Consulting in software or hardware

Windows SysLog Server

An old customer has asked for an update to my windows syslog server.  Specifically, they asked that one of the “rules” be to call a function in a dll

At first, I thought this would be an easy job.   It soon spiraled into depths I couldn’t have imagined (although I should have).   The problem is you have to declare what parameters are going to be passed to a function.   With the syslog packet, there are several (8+) items of data; which could be in any order… 

So, with the realization I couldn’t do this directly in code, I thought “I’ll embed Lua scripting & dynamically write a script to call the dll” — so I added Lua, and this worked.  Unfortunately, I hadn’t investigated the important bit: Can lua call dll’s?   The answer is, yes, but not easily, unless the dll’s are written specifically to be called from Lua.

OK, so the end result is: I am finalizing the specification for syslog dll writers (in other words, I am not going to allow a free-for-all type function/parameter format).  While this is not what the customer wanted, it’s the best I can offer them.  AND I added lua scripting as an action to rule processing (something the customer doesn’t care about).

The customer paid for the dll change, but I said I would hold that back for a few months before releasing it publicly; but the Lua changes are almost ready to release, so that means you can write a dll for lua and call it.

Now, the big question: Does anyone care?  Does anyone want a low-resource-use, rule-based processing/filtering of packets syslog server for windows?    If people want it, I’ll push on with Lua, and work on a simplified DLL rule/action and document it.   

If no one does, I’ll just leave the changes as “custom work” and leave it out of the existing server (which, as far as I was concerned, was at end of life; I only resurrected it because I was paid to make the change)… 

Please contact me to let me know your thoughts.