diff --git a/man/resolvectl.xml b/man/resolvectl.xml
index ed656b48d7..303aa93291 100644
--- a/man/resolvectl.xml
+++ b/man/resolvectl.xml
@@ -495,6 +495,16 @@
+
+
+
+
+ Do not query the user for authentication for privileged operations.
+
+
+
+
+
diff --git a/shell-completion/bash/resolvectl b/shell-completion/bash/resolvectl
index 344eaad973..5f2102ccba 100644
--- a/shell-completion/bash/resolvectl
+++ b/shell-completion/bash/resolvectl
@@ -38,7 +38,7 @@ _resolvectl() {
[STANDALONE]='-h --help --version -4 -6 --legend=no --cname=no
--validate=no --synthesize=no --cache=no --relax-single-label=no --zone=no
--trust-anchor=no --network=no --service-address=no
- --service-txt=no --search=no --stale-data=no --no-pager'
+ --service-txt=no --search=no --stale-data=no --no-pager --no-ask-password'
[ARG]='-t --type -c --class -i --interface -p --protocol --raw --json'
)
local -A VERBS=(
diff --git a/shell-completion/zsh/_resolvectl b/shell-completion/zsh/_resolvectl
index 4ca469adcf..c779f73ff3 100644
--- a/shell-completion/zsh/_resolvectl
+++ b/shell-completion/zsh/_resolvectl
@@ -94,4 +94,6 @@ _arguments \
'--search=[Do not use search domains]:BOOL:(yes no)' \
'--raw=[Dump the answer as binary data]:RAW:(payload packet)' \
'--json=[Output as JSON]:JSON:(pretty short off)' \
+ '--no-pager[Do not pipe output into a pager]' \
+ '--no-ask-password[Do not prompt for password]' \
'*::default: _resolvectl_commands'
diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
index 1f7eb9acdb..a759f9af07 100644
--- a/src/resolve/resolvectl.c
+++ b/src/resolve/resolvectl.c
@@ -3352,6 +3352,7 @@ static int native_help(void) {
" -h --help Show this help\n"
" --version Show package version\n"
" --no-pager Do not pipe output into a pager\n"
+ " --no-ask-password Do not prompt for password\n"
" -4 Resolve IPv4 addresses\n"
" -6 Resolve IPv6 addresses\n"
" -i --interface=INTERFACE Look on interface\n"
@@ -3724,6 +3725,7 @@ static int native_parse_argv(int argc, char *argv[]) {
ARG_RAW,
ARG_SEARCH,
ARG_NO_PAGER,
+ ARG_NO_ASK_PASSWORD,
ARG_JSON,
ARG_STALE_DATA,
ARG_RELAX_SINGLE_LABEL,
@@ -3749,6 +3751,7 @@ static int native_parse_argv(int argc, char *argv[]) {
{ "raw", optional_argument, NULL, ARG_RAW },
{ "search", required_argument, NULL, ARG_SEARCH },
{ "no-pager", no_argument, NULL, ARG_NO_PAGER },
+ { "no-ask-password", no_argument, NULL, ARG_NO_ASK_PASSWORD },
{ "json", required_argument, NULL, ARG_JSON },
{ "stale-data", required_argument, NULL, ARG_STALE_DATA },
{ "relax-single-label", required_argument, NULL, ARG_RELAX_SINGLE_LABEL },
@@ -3949,6 +3952,10 @@ static int native_parse_argv(int argc, char *argv[]) {
arg_pager_flags |= PAGER_DISABLE;
break;
+ case ARG_NO_ASK_PASSWORD:
+ arg_ask_password = false;
+ break;
+
case ARG_JSON:
r = parse_json_argument(optarg, &arg_json_format_flags);
if (r <= 0)