Skip to content
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

ACME: Can't start or display in system>>startup menu #25957

Open
JKSTAFF opened this issue Feb 12, 2025 · 0 comments
Open

ACME: Can't start or display in system>>startup menu #25957

JKSTAFF opened this issue Feb 12, 2025 · 0 comments

Comments

@JKSTAFF
Copy link

JKSTAFF commented Feb 12, 2025

Describe the bug

ACME can't start in new install without previous config

# /etc/init.d/acme start
/etc/rc.common: eval: line 107: syntax error: unterminated quoted string

Also acme dosn't appear in luci system>>startup menu

New acme setting is:

config acme
        option account_email '[email protected]'
        option debug '0'

config cert 'site'
        option enabled '1'
        list domains 'my.domain.cc'
        option validation_method 'dns'
        option dns 'dns_cf'
        option staging '0'
        option key_type 'rsa2048'
        list credentials 'CF_Email="[email protected]"'
        list credentials 'CF_Key="my_cf_key"'

What's in /etc/rc.common:

#!/bin/sh
# Copyright (C) 2006-2012 OpenWrt.org

. $IPKG_INSTROOT/lib/functions.sh
. $IPKG_INSTROOT/lib/functions/service.sh

initscript=$1
action=${2:-help}
shift 2

start() {
        return 0
}

stop() {
        return 0
}

reload() {
        restart
}

restart() {
        trap '' TERM
        stop "$@"
        trap - TERM
        start "$@"
}

boot() {
        start "$@"
}

shutdown() {
        stop
}

disable() {
        name="$(basename "${initscript}")"
        rm -f "$IPKG_INSTROOT"/etc/rc.d/S??$name
        rm -f "$IPKG_INSTROOT"/etc/rc.d/K??$name
}

enable() {
        err=1
        name="$(basename "${initscript}")"
        [ "$START" ] && \
                ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" && \
                err=0
        [ "$STOP" ] && \
                ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}" && \
                err=0
        return $err
}

enabled() {
        name="$(basename "${initscript}")"
        name="${name##[SK][0-9][0-9]}"
        {
                [ -z "${START:-}" ] || [ -L "$IPKG_INSTROOT/etc/rc.d/S${START}$name" ]
        } && {
                [ -z "${STOP:-}" ] || [ -L "$IPKG_INSTROOT/etc/rc.d/K${STOP}$name" ]
        }
}

depends() {
        return 0
}

ALL_HELP=""
ALL_COMMANDS="boot shutdown depends"
extra_command() {
        local cmd="$1"
        local help="$2"

        local extra="$(printf "%-16s%s" "${cmd}" "${help}")"
        ALL_HELP="${ALL_HELP}\t${extra}\n"
        ALL_COMMANDS="${ALL_COMMANDS} ${cmd}"
}

help() {
        cat <<EOF
Syntax: $initscript [command]

Available commands:
EOF
        echo -e "$ALL_HELP"
}

# for procd
start_service() {
        return 0
}

stop_service() {
        return 0
}

service_triggers() {
        return 0
}

service_running() {
        local instance="${1:-*}"

        procd_running "$(basename $initscript)" "$instance"
}

${INIT_TRACE:+set -x}

extra_command "start" "Start the service"
extra_command "stop" "Stop the service"
extra_command "restart" "Restart the service"
extra_command "reload" "Reload configuration files (or restart if service does not implement reload)"
extra_command "enable" "Enable service autostart"
extra_command "disable" "Disable service autostart"
extra_command "enabled" "Check if service is started on boot"

. "$initscript"

[ -n "$USE_PROCD" ] && {
        extra_command "running" "Check if service is running"
        extra_command "status" "Service status"
        extra_command "trace" "Start with syscall trace"
        extra_command "info" "Dump procd service info"

        . $IPKG_INSTROOT/lib/functions/procd.sh
        basescript=$(readlink "$initscript")
        rc_procd() {
                local method="set"
                [ -n "$2" ] && method="add"
                procd_open_service "$(basename ${basescript:-$initscript})" "$initscript"
                "$@"
                procd_close_service "$method"
        }

        start() {
                rc_procd start_service "$@"
                if eval "type service_started" 2>/dev/null >/dev/null; then
                        service_started
                fi
        }

        trace() {
                TRACE_SYSCALLS=1
                start "$@"
        }

        info() {
                json_init
                json_add_string name "$(basename ${basescript:-$initscript})"
                json_add_boolean verbose "1"
                _procd_ubus_call list
        }

        stop() {
                procd_lock
                stop_service "$@"
                procd_kill "$(basename ${basescript:-$initscript})" "$1"
                if eval "type service_stopped" 2>/dev/null >/dev/null; then
                        service_stopped
                fi
        }

        reload() {
                if eval "type reload_service" 2>/dev/null >/dev/null; then
                        procd_lock
                        reload_service "$@"
                else
                        start
                fi
        }

        running() {
                service_running "$@"
        }

        status() {
                if eval "type status_service" 2>/dev/null >/dev/null; then
                        status_service "$@"
                else
                        _procd_status "$(basename ${basescript:-$initscript})" "$1"
                fi
        }
}

ALL_COMMANDS="${ALL_COMMANDS} ${EXTRA_COMMANDS}"
ALL_HELP="${ALL_HELP}${EXTRA_HELP}"
list_contains ALL_COMMANDS "$action" || action=help
$action "$@"

OpenWrt version

r28449-f47125f664

OpenWrt release

24.10-SNAPSHOT

OpenWrt target/subtarget

mediatek/filogic

Device

Bananapi BPI-R3

Image kind

Official repository build with packages:

acme	4.0.0
acme-acmesh	3.0.7-r2
acme-acmesh-dnsapi	3.0.7-r2
acme-common	1.4.0
luci-app-acme	25.037.68331~42f464c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant