mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Removed the useless argument key
from dyndns_subscribe
This commit is contained in:
parent
7deb3b3492
commit
4f303de7a4
2 changed files with 17 additions and 25 deletions
|
@ -603,9 +603,6 @@ domain:
|
||||||
help: Full domain to subscribe with
|
help: Full domain to subscribe with
|
||||||
extra:
|
extra:
|
||||||
pattern: *pattern_domain
|
pattern: *pattern_domain
|
||||||
-k:
|
|
||||||
full: --key
|
|
||||||
help: Public DNS key
|
|
||||||
-p:
|
-p:
|
||||||
full: --password
|
full: --password
|
||||||
nargs: "?"
|
nargs: "?"
|
||||||
|
@ -1480,9 +1477,6 @@ dyndns:
|
||||||
help: Full domain to subscribe with ( deprecated, use 'yunohost domain dyndns subscribe' instead )
|
help: Full domain to subscribe with ( deprecated, use 'yunohost domain dyndns subscribe' instead )
|
||||||
extra:
|
extra:
|
||||||
pattern: *pattern_domain
|
pattern: *pattern_domain
|
||||||
-k:
|
|
||||||
full: --key
|
|
||||||
help: Public DNS key
|
|
||||||
-p:
|
-p:
|
||||||
full: --password
|
full: --password
|
||||||
nargs: "?"
|
nargs: "?"
|
||||||
|
|
|
@ -86,13 +86,12 @@ def _dyndns_available(domain):
|
||||||
|
|
||||||
|
|
||||||
@is_unit_operation()
|
@is_unit_operation()
|
||||||
def dyndns_subscribe(operation_logger, domain=None, key=None, password=None):
|
def dyndns_subscribe(operation_logger, domain=None, password=None):
|
||||||
"""
|
"""
|
||||||
Subscribe to a DynDNS service
|
Subscribe to a DynDNS service
|
||||||
|
|
||||||
Keyword argument:
|
Keyword argument:
|
||||||
domain -- Full domain to subscribe with
|
domain -- Full domain to subscribe with
|
||||||
key -- TSIG Shared DNS key
|
|
||||||
password -- Password that will be used to delete the domain
|
password -- Password that will be used to delete the domain
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -133,29 +132,28 @@ def dyndns_subscribe(operation_logger, domain=None, key=None, password=None):
|
||||||
# '1234' is idk? doesnt matter, but the old format contained a number here...
|
# '1234' is idk? doesnt matter, but the old format contained a number here...
|
||||||
key_file = f"/etc/yunohost/dyndns/K{domain}.+165+1234.key"
|
key_file = f"/etc/yunohost/dyndns/K{domain}.+165+1234.key"
|
||||||
|
|
||||||
if key is None:
|
if not os.path.exists("/etc/yunohost/dyndns"):
|
||||||
if not os.path.exists("/etc/yunohost/dyndns"):
|
os.makedirs("/etc/yunohost/dyndns")
|
||||||
os.makedirs("/etc/yunohost/dyndns")
|
|
||||||
|
|
||||||
logger.debug(m18n.n("dyndns_key_generating"))
|
logger.debug(m18n.n("dyndns_key_generating"))
|
||||||
|
|
||||||
# Here, we emulate the behavior of the old 'dnssec-keygen' utility
|
# Here, we emulate the behavior of the old 'dnssec-keygen' utility
|
||||||
# which since bullseye was replaced by ddns-keygen which is now
|
# which since bullseye was replaced by ddns-keygen which is now
|
||||||
# in the bind9 package ... but installing bind9 will conflict with dnsmasq
|
# in the bind9 package ... but installing bind9 will conflict with dnsmasq
|
||||||
# and is just madness just to have access to a tsig keygen utility -.-
|
# and is just madness just to have access to a tsig keygen utility -.-
|
||||||
|
|
||||||
# Use 512 // 8 = 64 bytes for hmac-sha512 (c.f. https://git.hactrn.net/sra/tsig-keygen/src/master/tsig-keygen.py)
|
# Use 512 // 8 = 64 bytes for hmac-sha512 (c.f. https://git.hactrn.net/sra/tsig-keygen/src/master/tsig-keygen.py)
|
||||||
secret = base64.b64encode(os.urandom(512 // 8)).decode("ascii")
|
secret = base64.b64encode(os.urandom(512 // 8)).decode("ascii")
|
||||||
|
|
||||||
# Idk why but the secret is split in two parts, with the first one
|
# Idk why but the secret is split in two parts, with the first one
|
||||||
# being 57-long char ... probably some DNS format
|
# being 57-long char ... probably some DNS format
|
||||||
secret = f"{secret[:56]} {secret[56:]}"
|
secret = f"{secret[:56]} {secret[56:]}"
|
||||||
|
|
||||||
key_content = f"{domain}. IN KEY 0 3 165 {secret}"
|
key_content = f"{domain}. IN KEY 0 3 165 {secret}"
|
||||||
write_to_file(key_file, key_content)
|
write_to_file(key_file, key_content)
|
||||||
|
|
||||||
chmod("/etc/yunohost/dyndns", 0o600, recursive=True)
|
chmod("/etc/yunohost/dyndns", 0o600, recursive=True)
|
||||||
chown("/etc/yunohost/dyndns", "root", recursive=True)
|
chown("/etc/yunohost/dyndns", "root", recursive=True)
|
||||||
|
|
||||||
import requests # lazy loading this module for performance reasons
|
import requests # lazy loading this module for performance reasons
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue