Commit 07fafa2b authored by tomas@whalegate.ndb.mysql.com's avatar tomas@whalegate.ndb.mysql.com
Browse files

Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1

into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
parents dbcd4d9e 7b101e48
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -527,6 +527,11 @@ void ProcessOldClientHello(input_buffer& input, SSL& ssl)
    input.read(len, sizeof(len));
    uint16 randomLen;
    ato16(len, randomLen);
    if (ch.suite_len_ > MAX_SUITE_SZ || sessionLen > ID_LEN ||
        randomLen > RAN_LEN) {
        ssl.SetError(bad_input);
        return;
    }

    int j = 0;
    for (uint16 i = 0; i < ch.suite_len_; i += 3) {    
+1 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ template void ysArrayDelete<unsigned char>(unsigned char*);
template void ysArrayDelete<char>(char*);

template int min<int>(int, int);
template uint16 min<uint16>(uint16, uint16);
template unsigned int min<unsigned int>(unsigned int, unsigned int);
template unsigned long min<unsigned long>(unsigned long, unsigned long);
}
+10 −1
Original line number Diff line number Diff line
@@ -621,6 +621,10 @@ void HandShakeHeader::Process(input_buffer& input, SSL& ssl)
    }

    uint len = c24to32(length_);
    if (len > input.get_remaining()) {
        ssl.SetError(bad_input);
        return;
    }
    hashHandShake(ssl, input, len);

    hs->set_length(len);
@@ -1391,10 +1395,15 @@ input_buffer& operator>>(input_buffer& input, ClientHello& hello)
    
    // Suites
    byte tmp[2];
    uint16 len;
    tmp[0] = input[AUTO];
    tmp[1] = input[AUTO];
    ato16(tmp, hello.suite_len_);
    ato16(tmp, len);

    hello.suite_len_ = min(len, static_cast<uint16>(MAX_SUITE_SZ));
    input.read(hello.cipher_suites_, hello.suite_len_);
    if (len > hello.suite_len_) // ignore extra suites
        input.set_current(input.get_current() + len -  hello.suite_len_);

    // Compression
    hello.comp_len_ = input[AUTO];
+1 −0
Original line number Diff line number Diff line
@@ -831,6 +831,7 @@ our @tags=
 ["include/have_ndb.inc", "ndb_test", 1],
 ["include/have_multi_ndb.inc", "ndb_test", 1],
 ["include/have_ndb_extra.inc", "ndb_extra", 1],
 ["include/ndb_master-slave.inc", "ndb_test", 1],
 ["require_manager", "require_manager", 1],
);

+11 −4
Original line number Diff line number Diff line
@@ -409,13 +409,20 @@ sub main () {
    {
      # use default and add any extra_suites as defined
      $opt_suites= $opt_suites_default;
      my $ddd= basename(dirname($glob_mysql_test_dir));
      my $ccc= dirname($glob_mysql_test_dir);
      my $found= 0;
      while (!$found and !($ccc eq "/") and !($ccc eq ""))
      {
	my $ddd= basename($ccc);
	foreach my $extra_suite (@extra_suites)
	{
	  if ($extra_suite->[0] eq "$ddd")
	  {
	    $opt_suites= "$extra_suite->[1],$opt_suites";
	    $found= 1;
	  }
	}
	$ccc= dirname($ccc);
      }
    }

Loading