/home/limesurvey.shnoulle.net/www/application/core/plugins/AuthLDAP/AuthLDAP.php(359)
347 } 348 349 $connectionSuccessful = ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, $ldapver); 350 if (!$connectionSuccessful) { 351 return array("errorCode" => 1, "errorMessage" => gT('Error creating LDAP connection')); 352 } 353 ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, $ldapoptreferrals); 354 355 // Apply TLS only if ldaps is not used - you can use either SSL or TLS - both does not work 356 // TLS also requires LDAPv3 357 if (!empty($ldaptls) && $ldaptls == '1' && $ldapver == 3 && preg_match("/^ldaps:\/\//", $ldapserver) === 0) { 358 // starting TLS secure layer 359 if (!ldap_start_tls($ldapconn)) { 360 ldap_unbind($ldapconn); // Could not properly connect, unbind everything. 361 return array("errorCode" => 100, 'errorMessage' => ldap_error($ldapconn)); 362 } 363 } 364 365 return $ldapconn; 366 } 367 368 public function beforeLogin() 369 { 370 if ($this->get('is_default', null, null, false) == true) { 371 // This is configured to be the default login method
#0 |
+
–
/home/limesurvey.shnoulle.net/www/application/core/plugins/AuthLDAP/AuthLDAP.php(359): ldap_start_tls(resource) 354 355 // Apply TLS only if ldaps is not used - you can use either SSL or TLS - both does not work 356 // TLS also requires LDAPv3 357 if (!empty($ldaptls) && $ldaptls == '1' && $ldapver == 3 && preg_match("/^ldaps:\/\//", $ldapserver) === 0) { 358 // starting TLS secure layer 359 if (!ldap_start_tls($ldapconn)) { 360 ldap_unbind($ldapconn); // Could not properly connect, unbind everything. 361 return array("errorCode" => 100, 'errorMessage' => ldap_error($ldapconn)); 362 } 363 } 364 |
#1 |
+
–
/home/limesurvey.shnoulle.net/www/application/core/plugins/AuthLDAP/AuthLDAP.php(482): AuthLDAP->createConnection() 477 $bindpwd = $this->get('bindpwd'); 478 $groupsearchbase = $this->get('groupsearchbase'); 479 $groupsearchfilter = $this->get('groupsearchfilter'); 480 481 // Try to connect 482 $ldapconn = $this->createConnection(); 483 if ($ldapconn === false) { 484 $this->setAuthFailure($ldapconn['errorCode'], gT($ldapconn['errorMessage'])); 485 return; 486 } 487 |
#2 |
unknown(0): AuthLDAP->newUserSession()
|
#3 |
+
–
/home/limesurvey.shnoulle.net/www/application/libraries/PluginManager/PluginManager.php(269): call_user_func(array(AuthLDAP, "newUserSession")) 264 if ( 265 !$event->isStopped() 266 && (empty($target) || in_array(get_class($subscription[0]), $target)) 267 ) { 268 $subscription[0]->setEvent($event); 269 call_user_func($subscription); 270 } 271 } 272 } 273 274 return $event; |
#4 |
+
–
/home/limesurvey.shnoulle.net/www/application/core/LSUserIdentity.php(73): LimeSurvey\PluginManager\PluginManager->dispatchEvent(LimeSurvey\PluginManager\PluginEvent) 68 $result->setError(self::ERROR_UNKNOWN_HANDLER); 69 } else { 70 // Delegate actual authentication to plugin 71 $authEvent = new PluginEvent('newUserSession', $this); // TODO: rename the plugin function authenticate() 72 $authEvent->set('identity', $this); 73 App()->getPluginManager()->dispatchEvent($authEvent); 74 $pluginResult = $authEvent->get('result'); 75 if ($pluginResult instanceof LSAuthResult) { 76 $result = $pluginResult; 77 } else { 78 $result->setError(self::ERROR_UNKNOWN_IDENTITY); |
#5 |
+
–
/home/limesurvey.shnoulle.net/www/application/controllers/admin/Authentication.php(163): LSUserIdentity->authenticate() 158 159 // Now authenticate 160 // This call LSUserIdentity::authenticate() (application/core/LSUserIdentity.php)) 161 // which will call the plugin function newUserSession() (eg: Authdb::newUserSession() ) 162 // TODO: for sake of clarity, the plugin function should be renamed to authenticate(). 163 if ($identity->authenticate()) { 164 FailedLoginAttempt::model()->deleteAttempts(FailedLoginAttempt::TYPE_LOGIN); 165 App()->user->setState('plugin', $authMethod); 166 167 Yii::app()->session['just_logged_in'] = true; 168 Yii::app()->session['loginsummary'] = self::getSummary(); |
#6 |
+
–
/home/limesurvey.shnoulle.net/www/application/controllers/admin/Authentication.php(47): Authentication::prepareLogin() 42 } 43 // The page should be shown only for non logged in users 44 $this->redirectIfLoggedIn(); 45 46 // Result can be success, fail or data for template 47 $result = self::prepareLogin(); 48 49 $isAjax = isset($_GET['ajax']) && $_GET['ajax'] == 1; 50 $succeeded = isset($result[0]) && $result[0] == 'success'; 51 $failed = isset($result[0]) && $result[0] == 'failed'; 52 |
#7 |
unknown(0): Authentication->index()
|
#8 |
+
–
/home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/actions/CAction.php(115): ReflectionMethod->invokeArgs(Authentication, array()) 110 elseif($param->isDefaultValueAvailable()) 111 $ps[]=$param->getDefaultValue(); 112 else 113 return false; 114 } 115 $method->invokeArgs($object,$ps); 116 return true; 117 } 118 } |
#9 |
+
–
/home/limesurvey.shnoulle.net/www/application/core/SurveyCommonAction.php(83): CAction->runWithParamsInternal(Authentication,
ReflectionMethod, array("r" => "admin/authentication/sa/login", "sa"
=> "login", "sAction" => "login")) 78 $oMethod = new ReflectionMethod($this, $sDefault); 79 } 80 81 // We're all good to go, let's execute it 82 // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params 83 return parent::runWithParamsInternal($this, $oMethod, $params); 84 } 85 86 /** 87 * Some functions have different parameters, which are just an alias of the 88 * usual parameters we're getting in the url. This function just populates |
#10 |
+
–
/home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CController.php(308): SurveyCommonAction->runWithParams(array("r" => "admin/authentication/sa/login", "sa" => "login", "sAction" => "login")) 303 { 304 $priorAction=$this->_action; 305 $this->_action=$action; 306 if($this->beforeAction($action)) 307 { 308 if($action->runWithParams($this->getActionParams())===false) 309 $this->invalidActionParams($action); 310 else 311 $this->afterAction($action); 312 } 313 $this->_action=$priorAction; |
#11 |
+
–
/home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CController.php(286): CController->runAction(Authentication) 281 * @see runAction 282 */ 283 public function runActionWithFilters($action,$filters) 284 { 285 if(empty($filters)) 286 $this->runAction($action); 287 else 288 { 289 $priorAction=$this->_action; 290 $this->_action=$action; 291 CFilterChain::create($this,$action,$filters)->run(); |
#12 |
+
–
/home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CController.php(265): CController->runActionWithFilters(Authentication, array()) 260 { 261 if(($parent=$this->getModule())===null) 262 $parent=Yii::app(); 263 if($parent->beforeControllerAction($this,$action)) 264 { 265 $this->runActionWithFilters($action,$this->filters()); 266 $parent->afterControllerAction($this,$action); 267 } 268 } 269 else 270 $this->missingAction($actionID); |
#13 |
+
–
/home/limesurvey.shnoulle.net/www/application/controllers/AdminController.php(202): CController->run("authentication") 197 } 198 199 $this->runModuleController($action); 200 201 202 return parent::run($action); 203 } 204 205 /** 206 * Starting with LS4, 3rd party developer can extends any of the LimeSurve controllers. 207 * |
#14 |
+
–
/home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CWebApplication.php(282): AdminController->run("authentication") 277 { 278 list($controller,$actionID)=$ca; 279 $oldController=$this->_controller; 280 $this->_controller=$controller; 281 $controller->init(); 282 $controller->run($actionID); 283 $this->_controller=$oldController; 284 } 285 else 286 throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".', 287 array('{route}'=>$route===''?$this->defaultController:$route))); |
#15 |
+
–
/home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CWebApplication.php(141): CWebApplication->runController("admin/authentication/sa/login") 136 foreach(array_splice($this->catchAllRequest,1) as $name=>$value) 137 $_GET[$name]=$value; 138 } 139 else 140 $route=$this->getUrlManager()->parseUrl($this->getRequest()); 141 $this->runController($route); 142 } 143 144 /** 145 * Registers the core application components. 146 * This method overrides the parent implementation by registering additional core components. |
#16 |
+
–
/home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/base/CApplication.php(185): CWebApplication->processRequest() 180 public function run() 181 { 182 if($this->hasEventHandler('onBeginRequest')) 183 $this->onBeginRequest(new CEvent($this)); 184 register_shutdown_function(array($this,'end'),0,false); 185 $this->processRequest(); 186 if($this->hasEventHandler('onEndRequest')) 187 $this->onEndRequest(new CEvent($this)); 188 } 189 190 /** |
#17 |
+
–
/home/limesurvey.shnoulle.net/www/index.php(192): CApplication->run() 187 require_once APPPATH . 'core/LSYii_Application' . EXT; 188 189 $config = require_once(APPPATH . 'config/internal' . EXT); 190 191 Yii::$enableIncludePath = false; 192 Yii::createApplication('LSYii_Application', $config)->run(); 193 194 /* End of file index.php */ 195 /* Location: ./index.php */ |
Application Log | ||||
---|---|---|---|---|
Timestamp | Level | Category | Message | |
12:08:30.221682 | error | php | ldap_start_tls(): Unable to start TLS: Protocol error (/home/limesurvey.shnoulle.net/www/application/core/plugins/AuthLDAP/AuthLDAP.php:359) Stack trace: #0 /home/limesurvey.shnoulle.net/www/application/core/plugins/AuthLDAP/AuthLDAP.php(359): ldap_start_tls() #1 /home/limesurvey.shnoulle.net/www/application/core/plugins/AuthLDAP/AuthLDAP.php(482): AuthLDAP->createConnection() #2 unknown(0): AuthLDAP->newUserSession() #3 /home/limesurvey.shnoulle.net/www/application/libraries/PluginManager/PluginManager.php(269): call_user_func() #4 /home/limesurvey.shnoulle.net/www/application/core/LSUserIdentity.php(73): LimeSurvey\PluginManager\PluginManager->dispatchEvent() #5 /home/limesurvey.shnoulle.net/www/application/controllers/admin/Authentication.php(163): LSUserIdentity->authenticate() #6 /home/limesurvey.shnoulle.net/www/application/controllers/admin/Authentication.php(47): prepareLogin() #7 unknown(0): Authentication->index() #8 /home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/actions/CAction.php(115): ReflectionMethod->invokeArgs() #9 /home/limesurvey.shnoulle.net/www/application/core/SurveyCommonAction.php(83): Authentication->runWithParamsInternal() #10 /home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CController.php(308): Authentication->runWithParams() #11 /home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CController.php(286): AdminController->runAction() #12 /home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CController.php(265): AdminController->runActionWithFilters() #13 /home/limesurvey.shnoulle.net/www/application/controllers/AdminController.php(202): AdminController->run() #14 /home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CWebApplication.php(282): AdminController->run() #15 /home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/web/CWebApplication.php(141): LSYii_Application->runController() #16 /home/limesurvey.shnoulle.net/www/third_party/yiisoft/yii/framework/base/CApplication.php(185): LSYii_Application->processRequest() #17 /home/limesurvey.shnoulle.net/www/index.php(192): LSYii_Application->run() REQUEST_URI=/index.php?r=admin/authentication/sa/login |