Yes, I understand your point too, about what you said about the build servers.
But you have to understand mine regarding this small modification of the code I request. A good integration of modules like luci-app-attended-sysupgrade
or auc
in the general philosophy of OpenWrt would require, according to me, that every extension of that kind generating traffic over the internet can be configured to use a specific interface. It is already the case for most of the well implemented modules in OpenWrt, and due to the importance of the update system, it worth it doing it. There is no security issue here, there is just a better integration, more simple configurations, with less dependencies on other parts of the system.
But as attended-sysupgrade
is a key element for OpenWrt security, it's not just a fancy extension module, it is worth it doing some more efforts according to me.
You have to understand that OpenWrt is out last line of defence when it is have secure routing in our networks. This project is very useful for so many targeted users like I am, and I think, beside my personal case, that as a crypto-anarchist it is important to remind our community to keep the highest standards as possible, not only in terms of security, design, but also of simplicity in configuring strong simple and explicit configurations, and with their corresponding user interfaces with LuCI or CLI.
This improvement I am requesting is aiming as making secure configurations of attended-sysupgrade
more easy to implement in a strictly explicit way, and it makes it also easier to use it when we are in complex network setups as mines are.
If I had more decision power or influence in OpenWrt, I would request all modules / extensions developers or integrators into OpenWrt to always add a dropdown menu in LuCI, and its equivalent in CLI, so that when such modules needs to communicate over the internet, an interface could be configured, as it was done for Usteer
or the SSH Client
: Here, it is a matter of harmony in the integration of extensions to OpenWrt, it is a matter of regularity or constance in the way such extensions can easily be safely and knowingly configured.
These points are important points to maintain a coherent whole, and it is important for less skilled users or new users to OpenWrt to ensure they understand well their configurations and their consequences. Hidden or indirect mechanisms based on linux kernel properties and functionalities (Like adding routes manually, or playing with metrics) to handle such issues are, according to me to be avoided the best we can. And I insist that in any case, adding a route or playing with metrics provide a less perfect result, a less safe and explicit configuration, than directly specifying OpenWrt interfaces for specific modules/extensions that need to generate traffic over the internet, or between routers. Many developers would agree with me it is important to maintain harmony and coherency here, for less advanced or skilled users.
This reminds me the begining of iOS and iPhone, where many developpers were raging at the fact that Apple was forcing them to respect a few standards, including for their application user interface and its flow. If they did that, it was clearly in the end to make the whole ecosystem more coherent and usable for most users, and actually it was a good thing. Later on, Apple has given developers more freedom in this regard, but many non-computer friendly users where lost in those user interfaces that where all very different, and the global usability of the iPhone ecosystem decreased somehow a lot.
OpenWrt is a very nice thing, and it is unique in its kind to help us maintain safe networks, I would find it a waste to lower our standards at all levels.
It's important to keep systems coherent and uniform in terms of configuration philosophy, it maintains clarity, simplicity, over the way we configure them, and this is important for many users that are not skilled sysadmins or who are newcomers to OpenWrt.
Complexity is the enemy. Always.
Kind regards,
Frederic.