~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/session.cc

  • Committer: Brian Aker
  • Date: 2009-03-25 22:52:34 UTC
  • mfrom: (934.2.28 small-cleanups)
  • Revision ID: brian@tangent.org-20090325225234-2ewmv7ma3kh858jk
Merge with Jay

Show diffs side-by-side

added added

removed removed

Lines of Context:
236
236
  dbug_sentry=Session_SENTRY_MAGIC;
237
237
  net.vio= 0;
238
238
  client_capabilities= 0;                       // minimalistic client
239
 
  system_thread= NON_SYSTEM_THREAD;
240
239
  cleanup_done= abort_on_warning= no_warnings_for_error= false;
241
240
  peer_port= 0;                                 // For SHOW PROCESSLIST
242
241
  transaction.on= 1;
540
539
  if (mysys_var)
541
540
  {
542
541
    pthread_mutex_lock(&mysys_var->mutex);
543
 
    if (!system_thread)         // Don't abort locks
544
 
      mysys_var->abort=1;
545
542
    /*
546
543
      This broadcast could be up in the air if the victim thread
547
544
      exits the cond in the time between read and broadcast, but that is
660
657
 
661
658
  lex_start(this);
662
659
 
663
 
  bool connection_is_valid= check_connection();
 
660
  bool connection_is_valid= _checkConnection();
664
661
  drizzleclient_net_end_statement(this);
665
662
 
666
663
  if (! connection_is_valid)
667
664
  {     
668
 
    /* We got wrong permissions from check_connection() */
 
665
    /* We got wrong permissions from _checkConnection() */
669
666
    statistic_increment(aborted_connects, &LOCK_status);
670
667
    return false;
671
668
  }
676
673
  return true;
677
674
}
678
675
 
679
 
bool Session::check_connection()
 
676
bool Session::_checkConnection()
680
677
{
681
678
  uint32_t pkt_len= 0;
682
679
  char *end;
716
713
    int4store((unsigned char*) end, thread_id);
717
714
    end+= 4;
718
715
    /*
719
 
      So as check_connection is the only entry point to authorization
 
716
      So as _checkConnection is the only entry point to authorization
720
717
      procedure, scramble is set here. This gives us new scramble for
721
718
      each handshake.
722
719
    */
839
836
 
840
837
  security_ctx.user.assign(user);
841
838
 
842
 
  return check_user(passwd, passwd_len, l_db);
 
839
  return checkUser(passwd, passwd_len, l_db);
843
840
}
844
841
 
845
 
bool Session::check_user(const char *passwd, uint32_t passwd_len, const char *in_db)
 
842
bool Session::checkUser(const char *passwd, uint32_t passwd_len, const char *in_db)
846
843
{
847
844
  LEX_STRING db_str= { (char *) in_db, in_db ? strlen(in_db) : 0 };
848
845
  bool is_authenticated;