Roberto C. Sánchez wrote:
* The configuration file is in XML so netupdown can handle sophisticated configuration. Editing the XML the configuration by hand or by software will be easy and comfortable.
Forgive me, but "yeah right!"  Have you ever actually edited XML by
hand?  Try tweaking a build.xml or some other suitably complex XML
document and you will think differently.  Basically, if your XML is so
simple that it can be edited by hand, your needs are such that it is
better handled without XML.  If your needs are such that you actually
require XML, then what you end up with is too complex to edit by hand.
I agree that a "suitably complex XML" is hard to edit by a simple editing tool such as vim-tiny, but even a sophisticated networking configuration isn't as complex as build.xml, I hope. And this software package is intended to handle computers with quite sophisticated network configuration, so it should be configured using a web based software, and I will release the configurator as well. This software doesn't have the ambition to replace ifupdown, but to solve the problems ifupdown can not, and stays being compatible with ifupdown.
In this case, the configuration is as easy as:
<interface name="fpt1" type="ppp">
<ppp type="pppoe" options="" depend_on="tap1" username="***" password="***"/>
 <network id="11" name="FPT1" auto="1"/>
</interface>
This is supposed to be easy to read and easy to edit by hand?  It seems
to me that a properly commented normal text configuration file would be
much more appropriate to the task.  I will not even comment on the rest
of your examples, except to say that the "Swiss Army Knife" approach is
certainly not in the *nix tradition.
I do not have time to review the code right now.  However, the abuse of
XML that you call a configuration file really needs to be fixed
In this software, XML is just a tool, it's totally separated from the main code. There is a script parsing the configuration and generating an equivalent Perl structure, and store it /var/run (caching mechanism), the primary code eval() that piece of code to import the configuration before running, so I may throw away the XML file and replace it with traditional conf format.


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to