Quellcode durchsuchen

Handle view only password in vncpasswd filter mode

tags/v1.8.90
Pierre Ossman vor 6 Jahren
Ursprung
Commit
e58fcb99b0
2 geänderte Dateien mit 18 neuen und 5 gelöschten Zeilen
  1. 15
    5
      unix/vncpasswd/vncpasswd.cxx
  2. 3
    0
      unix/vncpasswd/vncpasswd.man

+ 15
- 5
unix/vncpasswd/vncpasswd.cxx Datei anzeigen

@@ -67,18 +67,28 @@ static char* getpassword(const char* prompt) {
return 0;
}

// Reads password from stdin and prints encrypted password to stdout.
// Reads passwords from stdin and prints encrypted passwords to stdout.
static int encrypt_pipe() {
char *result = getpassword(NULL);
if (result) {
int i;

// We support a maximum of two passwords right now
for (i = 0;i < 2;i++) {
char *result = getpassword(NULL);
if (!result)
break;

ObfuscatedPasswd obfuscated(result);
if (fwrite(obfuscated.buf, obfuscated.length, 1, stdout) != 1) {
fprintf(stderr,"Writing to stdout failed\n");
return 1;
}
return 0;
}
else return 1;

// Did we fail to produce even one password?
if (i == 0)
return 1;

return 0;
}

static ObfuscatedPasswd* readpassword() {

+ 3
- 0
unix/vncpasswd/vncpasswd.man Datei anzeigen

@@ -32,6 +32,9 @@ Filter mode. Read a plain-text password from stdin and write an encrypted
version to stdout. Note that in filter mode, short or even empty passwords
will be silently accepted.

A view-only password must be separated from the normal password by a newline
character.


.SH FILES
.TP

Laden…
Abbrechen
Speichern