-
Notifications
You must be signed in to change notification settings - Fork 2.8k
luci-ssl: make crypto lib generic #6251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Instead of a hard dependency, only require some crypto lib to be there. This simplifies upgrading while staying with the sames packages, i.e. using something like `auc` to upgrade the image without swichting the underlying crypto libary. Signed-off-by: Paul Spooren <mail@aparcar.org>
|
related openwrt/openwrt#12032 |
|
Having a generic libustream dependency would be nice, sure, but it is not quite that simple. The goal should still be to avoid installing two or more SSL libraries. Changing the OpenWrt default SSL lib happens maybe once per 3-5 years, so the problem tried to be solved here does not happen that often. It is a drawback / weakness / design fault of auc/attendedsysupgrade that it takes applies the (possibly changed) current defaults and also takes all installed packages, leading to possible conflict. |
Do you have a better idea how to solve that? I'm happy to implement server/client logic but couldn't come up with a clean solution |
|
No clear answer, but I think that the problem is wider than just ustreamssl and related. But my instinct is that with reasonable effort something could be done for the "usual suspects", to which I count at least wpad/hostapd ssl variants, ustreamssl variants and firewall. Could the logic be something like:
firewall3-firewall4 transition (from 19.07 or 21.02 onwards? ) might also need to be handled somehow, or otherwise the future builds will keep including some old iptables related modules (as they were included in the old one). Some kind of firewall3 detection and notification to the user? (The user probably doesn't now the ip/ipt/kmods related, so the question is more problematic) In general, this is the same weakness as our .config in general: there is no real way of knowing why a package has been included. If user first adds A that depends on B, then removes A from config, B will remain included. It is easy to accumulate unnecessary crust into the build if testing various packages, or the defaults/dependencies change. (I always start my own builds from a short recipe .config to avoid including old dependencies.) |
|
I wonder if for "default" users we should abstract the stuff away that is transparent to them anyway. Like we could depend on "firewall" and pick whatever OPKG suits best, not specifically firewall3 or firewall4. Same for wpad, we can just generically depend on it pull in whatever versions seems best. For libustream-ssl we have the default to mbedtls, so if I want to it generic, I ask to install luci-ssl which pulls in libustream-ssl which defaults to libustream-mbedtls. If I want OpenSSL for everything, I'd better say please install libustream-openssl specifically plus the generic luci-ssl. |
|
@jow- do you have an opinion here? |
|
@aparcar: What is the status of this PR? |
Instead of a hard dependency, only require some crypto lib to be there. This simplifies upgrading while staying with the sames packages, i.e. using something like
aucto upgrade the image without swichting the underlying crypto libary.DRAF: package libustream-ssl doesn't exists yet.