<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rsyslog.git/plugins/omoracle, branch v5.7.4</title>
<subtitle>rsyslog development for Lumberjack - various unofficial and potentially rebased branches</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/'/>
<entry>
<title>Fix a potential missing '\0' on too long strings.</title>
<updated>2010-11-30T15:05:23+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2010-11-30T12:04:58+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=0b18c17b2850152203ce9db648ce06212ab67157'/>
<id>0b18c17b2850152203ce9db648ce06212ab67157</id>
<content type='text'>
By implementing a trivial strlcpy it's much easier to detect string
truncations and react to them. This also gives a noticeable speedup in
buffer handling (can be HUGE), since strlcpy() doesn't clear all the
buffer entry before writing data.

Converted all uses of strncpy() into strlcpy().

Also, we don't need to check for some null pointers, as there are no
malloc-like operations in the doAction loop.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By implementing a trivial strlcpy it's much easier to detect string
truncations and react to them. This also gives a noticeable speedup in
buffer handling (can be HUGE), since strlcpy() doesn't clear all the
buffer entry before writing data.

Converted all uses of strncpy() into strlcpy().

Also, we don't need to check for some null pointers, as there are no
malloc-like operations in the doAction loop.
</pre>
</div>
</content>
</entry>
<entry>
<title>Give even better output</title>
<updated>2009-11-12T13:46:09+00:00</updated>
<author>
<name>Luis Fernando Munoz Mejias</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-11-12T13:46:09+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=f5676115b54cb9620cc5092a898d83531f22b502'/>
<id>f5676115b54cb9620cc5092a898d83531f22b502</id>
<content type='text'>
Tell which statement is failing, which element in the batch, and give
its details.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tell which statement is failing, which element in the batch, and give
its details.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve the debug messages</title>
<updated>2009-11-12T13:45:05+00:00</updated>
<author>
<name>Luis Fernando Munoz Mejias</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-11-12T13:45:05+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=774fdc6c799e9671c8e0eac5271a83a3f8fb4646'/>
<id>774fdc6c799e9671c8e0eac5271a83a3f8fb4646</id>
<content type='text'>
Improve traceability while testing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Improve traceability while testing.
</pre>
</div>
</content>
</entry>
<entry>
<title>Debug output to find out a crash</title>
<updated>2009-11-12T13:44:30+00:00</updated>
<author>
<name>Luis Fernando Munoz Mejias</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-11-12T13:44:30+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=4be35fbc60c94ee504f5a0428270b59d8438c9f4'/>
<id>4be35fbc60c94ee504f5a0428270b59d8438c9f4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Report errors when OCI_SUCCESS_WITH_INFO happens</title>
<updated>2009-11-12T13:43:44+00:00</updated>
<author>
<name>Luis Fernando Munoz Mejias</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-11-12T13:43:44+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=54672aa273f3fa19435e1c300f258ec6059745d8'/>
<id>54672aa273f3fa19435e1c300f258ec6059745d8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve the handling of OCI_SUCCESS_WITH_INFO.</title>
<updated>2009-11-12T13:40:30+00:00</updated>
<author>
<name>Luis Fernando Munoz Mejias</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-11-12T13:40:30+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=4ed50bb87466ecaba05e6fc53892926997120c18'/>
<id>4ed50bb87466ecaba05e6fc53892926997120c18</id>
<content type='text'>
Stop considering it as an error, and make it display the information
from the Oracle server.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stop considering it as an error, and make it display the information
from the Oracle server.
</pre>
</div>
</content>
</entry>
<entry>
<title>doc</title>
<updated>2009-11-12T13:37:14+00:00</updated>
<author>
<name>Luis Fernando Munoz Mejias</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-11-12T13:37:14+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=d06b63272d9d5eb568201026bfd42be2be845b18'/>
<id>d06b63272d9d5eb568201026bfd42be2be845b18</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>If the server disconnects the handle is no longer valid and we need to</title>
<updated>2009-11-12T13:34:55+00:00</updated>
<author>
<name>Luis Fernando Munoz Mejias</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-11-12T13:34:55+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=cc50b6824e21d9ebb3491bbd4c6d7d8f09be9657'/>
<id>cc50b6824e21d9ebb3491bbd4c6d7d8f09be9657</id>
<content type='text'>
call tryResume(), so we have to return RS_RET_SUSPENDED. Otherwise, we
may keep losing messages until rsyslog is restarted.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
call tryResume(), so we have to return RS_RET_SUSPENDED. Otherwise, we
may keep losing messages until rsyslog is restarted.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make it recover from errors on insertions.</title>
<updated>2009-04-29T15:10:19+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-28T19:14:53+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=9823c73d1d07e50e6bec7f7c02c88d61d6955526'/>
<id>9823c73d1d07e50e6bec7f7c02c88d61d6955526</id>
<content type='text'>
If the database rejected some entry, making the statement fail on it,
the batch was not cleaned and the same values were retried over and
over, causing a cascade of failures and a denial of service.

We use now OCI_BATCH_ERRORS so that everything valid in the batch is
inserted, and rejected values can be discarded.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the database rejected some entry, making the statement fail on it,
the batch was not cleaned and the same values were retried over and
over, causing a cascade of failures and a denial of service.

We use now OCI_BATCH_ERRORS so that everything valid in the batch is
inserted, and rejected values can be discarded.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace get_db_statement by a template.</title>
<updated>2009-04-29T15:10:00+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-28T19:14:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=c35ce31aed4d873ed9564332374fbf82d7ff187d'/>
<id>c35ce31aed4d873ed9564332374fbf82d7ff187d</id>
<content type='text'>
Instead of reading a complete line, we'll use a template and delegate
in the core to read such template. Then, all omoracle has to do is to
find that template and use it as the prepared statement.

I'm not sure if this is the correct approach, though. It has to dig
too much into rsyslog's structures...

txt_statement is stored in a private area, so that we don't mess too
much with rsyslog's internals (I still don't feel comfortable with
this much digging into template structures).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of reading a complete line, we'll use a template and delegate
in the core to read such template. Then, all omoracle has to do is to
find that template and use it as the prepared statement.

I'm not sure if this is the correct approach, though. It has to dig
too much into rsyslog's structures...

txt_statement is stored in a private area, so that we don't mess too
much with rsyslog's internals (I still don't feel comfortable with
this much digging into template structures).
</pre>
</div>
</content>
</entry>
</feed>
