openwrt / openwrt/packages

ddns-scripts: Handling of HTTP updates (without encryption)

Open
#27,940 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Currently there are 52 services shipped by default that are using HTTP URLs by default (vs. 18 that use HTTPS):

grep -ril "http://" | wc -l
52
grep -ril "https://" | wc -l
18

As noted in another issue by @Ansuel this is inconsistent and potentially an issue regarding dependencies (wget / curl with SSL/TLS support and ca-certificates are needed, which makes the required flash size bigger).

However, default settings are important ("tyranny of defaults") and shipping insecure default settings is a bad idea.

My suggestion is as follows:

1.) Require SSL support for ddns-scripts.
2.) Re-evaluate all default settings and check if HTTPS endpoints are available. If so, change the URL to the HTTPS endpoint. If not, drop the service, so it's not shipped by default.

If someone still wants to use HTTP, the URL can still be set manually, but at least we would not configure it by default.

Optionally / alternatively a new (meta) package could be created (e.g. ddns-scripts-nossl) that will pull in all of the non-https services. In this case, however, a warning should be shown (at least in LUCI) that credetials are being sent over an insecure channel.

Obviously this is a change that will affect some users, so let's discuss this first.

I'm happy to work on this and provide a pull request, etc., but would like to first get an alignment and/or start a discussion.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the ddns-scripts service definitions and package dependency metadata, then inventory the default HTTP and HTTPS endpoints mentioned in the issue. Review the implications for default settings and the optional LuCI warning. Done means reaching agreement on the scope and documenting which services, dependencies, and defaults should change.

Written by the indexing model from the issue text.

Assessment

Domain
networking, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.