From: <ope...@li...> - 2003-01-24 11:06:16
|
Update of /cvsroot/openca/openca-0.9/src/common/lib/cmds In directory sc8-pr-cvs1:/tmp/cvs-serv4244/cmds Modified Files: Tag: openca_0_9_1 basic_csr Log Message: backported changes from HEAD to openca_0_9_1 Index: basic_csr =================================================================== RCS file: /cvsroot/openca/openca-0.9/src/common/lib/cmds/basic_csr,v retrieving revision 1.10.2.2 retrieving revision 1.10.2.3 diff -C2 -d -r1.10.2.2 -r1.10.2.3 *** basic_csr 15 Jan 2003 11:48:48 -0000 1.10.2.2 --- basic_csr 24 Jan 2003 11:06:13 -0000 1.10.2.3 *************** *** 32,36 **** my @h = getRequiredList ("DN_TYPE_".$type."_ELEMENT_".$i."_SELECT"); $html = $query->newInput ( ! -regx => 'LETTERS', -intype => 'popup_menu', -name => 'DN_VALUE_'.$i, --- 32,36 ---- my @h = getRequiredList ("DN_TYPE_".$type."_ELEMENT_".$i."_SELECT"); $html = $query->newInput ( ! -regx => 'MIXED', -intype => 'popup_menu', -name => 'DN_VALUE_'.$i, *************** *** 93,97 **** my $html_bits = $query->newInput ( ! -regx=>'LETTERS', -intype=>'popup_menu', -name=>'bits', --- 93,97 ---- my $html_bits = $query->newInput ( ! -regx=>'NUMERIC', -intype=>'popup_menu', -name=>'bits', *************** *** 156,162 **** my @elements = getRequiredList ("DN_TYPE_".$type."_ELEMENTS"); my $dn = basic_csr_buildDN(); ! my $ms_dn = $dn; ! $ms_dn =~ s/,\s*emailAddress\s*=/,E=/i; ! $ms_dn =~ s/^\s*emailAddress\s*=/E=/i; my $form; --- 156,160 ---- my @elements = getRequiredList ("DN_TYPE_".$type."_ELEMENTS"); my $dn = basic_csr_buildDN(); ! my $ms_dn = basic_csr_buildDN_MS(); my $form; *************** *** 475,479 **** } ! if ($query->param ('PASSWD1')) { $mistake .= $query->newInputCheck ({ --- 473,477 ---- } ! if ($query->param ('passwd1')) { $mistake .= $query->newInputCheck ({ *************** *** 485,492 **** -minlen=>$minPinLength}); } ! if (defined $query->param ('PASSWD1') and defined $query->param ('PASSWD2')) { ! if ($query->param ('PASSWD1') ne $query->param ('PASSWD2')) { $mistake .= gettext ("Two different pin inserted. Please go <B><I>back</I></B> and correct the error."); } --- 483,496 ---- -minlen=>$minPinLength}); } ! ! #quick hack, to get a nicer output... ! my $tmp = "<BR>|OK|[\ \(\)]"; ! $mistake =~ s/$tmp//g; ! ! if (defined $query->param ('passwd1') and defined $query->param ('passwd2')) { ! if ($query->param ('passwd1') ne $query->param ('passwd2')) { + $mistake .= "<BR>"; $mistake .= gettext ("Two different pin inserted. Please go <B><I>back</I></B> and correct the error."); } *************** *** 499,505 **** }; - my $tmp = "<BR>|OK|[\ \(\)]"; - $mistake =~ s/$tmp//g; - } else { return undef; --- 503,506 ---- *************** *** 542,545 **** --- 543,584 ---- ## remove trailing "," $dn =~ s/,$//; + + return $dn; + } + + sub basic_csr_buildDN_MS { + my $dn = ""; + + ## the DN must be build in the reverse order + + ## load the base dn + my @base = getRequiredList ("DN_TYPE_".$type."_BASE"); + for (my $i=scalar @base; $i > 0; $i--) { + if (getRequired ("DN_TYPE_".$type."_BASE_".$i) ne "") + { + $dn .= $base [$i-1]."=".getRequired ("DN_TYPE_".$type."_BASE_".$i).","; + } + } + + ## load the normal DN and build the html-elements + my @elements = getRequiredList ("DN_TYPE_".$type."_ELEMENTS"); + ## scan every element of the DN + for (my $i=scalar @elements; $i > 0; $i--) + { + my $dn_element = $query->param ('DN_VALUE_'.$i); + $dn_element =~ s/\\/\\\\/g; + $dn_element =~ s/\//\\\//g; + $dn_element =~ s/,/\\,/g; + $dn_element =~ s/=/\\=/g; + $dn .= $elements [$i-1]."=".$dn_element.","; + } + + + ## remove trailing "," + $dn =~ s/,$//; + + ## microsoft uses E for emailaddress + $ms_dn =~ s/,\s*emailAddress\s*=/,E=/i; + $ms_dn =~ s/^\s*emailAddress\s*=/E=/i; return $dn; |