diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2007-10-18 16:17:32 +0000 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2007-10-18 16:17:32 +0000 |
commit | 601393acd7fcd4446b57314cb070cfd17abda2ee (patch) | |
tree | ef64f976a7d56da9e80cd8358f6d3e1ca74e5445 /doc/modules.html | |
parent | ff24062577a7adf0da08d1770e7194d7801a5648 (diff) | |
download | rsyslog-601393acd7fcd4446b57314cb070cfd17abda2ee.tar.gz rsyslog-601393acd7fcd4446b57314cb070cfd17abda2ee.tar.xz rsyslog-601393acd7fcd4446b57314cb070cfd17abda2ee.zip |
added doc fixes provided by Michael Biebl - thanks
Diffstat (limited to 'doc/modules.html')
-rw-r--r-- | doc/modules.html | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/doc/modules.html b/doc/modules.html index df2d4409..92887508 100644 --- a/doc/modules.html +++ b/doc/modules.html @@ -23,7 +23,7 @@ However, this goal is not yet reached and all modules must be statically linked. <h2>Module "generation"</h2> <p>There is a lot of plumbing that is always the same in all modules. For example, the interface definitions, answering function pointer queries and such. -To get rid of these laborous things, I generate most of them automatically from +To get rid of these laborious things, I generate most of them automatically from a single file. This file is named module-template.h. It also contains the current best description of the interface "specification".</p> <p>One thing that can also be achieved with it is the capability to cope with a @@ -32,7 +32,7 @@ Currently, it is far from being finished. As I moved the monolithic code to modules, I needed (and still need) to make many "non-clean" code hacks, just to get it working. These things are now gradually being removed. However, this requires frequent changes to the interfaces, as things move in and out while -working torwards a clean interface. All the interim is necessary to reach the +working towards a clean interface. All the interim is necessary to reach the goal. This volatility of specifications is the number one reasons I currently advise against implementing your own modules (hint: if you do, be sure to use module-template.h and be prepared to fix newly appearing and disappearing data @@ -40,7 +40,7 @@ elements).</p> <h2>Naming Conventions</h2> <h3>Source</h3> <p>Output modules, and only output modules, should start with a file name of -"om" (e.g. "omfile.c", "omshell.c"). Similarily, input modules will use "im" and +"om" (e.g. "omfile.c", "omshell.c"). Similarly, input modules will use "im" and filter modules "fm". The third character shall not be a hyphen.</p> <h2>Module Security</h2> <p>Modules are directly loaded into rsyslog's address space. As such, any module @@ -51,19 +51,19 @@ security is to run only code that you know you can trust.</p> <p>To minimize the security risks associated with modules, rsyslog provides only the most minimalistic access to data structures to its modules. For that reason, the output modules do not receive any direct pointers to the selector_t -structure, the syslogd action structurs and - most importantly - the msg +structure, the syslogd action structures and - most importantly - the msg structure itself. Access to these structures would enable modules to access data that is none of their business, creating a potential security weakness.</p> <p>Not having access to these structures also simplifies further queueing and error handling cases. As we do not need to provide e.g. full access to the msg object itself, we do not need to serialize and cache it. Instead, strings needed by the module are created by syslogd and then the final result is provided to -the module. That, for example, means that in a queueed case $NOW is the actual +the module. That, for example, means that in a queued case $NOW is the actual timestamp of when the message was processed, which may be even days before it being dequeued. Think about it: If we wouldn't cache the resulting string, $NOW -would be the actual date if the action were suspened and messages queued for +would be the actual date if the action were suspended and messages queued for some time. That could potentially result in big confusion.</p> -<p>It is thought that if an output modlue actually needs access to the while msg +<p>It is thought that if an output module actually needs access to the while msg object, we will (then) introduce a way to serialize it (e.g. to XML) in the property replacer. Then, the output module can work with this serialized object. The key point is that output modules never deal directly with msg objects (and @@ -92,4 +92,4 @@ no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be viewed at <a href="http://www.gnu.org/copyleft/fdl.html"> http://www.gnu.org/copyleft/fdl.html</a>.</p> </body> -</html>
\ No newline at end of file +</html> |