On Thu, Apr 15, 2010 at 09:23:36AM -0400, Stephen Gallagher wrote:
Can we please come at this issue from the right direction? The reason that this is even being debated is because we learned of another program (certmonger) that is using INI files to store binary data.
THIS IS WRONG.
At this point I feel compelled to note that the data file is not an INI file. It looks vaguely like an INI file because tagging the data stored therein with a field name makes it easier to add and remove fields from the data file as functionality gets added. There are no sections. Earlier versions didn't even bother tagging the data.
This is not an appropriate use-case for the INI file format, and is not an example to follow. For storing binary data, there are plenty of more sensible formats, such as yaml. In the particular case of certmonger, an SQLite database or other small embedded DB would be a much better idea. This is not my project, so it's not my concern.
I'll elaborate.
One of the main goals was (and is) to avoid dragging new dependencies onto a system beyond what sssd already pulls in (this is the main reason it uses tevent rather than glib, despite my being more familiar with glib at the time -- xmlrpc-c came later). I recall we talked about LDB at the time, but we didn't have usable packages of it in Raw Hide that week.
I'm happy to entertain conversations about other storage methods (it's been listed as a possible to-do item for _months_), but I'd rather do that on the certmonger list. (I know, nobody's posted there yet, but hey, that means you can even use "First!" as a subject.)
Cheers,
Nalin