Skip to content

Commit 3796890

Browse files
committed
Reverted back to original ifelse
Signed-off-by: Melvin Suter <github@damon.ch>
1 parent bc46dac commit 3796890

1 file changed

Lines changed: 21 additions & 19 deletions

File tree

lib/smb.php

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -41,26 +41,28 @@ private function tryAuthentication($uid, $password) {
4141
$password = escapeshellarg($password);
4242
$command = self::SMBCLIENT.' '.escapeshellarg('//' . $this->host . '/dummy').' -U '.$uidEscaped.'%'.$password;
4343
$lastline = exec($command, $output, $retval);
44-
45-
if ( $retval === 0 || strpos($lastline, 'NT_STATUS_BAD_NETWORK_NAME') !== false ) {
46-
return $uid;
47-
} else {
48-
switch($retval) {
49-
case 127:
50-
OC::$server->getLogger()->error(
51-
'ERROR: smbclient executable missing',
52-
['app' => 'user_external']
53-
);
54-
break;
55-
default:
56-
OC::$server->getLogger()->error(
57-
'ERROR: smbclient error: ' . trim($lastline),
58-
['app' => 'user_external']
59-
);
60-
break;
61-
62-
}
44+
if ($retval === 127) {
45+
OC::$server->getLogger()->error(
46+
'ERROR: smbclient executable missing',
47+
['app' => 'user_external']
48+
);
49+
return false;
50+
} else if (strpos($lastline, self::LOGINERROR) !== false) {
51+
//normal login error
6352
return false;
53+
} else if (strpos($lastline, 'NT_STATUS_BAD_NETWORK_NAME') !== false) {
54+
//login on minor error
55+
goto login;
56+
} else if ($retval !== 0) {
57+
//some other error
58+
OC::$server->getLogger()->error(
59+
'ERROR: smbclient error: ' . trim($lastline),
60+
['app' => 'user_external']
61+
);
62+
return false;
63+
} else {
64+
login:
65+
return $uid;
6466
}
6567
}
6668

0 commit comments

Comments
 (0)