SF Bug #3036033 - Error if CN begins with a % sign

This commit is contained in:
Deon George
2011-04-29 12:08:38 +10:00
parent 2ea1fc6314
commit a35298e7f3
11 changed files with 57 additions and 29 deletions

View File

@@ -169,7 +169,7 @@ if (get_request('meth','REQUEST') != 'ajax') {
echo '<td valign="top" align="center">';
printf('<select name="attr" onchange="ajDISPLAY(\'%s\',\'cmd=add_value_form&server_id=%s&dn=%s&attr=\'+this.value,\'%s\',\'append\');">',
'ADDATTR',$app['server']->getIndex(),rawurlencode(get_request('dn','REQUEST')),_('Please Wait'));
'ADDATTR',$app['server']->getIndex(),$request['template']->getDNEncode(),_('Please Wait'));
printf('<option value="%s">%s</option>','','');
foreach ($request['template']->getAvailAttrs() as $attribute)

View File

@@ -64,11 +64,11 @@ if ($add_result) {
else if ($action_number == 2)
$redirect_url = sprintf('cmd.php?%s&template=%s&container=%s',
$href,'default',rawurlencode($request['template']->getContainer()));
$href,'default',$request['template']->getContainerEncode());
else
$redirect_url = sprintf('cmd.php?%s&template=%s&dn=%s',
$href,'default',rawurlencode($request['template']->getDN()));
$href,'default',$request['template']->getDNEncode());
if ($action_number == 1 || $action_number == 2)
printf('<meta http-equiv="refresh" content="0; url=%s" />',$redirect_url);

View File

@@ -65,7 +65,7 @@ if (count($request['template']->getLDAPadd(true))) {
echo '<div>';
echo '<input type="hidden" name="cmd" value="create" />';
printf('<input type="hidden" name="server_id" value="%s" />',$app['server']->getIndex());
printf('<input type="hidden" name="container" value="%s" />',htmlspecialchars($request['template']->getContainer()));
printf('<input type="hidden" name="container" value="%s" />',$request['template']->getContainerEncode(false));
printf('<input type="hidden" name="template" value="%s" />',$request['template']->getID());
foreach ($request['template']->getRDNAttrs() as $rdn)
printf('<input type="hidden" name="rdn_attribute[]" value="%s" />',htmlspecialchars($rdn));
@@ -127,7 +127,7 @@ if (count($request['template']->getLDAPadd(true))) {
} else {
$href = sprintf('cmd=template_engine&server_id=%s&dn=%s',
$app['server']->getIndex(),rawurlencode($request['dn']));
$app['server']->getIndex(),$request['template']->getDNEncode());
echo '<div style="text-align: center;">';
echo _('You made no changes');

View File

@@ -64,7 +64,7 @@ if ($result) {
}
$redirect_url = sprintf('cmd.php?cmd=template_engine&server_id=%s&dn=%s',
$app['server']->getIndex(),rawurlencode($request['dn']));
$app['server']->getIndex(),$request['template']->getDNEncode());
foreach ($request['template']->getLDAPmodify() as $attr => $junk)
$redirect_url .= sprintf('&modified_attrs[]=%s',$attr);

View File

@@ -42,7 +42,7 @@ if (count($request['template']->getLDAPmodify(true))) {
echo '<div>';
echo '<input type="hidden" name="cmd" value="update" />';
printf('<input type="hidden" name="server_id" value="%s" />',$app['server']->getIndex());
printf('<input type="hidden" name="dn" value="%s" />',htmlspecialchars($request['dn']));
printf('<input type="hidden" name="dn" value="%s" />',$request['template']->getDNEncode(false));
echo "\n";
$request['page']->drawHiddenAttributes();
@@ -221,7 +221,7 @@ if (count($request['template']->getLDAPmodify(true))) {
} else {
$href = sprintf('cmd=template_engine&server_id=%s&dn=%s',
$app['server']->getIndex(),rawurlencode($request['dn']));
$app['server']->getIndex(),$request['template']->getDNEncode());
echo '<div style="text-align: center;">';
echo _('You made no changes');