mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-24 09:27:31 +09:00
Replace NSS with Pale Moon's
This commit is contained in:
parent
ff1e5e48bf
commit
8c2e376f94
2870 changed files with 1762232 additions and 1374220 deletions
|
|
@ -86,6 +86,10 @@
|
|||
if (ptr_##fn) { \
|
||||
return ptr_##fn(a1, a2, a3, a4); \
|
||||
}
|
||||
#define STUB_SAFE_CALL5(fn, a1, a2, a3, a4, a5) \
|
||||
if (ptr_##fn) { \
|
||||
return ptr_##fn(a1, a2, a3, a4, a5); \
|
||||
}
|
||||
#define STUB_SAFE_CALL6(fn, a1, a2, a3, a4, a5, a6) \
|
||||
if (ptr_##fn) { \
|
||||
return ptr_##fn(a1, a2, a3, a4, a5, a6); \
|
||||
|
|
@ -142,11 +146,8 @@ STUB_DECLARE(int, PORT_GetError_Util, (void));
|
|||
STUB_DECLARE(PLArenaPool *, PORT_NewArena_Util, (unsigned long chunksize));
|
||||
STUB_DECLARE(void, PORT_SetError_Util, (int value));
|
||||
STUB_DECLARE(void *, PORT_ZAlloc_Util, (size_t len));
|
||||
STUB_DECLARE(void *, PORT_ZAllocAligned_Util, (size_t bytes, size_t alignment,
|
||||
void **mem));
|
||||
STUB_DECLARE(void *, PORT_ZAllocAlignedOffset_Util, (size_t bytes,
|
||||
size_t alignment,
|
||||
size_t offset));
|
||||
STUB_DECLARE(void *, PORT_ZAllocAligned_Util, (size_t bytes, size_t alignment, void **mem));
|
||||
STUB_DECLARE(void *, PORT_ZAllocAlignedOffset_Util, (size_t bytes, size_t alignment, size_t offset));
|
||||
STUB_DECLARE(void, PORT_ZFree_Util, (void *ptr, size_t len));
|
||||
|
||||
STUB_DECLARE(void, PR_Assert, (const char *s, const char *file, PRIntn ln));
|
||||
|
|
@ -156,36 +157,31 @@ STUB_DECLARE(PRStatus, PR_Close, (PRFileDesc * fd));
|
|||
STUB_DECLARE(void, PR_DestroyLock, (PRLock * lock));
|
||||
STUB_DECLARE(void, PR_DestroyCondVar, (PRCondVar * cvar));
|
||||
STUB_DECLARE(void, PR_Free, (void *ptr));
|
||||
STUB_DECLARE(char *, PR_GetLibraryFilePathname, (const char *name,
|
||||
PRFuncPtr addr));
|
||||
STUB_DECLARE(char *, PR_GetLibraryFilePathname, (const char *name, PRFuncPtr addr));
|
||||
STUB_DECLARE(PRFileDesc *, PR_ImportPipe, (PROsfd osfd));
|
||||
STUB_DECLARE(void, PR_Lock, (PRLock * lock));
|
||||
STUB_DECLARE(PRCondVar *, PR_NewCondVar, (PRLock * lock));
|
||||
STUB_DECLARE(PRLock *, PR_NewLock, (void));
|
||||
STUB_DECLARE(PRStatus, PR_NotifyCondVar, (PRCondVar * cvar));
|
||||
STUB_DECLARE(PRStatus, PR_NotifyAllCondVar, (PRCondVar * cvar));
|
||||
STUB_DECLARE(PRFileDesc *, PR_Open, (const char *name, PRIntn flags,
|
||||
PRIntn mode));
|
||||
STUB_DECLARE(PRFileDesc *, PR_Open, (const char *name, PRIntn flags, PRIntn mode));
|
||||
STUB_DECLARE(PRInt32, PR_Read, (PRFileDesc * fd, void *buf, PRInt32 amount));
|
||||
STUB_DECLARE(PROffset32, PR_Seek, (PRFileDesc * fd, PROffset32 offset,
|
||||
PRSeekWhence whence));
|
||||
STUB_DECLARE(PROffset32, PR_Seek, (PRFileDesc * fd, PROffset32 offset, PRSeekWhence whence));
|
||||
STUB_DECLARE(PRStatus, PR_Sleep, (PRIntervalTime ticks));
|
||||
STUB_DECLARE(PRStatus, PR_Unlock, (PRLock * lock));
|
||||
STUB_DECLARE(PRStatus, PR_WaitCondVar, (PRCondVar * cvar,
|
||||
PRIntervalTime timeout));
|
||||
STUB_DECLARE(PRStatus, PR_WaitCondVar, (PRCondVar * cvar, PRIntervalTime timeout));
|
||||
STUB_DECLARE(char *, PR_GetEnvSecure, (const char *));
|
||||
|
||||
STUB_DECLARE(SECItem *, SECITEM_AllocItem_Util, (PLArenaPool * arena,
|
||||
SECItem *item, unsigned int len));
|
||||
STUB_DECLARE(SECComparison, SECITEM_CompareItem_Util, (const SECItem *a,
|
||||
const SECItem *b));
|
||||
STUB_DECLARE(SECStatus, SECITEM_CopyItem_Util, (PLArenaPool * arena,
|
||||
SECItem *to, const SECItem *from));
|
||||
STUB_DECLARE(SECItem *, SECITEM_AllocItem_Util, (PLArenaPool * arena, SECItem *item, unsigned int len));
|
||||
STUB_DECLARE(SECComparison, SECITEM_CompareItem_Util, (const SECItem *a, const SECItem *b));
|
||||
STUB_DECLARE(PRBool, SECITEM_ItemsAreEqual_Util, (const SECItem *a, const SECItem *b));
|
||||
STUB_DECLARE(SECStatus, SECITEM_CopyItem_Util, (PLArenaPool * arena, SECItem *to, const SECItem *from));
|
||||
STUB_DECLARE(void, SECITEM_FreeItem_Util, (SECItem * zap, PRBool freeit));
|
||||
STUB_DECLARE(void, SECITEM_ZfreeItem_Util, (SECItem * zap, PRBool freeit));
|
||||
STUB_DECLARE(SECOidTag, SECOID_FindOIDTag_Util, (const SECItem *oid));
|
||||
STUB_DECLARE(int, NSS_SecureMemcmp, (const void *a, const void *b, size_t n));
|
||||
STUB_DECLARE(unsigned int, NSS_SecureMemcmpZero, (const void *mem, size_t n));
|
||||
STUB_DECLARE(void, NSS_SecureSelect, (void *dest, const void *src0, const void *src1, size_t n, unsigned char b));
|
||||
|
||||
#define PORT_ZNew_stub(type) (type *)PORT_ZAlloc_stub(sizeof(type))
|
||||
#define PORT_New_stub(type) (type *)PORT_Alloc_stub(sizeof(type))
|
||||
|
|
@ -294,6 +290,13 @@ PR_Free_stub(void *ptr)
|
|||
return free(ptr);
|
||||
}
|
||||
|
||||
/* we have defensive returns after abort(), which is marked noreturn on some
|
||||
* platforms, making the compiler legitimately complain. */
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wunreachable-code-return"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* arenas
|
||||
*
|
||||
|
|
@ -576,8 +579,11 @@ extern char *
|
|||
PR_GetEnvSecure_stub(const char *var)
|
||||
{
|
||||
STUB_SAFE_CALL1(PR_GetEnvSecure, var);
|
||||
abort();
|
||||
return NULL;
|
||||
#ifdef __USE_GNU
|
||||
return secure_getenv(var);
|
||||
#else
|
||||
return getenv(var);
|
||||
#endif
|
||||
}
|
||||
|
||||
extern void
|
||||
|
|
@ -625,6 +631,30 @@ SECITEM_CompareItem_stub(const SECItem *a, const SECItem *b)
|
|||
return SECEqual;
|
||||
}
|
||||
|
||||
extern PRBool
|
||||
SECITEM_ItemsAreEqual_stub(const SECItem *a, const SECItem *b)
|
||||
{
|
||||
STUB_SAFE_CALL2(SECITEM_ItemsAreEqual_Util, a, b);
|
||||
/* two nulls are equal */
|
||||
if (!a && !b) {
|
||||
return PR_TRUE;
|
||||
}
|
||||
/* only one NULL is not equal */
|
||||
if (!a || !b) {
|
||||
return PR_FALSE;
|
||||
}
|
||||
/* we know both secitems have been set, now make sure the lengths
|
||||
* are equal */
|
||||
if (a->len != b->len) {
|
||||
return PR_FALSE;
|
||||
}
|
||||
/* lengths are equal, safe to verify the data */
|
||||
if (PORT_Memcmp(a->data, b->data, b->len) != 0) {
|
||||
return PR_FALSE;
|
||||
}
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
extern SECStatus
|
||||
SECITEM_CopyItem_stub(PLArenaPool *arena, SECItem *to, const SECItem *from)
|
||||
{
|
||||
|
|
@ -641,11 +671,24 @@ SECOID_FindOIDTag_stub(const SECItem *oid)
|
|||
return SEC_OID_UNKNOWN;
|
||||
}
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
extern void
|
||||
SECITEM_ZfreeItem_stub(SECItem *zap, PRBool freeit)
|
||||
{
|
||||
STUB_SAFE_CALL2(SECITEM_ZfreeItem_Util, zap, freeit);
|
||||
abort();
|
||||
if (zap) {
|
||||
if (zap->data) {
|
||||
PORT_Memset(zap->data, 0, zap->len);
|
||||
PORT_Free_stub(zap->data);
|
||||
}
|
||||
PORT_Memset(zap, 0, sizeof(SECItem));
|
||||
if (freeit) {
|
||||
PORT_Free_stub(zap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern int
|
||||
|
|
@ -662,6 +705,13 @@ NSS_SecureMemcmpZero_stub(const void *mem, size_t n)
|
|||
abort();
|
||||
}
|
||||
|
||||
extern void
|
||||
NSS_SecureSelect_stub(void *dest, const void *src0, const void *src1, size_t n, unsigned char b)
|
||||
{
|
||||
STUB_SAFE_CALL5(NSS_SecureSelect, dest, src0, src1, n, b);
|
||||
abort();
|
||||
}
|
||||
|
||||
#ifdef FREEBL_NO_WEAK
|
||||
|
||||
static const char *nsprLibName = SHLIB_PREFIX "nspr4." SHLIB_SUFFIX;
|
||||
|
|
@ -715,6 +765,7 @@ freebl_InitNSSUtil(void *lib)
|
|||
STUB_FETCH_FUNCTION(SECOID_FindOIDTag_Util);
|
||||
STUB_FETCH_FUNCTION(NSS_SecureMemcmp);
|
||||
STUB_FETCH_FUNCTION(NSS_SecureMemcmpZero);
|
||||
STUB_FETCH_FUNCTION(NSS_SecureSelect);
|
||||
return SECSuccess;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue