View Issue Details

This bug affects 1 person(s).
 10
IDProjectCategoryView StatusLast Update
19856Bug reportsSurvey participants (Tokens)public2024-12-20 16:56
Reporterccoupeau Assigned Totibor.pacalat  
PrioritynoneSeverityblock 
Status ready for testingResolutionopen 
Product Version6.6.x 
Summary19856: Import LDAP - error 500 - ldap_set_option
Description

Hello,

I detected an error since version 6.6.8 when creating invitations from an LDAP request.

500 : Erreur interne au serveur - ldap_set_option(): supplied argument is not a valid ldap link resource

Problem also encountered on a test platform in version 6.8.1

cordially

Steps To Reproduce

Steps to reproduce

Go to Survey Menu -> Survey participant -> LDAP Query -> choose a query -> upload

Expected result

Survey Participant created

Actual result

500 : Erreur interne au serveur - ldap_set_option(): supplied argument is not a valid ldap link resource

(Write here what happened instead)

TagsNo tags attached.
Attached Files
PHP warning.html (39,432 bytes)   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0090)https://enquetes-test.univ-rennes1.fr/index.php/admin/tokens/sa/importldap/surveyid/312655 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>PHP warning</title>

<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}

body {
	font: normal 9pt "Verdana";
	color: #000;
	background: #fff;
}

h1 {
	font: normal 18pt "Verdana";
	color: #f00;
	margin-bottom: .5em;
}

h2 {
	font: normal 14pt "Verdana";
	color: #800000;
	margin-bottom: .5em;
}

h3 {
	font: bold 11pt "Verdana";
}

pre {
	font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;
}

pre span.error {
	display: block;
	background: #fce3e3;
}

pre span.ln {
	color: #999;
	padding-right: 0.5em;
	border-right: 1px solid #ccc;
}

pre span.error-ln {
	font-weight: bold;
}

.container {
	margin: 1em 4em;
}

.version {
	color: gray;
	font-size: 8pt;
	border-top: 1px solid #aaa;
	padding-top: 1em;
	margin-bottom: 1em;
}

.message {
	color: #000;
	padding: 1em;
	font-size: 11pt;
	background: #f3f3f3;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 1em;
	line-height: 160%;
}

.source {
	margin-bottom: 1em;
}

.code pre {
	background-color: #ffe;
	margin: 0.5em 0;
	padding: 0.5em;
	line-height: 125%;
	border: 1px solid #eee;
}

.source .file {
	margin-bottom: 1em;
	font-weight: bold;
}

.traces {
	margin: 2em 0;
}

.trace {
	margin: 0.5em 0;
	padding: 0.5em;
}

.trace.app {
	border: 1px dashed #c00;
}

.trace .number {
	text-align: right;
	width: 2em;
	padding: 0.5em;
}

.trace .content {
	padding: 0.5em;
}

.trace .plus,
.trace .minus {
	display:inline;
	vertical-align:middle;
	text-align:center;
	border:1px solid #000;
	color:#000;
	font-size:10px;
	line-height:10px;
	margin:0;
	padding:0 1px;
	width:10px;
	height:10px;
}

.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre {
	display: none;
}

.trace-file {
	cursor: pointer;
	padding: 0.2em;
}

.trace-file:hover {
	background: #f0ffff;
}
/*]]>*/
</style>
</head>

<body>
<div class="container">
	<h1>PHP warning</h1>

	<p class="message">
		Constant LDAP_OPT_DIAGNOSTIC_MESSAGE already defined	</p>

	<div class="source">
		<p class="file">/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/application/controllers/admin/Tokens.php(2132)</p>
		<div class="code"><pre><span class="ln">2120</span>                     $aData['invalidemailcount'] = $invalidemailcount;
<span class="ln">2121</span>                     $aData['resultnum'] = $resultnum;
<span class="ln">2122</span>                     $aData['xv'] = $xv;
<span class="ln">2123</span>                     $aData['xy'] = $xy;
<span class="ln">2124</span>                     $aData['xz'] = $xz;
<span class="ln">2125</span> 
<span class="ln">2126</span>                     $this-&gt;renderWrappedTemplate('token', array('ldappost'), $aData);
<span class="ln">2127</span>                 } else {
<span class="ln">2128</span>                     $aData['showCloseButton'] = true;
<span class="ln">2129</span>                     $aData['topBar']['rightSideView'] = 'tokensTopbarRight_view';
<span class="ln">2130</span> 
<span class="ln">2131</span>                     $sErrorMessage = ldap_error($ds);
<span class="error"><span class="ln error-ln">2132</span>                     define("LDAP_OPT_DIAGNOSTIC_MESSAGE", 0x0032);
</span><span class="ln">2133</span>                     if (ldap_get_option($ds, LDAP_OPT_DIAGNOSTIC_MESSAGE, $extended_error)) {
<span class="ln">2134</span>                         $sErrorMessage .= ' - ' . $extended_error;
<span class="ln">2135</span>                     }
<span class="ln">2136</span>                     $aData['sError'] = sprintf(gT("Can't bind to the LDAP directory. Error message: %s"), ldap_error($ds));
<span class="ln">2137</span>                     $this-&gt;renderWrappedTemplate('token', array('ldapform'), $aData);
<span class="ln">2138</span>                 }
<span class="ln">2139</span>                 try {
<span class="ln">2140</span>                     @ldap_close($ds);
<span class="ln">2141</span>                 } catch (Exception $e) {
<span class="ln">2142</span>                     // No handling needed
<span class="ln">2143</span>                 }
<span class="ln">2144</span>             } else {
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace core collapsed">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>Tokens</strong>-&gt;<strong>importldap</strong>(312655)				</div>

							</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#1			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/vendor/yiisoft/yii/framework/web/actions/CAction.php(114): <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(Tokens, array("312655"))				</div>

				<div class="code"><pre><span class="ln">109</span>             elseif($param-&gt;isDefaultValueAvailable())
<span class="ln">110</span>                 $ps[]=$param-&gt;getDefaultValue();
<span class="ln">111</span>             else
<span class="ln">112</span>                 return false;
<span class="ln">113</span>         }
<span class="error"><span class="ln error-ln">114</span>         $method-&gt;invokeArgs($object,$ps);
</span><span class="ln">115</span>         return true;
<span class="ln">116</span>     }
<span class="ln">117</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/application/core/SurveyCommonAction.php(83): <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(Tokens, ReflectionMethod, array("surveyid" =&gt; "312655", "sa" =&gt; "importldap", "iSurveyId" =&gt; "312655", "iSurveyID" =&gt; "312655", ...))				</div>

				<div class="code"><pre><span class="ln">78</span>             $oMethod = new ReflectionMethod($this, $sDefault);
<span class="ln">79</span>         }
<span class="ln">80</span> 
<span class="ln">81</span>         // We're all good to go, let's execute it
<span class="ln">82</span>         // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params
<span class="error"><span class="ln error-ln">83</span>         return parent::runWithParamsInternal($this, $oMethod, $params);
</span><span class="ln">84</span>     }
<span class="ln">85</span> 
<span class="ln">86</span>     /**
<span class="ln">87</span>      * Some functions have different parameters, which are just an alias of the
<span class="ln">88</span>      * usual parameters we're getting in the url. This function just populates
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/vendor/yiisoft/yii/framework/web/CController.php(308): <strong>SurveyCommonAction</strong>-&gt;<strong>runWithParams</strong>(array("surveyid" =&gt; "312655", "sa" =&gt; "importldap", "iSurveyId" =&gt; "312655", "iSurveyID" =&gt; "312655", ...))				</div>

				<div class="code"><pre><span class="ln">303</span>     {
<span class="ln">304</span>         $priorAction=$this-&gt;_action;
<span class="ln">305</span>         $this-&gt;_action=$action;
<span class="ln">306</span>         if($this-&gt;beforeAction($action))
<span class="ln">307</span>         {
<span class="error"><span class="ln error-ln">308</span>             if($action-&gt;runWithParams($this-&gt;getActionParams())===false)
</span><span class="ln">309</span>                 $this-&gt;invalidActionParams($action);
<span class="ln">310</span>             else
<span class="ln">311</span>                 $this-&gt;afterAction($action);
<span class="ln">312</span>         }
<span class="ln">313</span>         $this-&gt;_action=$priorAction;
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/vendor/yiisoft/yii/framework/web/CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(Tokens)				</div>

				<div class="code"><pre><span class="ln">281</span>      * @see runAction
<span class="ln">282</span>      */
<span class="ln">283</span>     public function runActionWithFilters($action,$filters)
<span class="ln">284</span>     {
<span class="ln">285</span>         if(empty($filters))
<span class="error"><span class="ln error-ln">286</span>             $this-&gt;runAction($action);
</span><span class="ln">287</span>         else
<span class="ln">288</span>         {
<span class="ln">289</span>             $priorAction=$this-&gt;_action;
<span class="ln">290</span>             $this-&gt;_action=$action;
<span class="ln">291</span>             CFilterChain::create($this,$action,$filters)-&gt;run();
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/vendor/yiisoft/yii/framework/web/CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(Tokens, array())				</div>

				<div class="code"><pre><span class="ln">260</span>         {
<span class="ln">261</span>             if(($parent=$this-&gt;getModule())===null)
<span class="ln">262</span>                 $parent=Yii::app();
<span class="ln">263</span>             if($parent-&gt;beforeControllerAction($this,$action))
<span class="ln">264</span>             {
<span class="error"><span class="ln error-ln">265</span>                 $this-&gt;runActionWithFilters($action,$this-&gt;filters());
</span><span class="ln">266</span>                 $parent-&gt;afterControllerAction($this,$action);
<span class="ln">267</span>             }
<span class="ln">268</span>         }
<span class="ln">269</span>         else
<span class="ln">270</span>             $this-&gt;missingAction($actionID);
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/application/controllers/AdminController.php(202): <strong>CController</strong>-&gt;<strong>run</strong>("tokens")				</div>

				<div class="code"><pre><span class="ln">197</span>         }
<span class="ln">198</span> 
<span class="ln">199</span>         $this-&gt;runModuleController($action);
<span class="ln">200</span> 
<span class="ln">201</span> 
<span class="error"><span class="ln error-ln">202</span>         return parent::run($action);
</span><span class="ln">203</span>     }
<span class="ln">204</span> 
<span class="ln">205</span>     /**
<span class="ln">206</span>      * Starting with LS4, 3rd party developer can extends any of the LimeSurve controllers.
<span class="ln">207</span>      *
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/vendor/yiisoft/yii/framework/web/CWebApplication.php(282): <strong>AdminController</strong>-&gt;<strong>run</strong>("tokens")				</div>

				<div class="code"><pre><span class="ln">277</span>         {
<span class="ln">278</span>             list($controller,$actionID)=$ca;
<span class="ln">279</span>             $oldController=$this-&gt;_controller;
<span class="ln">280</span>             $this-&gt;_controller=$controller;
<span class="ln">281</span>             $controller-&gt;init();
<span class="error"><span class="ln error-ln">282</span>             $controller-&gt;run($actionID);
</span><span class="ln">283</span>             $this-&gt;_controller=$oldController;
<span class="ln">284</span>         }
<span class="ln">285</span>         else
<span class="ln">286</span>             throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
<span class="ln">287</span>                 array('{route}'=&gt;$route===''?$this-&gt;defaultController:$route)));
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/vendor/yiisoft/yii/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("admin/tokens/sa/importldap")				</div>

				<div class="code"><pre><span class="ln">136</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$value)
<span class="ln">137</span>                 $_GET[$name]=$value;
<span class="ln">138</span>         }
<span class="ln">139</span>         else
<span class="ln">140</span>             $route=$this-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">141</span>         $this-&gt;runController($route);
</span><span class="ln">142</span>     }
<span class="ln">143</span> 
<span class="ln">144</span>     /**
<span class="ln">145</span>      * Registers the core application components.
<span class="ln">146</span>      * This method overrides the parent implementation by registering additional core components.
</pre></div>			</td>
		</tr>
						<tr class="trace core expanded">
			<td class="number">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/vendor/yiisoft/yii/framework/base/CApplication.php(185): <strong>CWebApplication</strong>-&gt;<strong>processRequest</strong>()				</div>

				<div class="code"><pre><span class="ln">180</span>     public function run()
<span class="ln">181</span>     {
<span class="ln">182</span>         if($this-&gt;hasEventHandler('onBeginRequest'))
<span class="ln">183</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="ln">184</span>         register_shutdown_function(array($this,'end'),0,false);
<span class="error"><span class="ln error-ln">185</span>         $this-&gt;processRequest();
</span><span class="ln">186</span>         if($this-&gt;hasEventHandler('onEndRequest'))
<span class="ln">187</span>             $this-&gt;onEndRequest(new CEvent($this));
<span class="ln">188</span>     }
<span class="ln">189</span> 
<span class="ln">190</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.1/index.php(161): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">156</span> require_once APPPATH . 'core/LSYii_Application' . EXT;
<span class="ln">157</span> 
<span class="ln">158</span> $config = require_once(APPPATH . 'config/internal' . EXT);
<span class="ln">159</span> 
<span class="ln">160</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">161</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">162</span> 
<span class="ln">163</span> /* End of file index.php */
<span class="ln">164</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2024-12-02 08:51:56 Apache/2 <a href="https://www.yiiframework.com/">Yii Framework</a>/1.1.30	</div>
</div>

<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");

var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
	if(traceReg.test(e[j].className)){
		e[j].onclick = function(){
			var trace = this.parentNode.parentNode;
			if(collapsedReg.test(trace.className))
				trace.className = trace.className.replace("collapsed", "expanded");
			else
				trace.className = trace.className.replace("expanded", "collapsed");
		}
	}
}
/*]]>*/
</script>




<table class="yiiLog" width="100%" cellpadding="2" style="border-spacing:1px;font:11px Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;color:#666666;">
	<tbody><tr>
		<th style="background:black;color:white;" colspan="6">
			Sommaire du rapport de profilage
			(Durée: 0.11982s,
			Memoire: 4,507KB)
		</th>
	</tr>
	<tr style="background-color: #ccc;">
	    <th>Fonction</th>
		<th>Nb</th>
		<th>Total (s)</th>
		<th>Moy. (s)</th>
		<th>Min. (s)</th>
		<th>Max. (s)</th>
	</tr>
	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_surveys_groupsettings`)</td>
		<td align="center">1</td>
		<td align="center">0.00281</td>
		<td align="center">0.00281</td>
		<td align="center">0.00281</td>
		<td align="center">0.00281</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_users`)</td>
		<td align="center">1</td>
		<td align="center">0.00269</td>
		<td align="center">0.00269</td>
		<td align="center">0.00269</td>
		<td align="center">0.00269</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_surveys`)</td>
		<td align="center">1</td>
		<td align="center">0.00495</td>
		<td align="center">0.00495</td>
		<td align="center">0.00495</td>
		<td align="center">0.00495</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_settings_global`)</td>
		<td align="center">1</td>
		<td align="center">0.00257</td>
		<td align="center">0.00257</td>
		<td align="center">0.00257</td>
		<td align="center">0.00257</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_settings_global`)</td>
		<td align="center">1</td>
		<td align="center">0.00074</td>
		<td align="center">0.00074</td>
		<td align="center">0.00074</td>
		<td align="center">0.00074</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT `t1`.`message` AS `message`, `t2`.`translation` AS `translation`
FROM `lime_source_message` `t1`, `lime_message` `t2`
WHERE t1.id=t2.id AND t1.category=:category AND t2.language=:language. Bound with :category='', :language='fr')</td>
		<td align="center">1</td>
		<td align="center">0.00124</td>
		<td align="center">0.00124</td>
		<td align="center">0.00124</td>
		<td align="center">0.00124</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_settings_global` `t`)</td>
		<td align="center">1</td>
		<td align="center">0.00109</td>
		<td align="center">0.00109</td>
		<td align="center">0.00109</td>
		<td align="center">0.00109</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_users` `t` WHERE `t`.`uid`=2 LIMIT 1)</td>
		<td align="center">2</td>
		<td align="center">0.00086</td>
		<td align="center">0.00043</td>
		<td align="center">0.00037</td>
		<td align="center">0.00049</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_users`)</td>
		<td align="center">1</td>
		<td align="center">0.00074</td>
		<td align="center">0.00074</td>
		<td align="center">0.00074</td>
		<td align="center">0.00074</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_users` `t` WHERE ((expires &gt; :now OR expires IS NULL) AND (user_status = :active)) AND (`t`.`uid`=2) LIMIT 1. Bound with :now='2024-12-02 08:51:56', :active='1')</td>
		<td align="center">1</td>
		<td align="center">0.00067</td>
		<td align="center">0.00067</td>
		<td align="center">0.00067</td>
		<td align="center">0.00067</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_plugins`)</td>
		<td align="center">1</td>
		<td align="center">0.00242</td>
		<td align="center">0.00242</td>
		<td align="center">0.00242</td>
		<td align="center">0.00242</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_surveys`)</td>
		<td align="center">1</td>
		<td align="center">0.00106</td>
		<td align="center">0.00106</td>
		<td align="center">0.00106</td>
		<td align="center">0.00106</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_templates`)</td>
		<td align="center">1</td>
		<td align="center">0.00171</td>
		<td align="center">0.00171</td>
		<td align="center">0.00171</td>
		<td align="center">0.00171</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_plugins` `t` WHERE `t`.`active`=:yp0 ORDER BY priority DESC. Bound with :yp0=1)</td>
		<td align="center">1</td>
		<td align="center">0.00075</td>
		<td align="center">0.00075</td>
		<td align="center">0.00075</td>
		<td align="center">0.00075</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_plugins`)</td>
		<td align="center">1</td>
		<td align="center">0.00069</td>
		<td align="center">0.00069</td>
		<td align="center">0.00069</td>
		<td align="center">0.00069</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_templates`)</td>
		<td align="center">1</td>
		<td align="center">0.00059</td>
		<td align="center">0.00059</td>
		<td align="center">0.00059</td>
		<td align="center">0.00059</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_surveys` `t` WHERE `t`.`sid`=312655 LIMIT 1)</td>
		<td align="center">1</td>
		<td align="center">0.00058</td>
		<td align="center">0.00058</td>
		<td align="center">0.00058</td>
		<td align="center">0.00058</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_templates` `t` WHERE `t`.`name`='UNIVRENNES_BLEU' LIMIT 1)</td>
		<td align="center">1</td>
		<td align="center">0.00043</td>
		<td align="center">0.00043</td>
		<td align="center">0.00043</td>
		<td align="center">0.00043</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_surveys_groupsettings`)</td>
		<td align="center">1</td>
		<td align="center">0.00068</td>
		<td align="center">0.00068</td>
		<td align="center">0.00068</td>
		<td align="center">0.00068</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_settings_global` `t` WHERE stg_name=:name LIMIT 1. Bound with :name='DBVersion')</td>
		<td align="center">1</td>
		<td align="center">0.00059</td>
		<td align="center">0.00059</td>
		<td align="center">0.00059</td>
		<td align="center">0.00059</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_surveys_groups`)</td>
		<td align="center">1</td>
		<td align="center">0.00161</td>
		<td align="center">0.00161</td>
		<td align="center">0.00161</td>
		<td align="center">0.00161</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_permissions`)</td>
		<td align="center">1</td>
		<td align="center">0.00198</td>
		<td align="center">0.00198</td>
		<td align="center">0.00198</td>
		<td align="center">0.00198</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT `t`.`gsid` AS `t0_c0`, `t`.`owner_id` AS `t0_c1`, `t`.`admin` AS `t0_c2`, `t`.`adminemail` AS `t0_c3`, `t`.`anonymized` AS `t0_c4`, `t`.`format` AS `t0_c5`, `t`.`savetimings` AS `t0_c6`, `t`.`template` AS `t0_c7`, `t`.`datestamp` AS `t0_c8`, `t`.`usecookie` AS `t0_c9`, `t`.`allowregister` AS `t0_c10`, `t`.`allowsave` AS `t0_c11`, `t`.`autonumber_start` AS `t0_c12`, `t`.`autoredirect` AS `t0_c13`, `t`.`allowprev` AS `t0_c14`, `t`.`printanswers` AS `t0_c15`, `t`.`ipaddr` AS `t0_c16`, `t`.`ipanonymize` AS `t0_c17`, `t`.`refurl` AS `t0_c18`, `t`.`showsurveypolicynotice` AS `t0_c19`, `t`.`publicstatistics` AS `t0_c20`, `t`.`publicgraphs` AS `t0_c21`, `t`.`listpublic` AS `t0_c22`, `t`.`htmlemail` AS `t0_c23`, `t`.`sendconfirmation` AS `t0_c24`, `t`.`tokenanswerspersistence` AS `t0_c25`, `t`.`assessments` AS `t0_c26`, `t`.`usecaptcha` AS `t0_c27`, `t`.`bounce_email` AS `t0_c28`, `t`.`attributedescriptions` AS `t0_c29`, `t`.`emailresponseto` AS `t0_c30`, `t`.`emailnotificationto` AS `t0_c31`, `t`.`tokenlength` AS `t0_c32`, `t`.`showxquestions` AS `t0_c33`, `t`.`showgroupinfo` AS `t0_c34`, `t`.`shownoanswer` AS `t0_c35`, `t`.`showqnumcode` AS `t0_c36`, `t`.`showwelcome` AS `t0_c37`, `t`.`showprogress` AS `t0_c38`, `t`.`questionindex` AS `t0_c39`, `t`.`navigationdelay` AS `t0_c40`, `t`.`nokeyboard` AS `t0_c41`, `t`.`alloweditaftercompletion` AS `t0_c42`, `SurveysGroups`.`gsid` AS `t1_c0`, `SurveysGroups`.`name` AS `t1_c1`, `SurveysGroups`.`title` AS `t1_c2`, `SurveysGroups`.`template` AS `t1_c3`, `SurveysGroups`.`description` AS `t1_c4`, `SurveysGroups`.`sortorder` AS `t1_c5`, `SurveysGroups`.`owner_id` AS `t1_c6`, `SurveysGroups`.`parent_id` AS `t1_c7`, `SurveysGroups`.`alwaysavailable` AS `t1_c8`, `SurveysGroups`.`created` AS `t1_c9`, `SurveysGroups`.`modified` AS `t1_c10`, `SurveysGroups`.`created_by` AS `t1_c11` FROM `lime_surveys_groupsettings` `t`  LEFT OUTER JOIN `lime_surveys_groups` `SurveysGroups` ON (`SurveysGroups`.`gsid`=`t`.`gsid`) WHERE (`t`.`gsid`=1))</td>
		<td align="center">1</td>
		<td align="center">0.00067</td>
		<td align="center">0.00067</td>
		<td align="center">0.00067</td>
		<td align="center">0.00067</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_template_configuration`)</td>
		<td align="center">1</td>
		<td align="center">0.00112</td>
		<td align="center">0.00112</td>
		<td align="center">0.00112</td>
		<td align="center">0.00112</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_permissions`)</td>
		<td align="center">1</td>
		<td align="center">0.00109</td>
		<td align="center">0.00109</td>
		<td align="center">0.00109</td>
		<td align="center">0.00109</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_user_in_permissionrole` `t` WHERE `t`.`uid`=:yp0. Bound with :yp0=2)</td>
		<td align="center">1</td>
		<td align="center">0.00055</td>
		<td align="center">0.00055</td>
		<td align="center">0.00055</td>
		<td align="center">0.00055</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT `t`.`template_name` AS `t0_c1`, `t`.`id` AS `t0_c0`, `template`.`id` AS `t1_c0`, `template`.`folder` AS `t1_c2`, `template`.`name` AS `t1_c1` FROM `lime_template_configuration` `t`  LEFT OUTER JOIN `lime_templates` `template` ON (`template`.`name`=`t`.`template_name`) WHERE (sid IS NULL AND gsid IS NULL AND template.folder IS NOT NULL))</td>
		<td align="center">1</td>
		<td align="center">0.00049</td>
		<td align="center">0.00049</td>
		<td align="center">0.00049</td>
		<td align="center">0.00049</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_template_configuration`)</td>
		<td align="center">1</td>
		<td align="center">0.00044</td>
		<td align="center">0.00044</td>
		<td align="center">0.00044</td>
		<td align="center">0.00044</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_permissions` `t` WHERE `t`.`entity_id`=:yp0 AND `t`.`entity`=:yp1 AND `t`.`uid`=:yp2 AND `t`.`permission`=:yp3 LIMIT 1. Bound with :yp0=0, :yp1='global', :yp2=2, :yp3='superadmin')</td>
		<td align="center">1</td>
		<td align="center">0.00041</td>
		<td align="center">0.00041</td>
		<td align="center">0.00041</td>
		<td align="center">0.00041</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_surveys_groupsettings` `t` WHERE `t`.`gsid`=0 LIMIT 1)</td>
		<td align="center">1</td>
		<td align="center">0.00040</td>
		<td align="center">0.00040</td>
		<td align="center">0.00040</td>
		<td align="center">0.00040</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW TABLES)</td>
		<td align="center">1</td>
		<td align="center">0.00415</td>
		<td align="center">0.00415</td>
		<td align="center">0.00415</td>
		<td align="center">0.00415</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_user_in_permissionrole`)</td>
		<td align="center">1</td>
		<td align="center">0.00322</td>
		<td align="center">0.00322</td>
		<td align="center">0.00322</td>
		<td align="center">0.00322</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_surveys_languagesettings`)</td>
		<td align="center">1</td>
		<td align="center">0.00263</td>
		<td align="center">0.00263</td>
		<td align="center">0.00263</td>
		<td align="center">0.00263</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_tokens_312655`)</td>
		<td align="center">1</td>
		<td align="center">0.00202</td>
		<td align="center">0.00202</td>
		<td align="center">0.00202</td>
		<td align="center">0.00202</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_surveys_groups`)</td>
		<td align="center">1</td>
		<td align="center">0.00050</td>
		<td align="center">0.00050</td>
		<td align="center">0.00050</td>
		<td align="center">0.00050</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT `t`.`surveyls_survey_id` AS `t0_c0`, `t`.`surveyls_language` AS `t0_c1`, `t`.`surveyls_title` AS `t0_c2`, `t`.`surveyls_description` AS `t0_c3`, `t`.`surveyls_welcometext` AS `t0_c4`, `t`.`surveyls_endtext` AS `t0_c5`, `t`.`surveyls_policy_notice` AS `t0_c6`, `t`.`surveyls_policy_error` AS `t0_c7`, `t`.`surveyls_policy_notice_label` AS `t0_c8`, `t`.`surveyls_url` AS `t0_c9`, `t`.`surveyls_urldescription` AS `t0_c10`, `t`.`surveyls_email_invite_subj` AS `t0_c11`, `t`.`surveyls_email_invite` AS `t0_c12`, `t`.`surveyls_email_remind_subj` AS `t0_c13`, `t`.`surveyls_email_remind` AS `t0_c14`, `t`.`surveyls_email_register_subj` AS `t0_c15`, `t`.`surveyls_email_register` AS `t0_c16`, `t`.`surveyls_email_confirm_subj` AS `t0_c17`, `t`.`surveyls_email_confirm` AS `t0_c18`, `t`.`surveyls_dateformat` AS `t0_c19`, `t`.`surveyls_attributecaptions` AS `t0_c20`, `t`.`surveyls_alias` AS `t0_c21`, `t`.`email_admin_notification_subj` AS `t0_c22`, `t`.`email_admin_notification` AS `t0_c23`, `t`.`email_admin_responses_subj` AS `t0_c24`, `t`.`email_admin_responses` AS `t0_c25`, `t`.`surveyls_numberformat` AS `t0_c26`, `t`.`attachments` AS `t0_c27`, `survey`.`sid` AS `t1_c0`, `survey`.`owner_id` AS `t1_c1`, `survey`.`gsid` AS `t1_c2`, `survey`.`admin` AS `t1_c3`, `survey`.`active` AS `t1_c4`, `survey`.`expires` AS `t1_c5`, `survey`.`startdate` AS `t1_c6`, `survey`.`adminemail` AS `t1_c7`, `survey`.`anonymized` AS `t1_c8`, `survey`.`format` AS `t1_c9`, `survey`.`savetimings` AS `t1_c10`, `survey`.`template` AS `t1_c11`, `survey`.`language` AS `t1_c12`, `survey`.`additional_languages` AS `t1_c13`, `survey`.`datestamp` AS `t1_c14`, `survey`.`usecookie` AS `t1_c15`, `survey`.`allowregister` AS `t1_c16`, `survey`.`allowsave` AS `t1_c17`, `survey`.`autonumber_start` AS `t1_c18`, `survey`.`autoredirect` AS `t1_c19`, `survey`.`allowprev` AS `t1_c20`, `survey`.`printanswers` AS `t1_c21`, `survey`.`ipaddr` AS `t1_c22`, `survey`.`ipanonymize` AS `t1_c23`, `survey`.`refurl` AS `t1_c24`, `survey`.`datecreated` AS `t1_c25`, `survey`.`showsurveypolicynotice` AS `t1_c26`, `survey`.`publicstatistics` AS `t1_c27`, `survey`.`publicgraphs` AS `t1_c28`, `survey`.`listpublic` AS `t1_c29`, `survey`.`htmlemail` AS `t1_c30`, `survey`.`sendconfirmation` AS `t1_c31`, `survey`.`tokenanswerspersistence` AS `t1_c32`, `survey`.`assessments` AS `t1_c33`, `survey`.`usecaptcha` AS `t1_c34`, `survey`.`usetokens` AS `t1_c35`, `survey`.`bounce_email` AS `t1_c36`, `survey`.`attributedescriptions` AS `t1_c37`, `survey`.`emailresponseto` AS `t1_c38`, `survey`.`emailnotificationto` AS `t1_c39`, `survey`.`tokenlength` AS `t1_c40`, `survey`.`showxquestions` AS `t1_c41`, `survey`.`showgroupinfo` AS `t1_c42`, `survey`.`shownoanswer` AS `t1_c43`, `survey`.`showqnumcode` AS `t1_c44`, `survey`.`bouncetime` AS `t1_c45`, `survey`.`bounceprocessing` AS `t1_c46`, `survey`.`bounceaccounttype` AS `t1_c47`, `survey`.`bounceaccounthost` AS `t1_c48`, `survey`.`bounceaccountpass` AS `t1_c49`, `survey`.`bounceaccountencryption` AS `t1_c50`, `survey`.`bounceaccountuser` AS `t1_c51`, `survey`.`showwelcome` AS `t1_c52`, `survey`.`showprogress` AS `t1_c53`, `survey`.`questionindex` AS `t1_c54`, `survey`.`navigationdelay` AS `t1_c55`, `survey`.`nokeyboard` AS `t1_c56`, `survey`.`alloweditaftercompletion` AS `t1_c57`, `survey`.`googleanalyticsstyle` AS `t1_c58`, `survey`.`googleanalyticsapikey` AS `t1_c59`, `survey`.`tokenencryptionoptions` AS `t1_c60` FROM `lime_surveys_languagesettings` `t`  LEFT OUTER JOIN `lime_surveys` `survey` ON (t.surveyls_survey_id = survey.sid) WHERE (`t`.`surveyls_survey_id`=312655 AND `t`.`surveyls_language`='fr'))</td>
		<td align="center">1</td>
		<td align="center">0.00111</td>
		<td align="center">0.00111</td>
		<td align="center">0.00111</td>
		<td align="center">0.00111</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_surveys_languagesettings`)</td>
		<td align="center">1</td>
		<td align="center">0.00079</td>
		<td align="center">0.00079</td>
		<td align="center">0.00079</td>
		<td align="center">0.00079</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT `languagesettings`.`surveyls_survey_id` AS `t1_c0`, `languagesettings`.`surveyls_language` AS `t1_c1`, `languagesettings`.`surveyls_title` AS `t1_c2`, `languagesettings`.`surveyls_description` AS `t1_c3`, `languagesettings`.`surveyls_welcometext` AS `t1_c4`, `languagesettings`.`surveyls_endtext` AS `t1_c5`, `languagesettings`.`surveyls_policy_notice` AS `t1_c6`, `languagesettings`.`surveyls_policy_error` AS `t1_c7`, `languagesettings`.`surveyls_policy_notice_label` AS `t1_c8`, `languagesettings`.`surveyls_url` AS `t1_c9`, `languagesettings`.`surveyls_urldescription` AS `t1_c10`, `languagesettings`.`surveyls_email_invite_subj` AS `t1_c11`, `languagesettings`.`surveyls_email_invite` AS `t1_c12`, `languagesettings`.`surveyls_email_remind_subj` AS `t1_c13`, `languagesettings`.`surveyls_email_remind` AS `t1_c14`, `languagesettings`.`surveyls_email_register_subj` AS `t1_c15`, `languagesettings`.`surveyls_email_register` AS `t1_c16`, `languagesettings`.`surveyls_email_confirm_subj` AS `t1_c17`, `languagesettings`.`surveyls_email_confirm` AS `t1_c18`, `languagesettings`.`surveyls_dateformat` AS `t1_c19`, `languagesettings`.`surveyls_attributecaptions` AS `t1_c20`, `languagesettings`.`surveyls_alias` AS `t1_c21`, `languagesettings`.`email_admin_notification_subj` AS `t1_c22`, `languagesettings`.`email_admin_notification` AS `t1_c23`, `languagesettings`.`email_admin_responses_subj` AS `t1_c24`, `languagesettings`.`email_admin_responses` AS `t1_c25`, `languagesettings`.`surveyls_numberformat` AS `t1_c26`, `languagesettings`.`attachments` AS `t1_c27` FROM `lime_surveys_languagesettings` `languagesettings`  WHERE (`languagesettings`.`surveyls_survey_id`=:ypl0). Bound with :ypl0='312655')</td>
		<td align="center">1</td>
		<td align="center">0.00077</td>
		<td align="center">0.00077</td>
		<td align="center">0.00077</td>
		<td align="center">0.00077</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_tokens_312655`)</td>
		<td align="center">1</td>
		<td align="center">0.00058</td>
		<td align="center">0.00058</td>
		<td align="center">0.00058</td>
		<td align="center">0.00058</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT `owner`.`uid` AS `t1_c0`, `owner`.`users_name` AS `t1_c1`, `owner`.`password` AS `t1_c2`, `owner`.`full_name` AS `t1_c3`, `owner`.`parent_id` AS `t1_c4`, `owner`.`lang` AS `t1_c5`, `owner`.`email` AS `t1_c6`, `owner`.`htmleditormode` AS `t1_c7`, `owner`.`templateeditormode` AS `t1_c8`, `owner`.`questionselectormode` AS `t1_c9`, `owner`.`one_time_pw` AS `t1_c10`, `owner`.`dateformat` AS `t1_c11`, `owner`.`last_login` AS `t1_c12`, `owner`.`created` AS `t1_c13`, `owner`.`modified` AS `t1_c14`, `owner`.`validation_key` AS `t1_c15`, `owner`.`validation_key_expiration` AS `t1_c16`, `owner`.`last_forgot_email_password` AS `t1_c17`, `owner`.`expires` AS `t1_c18`, `owner`.`user_status` AS `t1_c19` FROM `lime_users` `owner`  WHERE (`owner`.`uid`=:ypl0). Bound with :ypl0='2')</td>
		<td align="center">1</td>
		<td align="center">0.00048</td>
		<td align="center">0.00048</td>
		<td align="center">0.00048</td>
		<td align="center">0.00048</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_user_in_permissionrole`)</td>
		<td align="center">1</td>
		<td align="center">0.00041</td>
		<td align="center">0.00041</td>
		<td align="center">0.00041</td>
		<td align="center">0.00041</td>
	</tr></tbody></table>
<!-- end of profiling summary -->
</body></html>
PHP warning.html (39,432 bytes)   
Bug heat10
Complete LimeSurvey version number (& build)6.6.8
I will donate to the project if issue is resolvedNo
BrowserCHrome, Firefox, Opera
Database type & versionMySQL 8
Server OS (if known)CentOS7
Webserver software & version (if known)Apache/2.4.6 (CentOS)
PHP Version8.0.3

Users monitoring this issue

DenisChenu

Activities

DenisChenu

DenisChenu

2024-12-02 17:59

developer   ~81553

If needed : i have LDAP server with account

gabrieljenik

gabrieljenik

2024-12-02 20:02

manager   ~81554

Please, Denis, you take it.
OI think you have better experience in LDAP

DenisChenu

DenisChenu

2024-12-03 09:39

developer   ~81555

My family email was managed on LDAP server ;)

DenisChenu

DenisChenu

2024-12-11 17:26

developer   ~81608

@ccoupeau : you have this error because your LDAP connection are broken

I can not reproduce else, but i check why we added this variable https://www.php.net/manual/en/ldap.constants.php#constant.ldap-opt-diagnostic-message

I don't have extra information with

                    if (ldap_get_option($ds, LDAP_OPT_DIAGNOSTIC_MESSAGE, $extended_error)) {
                        $sErrorMessage .= ' - ' . $extended_error;
                    }

But seems to have some effect on some PHP version : https://github.com/simplesamlphp/simplesamlphp/issues/120

BUt : this one seems better : https://github.com/adldap/adLDAP/pull/142/files

// we are using an ldap library that supports getting diagnostic msgs.

DenisChenu

DenisChenu

2024-12-11 17:40

developer   ~81609

Maybe related to AD only : https://github.com/simplesamlphp/simplesamlphp-module-ldap/blob/4b45f05e94adffef2dadecad866c9dc185f7e1a8/src/Connector/ActiveDirectory.php#L30

DenisChenu

DenisChenu

2024-12-11 17:43

developer   ~81610

https://github.com/LimeSurvey/LimeSurvey/pull/4101

DenisChenu

DenisChenu

2024-12-11 17:44

developer   ~81611

@ccoupeau : do you use an AD LDAP server ?

ccoupeau

ccoupeau

2024-12-16 08:51

reporter   ~81628

It's an openLDAP

DenisChenu

DenisChenu

2024-12-16 09:14

developer   ~81629

Arg, same … why for me LDAP_OPT_DIAGNOSTIC_MESSAGE are not defined and for you : it was.

Fir me : PHP Version 8.3.14 + LDAP API version 3001 + OpenLDAP 20513 (OpenLDAP: slapd 2.5.13+dfsg-5)

ccoupeau

ccoupeau

2024-12-16 09:15

reporter   ~81630

Currently our production and test instances are on a php8.0.30 version - CentOS7

Soon I will migrate to a RockyLinux 9 - php 8.2.
From a staging instance the message is different:

500: Server internal error - ldap_set_option(): Argument #1 ($ldap) must be of type? LDAP Connection, bool given

ccoupeau

ccoupeau

2024-12-16 10:38

reporter   ~81633

openldap 2.4.46

tibor.pacalat

tibor.pacalat

2024-12-19 17:35

administrator   ~81691

@DenisChenu do you need me to merge this in for easier debugging? https://github.com/LimeSurvey/LimeSurvey/pull/4101/files

DenisChenu

DenisChenu

2024-12-19 17:38

developer   ~81692

I don't have the issue myself, using openldap/php8.3, but with or without : no extra information
@ccoupeau have the issue, then LDAP_OPT_DIAGNOSTIC_MESSAGE is defined. Maybe have more information with.

I take the fix from : https://github.com/adldap/adLDAP/pull/142/files#diff-28260385e3b278e8a99da087b9f8a97cca72cc3c7c94249c8f1bf492dbc2a69dR303

ccoupeau

ccoupeau

2024-12-20 14:51

reporter   ~81701

I just modified the Tokens.php file to add LDAP debugging.

The attached file shows this: ldap_connect("ldap://ldaps://ldap.univ-rennes1.fr:636")

The parameters are as follows:

$ldap_server[$serverId]['server'] = "ldaps://ldap.univ-rennes1.fr";
$ldap_server[$serverId]['port'] = "636";
$ldap_server[$serverId]['protoversion'] = "ldapv3";
$ldap_server[$serverId]['encrypt'] = "ldap";
$ldap_server[$serverId]['referrals'] = false;
$ldap_server[$serverId]['binddn'] = "cn=userXX,ou=applications,dc=establishment,dc=en";
$ldap_server[$serverId]['bindpw'] = "ldap_user_password";

limesurvey-ldap.html (41,691 bytes)   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0090)https://enquetes-test.univ-rennes1.fr/index.php/admin/tokens/sa/importldap/surveyid/312655 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>PHP warning</title>

<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}

body {
	font: normal 9pt "Verdana";
	color: #000;
	background: #fff;
}

h1 {
	font: normal 18pt "Verdana";
	color: #f00;
	margin-bottom: .5em;
}

h2 {
	font: normal 14pt "Verdana";
	color: #800000;
	margin-bottom: .5em;
}

h3 {
	font: bold 11pt "Verdana";
}

pre {
	font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;
}

pre span.error {
	display: block;
	background: #fce3e3;
}

pre span.ln {
	color: #999;
	padding-right: 0.5em;
	border-right: 1px solid #ccc;
}

pre span.error-ln {
	font-weight: bold;
}

.container {
	margin: 1em 4em;
}

.version {
	color: gray;
	font-size: 8pt;
	border-top: 1px solid #aaa;
	padding-top: 1em;
	margin-bottom: 1em;
}

.message {
	color: #000;
	padding: 1em;
	font-size: 11pt;
	background: #f3f3f3;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 1em;
	line-height: 160%;
}

.source {
	margin-bottom: 1em;
}

.code pre {
	background-color: #ffe;
	margin: 0.5em 0;
	padding: 0.5em;
	line-height: 125%;
	border: 1px solid #eee;
}

.source .file {
	margin-bottom: 1em;
	font-weight: bold;
}

.traces {
	margin: 2em 0;
}

.trace {
	margin: 0.5em 0;
	padding: 0.5em;
}

.trace.app {
	border: 1px dashed #c00;
}

.trace .number {
	text-align: right;
	width: 2em;
	padding: 0.5em;
}

.trace .content {
	padding: 0.5em;
}

.trace .plus,
.trace .minus {
	display:inline;
	vertical-align:middle;
	text-align:center;
	border:1px solid #000;
	color:#000;
	font-size:10px;
	line-height:10px;
	margin:0;
	padding:0 1px;
	width:10px;
	height:10px;
}

.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre {
	display: none;
}

.trace-file {
	cursor: pointer;
	padding: 0.2em;
}

.trace-file:hover {
	background: #f0ffff;
}
/*]]>*/
</style>
</head>

<body>
<div class="container">
	<h1>PHP warning</h1>

	<p class="message">
		ldap_connect(): Could not create session handle: Bad parameter to an ldap routine	</p>

	<div class="source">
		<p class="file">/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/application/helpers/ldap_helper.php(31)</p>
		<div class="code"><pre><span class="ln">19</span> /*********************************************/
<span class="ln">20</span> 
<span class="ln">21</span> 
<span class="ln">22</span> function ldap_getCnx($server_id = null)
<span class="ln">23</span> {
<span class="ln">24</span>     $ldap_server = Yii::app()-&gt;getConfig('ldap_server');
<span class="ln">25</span> 
<span class="ln">26</span>     if (is_null($server_id)) {
<span class="ln">27</span>         return false;
<span class="ln">28</span>     } else {
<span class="ln">29</span>         $ds = false;
<span class="ln">30</span>         if ($ldap_server[$server_id]['protoversion'] == 'ldapv3' &amp;&amp; $ldap_server[$server_id]['encrypt'] != 'ldaps') {
<span class="error"><span class="ln error-ln">31</span>             $ds = ldap_connect("ldap://" . "{$ldap_server[$server_id]['server']}:{$ldap_server[$server_id]['port']}");
</span><span class="ln">32</span>             ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
<span class="ln">33</span> 
<span class="ln">34</span>             if (!$ldap_server[$server_id]['referrals']) {
<span class="ln">35</span>                 ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
<span class="ln">36</span>             }
<span class="ln">37</span> 
<span class="ln">38</span>             if ($ldap_server[$server_id]['encrypt'] == 'start-tls') {
<span class="ln">39</span>                 ldap_start_tls($ds);
<span class="ln">40</span>             }
<span class="ln">41</span>         } elseif ($ldap_server[$server_id]['protoversion'] == 'ldapv2') {
<span class="ln">42</span>             if ($ldap_server[$server_id]['encrypt'] == 'ldaps') {
<span class="ln">43</span>                 $ds = ldap_connect("ldaps://" . "{$ldap_server[$server_id]['server']}:{$ldap_server[$server_id]['port']}");
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace app expanded">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/application/helpers/ldap_helper.php(31): <strong>ldap_connect</strong>("ldap://ldaps://ldap.univ-rennes1.fr:636")				</div>

				<div class="code"><pre><span class="ln">26</span>     if (is_null($server_id)) {
<span class="ln">27</span>         return false;
<span class="ln">28</span>     } else {
<span class="ln">29</span>         $ds = false;
<span class="ln">30</span>         if ($ldap_server[$server_id]['protoversion'] == 'ldapv3' &amp;&amp; $ldap_server[$server_id]['encrypt'] != 'ldaps') {
<span class="error"><span class="ln error-ln">31</span>             $ds = ldap_connect("ldap://" . "{$ldap_server[$server_id]['server']}:{$ldap_server[$server_id]['port']}");
</span><span class="ln">32</span>             ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
<span class="ln">33</span> 
<span class="ln">34</span>             if (!$ldap_server[$server_id]['referrals']) {
<span class="ln">35</span>                 ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
<span class="ln">36</span>             }
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#1			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/application/controllers/admin/Tokens.php(1980): <strong>ldap_getCnx</strong>(0)				</div>

				<div class="code"><pre><span class="ln">1975</span>                     $attrlist[] = $ldap_queries[$ldapq][$attr];
<span class="ln">1976</span>                 }
<span class="ln">1977</span>             }
<span class="ln">1978</span> 
<span class="ln">1979</span>             // Open connection to server
<span class="error"><span class="ln error-ln">1980</span>             $ds = ldap_getCnx($ldap_server_id);
</span><span class="ln">1981</span> 
<span class="ln">1982</span>             if ($ds) {
<span class="ln">1983</span>                 // bind to server
<span class="ln">1984</span>                 $resbind = ldap_bindCnx($ds, $ldap_server_id);
<span class="ln">1985</span> 
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>Tokens</strong>-&gt;<strong>importldap</strong>(312655)				</div>

							</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/vendor/yiisoft/yii/framework/web/actions/CAction.php(114): <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(Tokens, array("312655"))				</div>

				<div class="code"><pre><span class="ln">109</span>             elseif($param-&gt;isDefaultValueAvailable())
<span class="ln">110</span>                 $ps[]=$param-&gt;getDefaultValue();
<span class="ln">111</span>             else
<span class="ln">112</span>                 return false;
<span class="ln">113</span>         }
<span class="error"><span class="ln error-ln">114</span>         $method-&gt;invokeArgs($object,$ps);
</span><span class="ln">115</span>         return true;
<span class="ln">116</span>     }
<span class="ln">117</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/application/core/SurveyCommonAction.php(83): <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(Tokens, ReflectionMethod, array("surveyid" =&gt; "312655", "sa" =&gt; "importldap", "iSurveyId" =&gt; "312655", "iSurveyID" =&gt; "312655", ...))				</div>

				<div class="code"><pre><span class="ln">78</span>             $oMethod = new ReflectionMethod($this, $sDefault);
<span class="ln">79</span>         }
<span class="ln">80</span> 
<span class="ln">81</span>         // We're all good to go, let's execute it
<span class="ln">82</span>         // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params
<span class="error"><span class="ln error-ln">83</span>         return parent::runWithParamsInternal($this, $oMethod, $params);
</span><span class="ln">84</span>     }
<span class="ln">85</span> 
<span class="ln">86</span>     /**
<span class="ln">87</span>      * Some functions have different parameters, which are just an alias of the
<span class="ln">88</span>      * usual parameters we're getting in the url. This function just populates
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/vendor/yiisoft/yii/framework/web/CController.php(308): <strong>SurveyCommonAction</strong>-&gt;<strong>runWithParams</strong>(array("surveyid" =&gt; "312655", "sa" =&gt; "importldap", "iSurveyId" =&gt; "312655", "iSurveyID" =&gt; "312655", ...))				</div>

				<div class="code"><pre><span class="ln">303</span>     {
<span class="ln">304</span>         $priorAction=$this-&gt;_action;
<span class="ln">305</span>         $this-&gt;_action=$action;
<span class="ln">306</span>         if($this-&gt;beforeAction($action))
<span class="ln">307</span>         {
<span class="error"><span class="ln error-ln">308</span>             if($action-&gt;runWithParams($this-&gt;getActionParams())===false)
</span><span class="ln">309</span>                 $this-&gt;invalidActionParams($action);
<span class="ln">310</span>             else
<span class="ln">311</span>                 $this-&gt;afterAction($action);
<span class="ln">312</span>         }
<span class="ln">313</span>         $this-&gt;_action=$priorAction;
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/vendor/yiisoft/yii/framework/web/CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(Tokens)				</div>

				<div class="code"><pre><span class="ln">281</span>      * @see runAction
<span class="ln">282</span>      */
<span class="ln">283</span>     public function runActionWithFilters($action,$filters)
<span class="ln">284</span>     {
<span class="ln">285</span>         if(empty($filters))
<span class="error"><span class="ln error-ln">286</span>             $this-&gt;runAction($action);
</span><span class="ln">287</span>         else
<span class="ln">288</span>         {
<span class="ln">289</span>             $priorAction=$this-&gt;_action;
<span class="ln">290</span>             $this-&gt;_action=$action;
<span class="ln">291</span>             CFilterChain::create($this,$action,$filters)-&gt;run();
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/vendor/yiisoft/yii/framework/web/CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(Tokens, array())				</div>

				<div class="code"><pre><span class="ln">260</span>         {
<span class="ln">261</span>             if(($parent=$this-&gt;getModule())===null)
<span class="ln">262</span>                 $parent=Yii::app();
<span class="ln">263</span>             if($parent-&gt;beforeControllerAction($this,$action))
<span class="ln">264</span>             {
<span class="error"><span class="ln error-ln">265</span>                 $this-&gt;runActionWithFilters($action,$this-&gt;filters());
</span><span class="ln">266</span>                 $parent-&gt;afterControllerAction($this,$action);
<span class="ln">267</span>             }
<span class="ln">268</span>         }
<span class="ln">269</span>         else
<span class="ln">270</span>             $this-&gt;missingAction($actionID);
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/application/controllers/AdminController.php(202): <strong>CController</strong>-&gt;<strong>run</strong>("tokens")				</div>

				<div class="code"><pre><span class="ln">197</span>         }
<span class="ln">198</span> 
<span class="ln">199</span>         $this-&gt;runModuleController($action);
<span class="ln">200</span> 
<span class="ln">201</span> 
<span class="error"><span class="ln error-ln">202</span>         return parent::run($action);
</span><span class="ln">203</span>     }
<span class="ln">204</span> 
<span class="ln">205</span>     /**
<span class="ln">206</span>      * Starting with LS4, 3rd party developer can extends any of the LimeSurve controllers.
<span class="ln">207</span>      *
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/vendor/yiisoft/yii/framework/web/CWebApplication.php(282): <strong>AdminController</strong>-&gt;<strong>run</strong>("tokens")				</div>

				<div class="code"><pre><span class="ln">277</span>         {
<span class="ln">278</span>             list($controller,$actionID)=$ca;
<span class="ln">279</span>             $oldController=$this-&gt;_controller;
<span class="ln">280</span>             $this-&gt;_controller=$controller;
<span class="ln">281</span>             $controller-&gt;init();
<span class="error"><span class="ln error-ln">282</span>             $controller-&gt;run($actionID);
</span><span class="ln">283</span>             $this-&gt;_controller=$oldController;
<span class="ln">284</span>         }
<span class="ln">285</span>         else
<span class="ln">286</span>             throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
<span class="ln">287</span>                 array('{route}'=&gt;$route===''?$this-&gt;defaultController:$route)));
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/vendor/yiisoft/yii/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("admin/tokens/sa/importldap")				</div>

				<div class="code"><pre><span class="ln">136</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$value)
<span class="ln">137</span>                 $_GET[$name]=$value;
<span class="ln">138</span>         }
<span class="ln">139</span>         else
<span class="ln">140</span>             $route=$this-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">141</span>         $this-&gt;runController($route);
</span><span class="ln">142</span>     }
<span class="ln">143</span> 
<span class="ln">144</span>     /**
<span class="ln">145</span>      * Registers the core application components.
<span class="ln">146</span>      * This method overrides the parent implementation by registering additional core components.
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/vendor/yiisoft/yii/framework/base/CApplication.php(185): <strong>CWebApplication</strong>-&gt;<strong>processRequest</strong>()				</div>

				<div class="code"><pre><span class="ln">180</span>     public function run()
<span class="ln">181</span>     {
<span class="ln">182</span>         if($this-&gt;hasEventHandler('onBeginRequest'))
<span class="ln">183</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="ln">184</span>         register_shutdown_function(array($this,'end'),0,false);
<span class="error"><span class="ln error-ln">185</span>         $this-&gt;processRequest();
</span><span class="ln">186</span>         if($this-&gt;hasEventHandler('onEndRequest'))
<span class="ln">187</span>             $this-&gt;onEndRequest(new CEvent($this));
<span class="ln">188</span>     }
<span class="ln">189</span> 
<span class="ln">190</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/htdocs/sites/limesurvey/enquetes-test.univ-rennes1.fr-6.8.2/index.php(161): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">156</span> require_once APPPATH . 'core/LSYii_Application' . EXT;
<span class="ln">157</span> 
<span class="ln">158</span> $config = require_once(APPPATH . 'config/internal' . EXT);
<span class="ln">159</span> 
<span class="ln">160</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">161</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">162</span> 
<span class="ln">163</span> /* End of file index.php */
<span class="ln">164</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2024-12-20 09:26:43 Apache/2 <a href="https://www.yiiframework.com/">Yii Framework</a>/1.1.30	</div>
</div>

<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");

var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
	if(traceReg.test(e[j].className)){
		e[j].onclick = function(){
			var trace = this.parentNode.parentNode;
			if(collapsedReg.test(trace.className))
				trace.className = trace.className.replace("collapsed", "expanded");
			else
				trace.className = trace.className.replace("expanded", "collapsed");
		}
	}
}
/*]]>*/
</script>




<table class="yiiLog" width="100%" cellpadding="2" style="border-spacing:1px;font:11px Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;color:#666666;">
	<tbody><tr>
		<th style="background:black;color:white;" colspan="6">
			Sommaire du rapport de profilage
			(Durée: 0.12020s,
			Memoire: 4,577KB)
		</th>
	</tr>
	<tr style="background-color: #ccc;">
	    <th>Fonction</th>
		<th>Nb</th>
		<th>Total (s)</th>
		<th>Moy. (s)</th>
		<th>Min. (s)</th>
		<th>Max. (s)</th>
	</tr>
	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_surveys_groupsettings`)</td>
		<td align="center">1</td>
		<td align="center">0.00317</td>
		<td align="center">0.00317</td>
		<td align="center">0.00317</td>
		<td align="center">0.00317</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_users`)</td>
		<td align="center">1</td>
		<td align="center">0.00310</td>
		<td align="center">0.00310</td>
		<td align="center">0.00310</td>
		<td align="center">0.00310</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_surveys`)</td>
		<td align="center">1</td>
		<td align="center">0.00464</td>
		<td align="center">0.00464</td>
		<td align="center">0.00464</td>
		<td align="center">0.00464</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_settings_global`)</td>
		<td align="center">1</td>
		<td align="center">0.00275</td>
		<td align="center">0.00275</td>
		<td align="center">0.00275</td>
		<td align="center">0.00275</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_settings_global`)</td>
		<td align="center">1</td>
		<td align="center">0.00057</td>
		<td align="center">0.00057</td>
		<td align="center">0.00057</td>
		<td align="center">0.00057</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_settings_global` `t`)</td>
		<td align="center">1</td>
		<td align="center">0.00129</td>
		<td align="center">0.00129</td>
		<td align="center">0.00129</td>
		<td align="center">0.00129</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_users` `t` WHERE `t`.`uid`=2 LIMIT 1)</td>
		<td align="center">2</td>
		<td align="center">0.00114</td>
		<td align="center">0.00057</td>
		<td align="center">0.00056</td>
		<td align="center">0.00058</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT `t1`.`message` AS `message`, `t2`.`translation` AS `translation`
FROM `lime_source_message` `t1`, `lime_message` `t2`
WHERE t1.id=t2.id AND t1.category=:category AND t2.language=:language. Bound with :category='', :language='fr')</td>
		<td align="center">1</td>
		<td align="center">0.00093</td>
		<td align="center">0.00093</td>
		<td align="center">0.00093</td>
		<td align="center">0.00093</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_users` `t` WHERE ((expires &gt; :now OR expires IS NULL) AND (user_status = :active)) AND (`t`.`uid`=2) LIMIT 1. Bound with :now='2024-12-20 09:26:43', :active='1')</td>
		<td align="center">1</td>
		<td align="center">0.00067</td>
		<td align="center">0.00067</td>
		<td align="center">0.00067</td>
		<td align="center">0.00067</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_users`)</td>
		<td align="center">1</td>
		<td align="center">0.00058</td>
		<td align="center">0.00058</td>
		<td align="center">0.00058</td>
		<td align="center">0.00058</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_plugins`)</td>
		<td align="center">1</td>
		<td align="center">0.00255</td>
		<td align="center">0.00255</td>
		<td align="center">0.00255</td>
		<td align="center">0.00255</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_surveys`)</td>
		<td align="center">1</td>
		<td align="center">0.00087</td>
		<td align="center">0.00087</td>
		<td align="center">0.00087</td>
		<td align="center">0.00087</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_templates`)</td>
		<td align="center">1</td>
		<td align="center">0.00264</td>
		<td align="center">0.00264</td>
		<td align="center">0.00264</td>
		<td align="center">0.00264</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_surveys` `t` WHERE `t`.`sid`=312655 LIMIT 1)</td>
		<td align="center">1</td>
		<td align="center">0.00104</td>
		<td align="center">0.00104</td>
		<td align="center">0.00104</td>
		<td align="center">0.00104</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_plugins` `t` WHERE `t`.`active`=:yp0 ORDER BY priority DESC. Bound with :yp0=1)</td>
		<td align="center">1</td>
		<td align="center">0.00080</td>
		<td align="center">0.00080</td>
		<td align="center">0.00080</td>
		<td align="center">0.00080</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_templates` `t` WHERE `t`.`name`='UNIVRENNES_BLEU' LIMIT 1)</td>
		<td align="center">1</td>
		<td align="center">0.00065</td>
		<td align="center">0.00065</td>
		<td align="center">0.00065</td>
		<td align="center">0.00065</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_plugins`)</td>
		<td align="center">1</td>
		<td align="center">0.00054</td>
		<td align="center">0.00054</td>
		<td align="center">0.00054</td>
		<td align="center">0.00054</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_templates`)</td>
		<td align="center">1</td>
		<td align="center">0.00054</td>
		<td align="center">0.00054</td>
		<td align="center">0.00054</td>
		<td align="center">0.00054</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_surveys_groupsettings`)</td>
		<td align="center">1</td>
		<td align="center">0.00077</td>
		<td align="center">0.00077</td>
		<td align="center">0.00077</td>
		<td align="center">0.00077</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_settings_global` `t` WHERE stg_name=:name LIMIT 1. Bound with :name='DBVersion')</td>
		<td align="center">1</td>
		<td align="center">0.00061</td>
		<td align="center">0.00061</td>
		<td align="center">0.00061</td>
		<td align="center">0.00061</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_surveys_groups`)</td>
		<td align="center">1</td>
		<td align="center">0.00208</td>
		<td align="center">0.00208</td>
		<td align="center">0.00208</td>
		<td align="center">0.00208</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_template_configuration`)</td>
		<td align="center">1</td>
		<td align="center">0.00194</td>
		<td align="center">0.00194</td>
		<td align="center">0.00194</td>
		<td align="center">0.00194</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_permissions`)</td>
		<td align="center">1</td>
		<td align="center">0.00148</td>
		<td align="center">0.00148</td>
		<td align="center">0.00148</td>
		<td align="center">0.00148</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_user_in_permissionrole`)</td>
		<td align="center">1</td>
		<td align="center">0.00124</td>
		<td align="center">0.00124</td>
		<td align="center">0.00124</td>
		<td align="center">0.00124</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT `t`.`gsid` AS `t0_c0`, `t`.`owner_id` AS `t0_c1`, `t`.`admin` AS `t0_c2`, `t`.`adminemail` AS `t0_c3`, `t`.`anonymized` AS `t0_c4`, `t`.`format` AS `t0_c5`, `t`.`savetimings` AS `t0_c6`, `t`.`template` AS `t0_c7`, `t`.`datestamp` AS `t0_c8`, `t`.`usecookie` AS `t0_c9`, `t`.`allowregister` AS `t0_c10`, `t`.`allowsave` AS `t0_c11`, `t`.`autonumber_start` AS `t0_c12`, `t`.`autoredirect` AS `t0_c13`, `t`.`allowprev` AS `t0_c14`, `t`.`printanswers` AS `t0_c15`, `t`.`ipaddr` AS `t0_c16`, `t`.`ipanonymize` AS `t0_c17`, `t`.`refurl` AS `t0_c18`, `t`.`showsurveypolicynotice` AS `t0_c19`, `t`.`publicstatistics` AS `t0_c20`, `t`.`publicgraphs` AS `t0_c21`, `t`.`listpublic` AS `t0_c22`, `t`.`htmlemail` AS `t0_c23`, `t`.`sendconfirmation` AS `t0_c24`, `t`.`tokenanswerspersistence` AS `t0_c25`, `t`.`assessments` AS `t0_c26`, `t`.`usecaptcha` AS `t0_c27`, `t`.`bounce_email` AS `t0_c28`, `t`.`attributedescriptions` AS `t0_c29`, `t`.`emailresponseto` AS `t0_c30`, `t`.`emailnotificationto` AS `t0_c31`, `t`.`tokenlength` AS `t0_c32`, `t`.`showxquestions` AS `t0_c33`, `t`.`showgroupinfo` AS `t0_c34`, `t`.`shownoanswer` AS `t0_c35`, `t`.`showqnumcode` AS `t0_c36`, `t`.`showwelcome` AS `t0_c37`, `t`.`showprogress` AS `t0_c38`, `t`.`questionindex` AS `t0_c39`, `t`.`navigationdelay` AS `t0_c40`, `t`.`nokeyboard` AS `t0_c41`, `t`.`alloweditaftercompletion` AS `t0_c42`, `SurveysGroups`.`gsid` AS `t1_c0`, `SurveysGroups`.`name` AS `t1_c1`, `SurveysGroups`.`title` AS `t1_c2`, `SurveysGroups`.`template` AS `t1_c3`, `SurveysGroups`.`description` AS `t1_c4`, `SurveysGroups`.`sortorder` AS `t1_c5`, `SurveysGroups`.`owner_id` AS `t1_c6`, `SurveysGroups`.`parent_id` AS `t1_c7`, `SurveysGroups`.`alwaysavailable` AS `t1_c8`, `SurveysGroups`.`created` AS `t1_c9`, `SurveysGroups`.`modified` AS `t1_c10`, `SurveysGroups`.`created_by` AS `t1_c11` FROM `lime_surveys_groupsettings` `t`  LEFT OUTER JOIN `lime_surveys_groups` `SurveysGroups` ON (`SurveysGroups`.`gsid`=`t`.`gsid`) WHERE (`t`.`gsid`=1))</td>
		<td align="center">1</td>
		<td align="center">0.00094</td>
		<td align="center">0.00094</td>
		<td align="center">0.00094</td>
		<td align="center">0.00094</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT `t`.`template_name` AS `t0_c1`, `t`.`id` AS `t0_c0`, `template`.`id` AS `t1_c0`, `template`.`folder` AS `t1_c2`, `template`.`name` AS `t1_c1` FROM `lime_template_configuration` `t`  LEFT OUTER JOIN `lime_templates` `template` ON (`template`.`name`=`t`.`template_name`) WHERE (sid IS NULL AND gsid IS NULL AND template.folder IS NOT NULL))</td>
		<td align="center">1</td>
		<td align="center">0.00074</td>
		<td align="center">0.00074</td>
		<td align="center">0.00074</td>
		<td align="center">0.00074</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_surveys_groupsettings` `t` WHERE `t`.`gsid`=0 LIMIT 1)</td>
		<td align="center">1</td>
		<td align="center">0.00071</td>
		<td align="center">0.00071</td>
		<td align="center">0.00071</td>
		<td align="center">0.00071</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_permissions`)</td>
		<td align="center">1</td>
		<td align="center">0.00052</td>
		<td align="center">0.00052</td>
		<td align="center">0.00052</td>
		<td align="center">0.00052</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_surveys_groups`)</td>
		<td align="center">1</td>
		<td align="center">0.00051</td>
		<td align="center">0.00051</td>
		<td align="center">0.00051</td>
		<td align="center">0.00051</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_permissions` `t` WHERE `t`.`entity_id`=:yp0 AND `t`.`entity`=:yp1 AND `t`.`uid`=:yp2 AND `t`.`permission`=:yp3 LIMIT 1. Bound with :yp0=0, :yp1='global', :yp2=2, :yp3='superadmin')</td>
		<td align="center">1</td>
		<td align="center">0.00049</td>
		<td align="center">0.00049</td>
		<td align="center">0.00049</td>
		<td align="center">0.00049</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_template_configuration`)</td>
		<td align="center">1</td>
		<td align="center">0.00046</td>
		<td align="center">0.00046</td>
		<td align="center">0.00046</td>
		<td align="center">0.00046</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_user_in_permissionrole`)</td>
		<td align="center">1</td>
		<td align="center">0.00046</td>
		<td align="center">0.00046</td>
		<td align="center">0.00046</td>
		<td align="center">0.00046</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW TABLES)</td>
		<td align="center">1</td>
		<td align="center">0.00208</td>
		<td align="center">0.00208</td>
		<td align="center">0.00208</td>
		<td align="center">0.00208</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_surveys_languagesettings`)</td>
		<td align="center">1</td>
		<td align="center">0.00167</td>
		<td align="center">0.00167</td>
		<td align="center">0.00167</td>
		<td align="center">0.00167</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW FULL COLUMNS FROM `lime_tokens_312655`)</td>
		<td align="center">1</td>
		<td align="center">0.00130</td>
		<td align="center">0.00130</td>
		<td align="center">0.00130</td>
		<td align="center">0.00130</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT `t`.`surveyls_survey_id` AS `t0_c0`, `t`.`surveyls_language` AS `t0_c1`, `t`.`surveyls_title` AS `t0_c2`, `t`.`surveyls_description` AS `t0_c3`, `t`.`surveyls_welcometext` AS `t0_c4`, `t`.`surveyls_endtext` AS `t0_c5`, `t`.`surveyls_policy_notice` AS `t0_c6`, `t`.`surveyls_policy_error` AS `t0_c7`, `t`.`surveyls_policy_notice_label` AS `t0_c8`, `t`.`surveyls_url` AS `t0_c9`, `t`.`surveyls_urldescription` AS `t0_c10`, `t`.`surveyls_email_invite_subj` AS `t0_c11`, `t`.`surveyls_email_invite` AS `t0_c12`, `t`.`surveyls_email_remind_subj` AS `t0_c13`, `t`.`surveyls_email_remind` AS `t0_c14`, `t`.`surveyls_email_register_subj` AS `t0_c15`, `t`.`surveyls_email_register` AS `t0_c16`, `t`.`surveyls_email_confirm_subj` AS `t0_c17`, `t`.`surveyls_email_confirm` AS `t0_c18`, `t`.`surveyls_dateformat` AS `t0_c19`, `t`.`surveyls_attributecaptions` AS `t0_c20`, `t`.`surveyls_alias` AS `t0_c21`, `t`.`email_admin_notification_subj` AS `t0_c22`, `t`.`email_admin_notification` AS `t0_c23`, `t`.`email_admin_responses_subj` AS `t0_c24`, `t`.`email_admin_responses` AS `t0_c25`, `t`.`surveyls_numberformat` AS `t0_c26`, `t`.`attachments` AS `t0_c27`, `survey`.`sid` AS `t1_c0`, `survey`.`owner_id` AS `t1_c1`, `survey`.`gsid` AS `t1_c2`, `survey`.`admin` AS `t1_c3`, `survey`.`active` AS `t1_c4`, `survey`.`expires` AS `t1_c5`, `survey`.`startdate` AS `t1_c6`, `survey`.`adminemail` AS `t1_c7`, `survey`.`anonymized` AS `t1_c8`, `survey`.`format` AS `t1_c9`, `survey`.`savetimings` AS `t1_c10`, `survey`.`template` AS `t1_c11`, `survey`.`language` AS `t1_c12`, `survey`.`additional_languages` AS `t1_c13`, `survey`.`datestamp` AS `t1_c14`, `survey`.`usecookie` AS `t1_c15`, `survey`.`allowregister` AS `t1_c16`, `survey`.`allowsave` AS `t1_c17`, `survey`.`autonumber_start` AS `t1_c18`, `survey`.`autoredirect` AS `t1_c19`, `survey`.`allowprev` AS `t1_c20`, `survey`.`printanswers` AS `t1_c21`, `survey`.`ipaddr` AS `t1_c22`, `survey`.`ipanonymize` AS `t1_c23`, `survey`.`refurl` AS `t1_c24`, `survey`.`datecreated` AS `t1_c25`, `survey`.`showsurveypolicynotice` AS `t1_c26`, `survey`.`publicstatistics` AS `t1_c27`, `survey`.`publicgraphs` AS `t1_c28`, `survey`.`listpublic` AS `t1_c29`, `survey`.`htmlemail` AS `t1_c30`, `survey`.`sendconfirmation` AS `t1_c31`, `survey`.`tokenanswerspersistence` AS `t1_c32`, `survey`.`assessments` AS `t1_c33`, `survey`.`usecaptcha` AS `t1_c34`, `survey`.`usetokens` AS `t1_c35`, `survey`.`bounce_email` AS `t1_c36`, `survey`.`attributedescriptions` AS `t1_c37`, `survey`.`emailresponseto` AS `t1_c38`, `survey`.`emailnotificationto` AS `t1_c39`, `survey`.`tokenlength` AS `t1_c40`, `survey`.`showxquestions` AS `t1_c41`, `survey`.`showgroupinfo` AS `t1_c42`, `survey`.`shownoanswer` AS `t1_c43`, `survey`.`showqnumcode` AS `t1_c44`, `survey`.`bouncetime` AS `t1_c45`, `survey`.`bounceprocessing` AS `t1_c46`, `survey`.`bounceaccounttype` AS `t1_c47`, `survey`.`bounceaccounthost` AS `t1_c48`, `survey`.`bounceaccountpass` AS `t1_c49`, `survey`.`bounceaccountencryption` AS `t1_c50`, `survey`.`bounceaccountuser` AS `t1_c51`, `survey`.`showwelcome` AS `t1_c52`, `survey`.`showprogress` AS `t1_c53`, `survey`.`questionindex` AS `t1_c54`, `survey`.`navigationdelay` AS `t1_c55`, `survey`.`nokeyboard` AS `t1_c56`, `survey`.`alloweditaftercompletion` AS `t1_c57`, `survey`.`googleanalyticsstyle` AS `t1_c58`, `survey`.`googleanalyticsapikey` AS `t1_c59`, `survey`.`tokenencryptionoptions` AS `t1_c60` FROM `lime_surveys_languagesettings` `t`  LEFT OUTER JOIN `lime_surveys` `survey` ON (t.surveyls_survey_id = survey.sid) WHERE (`t`.`surveyls_survey_id`=312655 AND `t`.`surveyls_language`='fr'))</td>
		<td align="center">1</td>
		<td align="center">0.00082</td>
		<td align="center">0.00082</td>
		<td align="center">0.00082</td>
		<td align="center">0.00082</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_surveys_languagesettings`)</td>
		<td align="center">1</td>
		<td align="center">0.00066</td>
		<td align="center">0.00066</td>
		<td align="center">0.00066</td>
		<td align="center">0.00066</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT `languagesettings`.`surveyls_survey_id` AS `t1_c0`, `languagesettings`.`surveyls_language` AS `t1_c1`, `languagesettings`.`surveyls_title` AS `t1_c2`, `languagesettings`.`surveyls_description` AS `t1_c3`, `languagesettings`.`surveyls_welcometext` AS `t1_c4`, `languagesettings`.`surveyls_endtext` AS `t1_c5`, `languagesettings`.`surveyls_policy_notice` AS `t1_c6`, `languagesettings`.`surveyls_policy_error` AS `t1_c7`, `languagesettings`.`surveyls_policy_notice_label` AS `t1_c8`, `languagesettings`.`surveyls_url` AS `t1_c9`, `languagesettings`.`surveyls_urldescription` AS `t1_c10`, `languagesettings`.`surveyls_email_invite_subj` AS `t1_c11`, `languagesettings`.`surveyls_email_invite` AS `t1_c12`, `languagesettings`.`surveyls_email_remind_subj` AS `t1_c13`, `languagesettings`.`surveyls_email_remind` AS `t1_c14`, `languagesettings`.`surveyls_email_register_subj` AS `t1_c15`, `languagesettings`.`surveyls_email_register` AS `t1_c16`, `languagesettings`.`surveyls_email_confirm_subj` AS `t1_c17`, `languagesettings`.`surveyls_email_confirm` AS `t1_c18`, `languagesettings`.`surveyls_dateformat` AS `t1_c19`, `languagesettings`.`surveyls_attributecaptions` AS `t1_c20`, `languagesettings`.`surveyls_alias` AS `t1_c21`, `languagesettings`.`email_admin_notification_subj` AS `t1_c22`, `languagesettings`.`email_admin_notification` AS `t1_c23`, `languagesettings`.`email_admin_responses_subj` AS `t1_c24`, `languagesettings`.`email_admin_responses` AS `t1_c25`, `languagesettings`.`surveyls_numberformat` AS `t1_c26`, `languagesettings`.`attachments` AS `t1_c27` FROM `lime_surveys_languagesettings` `languagesettings`  WHERE (`languagesettings`.`surveyls_survey_id`=:ypl0). Bound with :ypl0='312655')</td>
		<td align="center">1</td>
		<td align="center">0.00062</td>
		<td align="center">0.00062</td>
		<td align="center">0.00062</td>
		<td align="center">0.00062</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SHOW CREATE TABLE `lime_tokens_312655`)</td>
		<td align="center">1</td>
		<td align="center">0.00047</td>
		<td align="center">0.00047</td>
		<td align="center">0.00047</td>
		<td align="center">0.00047</td>
	</tr>	<tr style="background:#F5F5F5">
		<td>system.db.CDbCommand.query(SELECT `owner`.`uid` AS `t1_c0`, `owner`.`users_name` AS `t1_c1`, `owner`.`password` AS `t1_c2`, `owner`.`full_name` AS `t1_c3`, `owner`.`parent_id` AS `t1_c4`, `owner`.`lang` AS `t1_c5`, `owner`.`email` AS `t1_c6`, `owner`.`htmleditormode` AS `t1_c7`, `owner`.`templateeditormode` AS `t1_c8`, `owner`.`questionselectormode` AS `t1_c9`, `owner`.`one_time_pw` AS `t1_c10`, `owner`.`dateformat` AS `t1_c11`, `owner`.`last_login` AS `t1_c12`, `owner`.`created` AS `t1_c13`, `owner`.`modified` AS `t1_c14`, `owner`.`validation_key` AS `t1_c15`, `owner`.`validation_key_expiration` AS `t1_c16`, `owner`.`last_forgot_email_password` AS `t1_c17`, `owner`.`expires` AS `t1_c18`, `owner`.`user_status` AS `t1_c19` FROM `lime_users` `owner`  WHERE (`owner`.`uid`=:ypl0). Bound with :ypl0='2')</td>
		<td align="center">1</td>
		<td align="center">0.00044</td>
		<td align="center">0.00044</td>
		<td align="center">0.00044</td>
		<td align="center">0.00044</td>
	</tr>	<tr style="background:#FFFFFF">
		<td>system.db.CDbCommand.query(SELECT * FROM `lime_user_in_permissionrole` `t` WHERE `t`.`uid`=:yp0. Bound with :yp0=2)</td>
		<td align="center">1</td>
		<td align="center">0.00036</td>
		<td align="center">0.00036</td>
		<td align="center">0.00036</td>
		<td align="center">0.00036</td>
	</tr></tbody></table>
<!-- end of profiling summary -->
</body></html>
limesurvey-ldap.html (41,691 bytes)   
DenisChenu

DenisChenu

2024-12-20 15:05

developer   ~81703

Last edited: 2024-12-20 15:06

Update $ldap_server[$serverId]['encrypt'] = "ldap"; $ldap_server[$serverId]['encrypt'] = "ldaps";

and $ldap_server[$serverId]['server'] = "ldap.univ-rennes1.fr";

More a manual issue here !

ccoupeau

ccoupeau

2024-12-20 15:20

reporter   ~81704

After update parameters :

Error: Can't connect to the LDAP directory

DenisChenu

DenisChenu

2024-12-20 16:18

developer   ~81707

Not related to the original issue

DenisChenu

DenisChenu

2024-12-20 16:24

developer   ~81708

Last edited: 2024-12-20 16:36

Else ! sample are clear

$ldap_server[$serverId]['server'] = "ldap.mycompany.org";
$ldap_server[$serverId]['encrypt'] = "ldaps";

Maybe you need

$ldap_server[$serverId]['server'] = "ldap.univ-rennes1.fr";
 $ldap_server[$serverId]['protoversion'] = "ldapv3";
 $ldap_server[$serverId]['encrypt'] = "start-tls";

Mine (with openldap with Lets'Encrypt)

$ldap_server[$serverId]['server'] = "nedra.example.net";
$ldap_server[$serverId]['port'] = "389";
$ldap_server[$serverId]['protoversion'] = "ldapv3";
$ldap_server[$serverId]['encrypt'] = "start-tls";
$ldap_server[$serverId]['referrals'] = false;
$ldap_server[$serverId]['binddn']   = "cn=vmail,dc=belar,dc=example,dc=me";
$ldap_server[$serverId]['bindpw']   = "XXXXXXXXXXXXX";
ccoupeau

ccoupeau

2024-12-20 16:56

reporter   ~81713

With start-tls it’s not better.
I’ll look at the logs of our LDAP servers to see what the request/error looks like

Issue History

Date Modified Username Field Change
2024-12-02 15:40 ccoupeau New Issue
2024-12-02 15:40 ccoupeau File Added: PHP warning.html
2024-12-02 15:44 DenisChenu Issue Monitored: DenisChenu
2024-12-02 15:44 DenisChenu Bug heat 0 => 2
2024-12-02 15:56 tibor.pacalat Assigned To => gabrieljenik
2024-12-02 15:56 tibor.pacalat Status new => assigned
2024-12-02 17:59 DenisChenu Note Added: 81553
2024-12-02 17:59 DenisChenu Bug heat 2 => 4
2024-12-02 20:02 gabrieljenik Assigned To gabrieljenik => DenisChenu
2024-12-02 20:02 gabrieljenik Note Added: 81554
2024-12-02 20:02 gabrieljenik Bug heat 4 => 6
2024-12-03 09:39 DenisChenu Note Added: 81555
2024-12-11 17:26 DenisChenu Note Added: 81608
2024-12-11 17:40 DenisChenu Note Added: 81609
2024-12-11 17:43 DenisChenu Status assigned => ready for code review
2024-12-11 17:43 DenisChenu Note Added: 81610
2024-12-11 17:44 DenisChenu Note Added: 81611
2024-12-12 15:24 DenisChenu Assigned To DenisChenu => gabrieljenik
2024-12-13 14:37 gabrieljenik Assigned To gabrieljenik => tibor.pacalat
2024-12-13 14:37 gabrieljenik Status ready for code review => ready for testing
2024-12-16 08:51 ccoupeau Note Added: 81628
2024-12-16 08:51 ccoupeau Bug heat 6 => 8
2024-12-16 09:14 DenisChenu Note Added: 81629
2024-12-16 09:15 ccoupeau Note Added: 81630
2024-12-16 10:38 ccoupeau Note Added: 81633
2024-12-19 17:35 tibor.pacalat Note Added: 81691
2024-12-19 17:35 tibor.pacalat Bug heat 8 => 10
2024-12-19 17:38 DenisChenu Note Added: 81692
2024-12-20 14:51 ccoupeau Note Added: 81701
2024-12-20 14:51 ccoupeau File Added: limesurvey-ldap.html
2024-12-20 15:05 DenisChenu Note Added: 81703
2024-12-20 15:06 DenisChenu Note Edited: 81703
2024-12-20 15:06 DenisChenu Note Edited: 81703
2024-12-20 15:20 ccoupeau Note Added: 81704
2024-12-20 16:18 DenisChenu Note Added: 81707
2024-12-20 16:24 DenisChenu Note Added: 81708
2024-12-20 16:36 DenisChenu Note Edited: 81708
2024-12-20 16:56 ccoupeau Note Added: 81713