diff options
Diffstat (limited to 'nss/lib/certhigh/certhtml.c')
-rw-r--r-- | nss/lib/certhigh/certhtml.c | 419 |
1 files changed, 210 insertions, 209 deletions
diff --git a/nss/lib/certhigh/certhtml.c b/nss/lib/certhigh/certhtml.c index aad66b0..a522f69 100644 --- a/nss/lib/certhigh/certhtml.c +++ b/nss/lib/certhigh/certhtml.c @@ -22,31 +22,33 @@ static char *hex = "0123456789ABCDEF"; /* ** Convert a der-encoded integer to a hex printable string form */ -char *CERT_Hexify (SECItem *i, int do_colon) +char * +CERT_Hexify(SECItem *i, int do_colon) { unsigned char *cp, *end; char *rv, *o; if (!i->len) { - return PORT_Strdup("00"); + return PORT_Strdup("00"); } - rv = o = (char*) PORT_Alloc(i->len * 3); - if (!rv) return rv; + rv = o = (char *)PORT_Alloc(i->len * 3); + if (!rv) + return rv; cp = i->data; end = cp + i->len; while (cp < end) { - unsigned char ch = *cp++; - *o++ = hex[(ch >> 4) & 0xf]; - *o++ = hex[ch & 0xf]; - if (cp != end) { - if (do_colon) { - *o++ = ':'; - } - } + unsigned char ch = *cp++; + *o++ = hex[(ch >> 4) & 0xf]; + *o++ = hex[ch & 0xf]; + if (cp != end) { + if (do_colon) { + *o++ = ':'; + } + } } - *o = 0; /* Null terminate the string */ + *o = 0; /* Null terminate the string */ return rv; } @@ -58,132 +60,132 @@ char *CERT_Hexify (SECItem *i, int do_colon) #define MAX_OUS 20 #define MAX_DC MAX_OUS - -char *CERT_FormatName (CERTName *name) +char * +CERT_FormatName(CERTName *name) { - CERTRDN** rdns; - CERTRDN * rdn; - CERTAVA** avas; - CERTAVA* ava; - char * buf = 0; - char * tmpbuf = 0; - SECItem * cn = 0; - SECItem * email = 0; - SECItem * org = 0; - SECItem * loc = 0; - SECItem * state = 0; - SECItem * country = 0; - SECItem * dq = 0; + CERTRDN **rdns; + CERTRDN *rdn; + CERTAVA **avas; + CERTAVA *ava; + char *buf = 0; + char *tmpbuf = 0; + SECItem *cn = 0; + SECItem *email = 0; + SECItem *org = 0; + SECItem *loc = 0; + SECItem *state = 0; + SECItem *country = 0; + SECItem *dq = 0; - unsigned len = 0; - int tag; - int i; - int ou_count = 0; - int dc_count = 0; - PRBool first; - SECItem * orgunit[MAX_OUS]; - SECItem * dc[MAX_DC]; + unsigned len = 0; + int tag; + int i; + int ou_count = 0; + int dc_count = 0; + PRBool first; + SECItem *orgunit[MAX_OUS]; + SECItem *dc[MAX_DC]; /* Loop over name components and gather the interesting ones */ rdns = name->rdns; while ((rdn = *rdns++) != 0) { - avas = rdn->avas; - while ((ava = *avas++) != 0) { - tag = CERT_GetAVATag(ava); - switch(tag) { - case SEC_OID_AVA_COMMON_NAME: - if (cn) { - break; - } - cn = CERT_DecodeAVAValue(&ava->value); - if (!cn) { - goto loser; - } - len += cn->len; - break; - case SEC_OID_AVA_COUNTRY_NAME: - if (country) { - break; - } - country = CERT_DecodeAVAValue(&ava->value); - if (!country) { - goto loser; - } - len += country->len; - break; - case SEC_OID_AVA_LOCALITY: - if (loc) { - break; - } - loc = CERT_DecodeAVAValue(&ava->value); - if (!loc) { - goto loser; - } - len += loc->len; - break; - case SEC_OID_AVA_STATE_OR_PROVINCE: - if (state) { - break; - } - state = CERT_DecodeAVAValue(&ava->value); - if (!state) { - goto loser; - } - len += state->len; - break; - case SEC_OID_AVA_ORGANIZATION_NAME: - if (org) { - break; - } - org = CERT_DecodeAVAValue(&ava->value); - if (!org) { - goto loser; - } - len += org->len; - break; - case SEC_OID_AVA_DN_QUALIFIER: - if (dq) { - break; - } - dq = CERT_DecodeAVAValue(&ava->value); - if (!dq) { - goto loser; - } - len += dq->len; - break; - case SEC_OID_AVA_ORGANIZATIONAL_UNIT_NAME: - if (ou_count < MAX_OUS) { - orgunit[ou_count] = CERT_DecodeAVAValue(&ava->value); - if (!orgunit[ou_count]) { - goto loser; + avas = rdn->avas; + while ((ava = *avas++) != 0) { + tag = CERT_GetAVATag(ava); + switch (tag) { + case SEC_OID_AVA_COMMON_NAME: + if (cn) { + break; + } + cn = CERT_DecodeAVAValue(&ava->value); + if (!cn) { + goto loser; + } + len += cn->len; + break; + case SEC_OID_AVA_COUNTRY_NAME: + if (country) { + break; + } + country = CERT_DecodeAVAValue(&ava->value); + if (!country) { + goto loser; + } + len += country->len; + break; + case SEC_OID_AVA_LOCALITY: + if (loc) { + break; + } + loc = CERT_DecodeAVAValue(&ava->value); + if (!loc) { + goto loser; + } + len += loc->len; + break; + case SEC_OID_AVA_STATE_OR_PROVINCE: + if (state) { + break; + } + state = CERT_DecodeAVAValue(&ava->value); + if (!state) { + goto loser; + } + len += state->len; + break; + case SEC_OID_AVA_ORGANIZATION_NAME: + if (org) { + break; + } + org = CERT_DecodeAVAValue(&ava->value); + if (!org) { + goto loser; + } + len += org->len; + break; + case SEC_OID_AVA_DN_QUALIFIER: + if (dq) { + break; + } + dq = CERT_DecodeAVAValue(&ava->value); + if (!dq) { + goto loser; + } + len += dq->len; + break; + case SEC_OID_AVA_ORGANIZATIONAL_UNIT_NAME: + if (ou_count < MAX_OUS) { + orgunit[ou_count] = CERT_DecodeAVAValue(&ava->value); + if (!orgunit[ou_count]) { + goto loser; + } + len += orgunit[ou_count++]->len; + } + break; + case SEC_OID_AVA_DC: + if (dc_count < MAX_DC) { + dc[dc_count] = CERT_DecodeAVAValue(&ava->value); + if (!dc[dc_count]) { + goto loser; } - len += orgunit[ou_count++]->len; - } - break; - case SEC_OID_AVA_DC: - if (dc_count < MAX_DC) { - dc[dc_count] = CERT_DecodeAVAValue(&ava->value); - if (!dc[dc_count]) { - goto loser; - } - len += dc[dc_count++]->len; - } - break; - case SEC_OID_PKCS9_EMAIL_ADDRESS: - case SEC_OID_RFC1274_MAIL: - if (email) { - break; - } - email = CERT_DecodeAVAValue(&ava->value); - if (!email) { - goto loser; - } - len += email->len; - break; - default: - break; - } - } + len += dc[dc_count++]->len; + } + break; + case SEC_OID_PKCS9_EMAIL_ADDRESS: + case SEC_OID_RFC1274_MAIL: + if (email) { + break; + } + email = CERT_DecodeAVAValue(&ava->value); + if (!email) { + goto loser; + } + len += email->len; + break; + default: + break; + } + } } /* XXX - add some for formatting */ @@ -191,109 +193,108 @@ char *CERT_FormatName (CERTName *name) /* allocate buffer */ buf = (char *)PORT_Alloc(len); - if ( !buf ) { - goto loser; + if (!buf) { + goto loser; } tmpbuf = buf; - - if ( cn ) { - PORT_Memcpy(tmpbuf, cn->data, cn->len); - tmpbuf += cn->len; - PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); - tmpbuf += BREAKLEN; + + if (cn) { + PORT_Memcpy(tmpbuf, cn->data, cn->len); + tmpbuf += cn->len; + PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); + tmpbuf += BREAKLEN; } - if ( email ) { - PORT_Memcpy(tmpbuf, email->data, email->len); - tmpbuf += ( email->len ); - PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); - tmpbuf += BREAKLEN; + if (email) { + PORT_Memcpy(tmpbuf, email->data, email->len); + tmpbuf += (email->len); + PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); + tmpbuf += BREAKLEN; } - for (i=ou_count-1; i >= 0; i--) { - PORT_Memcpy(tmpbuf, orgunit[i]->data, orgunit[i]->len); - tmpbuf += ( orgunit[i]->len ); - PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); - tmpbuf += BREAKLEN; + for (i = ou_count - 1; i >= 0; i--) { + PORT_Memcpy(tmpbuf, orgunit[i]->data, orgunit[i]->len); + tmpbuf += (orgunit[i]->len); + PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); + tmpbuf += BREAKLEN; } - if ( dq ) { - PORT_Memcpy(tmpbuf, dq->data, dq->len); - tmpbuf += ( dq->len ); - PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); - tmpbuf += BREAKLEN; + if (dq) { + PORT_Memcpy(tmpbuf, dq->data, dq->len); + tmpbuf += (dq->len); + PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); + tmpbuf += BREAKLEN; } - if ( org ) { - PORT_Memcpy(tmpbuf, org->data, org->len); - tmpbuf += ( org->len ); - PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); - tmpbuf += BREAKLEN; + if (org) { + PORT_Memcpy(tmpbuf, org->data, org->len); + tmpbuf += (org->len); + PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); + tmpbuf += BREAKLEN; } - for (i=dc_count-1; i >= 0; i--) { - PORT_Memcpy(tmpbuf, dc[i]->data, dc[i]->len); - tmpbuf += ( dc[i]->len ); - PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); - tmpbuf += BREAKLEN; + for (i = dc_count - 1; i >= 0; i--) { + PORT_Memcpy(tmpbuf, dc[i]->data, dc[i]->len); + tmpbuf += (dc[i]->len); + PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); + tmpbuf += BREAKLEN; } first = PR_TRUE; - if ( loc ) { - PORT_Memcpy(tmpbuf, loc->data, loc->len); - tmpbuf += ( loc->len ); - first = PR_FALSE; + if (loc) { + PORT_Memcpy(tmpbuf, loc->data, loc->len); + tmpbuf += (loc->len); + first = PR_FALSE; } - if ( state ) { - if ( !first ) { - PORT_Memcpy(tmpbuf, COMMA, COMMALEN); - tmpbuf += COMMALEN; - } - PORT_Memcpy(tmpbuf, state->data, state->len); - tmpbuf += ( state->len ); - first = PR_FALSE; + if (state) { + if (!first) { + PORT_Memcpy(tmpbuf, COMMA, COMMALEN); + tmpbuf += COMMALEN; + } + PORT_Memcpy(tmpbuf, state->data, state->len); + tmpbuf += (state->len); + first = PR_FALSE; } - if ( country ) { - if ( !first ) { - PORT_Memcpy(tmpbuf, COMMA, COMMALEN); - tmpbuf += COMMALEN; - } - PORT_Memcpy(tmpbuf, country->data, country->len); - tmpbuf += ( country->len ); - first = PR_FALSE; + if (country) { + if (!first) { + PORT_Memcpy(tmpbuf, COMMA, COMMALEN); + tmpbuf += COMMALEN; + } + PORT_Memcpy(tmpbuf, country->data, country->len); + tmpbuf += (country->len); + first = PR_FALSE; } - if ( !first ) { - PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); - tmpbuf += BREAKLEN; + if (!first) { + PORT_Memcpy(tmpbuf, BREAK, BREAKLEN); + tmpbuf += BREAKLEN; } *tmpbuf = 0; - /* fall through and clean */ +/* fall through and clean */ loser: - if ( cn ) { - SECITEM_FreeItem(cn, PR_TRUE); + if (cn) { + SECITEM_FreeItem(cn, PR_TRUE); } - if ( email ) { - SECITEM_FreeItem(email, PR_TRUE); + if (email) { + SECITEM_FreeItem(email, PR_TRUE); } - for (i=ou_count-1; i >= 0; i--) { - SECITEM_FreeItem(orgunit[i], PR_TRUE); + for (i = ou_count - 1; i >= 0; i--) { + SECITEM_FreeItem(orgunit[i], PR_TRUE); } - if ( dq ) { - SECITEM_FreeItem(dq, PR_TRUE); + if (dq) { + SECITEM_FreeItem(dq, PR_TRUE); } - if ( org ) { - SECITEM_FreeItem(org, PR_TRUE); + if (org) { + SECITEM_FreeItem(org, PR_TRUE); } - for (i=dc_count-1; i >= 0; i--) { - SECITEM_FreeItem(dc[i], PR_TRUE); + for (i = dc_count - 1; i >= 0; i--) { + SECITEM_FreeItem(dc[i], PR_TRUE); } - if ( loc ) { - SECITEM_FreeItem(loc, PR_TRUE); + if (loc) { + SECITEM_FreeItem(loc, PR_TRUE); } - if ( state ) { - SECITEM_FreeItem(state, PR_TRUE); + if (state) { + SECITEM_FreeItem(state, PR_TRUE); } - if ( country ) { - SECITEM_FreeItem(country, PR_TRUE); + if (country) { + SECITEM_FreeItem(country, PR_TRUE); } - return(buf); + return (buf); } - |