fixed password changing in tree view
This commit is contained in:
parent
a4fe603233
commit
78dda09764
|
@ -1107,32 +1107,9 @@ function get_enc_type( $user_password )
|
|||
/* Capture the stuff in the { } to determine if this is crypt, md5, etc. */
|
||||
$enc_type = null;
|
||||
if( preg_match( "/{([^}]+)}/", $user_password, $enc_type) )
|
||||
$enc_type = strtolower( $enc_type[1] );
|
||||
return $enc_type[1];
|
||||
else
|
||||
return null;
|
||||
|
||||
/* handle crypt types */
|
||||
if( 0 == strcasecmp( $enc_type, 'crypt') ) {
|
||||
$salt = null;
|
||||
if( preg_match( "/{[^}]+}\\$(.)\\$/", $user_password, $salt) )
|
||||
$salt = $salt[1];
|
||||
else
|
||||
$salt = null;
|
||||
switch( $salt ) {
|
||||
case '': // CRYPT_STD_DES
|
||||
$enc_type = "crypt";
|
||||
break;
|
||||
case '1': // CRYPT_MD5
|
||||
$enc_type = "md5crypt";
|
||||
break;
|
||||
case '2': // CRYPT_BLOWFISH
|
||||
$enc_type = "blowfish";
|
||||
break;
|
||||
default:
|
||||
$enc_type = "crypt";
|
||||
}
|
||||
}
|
||||
return $enc_type;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -341,7 +341,7 @@ foreach( $attrs as $attr => $vals ) {
|
|||
<input size="38"
|
||||
type="hidden"
|
||||
name="old_enc_type"
|
||||
value="<?php echo ($enc_type==''?'clear':$enc_type); ?>" />
|
||||
value="<?php echo ($enc_type==''?'PLAIN':$enc_type); ?>" />
|
||||
|
||||
<br />
|
||||
<input style="width: 260px"
|
||||
|
@ -350,14 +350,12 @@ foreach( $attrs as $attr => $vals ) {
|
|||
value="<?php echo htmlspecialchars( $user_password ); ?>" />
|
||||
|
||||
<select name="enc_type">
|
||||
<option>clear</option>
|
||||
<option<?php echo $enc_type=='crypt'?' selected="true"':''; ?>>crypt</option>
|
||||
<option<?php echo $enc_type=='md5'?' selected="true"':''; ?>>md5</option>
|
||||
<option<?php echo $enc_type=='smd5'?' selected="true"':''; ?>>smd5</option>
|
||||
<option<?php echo $enc_type=='md5crypt'?' selected="true"':''; ?>>md5crypt</option>
|
||||
<option<?php echo $enc_type=='blowfish'?' selected="true"':''; ?>>blowfish</option>
|
||||
<option<?php echo $enc_type=='sha'?' selected="true"':''; ?>>sha</option>
|
||||
<option<?php echo $enc_type=='ssha'?' selected="true"':''; ?>>ssha</option>
|
||||
<option>PLAIN</option>
|
||||
<option<?php echo $enc_type=='CRYPT'?' selected="true"':''; ?>>CRYPT</option>
|
||||
<option<?php echo $enc_type=='MD5'?' selected="true"':''; ?>>MD5</option>
|
||||
<option<?php echo $enc_type=='SMD5'?' selected="true"':''; ?>>SMD5</option>
|
||||
<option<?php echo $enc_type=='SHA'?' selected="true"':''; ?>>SHA</option>
|
||||
<option<?php echo $enc_type=='SSHA'?' selected="true"':''; ?>>SSHA</option>
|
||||
</select>
|
||||
|
||||
<br />
|
||||
|
|
|
@ -88,7 +88,7 @@ foreach( $old_values as $attr => $old_val )
|
|||
|
||||
// special case for userPassword attributes
|
||||
if( 0 == strcasecmp( $attr, 'userPassword' ) && $new_val != '' ) {
|
||||
$new_val = password_hash( $new_val, $_POST['enc_type'] );
|
||||
$new_val = pwd_hash($new_val, true, $_POST['enc_type'] );
|
||||
$password_already_hashed = true;
|
||||
}
|
||||
// special case for samba password
|
||||
|
@ -111,7 +111,7 @@ if( isset( $_POST['enc_type'] ) &&
|
|||
$_POST['enc_type'] != 'clear' &&
|
||||
$_POST['new_values']['userpassword'] != '' ) {
|
||||
|
||||
$new_password = password_hash( $_POST['new_values']['userpassword'], $_POST['enc_type'] );
|
||||
$new_password = pwd_hash( $_POST['new_values']['userpassword'], true, $_POST['enc_type'] );
|
||||
$update_array[ 'userpassword' ] = $new_password;
|
||||
}
|
||||
|
||||
|
@ -160,7 +160,7 @@ foreach( $update_array as $attr => $val ) {
|
|||
foreach( $old_values[ $attr ] as $v )
|
||||
echo nl2br( htmlspecialchars( $v ) ) . "<br />";
|
||||
else
|
||||
if( 0 == strcasecmp( $attr, 'userPassword' ) && ( obfuscate_password_display() || is_null( get_enc_type( $old_values[ $attr ] ) ) ) ) {
|
||||
if( 0 == strcasecmp( $attr, 'userPassword' ) && ( is_null( get_enc_type( $old_values[ $attr ] ) ) ) ) {
|
||||
echo preg_replace( '/./', '*', $old_values[ $attr ] ) . "<br />";
|
||||
}
|
||||
else {
|
||||
|
@ -190,7 +190,7 @@ foreach( $update_array as $attr => $val ) {
|
|||
}
|
||||
else
|
||||
if( $new_val != '' )
|
||||
if( 0 == strcasecmp( $attr, 'userPassword' ) && ( obfuscate_password_display() || is_null( get_enc_type( $new_values[ $attr ] ) ) ) ) {
|
||||
if( 0 == strcasecmp( $attr, 'userPassword' ) && ( is_null( get_enc_type( $new_values[ $attr ] ) ) ) ) {
|
||||
echo preg_replace( '/./', '*', $new_val ) . "<br />";
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Reference in New Issue