I found some bugs in PKCS7.pm. diff is included at the end of the message.
First, one I reported a while back, that line 334 needs different syntax to split the line since the regexp matching doesn't work.
Second, it looks like the error values were never checked, since none of the error checks in parseDepth are valid perl regular expressions.
Lastly, something odd is happening with the DN check. The line:
my $x500_dn = X500::DN->ParseRFC2253 ($dn);
sets $x500_dn as undef, which it wasn't before. It turns out that by this point, $dn has it's values split by "/" instead of ",", and X500::DN->ParseRFC2253 doesn't like that. Removing the initial "/" and converting all of the others to "," fixes that problem.
Roberto Hoyle Dartmouth College PKI Lab
--
[EMAIL PROTECTED]:/usr/local/src/openca/openca-0.9/src/modules/openca-pkcs7$ diff PKCS7.pm PKCS7New.pm
334c334
< my @lines = split ( /(\n|\r)/ , $data );
---
> my @lines = split ( /[\n\r]+/ , $data );
340c340
< if ($line =~ /^\s*error:20:/i) {
---
> if ($line =~ /error:20:/i) {
344c344
< } elsif ($line =~ /^\s*error:18:/i) {
---
> } elsif ($line =~ /error:18:/i) {
350c350
< } elsif ($line =~ /^\s*error:26:/i) {
---
> } elsif ($line =~ /error:26:/i) {
358c358
< } elsif ($line =~ /^\s*error:/i) {
---
> } elsif ($line =~ /error:/i) {
362c362
< ($self->{status}) = ( $line =~ /^\s*error:([^:]*):/ );
---
> ($self->{status}) = ( $line =~ /error:(\d+):/ );
385a386,389
> # RJH: Remove the initial "/" and convert all slashes to ","
> $dn =~ s/^\///;
> $dn =~ s/\//,/g;
------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 _______________________________________________ OpenCA-Devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/openca-devel