Surface miCASAReadKey for FireFox extension.

This commit is contained in:
Jim Norman
2006-03-28 16:58:09 +00:00
parent 61ec97b695
commit 0b3db62210
4 changed files with 89 additions and 2 deletions

View File

@@ -536,6 +536,51 @@ static int32_t sscsshs_UnescapeSecretIDBuf
/* ############################### CODE ENDS HERE ############################# */
} /* end of sscsshs_UnescapeSecretIDBuf */
static int32_t unescapeString(uint8_t *val, uint32_t *valueLen)
{
uint32_t k,i = 0;
uint32_t len = 0;
uint8_t *temp;
uint32_t rc = NSSCS_SUCCESS;
len = *valueLen;
temp = malloc(len);
if (temp)
{
for(k = i = 0; i < len; i++)
{
rc = NSSCS_SUCCESS;
if(val[i] == (SS_UTF8_T)'\\')
{
if(i + 1 < len)
{
if(val[i + 1] == (SS_UTF8_T)'\\'
|| val[i + 1] == (SS_UTF8_T)'='
|| val[i + 1] == (SS_UTF8_T)':')
{
temp[k++] = val[i + 1];
i++;
}
}
else
{
temp[k] = val[i];
}
}
else
{
temp[k++] = val[i];
}
} // end for ...
temp[k] = '\0';
sscs_Utf8Strcpy(val, temp);
*valueLen = k;
free(temp);
return rc;
}
else
return NSSCS_E_PARSER_FAILURE;
}
/*
@@ -1798,6 +1843,11 @@ miCASAReadKey
epPassword,
bytesRequired,
ext);
if (rc == NSSCS_SUCCESS)
{
unescapeString(val, valLen);
}
/* ############################### CODE EXITS HERE ############################# */