mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			162 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			162 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| -- source include/have_crypt.inc
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists t1;
 | |
| --enable_warnings
 | |
| 
 | |
| select length(encrypt('foo', 'ff')) <> 0;
 | |
| --replace_result $1$aa$4OSUA5cjdx0RUQ08opV27/ aaqPiZY5xR5l.
 | |
| 
 | |
| create table t1 (name varchar(50), pw varchar(64));
 | |
| insert into t1 values ('tom', password('my_pass'));
 | |
| set @pass='my_pass';
 | |
| select name from t1 where name='tom' and pw=password(@pass);
 | |
| select name from t1 where name='tom' and pw=password(@undefined);
 | |
| drop table t1;
 | |
| 
 | |
| # Test new and old password handling functions 
 | |
| 
 | |
| select password('abc');
 | |
| select password('');
 | |
| select old_password('abc');
 | |
| select old_password('');
 | |
| select password('gabbagabbahey');
 | |
| select old_password('idkfa');
 | |
| select length(password('1'));
 | |
| --replace_result 60 13
 | |
| select length(encrypt('test'));
 | |
| --replace_result  \$2a\$04\$aO....................ql.D6ROU4Byvysj72xrV1ZAkrMKS8I6 aaqPiZY5xR5l.
 | |
| select encrypt('test','aa');
 | |
| select old_password(NULL);
 | |
| select password(NULL);
 | |
| set global old_passwords=on;
 | |
| select password('');
 | |
| select old_password('');
 | |
| select password('idkfa');
 | |
| select old_password('idkfa');
 | |
| set old_passwords=on;
 | |
| select password('idkfa');
 | |
| select old_password('idkfa');
 | |
| set global old_passwords=off;
 | |
| select password('idkfa');
 | |
| select old_password('idkfa');
 | |
| 
 | |
| # this test shows that new scrambles honor spaces in passwords:
 | |
| set old_passwords=off;
 | |
| select password('idkfa ');
 | |
| select password('idkfa');
 | |
| select password(' idkfa');
 | |
| select old_password('idkfa');
 | |
| select old_password(' i 	 d k f a ');
 | |
| 
 | |
| explain extended select password('idkfa '), old_password('idkfa');
 | |
| 
 | |
| #
 | |
| # using encrypt & substring_index in view (Bug#7024)
 | |
| #
 | |
| CREATE VIEW v1 AS SELECT ENCRYPT("dhgdhgd");
 | |
| disable_result_log;
 | |
| SELECT * FROM v1;
 | |
| enable_result_log;
 | |
| drop view v1;
 | |
| CREATE VIEW v1 AS SELECT SUBSTRING_INDEX("dkjhgd:kjhdjh", ":", 1);
 | |
| SELECT * FROM v1;
 | |
| drop view v1;
 | |
| 
 | |
| #
 | |
| # Bug #13619: Crash on FreeBSD with salt like '_.'
 | |
| #
 | |
| --replace_column 1 #
 | |
| select encrypt('1234','_.');
 | |
| 
 | |
| # End of 4.1 tests
 | |
| 
 | |
| --echo #
 | |
| --echo # Bug #44767: invalid memory reads in password() and old_password() 
 | |
| --echo #             functions
 | |
| --echo #
 | |
| 
 | |
| CREATE TABLE t1(c1 MEDIUMBLOB);
 | |
| INSERT INTO t1 VALUES (REPEAT('a', 1024));
 | |
| SELECT OLD_PASSWORD(c1), PASSWORD(c1) FROM t1;
 | |
| DROP TABLE t1;
 | |
| 
 | |
| #
 | |
| # Bug#44365 valgrind warnings with encrypt() function
 | |
| #
 | |
| --disable_warnings
 | |
| drop table if exists t1;
 | |
| --enable_warnings
 | |
| create table t1 (f1 smallint(6) default null, f2  mediumtext character set utf8)
 | |
| engine=myisam default charset=latin1;
 | |
| insert into t1 values (null,'contraction\'s');
 | |
| insert into t1 values (-15818,'requirement\'s');
 | |
| --disable_result_log
 | |
| select encrypt(f1,f2) as a from t1,(select encrypt(f1,f2) as b from t1) a;
 | |
| --enable_result_log
 | |
| drop table t1;
 | |
| 
 | |
| --echo # End of 5.0 tests
 | |
| --echo #
 | |
| --echo # Start of 10.0 tests
 | |
| --echo #
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-10306 Wrong results with combination of CONCAT, SUBSTR and CONVERT in subquery
 | |
| --echo #
 | |
| 
 | |
| SET @save_optimizer_switch=@@optimizer_switch;
 | |
| SET optimizer_switch='derived_merge=on';
 | |
| # ENCRYPT() is not affected by MDEV-10306
 | |
| # It already uses tmp_value only for internal purposes and
 | |
| # returns the result in the String passed to val_str()
 | |
| CREATE TABLE t1 (t VARCHAR(32) CHARSET latin1);
 | |
| INSERT INTO t1 VALUES('abcdefghi');
 | |
| SELECT CONCAT(t2,'-',t2) c2 FROM (SELECT ENCRYPT(t,'aa') t2 FROM t1) sub;
 | |
| DROP TABLE t1;
 | |
| SET optimizer_switch=@save_optimizer_switch;
 | |
| 
 | |
| --echo #
 | |
| --echo # End of 10.0 tests
 | |
| --echo #
 | |
| 
 | |
| --echo #
 | |
| --echo # Start of 10.1 tests
 | |
| --echo #
 | |
| 
 | |
| --let func=password
 | |
| --source include/func_str_ascii_checksum.inc
 | |
| --let func=old_password
 | |
| --source include/func_str_ascii_checksum.inc
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-10864 Wrong result for WHERE .. (f2=COMPRESS('test') OR f2=COMPRESS('TEST'))
 | |
| --echo #
 | |
| 
 | |
| CREATE TABLE t1 (f1 VARCHAR(4), f2 VARCHAR(64), UNIQUE KEY k1 (f1,f2));
 | |
| INSERT INTO t1 VALUES ('test',encrypt('test','key')), ('TEST', encrypt('TEST','key'));
 | |
| SELECT f1 FROM t1 ignore index(k1) WHERE f1='test' AND (f2= encrypt('test','key') OR f2= encrypt('TEST','key'));
 | |
| SELECT f1 FROM t1                  WHERE f1='test' AND (f2= encrypt('test','key') OR f2= encrypt('TEST','key'));
 | |
| SELECT f1 FROM t1                  WHERE f1='test' AND (f2= encrypt('TEST','key') OR f2= encrypt('test','key'));
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --echo # Start of 10.2 tests
 | |
| 
 | |
| CREATE TABLE t1 (a VARCHAR(10), b VARCHAR(30) DEFAULT ENCRYPT(a,123));
 | |
| SHOW CREATE TABLE t1;
 | |
| INSERT INTO t1 (a) VALUES ('hello');
 | |
| SELECT * FROM t1;
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --echo # End of 10.2 tests
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-25778 Overrun buffer in to_string_native()
 | |
| --echo #
 | |
| 
 | |
| CREATE TABLE t1 (a DECIMAL(15,11) ZEROFILL);
 | |
| INSERT INTO t1 (a) VALUES (0.1),(0.2);
 | |
| SELECT length(ENCRYPT(a)) AS f, COUNT(*) FROM t1 GROUP BY f;
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --echo # End of 10.6 tests
 | 
