don't insert unnecessary linebreaks upon PassCmd invocation
the PassCmd will be typically non-interactive (or it will use a gui password agent), so starting a new line just makes the progress counter uglier. so make it configurable and default to no line break.
This commit is contained in:
parent
ba2b42ec9b
commit
95276cd967
|
@ -1723,13 +1723,18 @@ ensure_user( imap_server_conf_t *srvc )
|
|||
static const char *
|
||||
ensure_password( imap_server_conf_t *srvc )
|
||||
{
|
||||
if (srvc->pass_cmd) {
|
||||
char *cmd = srvc->pass_cmd;
|
||||
|
||||
if (cmd) {
|
||||
FILE *fp;
|
||||
int ret;
|
||||
char buffer[80];
|
||||
|
||||
flushn();
|
||||
if (!(fp = popen( srvc->pass_cmd, "r" ))) {
|
||||
if (*cmd == '+') {
|
||||
flushn();
|
||||
cmd++;
|
||||
}
|
||||
if (!(fp = popen( cmd, "r" ))) {
|
||||
pipeerr:
|
||||
sys_error( "Skipping account %s, password command failed", srvc->name );
|
||||
return 0;
|
||||
|
|
|
@ -288,11 +288,14 @@ If neither a password nor a password command is specified in the
|
|||
configuration file, \fBmbsync\fR will prompt you for a password.
|
||||
..
|
||||
.TP
|
||||
\fBPassCmd\fR \fIcommand\fR
|
||||
\fBPassCmd\fR [\fB+\fR]\fIcommand\fR
|
||||
Specify a shell command to obtain a password rather than specifying a
|
||||
password directly. This allows you to use password files and agents.
|
||||
The command must produce exactly one line on stdout; the trailing newline is
|
||||
optional.
|
||||
Prepend \fB+\fR to the command to indicate that it produces TTY output
|
||||
(e.g., a decryption password prompt); failure to do so will merely produce
|
||||
messier output.
|
||||
..
|
||||
.TP
|
||||
\fBTunnel\fR \fIcommand\fR
|
||||
|
|
Loading…
Reference in New Issue
Block a user