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]