Open Bug 294651 Opened 20 years ago Updated 2 years ago

function CERT_FindCRLDistributionPoints isn't in nss.def then isn't a part of NSS API, CERT_FindCRLDistributionPoints undefined reference

Categories

(NSS :: Libraries, defect, P2)

x86
All

Tracking

(Not tracked)

People

(Reporter: EPerlade.spam, Unassigned)

Details

User-Agent:       Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686) Opera 7.54  [en]
Build Identifier: 

CERT_FindCRLDistributionPoints function has the form LAYER_Body() of API public 
functions. 
This function isn't called anywhere in NSS internal code, so it should be a part 
of NSS API.  In fact, its entry is missing in nss.def file and using it results 
in undefined reference to `CERT_FindCRLDistributionPoints' error while linking.

Reproducible: Always

Steps to Reproduce:
1.compil a program using CERT_FindCRLDistributionPoints function
2.
3.

Actual Results:  
undefined reference to `CERT_FindCRLDistributionPoints'


Expected Results:  
declare CERT_FindCRLDistributionPoints in nss.def file

A bug report (287057) already exist on CERT_FindCRLDistributionPoints function, 
but it can easily be corrected also CERT_FindCRLDistributionPoints could become 
a real NSS API function.
Should we export the CERT_FindCRLDistributionPoints function?

Bug submitter: since this function is not even used internally
by NSS, its correctness is unknown.  Would you be able to add
it to nss.def and test it for us?
Assignee: wtchang → alexei.volkov.bugs
Status: UNCONFIRMED → NEW
Ever confirmed: true
Target Milestone: --- → 3.11
FYI, there is a legal issue around CRL distribution points. It isn't clear what
can and cannot be done yet. But we shouldn't export this function now, as we may
need to get rid of it.

I already add  CERT_FindCRLDistributionPoints to nss.def.
I tested it in a code printing crl distribution points informations. It just 
works fine. I can add my test code here if you want/need.
Also to stay consistent the #287057 bug wich report a memory leak in 
CERT_FindCRLDistributionPoints had to be corrected before doing it. 
I correct it as follow:

CERTCrlDistributionPoints *
CERT_FindCRLDistributionPoints (CERTCertificate *cert)
{
    SECItem encodedExtenValue;
    SECStatus rv;
    CERTCrlDistributionPoints *crlDPs;
    encodedExtenValue.data = NULL;
    encodedExtenValue.len = 0;

    rv = cert_FindExtension(cert->extensions, SEC_OID_X509_CRL_DIST_POINTS,
    &encodedExtenValue);
    if ( rv != SECSuccess ) {
return (NULL);
    }
    crlDPs = CERT_DecodeCRLDistributionPoints (cert->arena,
       &encodedExtenValue);
    SECITEM_FreeItem(&encodedExtenValue, PR_FALSE);
    return (crlDPs);
}

Like that CERT_FindCRLDistributionPoints can be export. I think this function 
should be export cause it's the cleanest way to obtain CRL DP informations from 
NSS API.  

Ps: I added the same correction for  CERT_FindCRLDistributionPoints in #287057 
bug report.
QA Contact: bishakhabanerjee → jason.m.reid
QA Contact: jason.m.reid → libraries
Target Milestone: 3.11 → 3.11.1
retargeting to 3.12 
Priority: -- → P2
Target Milestone: 3.11.1 → 3.12
OS: Linux → All
Unsetting target milestone in unresolved bugs whose targets have passed.
Target Milestone: 3.12 → ---

The bug assignee is inactive on Bugzilla, and this bug has priority 'P2'.
:beurdouche, could you have a look please?

For more information, please visit auto_nag documentation.

Assignee: alvolkov.bgs → nobody
Flags: needinfo?(bbeurdouche)
Severity: normal → S3

We have modified the bot to only consider P1 as high priority, so I'm cancelling the needinfo here.

Flags: needinfo?(bbeurdouche)
You need to log in before you can comment on or make changes to this bug.