KDC Audit project
dpal at redhat.com
Mon Jan 14 20:44:44 EST 2013
On 01/14/2013 10:38 AM, Nico Williams wrote:
> On Mon, Jan 14, 2013 at 6:55 AM, Dmitri Pal <dpal at redhat.com> wrote:
>> This is nice but not exactly what I had in mind.
>> What is missing IMO is ability to combine objects into objects.
>> May be I am missing something but array or dictionary interfaces manage
>> objects but not objects themselves which does not allow for hierarchy
> Nested objects are fully supported. My JSON example was intended to
> show this. You thought that the JSON and dict stuff are completely
> distinct, but they are not: JSON bits is just a serialization.
If I am wrong do you have a code example to illustrate it?
Because I looked at the header and have not seen any place where you do
the type casting.
So I do not see a function or macro that will return you a
heim_object_tout of the heim_array_tand also would allow to look at the
object of heim_object_ttype and detect that it is actually an array.
Also I do not see the support of the KVP lists.
Here is an example of the code that I want to be able to execute.
If this is is something that can be done with this library great, if not
but a minor change need, also great, if there is a major chunk of work
then I would prefer something like json-c and BTW yes this is the right
event_t ev = NULL;
/* Construct event from different parts and pieces.
This shows several values that can be of basic types and then an
err = create_event(&ev, name1, format1, value1, name2, format2, value2);
err = add_to_event(ev, name3, format3, value3, name4, format4, value4);
err = create_array(&array);
err = add_element_to_array(array, data_to_add);
err = add_to_event(ev, name_array, format_array, array);
/* Call plugin interface */
err = log_event(ev);
Inside the plugin there will be something like this:
traverse_event(ev, my_callback, my_data)
this will traverse the event and allow the caller to examine
different parts of the event and transform it into whatever the
implementer needs: syslog call, message bus call, amqp message, database
insert statement, JSON, XML, CSV or something else.
While I see a lot of basic elements available in the library you provide
but I do not see the name value hierarchical management I am talking
ELAPI is very close to what I describe but it did not support arrays so
IMO JSON library is probably the safest bet off the shelf.
Which implementation? I do not know someone would need to research it more.
> You can have dicts and arrays as values in arrays and dicts. Heck,
> this even allows you to have dicts and arrays as keys of dicts (which
> JSON does not allow).
>> By a quick look it seems that a c-JSON like library would fit better.
>> If on the other hand you plan to add ability to construct nested objects
>> to the library then it would also solve the problem and make the library
>> very useful.
> Nested objects are already fully supported, with even more power than
> in in JS/JSON.
Sr. Engineering Manager for IdM portfolio
Red Hat Inc.
Looking to carve out IT costs?
More information about the krbdev