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