I'd like to override one setting for a master service in
conf.d/10-master.conf. Unfortunately, said setting contains spaces, and I
do not know how to escape them properly.

Here's what I've tried so far. (Note: This is just the easiest/silliest
test case I could come up with; not the actual setting or service I want to
overwrite.)


conf.d/10-master.conf:
service quota-status {
  executable = quota-status -p postfix -o plugin/quota_status_success=Testing 1 
2 3
  inet_listener {
    port = 12340
  }
}

Reaction:
$ printf "recipient=t...@example.org\nsize=0\n\n" | nc 127.0.0.1 12340
action=Testing


conf.d/10-master.conf:
service quota-status {
  executable = quota-status -p postfix -o "plugin/quota_status_success=Testing 
1 2 3"
  inet_listener {
    port = 12340
  }
}

Reaction:
$ printf "recipient=t...@example.org\nsize=0\n\n" | nc 127.0.0.1 12340
action=DUNNO [<-- This is the default setting]


conf.d/10-master.conf:
service quota-status {
  executable = quota-status -p postfix -o 'plugin/quota_status_success=Testing 
1 2 3'
  inet_listener {
    port = 12340
  }
}

Reaction:
$ printf "recipient=t...@example.org\nsize=0\n\n" | nc 127.0.0.1 12340
action=DUNNO [<-- This is the default setting]


conf.d/10-master.conf:
service quota-status {
  executable = quota-status -p postfix -o plugin/quota_status_success="Testing 
1 2 3"
  inet_listener {
    port = 12340
  }
}

Reaction:
$ printf "recipient=t...@example.org\nsize=0\n\n" | nc 127.0.0.1 12340
action="Testing [<-- Note the " after = ]


conf.d/10-master.conf:
service quota-status {
  executable = quota-status -p postfix -o plugin/quota_status_success=Testing\ 
1\ 2\ 3
  inet_listener {
    port = 12340
  }
}

Reaction:
$ printf "recipient=t...@example.org\nsize=0\n\n" | nc 127.0.0.1 12340
action=Testing\ [<-- Note the \ ]


I'm out of ideas now. What's the correct way to quote / escape these
options?

Reply via email to