pike.git / lib / modules / Standards.pmod / X509.pmod

version» Context lines:

pike.git/lib/modules/Standards.pmod/X509.pmod:238:    || (keyinfo[1]->type_name != "BIT STRING")    || keyinfo[1]->unused)    return 0;    Sequence seq = [object(Sequence)]keyinfo[0];    String str = [object(String)]keyinfo[1];       if(sizeof(seq)==0) return 0;       if (seq[0]->get_der() == Identifiers.rsa_id->get_der())    { -  if ( (sizeof(seq) != 2) -  || (seq[1]->get_der() != Null()->get_der()) ) +  if ( (sizeof(seq) < 1) || (sizeof(seq) > 2) || +  // Strictly there shouldn't be a parameters member here, but +  // there has been a lot of confusion about 1 element sequence +  // vs. 2 element sequence with Null. Allow both for +  // compatibility. +  (sizeof(seq)==2 && seq[1]->get_der() != Null()->get_der()) )    return 0;       return RSAVerifier(str->value);    }       if(seq[0]->get_der() == Identifiers.dsa_id->get_der())    {    if( sizeof(seq)!=2 || seq[1]->type_name!="SEQUENCE" ||    sizeof(seq[1])!=3 || seq[1][0]->type_name!="INTEGER" ||    seq[1][1]->type_name!="INTEGER" || seq[1][2]->type_name!="INTEGER" )