summaryrefslogtreecommitdiff
path: root/nss/lib/jar/jar.c
diff options
context:
space:
mode:
Diffstat (limited to 'nss/lib/jar/jar.c')
-rw-r--r--nss/lib/jar/jar.c785
1 files changed, 394 insertions, 391 deletions
diff --git a/nss/lib/jar/jar.c b/nss/lib/jar/jar.c
index d7aadbb..00a5546 100644
--- a/nss/lib/jar/jar.c
+++ b/nss/lib/jar/jar.c
@@ -14,10 +14,10 @@
#include "jarint.h"
#include "portreg.h"
-static void
-jar_destroy_list (ZZList *list);
+static void
+jar_destroy_list(ZZList *list);
-static int
+static int
jar_find_first_cert(JAR_Signer *signer, int type, JAR_Item **it);
/*
@@ -32,33 +32,33 @@ JAR_new(void)
{
JAR *jar;
- if ((jar = (JAR*)PORT_ZAlloc (sizeof (JAR))) == NULL)
- goto loser;
+ if ((jar = (JAR *)PORT_ZAlloc(sizeof(JAR))) == NULL)
+ goto loser;
if ((jar->manifest = ZZ_NewList()) == NULL)
- goto loser;
+ goto loser;
if ((jar->hashes = ZZ_NewList()) == NULL)
- goto loser;
+ goto loser;
if ((jar->phy = ZZ_NewList()) == NULL)
- goto loser;
+ goto loser;
if ((jar->metainfo = ZZ_NewList()) == NULL)
- goto loser;
+ goto loser;
if ((jar->signers = ZZ_NewList()) == NULL)
- goto loser;
+ goto loser;
return jar;
loser:
if (jar) {
- if (jar->manifest)
- ZZ_DestroyList (jar->manifest);
- if (jar->hashes)
- ZZ_DestroyList (jar->hashes);
- if (jar->phy)
- ZZ_DestroyList (jar->phy);
- if (jar->metainfo)
- ZZ_DestroyList (jar->metainfo);
- if (jar->signers)
- ZZ_DestroyList (jar->signers);
- PORT_Free (jar);
+ if (jar->manifest)
+ ZZ_DestroyList(jar->manifest);
+ if (jar->hashes)
+ ZZ_DestroyList(jar->hashes);
+ if (jar->phy)
+ ZZ_DestroyList(jar->phy);
+ if (jar->metainfo)
+ ZZ_DestroyList(jar->metainfo);
+ if (jar->signers)
+ ZZ_DestroyList(jar->signers);
+ PORT_Free(jar);
}
return NULL;
}
@@ -66,36 +66,38 @@ loser:
/*
* J A R _ d e s t r o y
*/
-void PR_CALLBACK
+void PR_CALLBACK
JAR_destroy(JAR *jar)
{
- PORT_Assert( jar != NULL );
+ PORT_Assert(jar != NULL);
if (jar == NULL)
- return;
+ return;
- if (jar->fp)
- JAR_FCLOSE ((PRFileDesc*)jar->fp);
- if (jar->url)
- PORT_Free (jar->url);
- if (jar->filename)
- PORT_Free (jar->filename);
+ if (jar->fp)
+ JAR_FCLOSE((PRFileDesc *)jar->fp);
+ if (jar->url)
+ PORT_Free(jar->url);
+ if (jar->filename)
+ PORT_Free(jar->filename);
+ if (jar->globalmeta)
+ PORT_Free(jar->globalmeta);
/* Free the linked list elements */
- jar_destroy_list (jar->manifest);
- ZZ_DestroyList (jar->manifest);
- jar_destroy_list (jar->hashes);
- ZZ_DestroyList (jar->hashes);
- jar_destroy_list (jar->phy);
- ZZ_DestroyList (jar->phy);
- jar_destroy_list (jar->metainfo);
- ZZ_DestroyList (jar->metainfo);
- jar_destroy_list (jar->signers);
- ZZ_DestroyList (jar->signers);
- PORT_Free (jar);
+ jar_destroy_list(jar->manifest);
+ ZZ_DestroyList(jar->manifest);
+ jar_destroy_list(jar->hashes);
+ ZZ_DestroyList(jar->hashes);
+ jar_destroy_list(jar->phy);
+ ZZ_DestroyList(jar->phy);
+ jar_destroy_list(jar->metainfo);
+ ZZ_DestroyList(jar->metainfo);
+ jar_destroy_list(jar->signers);
+ ZZ_DestroyList(jar->signers);
+ PORT_Free(jar);
}
-static void
+static void
jar_destroy_list(ZZList *list)
{
ZZLink *link, *oldlink;
@@ -106,70 +108,70 @@ jar_destroy_list(ZZList *list)
JAR_Metainfo *met;
JAR_Signer *signer;
- if (list && !ZZ_ListEmpty (list)) {
- link = ZZ_ListHead (list);
- while (!ZZ_ListIterDone (list, link)) {
- it = link->thing;
- if (!it)
- goto next;
- if (it->pathname)
- PORT_Free (it->pathname);
-
- switch (it->type) {
- case jarTypeMeta:
- met = (JAR_Metainfo *) it->data;
- if (met) {
- if (met->header)
- PORT_Free (met->header);
- if (met->info)
- PORT_Free (met->info);
- PORT_Free (met);
- }
- break;
-
- case jarTypePhy:
- phy = (JAR_Physical *) it->data;
- if (phy)
- PORT_Free (phy);
- break;
-
- case jarTypeSign:
- fing = (JAR_Cert *) it->data;
- if (fing) {
- if (fing->cert)
- CERT_DestroyCertificate (fing->cert);
- if (fing->key)
- PORT_Free (fing->key);
- PORT_Free (fing);
- }
- break;
-
- case jarTypeSect:
- case jarTypeMF:
- case jarTypeSF:
- dig = (JAR_Digest *) it->data;
- if (dig) {
- PORT_Free (dig);
- }
- break;
-
- case jarTypeOwner:
- signer = (JAR_Signer *) it->data;
- if (signer)
- JAR_destroy_signer (signer);
- break;
-
- default:
- /* PORT_Assert( 1 != 2 ); */
- break;
- }
- PORT_Free (it);
-
-next:
- oldlink = link;
- link = link->next;
- ZZ_DestroyLink (oldlink);
- }
+ if (list && !ZZ_ListEmpty(list)) {
+ link = ZZ_ListHead(list);
+ while (!ZZ_ListIterDone(list, link)) {
+ it = link->thing;
+ if (!it)
+ goto next;
+ if (it->pathname)
+ PORT_Free(it->pathname);
+
+ switch (it->type) {
+ case jarTypeMeta:
+ met = (JAR_Metainfo *)it->data;
+ if (met) {
+ if (met->header)
+ PORT_Free(met->header);
+ if (met->info)
+ PORT_Free(met->info);
+ PORT_Free(met);
+ }
+ break;
+
+ case jarTypePhy:
+ phy = (JAR_Physical *)it->data;
+ if (phy)
+ PORT_Free(phy);
+ break;
+
+ case jarTypeSign:
+ fing = (JAR_Cert *)it->data;
+ if (fing) {
+ if (fing->cert)
+ CERT_DestroyCertificate(fing->cert);
+ if (fing->key)
+ PORT_Free(fing->key);
+ PORT_Free(fing);
+ }
+ break;
+
+ case jarTypeSect:
+ case jarTypeMF:
+ case jarTypeSF:
+ dig = (JAR_Digest *)it->data;
+ if (dig) {
+ PORT_Free(dig);
+ }
+ break;
+
+ case jarTypeOwner:
+ signer = (JAR_Signer *)it->data;
+ if (signer)
+ JAR_destroy_signer(signer);
+ break;
+
+ default:
+ /* PORT_Assert( 1 != 2 ); */
+ break;
+ }
+ PORT_Free(it);
+
+ next:
+ oldlink = link;
+ link = link->next;
+ ZZ_DestroyLink(oldlink);
+ }
}
}
@@ -181,42 +183,42 @@ next:
*
*/
-int
-JAR_get_metainfo(JAR *jar, char *name, char *header, void **info,
+int
+JAR_get_metainfo(JAR *jar, char *name, char *header, void **info,
unsigned long *length)
{
JAR_Item *it;
ZZLink *link;
ZZList *list;
- PORT_Assert( jar != NULL && header != NULL );
+ PORT_Assert(jar != NULL && header != NULL);
if (jar == NULL || header == NULL)
- return JAR_ERR_PNF;
+ return JAR_ERR_PNF;
list = jar->metainfo;
- if (ZZ_ListEmpty (list))
- return JAR_ERR_PNF;
+ if (ZZ_ListEmpty(list))
+ return JAR_ERR_PNF;
- for (link = ZZ_ListHead (list);
- !ZZ_ListIterDone (list, link);
+ for (link = ZZ_ListHead(list);
+ !ZZ_ListIterDone(list, link);
link = link->next) {
- it = link->thing;
- if (it->type == jarTypeMeta) {
- JAR_Metainfo *met;
-
- if ((name && !it->pathname) || (!name && it->pathname))
- continue;
- if (name && it->pathname && strcmp (it->pathname, name))
- continue;
- met = (JAR_Metainfo *) it->data;
- if (!PORT_Strcasecmp (met->header, header)) {
- *info = PORT_Strdup (met->info);
- *length = PORT_Strlen (met->info);
- return 0;
- }
- }
+ it = link->thing;
+ if (it->type == jarTypeMeta) {
+ JAR_Metainfo *met;
+
+ if ((name && !it->pathname) || (!name && it->pathname))
+ continue;
+ if (name && it->pathname && strcmp(it->pathname, name))
+ continue;
+ met = (JAR_Metainfo *)it->data;
+ if (!PORT_Strcasecmp(met->header, header)) {
+ *info = PORT_Strdup(met->info);
+ *length = PORT_Strlen(met->info);
+ return 0;
+ }
+ }
}
return JAR_ERR_PNF;
}
@@ -232,61 +234,61 @@ JAR_get_metainfo(JAR *jar, char *name, char *header, void **info,
*
*/
JAR_Context *
-JAR_find (JAR *jar, char *pattern, jarType type)
+JAR_find(JAR *jar, char *pattern, jarType type)
{
JAR_Context *ctx;
- PORT_Assert( jar != NULL );
+ PORT_Assert(jar != NULL);
if (!jar)
- return NULL;
+ return NULL;
- ctx = (JAR_Context *) PORT_ZAlloc (sizeof (JAR_Context));
+ ctx = (JAR_Context *)PORT_ZAlloc(sizeof(JAR_Context));
if (ctx == NULL)
- return NULL;
+ return NULL;
ctx->jar = jar;
if (pattern) {
- if ((ctx->pattern = PORT_Strdup (pattern)) == NULL) {
- PORT_Free (ctx);
- return NULL;
- }
+ if ((ctx->pattern = PORT_Strdup(pattern)) == NULL) {
+ PORT_Free(ctx);
+ return NULL;
+ }
}
ctx->finding = type;
switch (type) {
- case jarTypeMF:
- ctx->next = ZZ_ListHead (jar->hashes);
- break;
-
- case jarTypeSF:
- case jarTypeSign:
- ctx->next = NULL;
- ctx->nextsign = ZZ_ListHead (jar->signers);
- break;
-
- case jarTypeSect:
- ctx->next = ZZ_ListHead (jar->manifest);
- break;
-
- case jarTypePhy:
- ctx->next = ZZ_ListHead (jar->phy);
- break;
-
- case jarTypeOwner:
- if (jar->signers)
- ctx->next = ZZ_ListHead (jar->signers);
- else
- ctx->next = NULL;
- break;
-
- case jarTypeMeta:
- ctx->next = ZZ_ListHead (jar->metainfo);
- break;
-
- default:
- PORT_Assert( 1 != 2);
- break;
+ case jarTypeMF:
+ ctx->next = ZZ_ListHead(jar->hashes);
+ break;
+
+ case jarTypeSF:
+ case jarTypeSign:
+ ctx->next = NULL;
+ ctx->nextsign = ZZ_ListHead(jar->signers);
+ break;
+
+ case jarTypeSect:
+ ctx->next = ZZ_ListHead(jar->manifest);
+ break;
+
+ case jarTypePhy:
+ ctx->next = ZZ_ListHead(jar->phy);
+ break;
+
+ case jarTypeOwner:
+ if (jar->signers)
+ ctx->next = ZZ_ListHead(jar->signers);
+ else
+ ctx->next = NULL;
+ break;
+
+ case jarTypeMeta:
+ ctx->next = ZZ_ListHead(jar->metainfo);
+ break;
+
+ default:
+ PORT_Assert(1 != 2);
+ break;
}
return ctx;
}
@@ -297,14 +299,14 @@ JAR_find (JAR *jar, char *pattern, jarType type)
* Destroy the find iterator context.
*
*/
-void
-JAR_find_end (JAR_Context *ctx)
+void
+JAR_find_end(JAR_Context *ctx)
{
- PORT_Assert( ctx != NULL );
+ PORT_Assert(ctx != NULL);
if (ctx) {
- if (ctx->pattern)
- PORT_Free (ctx->pattern);
- PORT_Free (ctx);
+ if (ctx->pattern)
+ PORT_Free(ctx->pattern);
+ PORT_Free(ctx);
}
}
@@ -316,15 +318,16 @@ JAR_find_end (JAR_Context *ctx)
*
*/
-int JAR_find_next (JAR_Context *ctx, JAR_Item **it)
+int
+JAR_find_next(JAR_Context *ctx, JAR_Item **it)
{
JAR *jar;
ZZList *list = NULL;
int finding;
JAR_Signer *signer = NULL;
- PORT_Assert( ctx != NULL );
- PORT_Assert( ctx->jar != NULL );
+ PORT_Assert(ctx != NULL);
+ PORT_Assert(ctx->jar != NULL);
jar = ctx->jar;
@@ -332,184 +335,184 @@ int JAR_find_next (JAR_Context *ctx, JAR_Item **it)
the actual attached certificate later */
finding = (ctx->finding == jarTypeSign) ? jarTypeSF : ctx->finding;
if (ctx->nextsign) {
- if (ZZ_ListIterDone (jar->signers, ctx->nextsign)) {
- *it = NULL;
- return -1;
- }
- PORT_Assert (ctx->nextsign->thing != NULL);
- signer = (JAR_Signer*)ctx->nextsign->thing->data;
+ if (ZZ_ListIterDone(jar->signers, ctx->nextsign)) {
+ *it = NULL;
+ return -1;
+ }
+ PORT_Assert(ctx->nextsign->thing != NULL);
+ signer = (JAR_Signer *)ctx->nextsign->thing->data;
}
/* Find out which linked list to traverse. Then if
necessary, advance to the next linked list. */
while (1) {
- switch (finding) {
- case jarTypeSign: /* not any more */
- PORT_Assert( finding != jarTypeSign );
- list = signer->certs;
- break;
-
- case jarTypeSect:
- list = jar->manifest;
- break;
-
- case jarTypePhy:
- list = jar->phy;
- break;
-
- case jarTypeSF: /* signer, not jar */
- PORT_Assert( signer != NULL );
- list = signer ? signer->sf : NULL;
- break;
-
- case jarTypeMF:
- list = jar->hashes;
- break;
-
- case jarTypeOwner:
- list = jar->signers;
- break;
-
- case jarTypeMeta:
- list = jar->metainfo;
- break;
-
- default:
- PORT_Assert( 1 != 2 );
- list = NULL;
- break;
- }
- if (list == NULL) {
- *it = NULL;
- return -1;
- }
- /* When looping over lists of lists, advance to the next signer.
+ switch (finding) {
+ case jarTypeSign: /* not any more */
+ PORT_Assert(finding != jarTypeSign);
+ list = signer->certs;
+ break;
+
+ case jarTypeSect:
+ list = jar->manifest;
+ break;
+
+ case jarTypePhy:
+ list = jar->phy;
+ break;
+
+ case jarTypeSF: /* signer, not jar */
+ PORT_Assert(signer != NULL);
+ list = signer ? signer->sf : NULL;
+ break;
+
+ case jarTypeMF:
+ list = jar->hashes;
+ break;
+
+ case jarTypeOwner:
+ list = jar->signers;
+ break;
+
+ case jarTypeMeta:
+ list = jar->metainfo;
+ break;
+
+ default:
+ PORT_Assert(1 != 2);
+ list = NULL;
+ break;
+ }
+ if (list == NULL) {
+ *it = NULL;
+ return -1;
+ }
+ /* When looping over lists of lists, advance to the next signer.
This is done when multiple signers are possible. */
- if (ZZ_ListIterDone (list, ctx->next)) {
- if (ctx->nextsign && jar->signers) {
- ctx->nextsign = ctx->nextsign->next;
- if (!ZZ_ListIterDone (jar->signers, ctx->nextsign)) {
- PORT_Assert (ctx->nextsign->thing != NULL);
- signer = (JAR_Signer*)ctx->nextsign->thing->data;
- PORT_Assert( signer != NULL );
- ctx->next = NULL;
- continue;
- }
- }
- *it = NULL;
- return -1;
- }
-
- /* if the signer changed, still need to fill in the "next" link */
- if (ctx->nextsign && ctx->next == NULL) {
- switch (finding) {
- case jarTypeSF:
- ctx->next = ZZ_ListHead (signer->sf);
- break;
-
- case jarTypeSign:
- ctx->next = ZZ_ListHead (signer->certs);
- break;
- }
- }
- PORT_Assert( ctx->next != NULL );
- if (ctx->next == NULL) {
- *it = NULL;
- return -1;
- }
- while (!ZZ_ListIterDone (list, ctx->next)) {
- *it = ctx->next->thing;
- ctx->next = ctx->next->next;
- if (!*it || (*it)->type != finding)
- continue;
- if (ctx->pattern && *ctx->pattern) {
- if (PORT_RegExpSearch ((*it)->pathname, ctx->pattern))
- continue;
- }
- /* We have a valid match. If this is a jarTypeSign
+ if (ZZ_ListIterDone(list, ctx->next)) {
+ if (ctx->nextsign && jar->signers) {
+ ctx->nextsign = ctx->nextsign->next;
+ if (!ZZ_ListIterDone(jar->signers, ctx->nextsign)) {
+ PORT_Assert(ctx->nextsign->thing != NULL);
+ signer = (JAR_Signer *)ctx->nextsign->thing->data;
+ PORT_Assert(signer != NULL);
+ ctx->next = NULL;
+ continue;
+ }
+ }
+ *it = NULL;
+ return -1;
+ }
+
+ /* if the signer changed, still need to fill in the "next" link */
+ if (ctx->nextsign && ctx->next == NULL) {
+ switch (finding) {
+ case jarTypeSF:
+ ctx->next = ZZ_ListHead(signer->sf);
+ break;
+
+ case jarTypeSign:
+ ctx->next = ZZ_ListHead(signer->certs);
+ break;
+ }
+ }
+ PORT_Assert(ctx->next != NULL);
+ if (ctx->next == NULL) {
+ *it = NULL;
+ return -1;
+ }
+ while (!ZZ_ListIterDone(list, ctx->next)) {
+ *it = ctx->next->thing;
+ ctx->next = ctx->next->next;
+ if (!*it || (*it)->type != finding)
+ continue;
+ if (ctx->pattern && *ctx->pattern) {
+ if (PORT_RegExpSearch((*it)->pathname, ctx->pattern))
+ continue;
+ }
+ /* We have a valid match. If this is a jarTypeSign
return the certificate instead.. */
- if (ctx->finding == jarTypeSign) {
- JAR_Item *itt;
-
- /* just the first one for now */
- if (jar_find_first_cert (signer, jarTypeSign, &itt) >= 0) {
- *it = itt;
- return 0;
- }
- continue;
- }
- return 0;
- }
+ if (ctx->finding == jarTypeSign) {
+ JAR_Item *itt;
+
+ /* just the first one for now */
+ if (jar_find_first_cert(signer, jarTypeSign, &itt) >= 0) {
+ *it = itt;
+ return 0;
+ }
+ continue;
+ }
+ return 0;
+ }
} /* end while */
}
-static int
-jar_find_first_cert (JAR_Signer *signer, int type, JAR_Item **it)
+static int
+jar_find_first_cert(JAR_Signer *signer, int type, JAR_Item **it)
{
ZZLink *link;
ZZList *list = signer->certs;
int status = JAR_ERR_PNF;
*it = NULL;
- if (ZZ_ListEmpty (list)) {
- /* empty list */
- return JAR_ERR_PNF;
+ if (ZZ_ListEmpty(list)) {
+ /* empty list */
+ return JAR_ERR_PNF;
}
- for (link = ZZ_ListHead (list);
- !ZZ_ListIterDone (list, link);
- link = link->next) {
- if (link->thing->type == type) {
- *it = link->thing;
- status = 0;
- break;
- }
+ for (link = ZZ_ListHead(list);
+ !ZZ_ListIterDone(list, link);
+ link = link->next) {
+ if (link->thing->type == type) {
+ *it = link->thing;
+ status = 0;
+ break;
+ }
}
return status;
}
JAR_Signer *
-JAR_new_signer (void)
+JAR_new_signer(void)
{
- JAR_Signer *signer = (JAR_Signer *) PORT_ZAlloc (sizeof (JAR_Signer));
+ JAR_Signer *signer = (JAR_Signer *)PORT_ZAlloc(sizeof(JAR_Signer));
if (signer == NULL)
- goto loser;
+ goto loser;
/* certs */
signer->certs = ZZ_NewList();
if (signer->certs == NULL)
- goto loser;
+ goto loser;
/* sf */
signer->sf = ZZ_NewList();
if (signer->sf == NULL)
- goto loser;
+ goto loser;
return signer;
loser:
if (signer) {
- if (signer->certs)
- ZZ_DestroyList (signer->certs);
- if (signer->sf)
- ZZ_DestroyList (signer->sf);
- PORT_Free (signer);
+ if (signer->certs)
+ ZZ_DestroyList(signer->certs);
+ if (signer->sf)
+ ZZ_DestroyList(signer->sf);
+ PORT_Free(signer);
}
return NULL;
}
-void
+void
JAR_destroy_signer(JAR_Signer *signer)
{
if (signer) {
- if (signer->owner)
- PORT_Free (signer->owner);
- if (signer->digest)
- PORT_Free (signer->digest);
- jar_destroy_list (signer->sf);
- ZZ_DestroyList (signer->sf);
- jar_destroy_list (signer->certs);
- ZZ_DestroyList (signer->certs);
- PORT_Free (signer);
+ if (signer->owner)
+ PORT_Free(signer->owner);
+ if (signer->digest)
+ PORT_Free(signer->digest);
+ jar_destroy_list(signer->sf);
+ ZZ_DestroyList(signer->sf);
+ jar_destroy_list(signer->certs);
+ ZZ_DestroyList(signer->certs);
+ PORT_Free(signer);
}
}
@@ -517,21 +520,21 @@ JAR_Signer *
jar_get_signer(JAR *jar, char *basename)
{
JAR_Item *it;
- JAR_Context *ctx = JAR_find (jar, NULL, jarTypeOwner);
+ JAR_Context *ctx = JAR_find(jar, NULL, jarTypeOwner);
JAR_Signer *candidate;
JAR_Signer *signer = NULL;
if (ctx == NULL)
- return NULL;
-
- while (JAR_find_next (ctx, &it) >= 0) {
- candidate = (JAR_Signer *) it->data;
- if (*basename == '*' || !PORT_Strcmp (candidate->owner, basename)) {
- signer = candidate;
- break;
- }
+ return NULL;
+
+ while (JAR_find_next(ctx, &it) >= 0) {
+ candidate = (JAR_Signer *)it->data;
+ if (*basename == '*' || !PORT_Strcmp(candidate->owner, basename)) {
+ signer = candidate;
+ break;
+ }
}
- JAR_find_end (ctx);
+ JAR_find_end(ctx);
return signer;
}
@@ -567,12 +570,12 @@ JAR_get_url(JAR *jar)
* Register some manner of callback function for this jar.
*
*/
-int
+int
JAR_set_callback(int type, JAR *jar, jar_settable_callback_fn *fn)
{
if (type == JAR_CB_SIGNAL) {
- jar->signal = fn;
- return 0;
+ jar->signal = fn;
+ return 0;
}
return -1;
}
@@ -583,16 +586,16 @@ JAR_set_callback(int type, JAR *jar, jar_settable_callback_fn *fn)
*/
/* To return an error string */
-char *(*jar_fn_GetString) (int) = NULL;
+char *(*jar_fn_GetString)(int) = NULL;
/* To return an MWContext for Java */
-void *(*jar_fn_FindSomeContext) (void) = NULL;
+void *(*jar_fn_FindSomeContext)(void) = NULL;
/* To fabricate an MWContext for FE_GetPassword */
-void *(*jar_fn_GetInitContext) (void) = NULL;
+void *(*jar_fn_GetInitContext)(void) = NULL;
void
-JAR_init_callbacks(char *(*string_cb)(int),
+JAR_init_callbacks(char *(*string_cb)(int),
void *(*find_cx)(void),
void *(*init_cx)(void))
{
@@ -617,68 +620,68 @@ JAR_get_error(int status)
char *errstring = NULL;
switch (status) {
- case JAR_ERR_GENERAL:
- errstring = "General JAR file error";
- break;
-
- case JAR_ERR_FNF:
- errstring = "JAR file not found";
- break;
-
- case JAR_ERR_CORRUPT:
- errstring = "Corrupt JAR file";
- break;
-
- case JAR_ERR_MEMORY:
- errstring = "Out of memory";
- break;
-
- case JAR_ERR_DISK:
- errstring = "Disk error (perhaps out of space)";
- break;
-
- case JAR_ERR_ORDER:
- errstring = "Inconsistent files in META-INF directory";
- break;
-
- case JAR_ERR_SIG:
- errstring = "Invalid digital signature file";
- break;
-
- case JAR_ERR_METADATA:
- errstring = "JAR metadata failed verification";
- break;
-
- case JAR_ERR_ENTRY:
- errstring = "No Manifest entry for this JAR entry";
- break;
-
- case JAR_ERR_HASH:
- errstring = "Invalid Hash of this JAR entry";
- break;
-
- case JAR_ERR_PK7:
- errstring = "Strange PKCS7 or RSA failure";
- break;
-
- case JAR_ERR_PNF:
- errstring = "Path not found inside JAR file";
- break;
-
- default:
- if (jar_fn_GetString) {
- errstring = jar_fn_GetString (status);
- } else {
- /* this is not a normal situation, and would only be
+ case JAR_ERR_GENERAL:
+ errstring = "General JAR file error";
+ break;
+
+ case JAR_ERR_FNF:
+ errstring = "JAR file not found";
+ break;
+
+ case JAR_ERR_CORRUPT:
+ errstring = "Corrupt JAR file";
+ break;
+
+ case JAR_ERR_MEMORY:
+ errstring = "Out of memory";
+ break;
+
+ case JAR_ERR_DISK:
+ errstring = "Disk error (perhaps out of space)";
+ break;
+
+ case JAR_ERR_ORDER:
+ errstring = "Inconsistent files in META-INF directory";
+ break;
+
+ case JAR_ERR_SIG:
+ errstring = "Invalid digital signature file";
+ break;
+
+ case JAR_ERR_METADATA:
+ errstring = "JAR metadata failed verification";
+ break;
+
+ case JAR_ERR_ENTRY:
+ errstring = "No Manifest entry for this JAR entry";
+ break;
+
+ case JAR_ERR_HASH:
+ errstring = "Invalid Hash of this JAR entry";
+ break;
+
+ case JAR_ERR_PK7:
+ errstring = "Strange PKCS7 or RSA failure";
+ break;
+
+ case JAR_ERR_PNF:
+ errstring = "Path not found inside JAR file";
+ break;
+
+ default:
+ if (jar_fn_GetString) {
+ errstring = jar_fn_GetString(status);
+ } else {
+ /* this is not a normal situation, and would only be
called in cases of improper initialization */
- char *err = (char*)PORT_Alloc (40);
- if (err)
- PR_snprintf (err, 39, "Error %d\n", status); /* leak me! */
- else
- err = "Error! Bad! Out of memory!";
- return err;
- }
- break;
+ char *err = (char *)PORT_Alloc(40);
+ if (err)
+ PR_snprintf(err, 39, "Error %d\n", status); /* leak me! */
+ else
+ err = "Error! Bad! Out of memory!";
+ return err;
+ }
+ break;
}
return errstring;
}