clean out more directories with single function files

git-svn-id: svn://10.0.0.236/branches/STAN_WORK_BRANCH@128148 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ian.mcgreer%sun.com
2002-08-26 20:32:39 +00:00
parent f9e92455f0
commit bd25bf703f
79 changed files with 0 additions and 8080 deletions

View File

@@ -1,85 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/Create.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:04:58 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_Create
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_INVALID_OID
* NSS_ERROR_INVALID_POINTER
*
* Return value:
* A valid pointer to an NSSPKIXAlgorithmIdentifier upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXAlgorithmIdentifier *
NSSPKIXAlgorithmIdentifier_Create
(
NSSArena *arenaOpt,
NSSOID *algorithm,
NSSItem *parameters
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
}
if( PR_SUCCESS != nssOID_verifyPointer(algorithm) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
if( PR_SUCCESS != nssItem_verifyPointer(parameters) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_Create(arenaOpt, algorithm, parameters);
}

View File

@@ -1,79 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/Decode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:05:00 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_Decode
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_BER
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXAlgorithmIdentifier upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXAlgorithmIdentifier *
NSSPKIXAlgorithmIdentifier_Decode
(
NSSArena *arenaOpt,
NSSBER *ber
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
}
if( PR_SUCCESS != nssItem_verifyPointer(ber) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_Decode(arenaOpt, ber);
}

View File

@@ -1,71 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/Destroy.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:05:02 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_Destroy
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
NSSPKIXAlgorithmIdentifier_Destroy
(
NSSPKIXAlgorithmIdentifier *algid
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_Destroy(algid);
}

View File

@@ -1,79 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/Duplicate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:05:24 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_Duplicate
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid pointer to an NSSPKIXAlgorithmIdentifier upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXAlgorithmIdentifier *
NSSPKIXAlgorithmIdentifier_Duplicate
(
NSSPKIXAlgorithmIdentifier *algid,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_Duplicate(algid, arenaOpt);
}

View File

@@ -1,81 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/Encode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:05:28 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_Encode
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSBER pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSBER *
NSSPKIXAlgorithmIdentifier_Encode
(
NSSPKIXAlgorithmIdentifier *algid,
NSSASN1EncodingType encoding,
NSSBER *rvOpt,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return (NSSBER *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSBER *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_Encode(algid, encoding, rvOpt, arenaOpt);
}

View File

@@ -1,83 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/Equal.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:05:32 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_Equal
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
*
* Return value:
* PR_TRUE if the two objects have equal values
* PR_FALSE otherwise
* PR_FALSE upon error
*/
NSS_IMPLEMENT PRBool
NSSPKIXAlgorithmIdentifier_Equal
(
NSSPKIXAlgorithmIdentifier *algid1,
NSSPKIXAlgorithmIdentifier *algid2,
PRStatus *statusOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_FAILURE;
}
return PR_FALSE;
}
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_FAILURE;
}
return PR_FALSE;
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_Equal(algid1, algid2, statusOpt);
}

View File

@@ -1,71 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/GetAlgorithm.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:05:43 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_GetAlgorithm
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSOID pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSOID *
NSSPKIXAlgorithmIdentifier_GetAlgorithm
(
NSSPKIXAlgorithmIdentifier *algid
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return (NSSOID *)NULL;
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_GetAlgorithm(algid);
}

View File

@@ -1,80 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/GetParameters.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:05:47 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_GetParameters
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid pointer to an NSSItem upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSItem *
NSSPKIXAlgorithmIdentifier_GetParameters
(
NSSPKIXAlgorithmIdentifier *algid,
NSSItem *rvOpt,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return (NSSItem *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSItem *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_GetParameters(algid, rvOpt, arenaOpt);
}

View File

@@ -1,71 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/MClear.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:06:07 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIXM_H
#include "pkixm.h"
#endif /* PKIXM_H */
/*
* nss_pkix_AlgorithmIdentifier_Clear
*
* Wipes out cached data.
*/
NSS_IMPLEMENT PRStatus
nss_pkix_AlgorithmIdentifier_Clear
(
NSSPKIXAlgorithmIdentifier *algid
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
if( (NSSBER *)NULL != algid->ber ) {
nss_ZFreeIf(algid->ber->data);
nss_ZFreeIf(algid->ber);
}
if( (NSSDER *)NULL != algid->der ) {
nss_ZFreeIf(algid->der->data);
nss_ZFreeIf(algid->der);
}
return PR_SUCCESS;
}

View File

@@ -1,138 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PCreate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:06:18 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_Create
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_INVALID_OID
* NSS_ERROR_INVALID_POINTER
*
* Return value:
* A valid pointer to an NSSPKIXAlgorithmIdentifier upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXAlgorithmIdentifier *
nssPKIXAlgorithmIdentifier_Create
(
NSSArena *arenaOpt,
NSSOID *algorithm,
NSSItem *parameters
)
{
NSSArena *arena;
PRBool arena_allocated = PR_FALSE;
nssArenaMark *mark = (nssArenaMark *)NULL;
NSSPKIXAlgorithmIdentifier *rv = (NSSPKIXAlgorithmIdentifier *)NULL;
#ifdef NSSDEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
}
if( PR_SUCCESS != nssOID_verifyPointer(algorithm) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
if( PR_SUCCESS != nssItem_verifyPointer(parameters) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
#endif /* NSSDEBUG */
if( (NSSArena *)NULL == arenaOpt ) {
arena = nssArena_Create();
if( (NSSArena *)NULL == arena ) {
goto loser;
}
arena_allocated = PR_TRUE;
} else {
arena = arenaOpt;
mark = nssArena_Mark(arena);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arena, NSSPKIXAlgorithmIdentifier);
if( (NSSPKIXAlgorithmIdentifier *)NULL == rv ) {
goto loser;
}
rv->arena = arena;
rv->i_allocated_arena = arena_allocated;
rv->algorithm = algorithm;
rv->parameters = nssItem_Duplicate(parameters, arena, (NSSItem *)NULL);
if( (NSSItem *)NULL == rv->parameters ) {
goto loser;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arena, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_AlgorithmIdentifier_add_pointer(rv) ) {
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arena, mark);
}
if( PR_TRUE == arena_allocated ) {
(void)nssArena_Destroy(arena);
}
return (NSSPKIXAlgorithmIdentifier *)NULL;
}

View File

@@ -1,137 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PDecode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:06:42 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_Decode
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_BER
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXAlgorithmIdentifier upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXAlgorithmIdentifier *
nssPKIXAlgorithmIdentifier_Decode
(
NSSArena *arenaOpt,
NSSBER *ber
)
{
NSSArena *arena;
PRBool arena_allocated = PR_FALSE;
nssArenaMark *mark = (nssArenaMark *)NULL;
NSSPKIXAlgorithmIdentifier *rv = (NSSPKIXAlgorithmIdentifier *)NULL;
PRStatus status;
#ifdef NSSDEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
}
if( PR_SUCCESS != nssItem_verifyPointer(ber) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
#endif /* NSSDEBUG */
if( (NSSArena *)NULL == arenaOpt ) {
arena = nssArena_Create();
if( (NSSArena *)NULL == arena ) {
goto loser;
}
arena_allocated = PR_TRUE;
} else {
arena = arenaOpt;
mark = nssArena_Mark(arena);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arena, NSSPKIXAlgorithmIdentifier);
if( (NSSPKIXAlgorithmIdentifier *)NULL == rv ) {
goto loser;
}
rv->arena = arena;
rv->i_allocated_arena = arena_allocated;
rv->ber = nssItem_Duplicate(ber, arena, (NSSItem *)NULL);
if( (NSSItem *)NULL == rv->ber ) {
goto loser;
}
status = nssASN1_DecodeBER(arena, rv, nssPKIXAlgorithmIdentifier_template, ber);
if( PR_SUCCESS != status ) {
goto loser;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arena, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_AlgorithmIdentifier_add_pointer(rv) ) {
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arena, mark);
}
if( PR_TRUE == arena_allocated ) {
(void)nssArena_Destroy(arena);
}
return (NSSPKIXAlgorithmIdentifier *)NULL;
}

View File

@@ -1,76 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PDestroy.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:06:54 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_Destroy
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nssPKIXAlgorithmIdentifier_Destroy
(
NSSPKIXAlgorithmIdentifier *algid
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
#ifdef DEBUG
(void)nss_pkix_AlgorithmIdentifier_remove_pointer(algid);
#endif /* DEBUG */
if( PR_TRUE == algid->i_allocated_arena ) {
return nssArena_Destroy(algid->arena);
}
return PR_SUCCESS;
}

View File

@@ -1,144 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PDuplicate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:06:57 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_Duplicate
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid pointer to an NSSPKIXAlgorithmIdentifier upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXAlgorithmIdentifier *
nssPKIXAlgorithmIdentifier_Duplicate
(
NSSPKIXAlgorithmIdentifier *algid,
NSSArena *arenaOpt
)
{
NSSArena *arena;
PRBool arena_allocated = PR_FALSE;
nssArenaMark *mark = (nssArenaMark *)NULL;
NSSPKIXAlgorithmIdentifier *rv = (NSSPKIXAlgorithmIdentifier *)NULL;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAlgorithmIdentifier *)NULL;
}
}
#endif /* NSSDEBUG */
if( (NSSArena *)NULL == arenaOpt ) {
arena = nssArena_Create();
if( (NSSArena *)NULL == arena ) {
goto loser;
}
arena_allocated = PR_TRUE;
} else {
arena = arenaOpt;
mark = nssArena_Mark(arena);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arena, NSSPKIXAlgorithmIdentifier);
if( (NSSPKIXAlgorithmIdentifier *)NULL == rv ) {
goto loser;
}
rv->arena = arena;
rv->i_allocated_arena = arena_allocated;
rv->ber = nssItem_Duplicate(algid->ber, arena, (NSSItem *)NULL);
if( (NSSItem *)NULL == rv->ber ) {
goto loser;
}
rv->der = nssItem_Duplicate(algid->der, arena, (NSSItem *)NULL);
if( (NSSItem *)NULL == rv->der ) {
goto loser;
}
rv->algorithm = algid->algorithm;
rv->parameters = nssItem_Duplicate(algid->parameters, arena, (NSSItem *)NULL);
if( (NSSItem *)NULL == rv->parameters ) {
goto loser;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arena, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_AlgorithmIdentifier_add_pointer(rv) ) {
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arena, mark);
}
if( PR_TRUE == arena_allocated ) {
(void)nssArena_Destroy(arena);
}
return (NSSPKIXAlgorithmIdentifier *)NULL;
}

View File

@@ -1,117 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PEncode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:07:04 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_Encode
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSBER pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSBER *
nssPKIXAlgorithmIdentifier_Encode
(
NSSPKIXAlgorithmIdentifier *algid,
NSSASN1EncodingType encoding,
NSSBER *rvOpt,
NSSArena *arenaOpt
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return (NSSBER *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSBER *)NULL;
}
}
#endif /* NSSDEBUG */
switch( encoding ) {
case NSSASN1BER:
if( (NSSBER *)NULL != algid->ber ) {
it = algid->ber;
goto done;
}
/*FALLTHROUGH*/
case NSSASN1DER:
if( (NSSDER *)NULL != algid->der ) {
it = algid->der;
goto done;
}
break;
default:
nss_SetError(NSS_ERROR_UNSUPPORTED_ENCODING);
return (NSSBER *)NULL;
}
it = nssASN1_EncodeItem(algid->arena, (NSSItem *)NULL, algid,
nssPKIXAlgorithmIdentifier_template, encoding);
if( (NSSBER *)NULL == it ) {
return (NSSBER *)NULL;
}
switch( encoding ) {
case NSSASN1BER:
algid->ber = it;
break;
case NSSASN1DER:
algid->der = it;
break;
default:
PR_ASSERT(0);
break;
}
done:
return nssItem_Duplicate(it, arenaOpt, rvOpt);
}

View File

@@ -1,88 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PEqual.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:07:21 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_Equal
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
*
* Return value:
* PR_TRUE if the two objects have equal values
* PR_FALSE otherwise
* PR_FALSE upon error
*/
NSS_IMPLEMENT PRBool
nssPKIXAlgorithmIdentifier_Equal
(
NSSPKIXAlgorithmIdentifier *algid1,
NSSPKIXAlgorithmIdentifier *algid2,
PRStatus *statusOpt
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_FAILURE;
}
return PR_FALSE;
}
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_FAILURE;
}
return PR_FALSE;
}
#endif /* NSSDEBUG */
if( algid1->algorithm != algid2->algorithm ) {
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_SUCCESS;
}
return PR_FALSE;
}
return nssItem_Equal(algid1->parameters, algid2->parameters, statusOpt);
}

View File

@@ -1,69 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PGetAlgorithm.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:07:26 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_GetAlgorithm
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSOID pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSOID *
nssPKIXAlgorithmIdentifier_GetAlgorithm
(
NSSPKIXAlgorithmIdentifier *algid
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return (NSSOID *)NULL;
}
#endif /* NSSDEBUG */
return algid->algorithm;
}

View File

@@ -1,78 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PGetParameters.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:07:40 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_GetParameters
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid pointer to an NSSItem upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSItem *
nssPKIXAlgorithmIdentifier_GetParameters
(
NSSPKIXAlgorithmIdentifier *algid,
NSSItem *rvOpt,
NSSArena *arenaOpt
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return (NSSItem *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSItem *)NULL;
}
}
#endif /* NSSDEBUG */
return nssItem_Duplicate(algid->parameters, arenaOpt, rvOpt);
}

View File

@@ -1,75 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PSetAlgorithm.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:07:51 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_SetAlgorithm
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_OID
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nssPKIXAlgorithmIdentifier_SetAlgorithm
(
NSSPKIXAlgorithmIdentifier *algid,
NSSOID *algorithm
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssOID_verifyPointer(algorithm) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
algid->algorithm = algorithm;
return nss_pkix_AlgorithmIdentifier_Clear(algid);
}

View File

@@ -1,86 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/PSetParameters.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:08:48 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAlgorithmIdentifier_SetParameters
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_POINTER
* NSS_ERROR_NO_MEMORY
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nssPKIXAlgorithmIdentifier_SetParameters
(
NSSPKIXAlgorithmIdentifier *algid,
NSSItem *parameters
)
{
NSSItem *prev;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssItem_verifyPointer(parameters) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
prev = algid->parameters;
algid->parameters = nssItem_Duplicate(parameters, algid->arena, (NSSItem *)NULL);
if( (NSSItem *)NULL == algid->parameters ) {
algid->parameters = prev;
return PR_FAILURE;
}
(void)nssItem_Destroy(prev);
return nss_pkix_AlgorithmIdentifier_Clear(algid);
}

View File

@@ -1,76 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/SetAlgorithm.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:08:53 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_SetAlgorithm
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_OID
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
NSSPKIXAlgorithmIdentifier_SetAlgorithm
(
NSSPKIXAlgorithmIdentifier *algid,
NSSOID *algorithm
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssOID_verifyPointer(algorithm) ) {
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_SetAlgorithm(algid, algorithm);
}

View File

@@ -1,77 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/SetParameters.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:08:55 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAlgorithmIdentifier_SetParameters
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ALGORITHM_IDENTIFIER
* NSS_ERROR_INVALID_POINTER
* NSS_ERROR_NO_MEMORY
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
NSSPKIXAlgorithmIdentifier_SetParameters
(
NSSPKIXAlgorithmIdentifier *algid,
NSSItem *parameters
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAlgorithmIdentifier_verifyPointer(algid) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssItem_verifyPointer(parameters) ) {
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKIXAlgorithmIdentifier_SetParameters(algid, parameters);
}

View File

@@ -1,182 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/AlgorithmIdentifier/Attic/verifyPointer.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:08:58 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIXM_H
#include "pkixm.h"
#endif /* PKIXM_H */
#ifdef DEBUG
extern const NSSError NSS_ERROR_INTERNAL_ERROR;
static nssPointerTracker pkix_algid_pointer_tracker;
/*
* nss_pkix_AlgorithmIdentifier_add_pointer
*
* This method is only present in debug builds.
*
* This module-private routine adds an NSSPKIXAlgorithmIdentifier pointer to
* the internal pointer-tracker. This routine should only be used
* by the NSSPKIX module. This routine returns a PRStatus value;
* upon error it will place an error on the error stack and return
* PR_FAILURE.
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INTERNAL_ERROR
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nss_pkix_AlgorithmIdentifier_add_pointer
(
const NSSPKIXAlgorithmIdentifier *p
)
{
PRStatus rv;
rv = nssPointerTracker_initialize(&pkix_algid_pointer_tracker);
if( PR_SUCCESS != rv ) {
return rv;
}
rv = nssPointerTracker_add(&pkix_algid_pointer_tracker, p);
if( PR_SUCCESS != rv ) {
NSSError e = NSS_GetError();
if( NSS_ERROR_NO_MEMORY != e ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
}
return rv;
}
rv = nssArena_registerDestructor(p->arena,
nss_pkix_AlgorithmIdentifier_remove_pointer, p);
if( PR_SUCCESS != rv ) {
(void)nss_pkix_AlgorithmIdentifier_remove_pointer(p);
return rv;
}
return rv;
}
/*
* nss_pkix_AlgorithmIdentifier_remove_pointer
*
* This method is only present in debug builds.
*
* This module-private routine removes a valid NSSPKIXAlgorithmIdentifier
* pointer from the internal pointer-tracker. This routine should
* only be used by the NSSPKIX module. This routine returns a
* PRStatus value; upon error it will place an error on the error
* stack and return PR_FAILURE.
*
* The error may be one of the following values:
* NSS_ERROR_INTERNAL_ERROR
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nss_pkix_AlgorithmIdentifier_remove_pointer
(
const NSSPKIXAlgorithmIdentifier *p
)
{
PRStatus rv;
rv = nssPointerTracker_remove(&pkix_algid_pointer_tracker, p);
if( PR_SUCCESS != rv ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
}
/*
* nssArena_deregisterDestructor(p->arena,
* nss_pkix_AlgorithmIdentifier_remove_pointer, p);
*/
return rv;
}
/*
* nssPKIXAlgorithmIdentifier_verifyPointer
*
* This method is only present in debug builds.
*
* If the specified pointer is a valid pointer to an NSSPKIXAlgorithmIdentifier
* object, this routine will return PR_SUCCESS. Otherwise, it will
* put an error on the error stack and return PR_FAILURE.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
*
* Return value:
* PR_SUCCESS if the pointer is valid
* PR_FAILURE if it isn't
*/
NSS_IMPLEMENT PRStatus
nssPKIXAlgorithmIdentifier_verifyPointer
(
NSSPKIXAlgorithmIdentifier *p
)
{
PRStatus rv;
rv = nssPointerTracker_initialize(&pkix_algid_pointer_tracker);
if( PR_SUCCESS != rv ) {
nss_SetError(NSS_ERROR_INVALID_PKIX_ATTRIBUTE);
return PR_FAILURE;
}
rv = nssPointerTracker_verify(&pkix_algid_pointer_tracker, p);
if( PR_SUCCESS != rv ) {
nss_SetError(NSS_ERROR_INVALID_PKIX_ATTRIBUTE);
return PR_FAILURE;
}
return PR_SUCCESS;
}
#endif /* DEBUG */

View File

@@ -1,79 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/AddValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:02 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_AddValue
*
* This routine adds the specified attribute value to the set in
* the specified NSSPKIXAttribute.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_NO_MEMORY
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
NSSPKIXAttribute_AddValue
(
NSSPKIXAttribute *attribute,
NSSPKIXAttributeValue *value
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssItem_verifyPointer(value) ) {
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKIXAttribute_AddValue(attribute, value);
}

View File

@@ -1,141 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/Create.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:06 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_Create
*
* This routine creates an NSSPKIXAttribute from specified components.
* This routine may return NULL upon error, in which case it will have
* created an error stack. If the optional arena argument is non-NULL,
* that arena will be used for the required memory. There must be at
* least one attribute value specified. The final argument must be
* NULL, to indicate the end of the set of attribute values.
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_INVALID_OID
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_INSUFFICIENT_VALUES
* NSS_ERROR_VALUE_OUT_OF_RANGE
*
* Return value:
* A valid pointer to an NSSPKIXAttribute upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttribute *
NSSPKIXAttribute_Create
(
NSSArena *arenaOpt,
NSSPKIXAttributeType *typeOid,
NSSPKIXAttributeValue *value1,
...
)
{
va_list ap;
NSSPKIXAttribute *rv;
PRUint32 count;
nss_ClearErrorStack();
#ifdef DEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
if( PR_SUCCESS != nssOID_verifyPointer(typeOid) ) {
return (NSSPKIXAttribute *)NULL;
}
if( (NSSPKIXAttributeValue *)NULL == value1 ) {
nss_SetError(NSS_ERROR_INSUFFICIENT_VALUES);
return (NSSPKIXAttribute *)NULL;
}
{
va_start(ap, typeOid);
while( 1 ) {
NSSPKIXAttributeValue *v;
v = (NSSPKIXAttributeValue *)va_arg(ap, NSSPKIXAttributeValue *);
if( (NSSPKIXAttributeValue *)NULL == v ) {
break;
}
if( PR_SUCCESS != nssItem_verifyPointer(v) ) {
va_end(ap);
return (NSSPKIXAttribute *)NULL;
}
}
va_end(ap);
}
#endif /* DEBUG */
va_start(ap, typeOid);
for( count = 0; ; count++ ) {
NSSPKIXAttributeValue *v;
v = (NSSPKIXAttributeValue *)va_arg(ap, NSSPKIXAttributeValue *);
if( (NSSPKIXAttributeValue *)NULL == v ) {
break;
}
#ifdef PEDANTIC
if( count == 0xFFFFFFFF ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
va_end(ap);
return (NSSPKIXAttribute *)NULL;
}
#endif /* PEDANTIC */
}
va_end(ap);
va_start(ap, typeOid);
rv = nss_pkix_Attribute_V_Create(arenaOpt, typeOid, count, ap);
va_end(ap);
return rv;
}

View File

@@ -1,97 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/CreateFromArray.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:07 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_CreateFromArray
*
* This routine creates an NSSPKIXAttribute from specified components.
* This routine may return NULL upon error, in which case it will have
* created an error stack. If the optional arena argument is non-NULL,
* that arena will be used for the required memory. There must be at
* least one attribute value specified. The final argument must be
* NULL, to indicate the end of the set of attribute values.
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_INVALID_OID
* NSS_ERROR_INVALID_ITEM
*
* Return value:
* A valid pointer to an NSSPKIXAttribute upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttribute *
NSSPKIXAttribute_CreateFromArray
(
NSSArena *arenaOpt,
NSSPKIXAttributeType *typeOid,
PRUint32 count,
NSSPKIXAttributeValue values[]
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
if( PR_SUCCESS != nssOID_verifyPointer(typeOid) ) {
return (NSSPKIXAttribute *)NULL;
}
{
PRUint32 i;
for( i = 0; i < count; i++ ) {
if( PR_SUCCESS != nssItem_verifyPointer(&values[i]) ) {
return (NSSPKIXAttribute *)NULL;
}
}
}
#endif /* DEBUG */
return nssPKIXAttribute_CreateFromArray(arenaOpt, typeOid, count, values);
}

View File

@@ -1,84 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/Decode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:12 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_Decode
*
* This routine creates an NSSPKIXAttribute by decoding a BER-
* or DER-encoded Attribute as defined in RFC 2459. This
* routine may return NULL upon error, in which case it will
* have created an error stack. If the optional arena argument
* is non-NULL, that arena will be used for the required memory.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_BER
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_INVALID_ITEM
*
* Return value:
* A valid pointer to an NSSPKIXAttribute upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttribute *
NSSPKIXAttribute_Decode
(
NSSArena *arenaOpt,
NSSBER *ber
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
if( PR_SUCCESS != nssItem_verifyPointer(ber) ) {
return (NSSPKIXAttribute *)NULL;
}
#endif /* DEBUG */
return nssPKIXAttribute_Decode(arenaOpt, ber);
}

View File

@@ -1,74 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/Destroy.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:14 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_Destroy
*
* This routine destroys an NSSPKIXAttribute. It should be called on
* all such objects created without an arena. It does not need to be
* called for objects created with an arena, but it may be. This
* routine returns a PRStatus value. Upon error, it will create an
* error stack and return PR_FAILURE.
*
* The error value may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_EXTERN PRStatus
NSSPKIXAttribute_Destroy
(
NSSPKIXAttribute *attribute
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKIXAttribute_Destroy(attribute);
}

View File

@@ -1,79 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/Duplicate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:16 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_Duplicate
*
* This routine duplicates an NSSPKIXAttribute. {arenaOpt}
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid pointer to an NSSPKIXAttribute upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttribute *
NSSPKIXAttribute_Duplicate
(
NSSPKIXAttribute *attribute,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return (NSSPKIXAttribute *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXAttribute_Duplicate(attribute, arenaOpt);
}

View File

@@ -1,85 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/Encode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:19 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_Encode
*
* This routine returns an ASN.1 encoding of the specified
* NSSPKIXAttribute. {usual rules about itemOpt and arenaOpt}
* This routine indicates an error (NSS_ERROR_INVALID_DATA)
* if there are no attribute values (i.e., the last one was removed).
*
* The error value may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_DATA
*
* Return value:
* A valid NSSBER pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSBER *
NSSPKIXAttribute_Encode
(
NSSPKIXAttribute *attribute,
NSSASN1EncodingType encoding,
NSSBER *rvOpt,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return (NSSBER *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSBER *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXAttribute_Encode(attribute, encoding, rvOpt, arenaOpt);
}

View File

@@ -1,88 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/Equal.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:22 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_Equal
*
* This routine compares two NSSPKIXAttribute's for equality.
* It returns PR_TRUE if they are equal, PR_FALSE otherwise.
* This routine also returns PR_FALSE upon error; if you're
* that worried about it, check for an error stack.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
*
* Return value:
* PR_TRUE if the two objects have equal values
* PR_FALSE otherwise
* PR_FALSE upon error
*/
NSS_IMPLEMENT PRBool
NSSPKIXAttribute_Equal
(
NSSPKIXAttribute *one,
NSSPKIXAttribute *two,
PRStatus *statusOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(one) ) {
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_FAILURE;
}
return PR_FALSE;
}
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(two) ) {
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_FAILURE;
}
return PR_FALSE;
}
#endif /* DEBUG */
return nssPKIXAttribute_Equal(one, two);
}

View File

@@ -1,84 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/FindValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:28 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_FindValue
*
* This routine searches the set of attribute values in the specified
* NSSPKIXAttribute for the provided data. If an exact match is found,
* then that value's index is returned. If an exact match is not
* found, -1 is returned. If there is more than one exact match, one
* index will be returned. {notes about unorderdness of SET, etc}
* If the index may not be represented as an integer, an error is
* indicated.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_NOT_FOUND
* NSS_ERROR_VALUE_OUT_OF_RANGE
*
* Return value
* The index of the specified attribute value upon success
* -1 upon failure.
*/
NSS_IMPLEMENT PRInt32
NSSPKIXAttribute_FindValue
(
NSSPKIXAttribute *attribute,
NSSPKIXAttributeValue *value
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssItem_verifyPointer(value) ) {
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKIXAttribute_FindValue(attribute, value);
}

View File

@@ -1,72 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/GetType.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:50 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_GetType
*
* This routine returns the attribute type oid of the specified
* NSSPKIXAttribute.
*
* The error value may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSPKIXAttributeType pointer upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttributeType *
NSSPKIXAttribute_GetType
(
NSSPKIXAttribute *attribute
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return (NSSPKIXAttributeType *)NULL;
}
#endif /* DEBUG */
return nssPKIXAttribute_GetType(attribute);
}

View File

@@ -1,86 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/GetValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:53 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_GetValue
*
* This routine returns the i'th attribute value of the set of
* values in the specified NSSPKIXAttribute. Although the set
* is unordered, an arbitrary ordering will be maintained until
* the data in the attribute is changed. {usual comments about
* itemOpt and arenaOpt}
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_VALUE_OUT_OF_RANGE
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXAttributeValue upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXAttributeValue *
NSSPKIXAttribute_GetValue
(
NSSPKIXAttribute *attribute,
PRInt32 i,
NSSPKIXAttributeValue *itemOpt,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return (NSSPKIXAttributeValue *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttributeValue *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXAttribute_GetValue(attribute, i, itemOpt, arenaOpt);
}

View File

@@ -1,75 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/GetValueCount.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:57 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_GetValueCount
*
* This routine returns the number of attribute values present in
* the specified NSSPKIXAttribute. This routine returns a PRInt32.
* Upon error, this routine returns -1. This routine indicates an
* error if the number of values cannot be expressed as a PRInt32.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_VALUE_OUT_OF_RANGE
*
* Return value:
* Nonnegative integer upon success
* -1 upon failure.
*/
NSS_IMPLEMENT PRInt32
NSSPKIXAttribute_GetValueCount
(
NSSPKIXAttribute *attribute
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return -1;
}
#endif /* DEBUG */
return nssPKIXAttribute_GetValueCount(attribute);
}

View File

@@ -1,88 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/GetValues.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:09:59 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_GetValues
*
* This routine returns all of the attribute values in the specified
* NSSPKIXAttribute. If the optional pointer to an array of NSSItems
* is non-null, then that array will be used and returned; otherwise,
* an array will be allocated and returned. If the limit is nonzero
* (which is must be if the specified array is nonnull), then an
* error is indicated if it is smaller than the value count.
* {arenaOpt}
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_ARRAY_TOO_SMALL
*
* Return value:
* A valid pointer to an array of NSSItem's upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttributeValue *
NSSPKIXAttribute_GetValues
(
NSSPKIXAttribute *attribute,
NSSPKIXAttributeValue rvOpt[],
PRInt32 limit,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return (NSSPKIXAttributeValue *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyOpt(attribute) ) {
return (NSSPKIXAttributeValue *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXAttribute_GetValues(attribute, rvOpt, limit, arenaOpt);
}

View File

@@ -1,71 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/MClear.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:10:03 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nss_pkix_Attribute_Clear
*
* Wipes out cached data.
*/
NSS_IMPLEMENT PRStatus
nss_pkix_Attribute_Clear
(
NSSPKIXAttribute *a
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
if( (NSSBER *)NULL != a->ber ) {
nss_ZFreeIf(a->ber->data);
nss_ZFreeIf(a->ber);
}
if( (NSSDER *)NULL != a->der ) {
nss_ZFreeIf(a->der->data);
nss_ZFreeIf(a->der);
}
return PR_SUCCESS;
}

View File

@@ -1,87 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/MCount.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:10:04 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIXM_H
#include "pkixm.h"
#endif /* PKIXM_H */
/*
* nss_pkix_Attribute_Count
*
* This module-private routine sets the valuesCount part of the
* NSSPKIXAttribute argument. It does no checking, and is intended
* only for use inside the NSSPKIXAttribute implementation itself.
* There is no error return. There is no return value.
*/
NSS_IMPLEMENT void
nss_pkix_Attribute_Count
(
NSSPKIXAttribute *a
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return;
}
#endif /* NSSDEBUG */
PR_ASSERT((nssASN1Item **)NULL != a->asn1values);
if( (nssASN1Item *)NULL == a->asn1values ) {
nss_SetError(NSS_ERROR_ASSERTION_FAILED);
return;
}
if( 0 == a->valuesCount ) {
PRUint32 i;
for( i = 0; i < 0xFFFFFFFF; i++ ) {
if( (nssASN1Item *)NULL == a->asn1values[i] ) {
break;
}
}
#ifdef PEDANTIC
if( 0xFFFFFFFF == i ) {
return;
}
#endif /* PEDANTIC */
a->valuesCount = i;
}
return;
}

View File

@@ -1,165 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/MVCreate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:10:27 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIXM_H
#include "pkixm.h"
#endif /* PKIXM_H */
/*
* nss_pkix_Attribute_V_Create
*
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_INVALID_OID
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_INTERNAL_ERROR;
*
* Return value:
* A valid pointer to an NSSPKIXAttribute upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttribute *
nss_pkix_Attribute_V_Create
(
NSSArena *arenaOpt,
NSSPKIXAttributeType *typeOid,
PRUint32 count,
va_list ap
)
{
NSSArena *arena;
PRBool arena_allocated = PR_FALSE;
nssArenaMark *mark = (nssArenaMark *)NULL;
NSSPKIXAttribute *rv = (NSSPKIXAttribute *)NULL;
PRStatus status;
PRUint32 i;
if( (NSSArena *)NULL == arenaOpt ) {
arena = nssArena_Create();
if( (NSSArena *)NULL == arena ) {
goto loser;
}
arena_allocated = PR_TRUE;
} else {
arena = arenaOpt;
mark = nssArena_Mark(arena);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arena, NSSPKIXAttribute);
if( (NSSPKIXAttribute *)NULL == rv ) {
goto loser;
}
rv->arena = arena;
rv->i_allocated_arena = arena_allocated;
rv->type = typeOid;
{
NSSItem typeder;
NSSItem *x = nssOID_GetDEREncoding(rv->type, &typeder, arena);
if( (NSSItem *)NULL == x ) {
goto loser;
}
rv->asn1type.size = typeder.size;
rv->asn1type.data = typeder.data;
}
rv->valuesCount = count;
rv->asn1values = nss_ZNEWARRAY(arena, nssASN1Item *, count);
if( (nssASN1Item **)NULL == rv->asn1values ) {
goto loser;
}
for( i = 0; i < count; i++ ) {
NSSItem tmp;
NSSPKIXAttributeValue *v = (NSSPKIXAttributeValue *)
va_arg(ap, NSSPKIXAttributeValue *);
rv->asn1values[i] = nss_ZNEW(arena, nssASN1Item);
if( (nssASN1Item *)NULL == rv->asn1values[i] ) {
goto loser;
}
if( (NSSItem *)NULL == nssItem_Duplicate(v, arena, &tmp) ) {
goto loser;
}
rv->asn1values[i].size = tmp.size;
rv->asn1values[i].data = tmp.data;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arena, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_Attribute_add_pointer(rv) ) {
goto loser;
}
if( PR_SUCCESS !=
nssArena_registerDestructor(arena,
nss_pkix_Attribute_remove_pointer,
rv) ) {
(void)nss_pkix_Attribute_remove_pointer(rv);
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arena, mark);
}
if( PR_TRUE == arena_allocated ) {
(void)nssArena_Destroy(arena);
}
return (NSSPKIXAttribute *)NULL;
}

View File

@@ -1,140 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PAddValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:10:30 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_AddValue
*
* This routine adds the specified attribute value to the set in
* the specified NSSPKIXAttribute.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_NO_MEMORY
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nssPKIXAttribute_AddValue
(
NSSPKIXAttribute *a,
NSSPKIXAttributeValue *value
)
{
PRUint32 newcount;
nssASN1Item **new_asn1_items = (nssASN1Item **)NULL;
NSSItem tmp;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssItem_verifyPointer(value) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
PR_ASSERT((nssASN1Item **)NULL != a->asn1values);
if( (nssASN1Item **)NULL == a->asn1values ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
return PR_FAILURE;
}
if( 0 == a->valuesCount ) {
PRUint32 i;
for( i = 0; i < 0xFFFFFFFF; i++ ) {
if( (nssASN1Item *)NULL == a->asn1values[i] ) {
break;
}
}
#ifdef PEDANTIC
if( 0xFFFFFFFF == i ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
/* Internal error is that we don't handle them this big */
return PR_FAILURE;
}
#endif /* PEDANTIC */
a->valuesCount = i;
}
newcount = a->valuesCount + 1;
/* Check newcount for a rollover. */
/* Remember that our asn1values array is NULL-terminated */
new_asn1_items = (nssASN1Item **)nss_ZRealloc(a->asn1values,
((newcount+1) * sizeof(nssASN1Item *)));
if( (nssASN1Item **)NULL == new_asn1_items ) {
goto loser;
}
new_asn1_items[ a->valuesCount ] = nss_ZNEW(a->arena, nssASN1Item);
if( (nssASN1Item *)NULL == new_asn1_items[ a->valuesCount ] ) {
goto loser;
}
if( (NSSItem *)NULL == nssItem_Duplicate(value, a->arena, &tmp) ) {
goto loser;
}
new_asn1_items[ a->valuesCount ]->size = tmp.size;
new_asn1_items[ a->valuesCount ]->data = tmp.data;
a->valuesCount++;
a->asn1values = new_asn1_items;
return nss_pkix_Attribute_Clear(a);
loser:
if( (nssASN1Item **)NULL != new_asn1_items ) {
nss_ZFreeIf(new_asn1_items[ newcount-1 ]);
/* We could realloc back down, but we actually know it's a no-op */
a->asn1values = new_asn1_items;
}
return PR_FAILURE;
}

View File

@@ -1,139 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PCreate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:10:42 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_Create
*
* This routine creates an NSSPKIXAttribute from specified components.
* This routine may return NULL upon error, in which case it will have
* created an error stack. If the optional arena argument is non-NULL,
* that arena will be used for the required memory. There must be at
* least one attribute value specified. The final argument must be
* NULL, to indicate the end of the set of attribute values.
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_INVALID_OID
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_INSUFFICIENT_VALUES
* NSS_ERROR_VALUE_OUT_OF_RANGE
*
* Return value:
* A valid pointer to an NSSPKIXAttribute upon success
* NULL upon failure.
*/
NSS_EXTERN NSSPKIXAttribute *
nssPKIXAttribute_Create
(
NSSArena *arenaOpt,
NSSPKIXAttributeType *typeOid,
NSSPKIXAttributeValue *value1,
...
)
{
va_list ap;
NSSPKIXAttribute *rv;
PRUint32 count;
#ifdef NSSDEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
if( PR_SUCCESS != nssOID_verifyPointer(typeOid) ) {
return (NSSPKIXAttribute *)NULL;
}
if( (NSSPKIXAttributeValue *)NULL == value1 ) {
nss_SetError(NSS_ERROR_INSUFFICIENT_VALUES);
return (NSSPKIXAttribute *)NULL;
}
{
va_start(ap, typeOid);
while( 1 ) {
NSSPKIXAttributeValue *v;
v = (NSSPKIXAttributeValue *)va_arg(ap, NSSPKIXAttributeValue *);
if( (NSSPKIXAttributeValue *)NULL == v ) {
break;
}
if( PR_SUCCESS != nssItem_verifyPointer(v) ) {
va_end(ap);
return (NSSPKIXAttribute *)NULL;
}
}
va_end(ap);
}
#endif /* NSSDEBUG */
va_start(ap, typeOid);
for( count = 0; ; count++ ) {
NSSPKIXAttributeValue *v;
v = (NSSPKIXAttributeValue *)va_arg(ap, NSSPKIXAttributeValue *);
if( (NSSPKIXAttributeValue *)NULL == v ) {
break;
}
#ifdef PEDANTIC
if( count == 0xFFFFFFFF ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
va_end(ap);
return (NSSPKIXAttribute *)NULL;
}
#endif /* PEDANTIC */
}
va_end(ap);
va_start(ap, typeOid);
rv = nss_pkix_Attribute_V_Create(arenaOpt, typeOid, count, ap);
va_end(ap);
return rv;
}

View File

@@ -1,191 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PCreateFromArray.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:10:45 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
#ifndef ASN1_H
#include "asn1.h"
#endif /* ASN1_H */
/*
* nssPKIXAttribute_CreateFromArray
*
* This routine creates an NSSPKIXAttribute from specified components.
* This routine may return NULL upon error, in which case it will have
* created an error stack. If the optional arena argument is non-NULL,
* that arena will be used for the required memory. There must be at
* least one attribute value specified. The final argument must be
* NULL, to indicate the end of the set of attribute values.
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_INVALID_OID
* NSS_ERROR_INVALID_ITEM
*
* Return value:
* A valid pointer to an NSSPKIXAttribute upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttribute *
nssPKIXAttribute_CreateFromArray
(
NSSArena *arenaOpt,
NSSPKIXAttributeType *typeOid,
PRUint32 count,
NSSPKIXAttributeValue values[]
)
{
NSSArena *arena;
PRBool arena_allocated = PR_FALSE;
nssArenaMark *mark = (nssArenaMark *)NULL;
NSSPKIXAttribute *rv = (NSSPKIXAttribute *)NULL;
PRStatus status;
PRUint32 i;
#ifdef NSSDEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
if( PR_SUCCESS != nssOID_verifyPointer(typeOid) ) {
return (NSSPKIXAttribute *)NULL;
}
for( i = 0; i < count; i++ ) {
if( PR_SUCCESS != nssItem_verifyPointer(&values[i]) ) {
return (NSSPKIXAttribute *)NULL;
}
}
#endif /* NSSDEBUG */
if( (NSSArena *)NULL == arenaOpt ) {
arena = nssArena_Create();
if( (NSSArena *)NULL == arena ) {
goto loser;
}
arena_allocated = PR_TRUE;
} else {
arena = arenaOpt;
mark = nssArena_Mark(arena);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arena, NSSPKIXAttribute);
if( (NSSPKIXAttribute *)NULL == rv ) {
goto loser;
}
rv->arena = arena;
rv->i_allocated_arena = arena_allocated;
rv->type = typeOid;
{
NSSItem typeder;
NSSItem *x = nssOID_GetDEREncoding(rv->type, &typeder, arena);
if( (NSSItem *)NULL == x ) {
goto loser;
}
rv->asn1type.size = typeder.size;
rv->asn1type.data = typeder.data;
}
rv->valuesCount = count;
rv->asn1values = nss_ZNEWARRAY(arena, nssASN1Item *, count);
if( (nssASN1Item **)NULL == rv->asn1values ) {
goto loser;
}
for( i = 0; i < count; i++ ) {
NSSItem tmp;
NSSPKIXAttributeValue *v = &values[i];
rv->asn1values[i] = nss_ZNEW(arena, nssASN1Item);
if( (nssASN1Item *)NULL == rv->asn1values[i] ) {
goto loser;
}
if( (NSSItem *)NULL == nssItem_Duplicate(v, arena, &tmp) ) {
goto loser;
}
rv->asn1values[i].size = tmp.size;
rv->asn1values[i].data = tmp.data;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arena, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_Attribute_add_pointer(rv) ) {
goto loser;
}
if( PR_SUCCESS !=
nssArena_registerDestructor(arena,
nss_pkix_Attribute_remove_pointer,
rv) ) {
(void)nss_pkix_Attribute_remove_pointer(rv);
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arena, mark);
}
if( PR_TRUE == arena_allocated ) {
(void)nssArena_Destroy(arena);
}
return (NSSPKIXAttribute *)NULL;
}

View File

@@ -1,153 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PDecode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:10:46 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
#ifndef ASN1_H
#include "asn1.h"
#endif /* ASN1_H */
/*
* nssPKIXAttribute_Decode
*
* This routine creates an NSSPKIXAttribute by decoding a BER-
* or DER-encoded Attribute as defined in RFC 2459. This
* routine may return NULL upon error, in which case it will
* have created an error stack. If the optional arena argument
* is non-NULL, that arena will be used for the required memory.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_BER
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_INVALID_ITEM
*
* Return value:
* A valid pointer to an NSSPKIXAttribute upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttribute *
nssPKIXAttribute_Decode
(
NSSArena *arenaOpt,
NSSBER *ber
)
{
NSSArena *arena;
PRBool arena_allocated = PR_FALSE;
nssArenaMark *mark = (nssArenaMark *)NULL;
NSSPKIXAttribute *rv = (NSSPKIXAttribute *)NULL;
PRStatus status;
PRUint32 i;
#ifdef NSSDEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
if( PR_SUCCESS != nssItem_verifyPointer(ber) ) {
return (NSSPKIXAttribute *)NULL;
}
#endif /* NSSDEBUG */
if( (NSSArena *)NULL == arenaOpt ) {
arena = nssArena_Create();
if( (NSSArena *)NULL == arena ) {
goto loser;
}
arena_allocated = PR_TRUE;
} else {
arena = arenaOpt;
mark = nssArena_Mark(arena);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arena, NSSPKIXAttribute);
if( (NSSPKIXAttribute *)NULL == rv ) {
goto loser;
}
rv->arena = arena;
rv->i_allocated_arena = arena_allocated;
rv->ber = nssItem_Duplicate(ber, arena, (NSSItem *)NULL);
if( (NSSItem *)NULL == rv->ber ) {
goto loser;
}
status = nssASN1_DecodeBER(arena, rv, nssPKIXAttribute_template, ber);
if( PR_SUCCESS != status ) {
goto loser;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arena, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_Attribute_add_pointer(rv) ) {
goto loser;
}
if( PR_SUCCESS != nssArena_registerDestructor(arena,
nss_pkix_Attribute_remove_pointer, rv) ) {
(void)nss_pkix_Attribute_remove_pointer(rv);
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arena, mark);
}
if( PR_TRUE == arena_allocated ) {
(void)nssArena_Destroy(arena);
}
return (NSSPKIXAttribute *)NULL;
}

View File

@@ -1,82 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PDestroy.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:10:47 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_Destroy
*
* This routine destroys an NSSPKIXAttribute. It should be called on
* all such objects created without an arena. It does not need to be
* called for objects created with an arena, but it may be. This
* routine returns a PRStatus value. Upon error, it place an error on
* the error stack and return PR_FAILURE.
*
* The error value may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nssPKIXAttribute_Destroy
(
NSSPKIXAttribute *attribute
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
#ifdef DEBUG
(void)nss_pkix_Attribute_remove_pointer(attribute);
(void)nssArena_RemoveDestructor(arena, nss_pkix_Attribute_remove_pointer,
attribute);
#endif /* DEBUG */
if( PR_TRUE == attribute->i_allocated_arena ) {
return nssArena_Destroy(attribute->arena);
}
return PR_SUCCESS;
}

View File

@@ -1,189 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PDuplicate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:10:50 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_Duplicate
*
* This routine duplicates an NSSPKIXAttribute. {arenaOpt}
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid pointer to an NSSPKIXAttribute upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttribute *
nssPKIXAttribute_Duplicate
(
NSSPKIXAttribute *attribute,
NSSArena *arenaOpt
)
{
NSSArena *arena;
PRBool arena_allocated = PR_FALSE;
nssArenaMark *mark = (nssArenaMark *)NULL;
NSSPKIXAttribute *rv = (NSSPKIXAttribute *)NULL;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return PR_FAILURE;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return PR_FAILURE;
}
}
#endif /* NSSDEBUG */
if( (NSSArena *)NULL == arenaOpt ) {
arena = nssArena_Create();
if( (NSSArena *)NULL == arena ) {
goto loser;
}
arena_allocated = PR_TRUE;
} else {
arena = arenaOpt;
mark = nssArena_Mark(arena);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arena, NSSPKIXAttribute);
if( (NSSPKIXAttribute *)NULL == rv ) {
goto loser;
}
rv->arena = arena;
rv->i_allocated_arena = arena_allocated;
if( (NSSBER *)NULL != attribute->ber ) {
rv->ber = nssItem_Duplicate(arena, attribute->ber, (NSSItem *)NULL);
if( (NSSBER *)NULL == rv->ber ) {
goto loser;
}
}
if( (NSSDER *)NULL != attribute->der ) {
rv->der = nssItem_Duplicate(arena, attribute->der, (NSSItem *)NULL);
if( (NSSDER *)NULL == rv->der ) {
goto loser;
}
}
if( (void *)NULL != attribute->asn1type.data ) {
rv->asn1type.size = attribute->asn1type.size;
rv->asn1type.data = nss_ZAlloc(arena, attribute->asn1type.size);
if( (void *)NULL == rv->asn1type.data ) {
goto loser;
}
(void)nsslibc_memcpy(rv->asn1type.data, attribute->asn1type.data,
rv->asn1type.size);
}
if( (nssASN1Item **)NULL != attribute->asn1values ) {
rv->asn1values = nss_ZNEWARRAY(arena, nssASN1Item *, attribute->valuesCount);
if( (nssASN1Item **)NULL == rv->asn1values ) {
goto loser;
}
for( i = 0; i < attribute->valuesCount; i++ ) {
nssASN1Item *src;
nssASN1Item *dst;
src = attribute->asn1values[i];
dst = nss_ZNEW(arena, nssASN1Item);
if( (nssASN1Item *)NULL == dst ) {
goto loser;
}
rv->asn1values[i] = dst;
dst->size = src->size;
dst->data = nss_ZAlloc(arena, dst->size);
if( (void *)NULL == dst->data ) {
goto loser;
}
(void)nsslibc_memcpy(dst->data, src->data, src->size);
}
}
rv->type = attribute->type; /* NULL or otherwise */
rv->valuescount = attribute->valuesCount;
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arena, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_Attribute_add_pointer(rv) ) {
goto loser;
}
if( PR_SUCCESS !=
nssArena_registerDestructor(arena,
nss_pkix_Attribute_remove_pointer,
rv) ) {
(void)nss_pkix_Attribute_remove_pointer(rv);
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arena, mark);
}
if( PR_TRUE == arena_allocated ) {
(void)nssArena_Destroy(arena);
}
return (NSSPKIXAttribute *)NULL;
}

View File

@@ -1,126 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PEncode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:11:03 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
#ifndef ASN1_H
#include "asn1.h"
#endif /* ASN1_H */
/*
* nssPKIXAttribute_Encode
*
* This routine returns an ASN.1 encoding of the specified
* NSSPKIXAttribute. {usual rules about itemOpt and arenaOpt}
* This routine indicates an error (NSS_ERROR_INVALID_DATA)
* if there are no attribute values (i.e., the last one was removed).
*
* The error value may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_DATA
*
* Return value:
* A valid NSSBER pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSBER *
nssPKIXAttribute_Encode
(
NSSPKIXAttribute *a,
NSSASN1EncodingType encoding,
NSSBER *rvOpt,
NSSArena *arenaOpt
)
{
NSSBER *it;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return (NSSBER *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSBER *)NULL;
}
}
#endif /* NSSDEBUG */
switch( encoding ) {
case NSSASN1BER:
if( (NSSBER *)NULL != a->ber ) {
it = a->ber;
goto done;
}
/*FALLTHROUGH*/
case NSSASN1DER:
if( (NSSDER *)NULL != a->der ) {
it = a->der;
goto done;
}
break;
default:
nss_SetError(NSS_ERROR_UNSUPPORTED_ENCODING);
return (NSSBER *)NULL;
}
it = nssASN1_EncodeItem(a->arena, (NSSItem *)NULL, a,
nssPKIXAttribute_template, encoding);
if( (NSSBER *)NULL == it ) {
return (NSSBER *)NULL;
}
switch( encoding ) {
case NSSASN1BER:
a->ber = it;
break;
case NSSASN1DER:
a->der = it;
break;
default:
PR_ASSERT(0);
break;
}
done:
return nssItem_Duplicate(it, arenaOpt, rvOpt);
}

View File

@@ -1,164 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PEqual.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:11:07 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_Equal
*
* This routine compares two NSSPKIXAttribute's for equality.
* It returns PR_TRUE if they are equal, PR_FALSE otherwise.
* This routine also returns PR_FALSE upon error; if you're
* that worried about it, check for an error stack.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
*
* Return value:
* PR_TRUE if the two objects have equal values
* PR_FALSE otherwise
* PR_FALSE upon error
*/
NSS_IMPLEMENT PRBool
nssPKIXAttribute_Equal
(
NSSPKIXAttribute *one,
NSSPKIXAttribute *two,
PRStatus *statusOpt
)
{
PRStatus dummyStatus = PR_SUCCESS; /* quiet warnings */
PRStatus *status;
PRUint32 i;
if( (PRStatus *)NULL != statusOpt ) {
status = statusOpt;
*status = PR_SUCCESS;
} else {
status = &dummyStatus;
}
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(one) ) {
*status = PR_FAILURE;
return PR_FALSE;
}
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(two) ) {
*status = PR_FAILURE;
return PR_FALSE;
}
#endif /* NSSDEBUG */
if( ((NSSDER *)NULL != one->der) && ((NSSDER *)NULL != two->der) ) {
return nssItem_Equal(one->der, two->der, statusOpt);
}
if( (NSSPKIXAttributeType *)NULL == one->type ) {
NSSItem berOid;
berOid.size = one->asn1type.size;
berOid.data = one->asn1type.data;
one->type = (NSSPKIXAttributeType *)NSSOID_CreateFromBER(&berOid);
}
if( (NSSPKIXAttributeType *)NULL == two->type ) {
NSSItem berOid;
berOid.size = two->asn1type.size;
berOid.data = two->asn1type.data;
two->type = (NSSPKIXAttributeType *)NSSOID_CreateFromBER(&berOid);
}
if( one->type != two->type ) {
return PR_FALSE;
}
if( 0 == one->valuesCount ) {
nss_pkix_Attribute_Count(one);
}
#ifdef PEDANTIC
if( 0 == one->valuesCount ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
*statusOpt = PR_FAILURE;
return PR_FALSE;
}
#endif /* PEDANTIC */
if( 0 == two->valuesCount ) {
nss_pkix_Attribute_Count(two);
}
#ifdef PEDANTIC
if( 0 == two->valuesCount ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
*statusOpt = PR_FAILURE;
return PR_FALSE;
}
#endif /* PEDANTIC */
if( one->valuesCount != two->valuesCount ) {
return PR_FALSE;
}
*status = nss_pkix_Attribute_Distinguish(one);
if( PR_FAILURE == *status ) {
return PR_FALSE;
}
*status = nss_pkix_Attribute_Distinguish(two);
if( PR_FAILURE == *status ) {
return PR_FALSE;
}
for( i == 0; i < one->valuesCount; i++ ) {
NSSItem onetmp, twotmp;
onetmp.size = one->asn1values[i]->size;
onetmp.data = one->asn1values[i]->data;
twotmp.size = two->asn1values[i]->size;
twotmp.data = two->asn1values[i]->data;
if( PR_FALSE == nssItem_Equal(&one, &two, statusOpt) ) {
return PR_FALSE;
}
}
return PR_TRUE;
}

View File

@@ -1,107 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PFindValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:11:09 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_FindValue
*
* This routine searches the set of attribute values in the specified
* NSSPKIXAttribute for the provided data. If an exact match is found,
* then that value's index is returned. If an exact match is not
* found, -1 is returned. If there is more than one exact match, one
* index will be returned. {notes about unorderdness of SET, etc}
* If the index may not be represented as an integer, an error is
* indicated.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_NOT_FOUND
* NSS_ERROR_VALUE_OUT_OF_RANGE
*
* Return value
* The index of the specified attribute value upon success
* -1 upon failure.
*/
NSS_IMPLEMENT PRInt32
nssPKIXAttribute_FindValue
(
NSSPKIXAttribute *a,
NSSPKIXAttributeValue *attributeValue
)
{
PRUint32 i;
nssASN1Item **a;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssItem_verifyPointer(value) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
PR_ASSERT((nssASN1Item **)NULL != a->asn1values);
if( (nssASN1Item **)NULL == a->asn1values ) {
nss_SetError(NSS_ERROR_ASSERTION_FAILED);
return -1;
}
for( i = 0, a = &a->asn1values[0]; *a; a++, (i > 0x7fffffff) || i++ ) {
NSSItem tmp;
tmp.size = (*a)->size;
tmp.data = (*a)->data;
if( PR_TRUE == nssItem_Equal(attributeValue, &tmp, (PRStatus *)NULL) ) {
if( i > 0x7fffffff ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
return -1;
}
return (PRInt32)i;
}
}
nss_SetError(NSS_ERROR_NOT_FOUND);
return -1;
}

View File

@@ -1,79 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PGetType.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:11:24 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_GetType
*
* This routine returns the attribute type oid of the specified
* NSSPKIXAttribute.
*
* The error value may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSPKIXAttributeType pointer upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttributeType *
nssPKIXAttribute_GetType
(
NSSPKIXAttribute *a
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return (NSSPKIXAttributeType *)NULL;
}
#endif /* NSSDEBUG */
if( (NSSPKIXAttributeType *)NULL == a->type ) {
NSSItem ber;
ber.size = a->asn1type.size;
ber.data = a->asn1type.data;
a->type = (NSSPKIXAttributeType *)NSSOID_CreateFromBER(&ber);
}
return a->type;
}

View File

@@ -1,98 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PGetValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:11:48 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_GetValue
*
* This routine returns the i'th attribute value of the set of
* values in the specified NSSPKIXAttribute. Although the set
* is unordered, an arbitrary ordering will be maintained until
* the data in the attribute is changed. {usual comments about
* itemOpt and arenaOpt} [0,valueCount)
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_VALUE_OUT_OF_RANGE
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXAttributeValue upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXAttributeValue *
nssPKIXAttribute_GetValue
(
NSSPKIXAttribute *attribute,
PRInt32 i,
NSSPKIXAttributeValue *itemOpt,
NSSArena *arenaOpt
)
{
NSSItem tmp;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return (NSSPKIXAttributeValue *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttributeValue *)NULL;
}
}
#endif /* NSSDEBUG */
if( 0 == attribute->valuesCount ) {
nss_pkix_Attribute_Count(attribute);
}
if( (i < 0) || (i >= attribute->valuesCount) ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
return (NSSPKIXAttributeValue *)NULL;
}
tmp.size = attribute->asn1values[i]->size;
tmp.data = attribute->asn1values[i]->data;
return nssItem_Duplicate(&tmp, arenaOpt, itemOpt);
}

View File

@@ -1,88 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PGetValueCount.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:06 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_GetValueCount
*
* This routine returns the number of attribute values present in
* the specified NSSPKIXAttribute. This routine returns a PRInt32.
* Upon error, this routine returns -1. This routine indicates an
* error if the number of values cannot be expressed as a PRInt32.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_VALUE_OUT_OF_RANGE
*
* Return value:
* Nonnegative integer upon success
* -1 upon failure.
*/
NSS_IMPLEMENT PRInt32
nssPKIXAttribute_GetValueCount
(
NSSPKIXAttribute *attribute
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return -1;
}
#endif /* NSSDEBUG */
if( 0 == attribute->valuesCount ) {
nss_pkix_Attribute_Count(attribute);
}
#ifdef PEDANTIC
if( 0 == attribute->valuesCount ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
return -1;
}
#endif /* PEDANTIC */
if( attribute->valuesCount > 0x7fffffff ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
return -1;
}
return (PRInt32)(attribute->valuesCount);
}

View File

@@ -1,145 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PGetValues.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:11 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_GetValues
*
* This routine returns all of the attribute values in the specified
* NSSPKIXAttribute. If the optional pointer to an array of NSSItems
* is non-null, then that array will be used and returned; otherwise,
* an array will be allocated and returned. If the limit is nonzero
* (which is must be if the specified array is nonnull), then an
* error is indicated if it is smaller than the value count.
* {arenaOpt}
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_ARENA
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_ARRAY_TOO_SMALL
*
* Return value:
* A valid pointer to an array of NSSItem's upon success
* NULL upon failure.
*/
NSS_IMPLEMENT NSSPKIXAttributeValue *
nssPKIXAttribute_GetValues
(
NSSPKIXAttribute *attribute,
NSSPKIXAttributeValue rvOpt[],
PRInt32 limit,
NSSArena *arenaOpt
)
{
NSSPKIXAttributeValue *rv = (NSSPKIXAttributeValue *)NULL;
PRUint32 i;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return (NSSPKIXAttributeValue *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyOpt(attribute) ) {
return (NSSPKIXAttributeValue *)NULL;
}
}
#endif /* NSSDEBUG */
if( 0 == attribute->valuesCount ) {
nss_pkix_Attribute_Count(attribute);
}
#ifdef PEDANTIC
if( 0 == attribute->valuesCount ) {
if( 0 == limit ) {
nss_SetError(NSS_ERROR_NO_MEMORY);
} else {
nss_SetError(NSS_ERROR_ARRAY_TOO_SMALL);
}
return (NSSPKIXAttributeValue *)NULL;
}
#endif /* PEDANTIC */
if( (limit < attribute->valuesCount) &&
!((0 == limit) && ((NSSPKIXAttributeValue *)NULL == rvOpt)) ) {
nss_SetError(NSS_ERROR_ARRAY_TOO_SMALL);
return (NSSPKIXAttributeValue *)NULL;
}
limit = attribute->valuesCount;
if( (NSSPKIXAttributeValue *)NULL == rvOpt ) {
rv = nss_ZNEWARRAY(arenaOpt, NSSPKIXAttributeValue, limit);
if( (NSSPKIXAttributeValue *)NULL == rv ) {
return (NSSPKIXAttributeValue *)NULL;
}
} else {
rv = rvOpt;
}
for( i = 0; i < limit; i++ ) {
NSSAttributeValue tmp;
nssASN1Item *p = attribute->asn1values[i];
NSSAttributeValue *r = &rv[i];
tmp.size = p->size;
tmp.data = p->data;
if( (NSSItem *)NULL == nssItem_Duplicate(&tmp, arenaOpt, r) ) {
goto loser;
}
}
return rv;
loser:
for( i = 0; i < limit; i++ ) {
NSSAttributeValue *r = &rv[i];
nss_ZFreeIf(r->data);
}
if( rv != rvOpt ) {
nss_ZFreeIf(rv);
}
return (NSSAttributeValue *)NULL;
}

View File

@@ -1,121 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PRemoveValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:17 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_RemoveValue
*
* This routine removes the i'th attribute value of the set in the
* specified NSSPKIXAttribute. An attempt to remove the last value
* will fail.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_VALUE_OUT_OF_RANGE
* NSS_ERROR_AT_MINIMUM
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
PR_IMPLEMENET(PRStatus)
nssPKIXAttribute_RemoveValue
(
NSSPKIXAttribute *a,
PRInt32 i
)
{
nssASN1Item **ip;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
if( 0 == a->valuesCount ) {
nss_pkix_Attribute_Count(a);
}
if( i < 0 ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
return PR_FAILURE;
}
if( 1 == a->valuesCount ) {
nss_SetError(NSS_ERROR_AT_MINIMUM);
return PR_FAILURE;
}
#ifdef PEDANTIC
if( 0 == a->valuesCount ) {
/* Too big.. but we can still remove one */
nss_ZFreeIf(a->asn1values[i].data);
for( ip = &a->asn1values[i]; *ip; ip++ ) {
ip[0] = ip[1];
}
} else
#endif /* PEDANTIC */
{
nssASN1Item *si;
PRUint32 end;
if( i >= a->valueCount ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
return PR_FAILURE;
}
end = a->valuesCount - 1;
si = a->asn1values[i];
a->asn1values[i] = a->asn1values[ end ];
a->asn1values[ end ] = (nssASN1Item *)NULL;
nss_ZFreeIf(si->data);
nss_ZFreeIf(si);
/* We could realloc down, but we know it's a no-op */
a->valuesCount = end;
}
return nss_pkix_Attribute_Clear(a);
}

View File

@@ -1,90 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PSetType.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:19 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_SetType
*
* This routine sets the attribute type oid of the indicated
* NSSPKIXAttribute to the specified value. Since attributes
* may be application-defined, no checking can be done on
* either the correctness of the attribute type oid value nor
* the suitability of the set of attribute values.
*
* The error value may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_OID
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nssPKIXAttribute_SetType
(
NSSPKIXAttribute *a,
NSSPKIXAttributeType *attributeType
)
{
NSSDER tmp;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssOID_verifyPointer(attributeType) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
a->type = attributeType;
nss_ZFreeIf(a->asn1type.data);
if( (NSSDER *)NULL == nssOID_GetDEREncoding(a->type, &tmp, a->arena) ) {
return PR_FAILURE;
}
a->asn1type.size = tmp.size;
a->asn1type.data = tmp.data;
return nss_pkix_Attribute_Clear(a);
}

View File

@@ -1,102 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PSetValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:25 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_SetValue
*
* This routine sets the i'th attribute value {blah blah; copies
* memory contents over..}
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_VALUE_OUT_OF_RANGE
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_NO_MEMORY
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nssPKIXAttribute_SetValue
(
NSSPKIXAttribute *a,
PRInt32 i,
NSSPKIXAttributeValue *value
)
{
NSSItem tmp;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssItem_verifyPointer(value) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
if( i < 0 ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
return PR_FAILURE;
}
if( 0 == a->valuesCount ) {
nss_pkix_Attribute_Count(a);
}
if( (0 != a->valuesCount) && (i > a->valuesCount) ) {
nss_SetError(NSS_ERROR_VALUE_OUT_OF_RANGE);
return PR_FAILURE;
}
if( (NSSItem *)NULL == nssItem_Duplicate(value, a->arena, &tmp) ) {
return PR_FAILURE;
}
nss_ZFreeIf(a->asn1values[i]->data);
a->asn1values[i]->size = tmp.size;
a->asn1values[i]->data = tmp.data;
return nss_pkix_Attribute_Clear(a);
}

View File

@@ -1,135 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/PSetValues.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:32 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXAttribute_SetValues
*
* This routine sets all of the values of the specified
* NSSPKIXAttribute to the values in the specified NSSItem array.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_POINTER
* NSS_ERROR_ARRAY_TOO_SMALL
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nssPKIXAttribute_SetValues
(
NSSPKIXAttribute *a,
NSSPKIXAttributeValue values[],
PRInt32 count
)
{
nssASN1Item **ip;
nssASN1Item *newarray;
PRUint32 i;
nssArenaMark *mark;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(a) ) {
return PR_FAILURE;
}
if( (NSSPKIXAttributeValue *)NULL == values ) {
nss_SetError(NSS_ERROR_INVALID_POINTER);
return PR_FAILURE;
}
if( count < 1 ) {
nss_SetError(NSS_ERROR_ARRAY_TOO_SMALL);
return PR_FAILURE;
}
#endif /* NSSDEBUG */
PR_ASSERT((nssASN1Item **)NULL != a->asn1values);
if( (nssASN1Item **)NULL == a->asn1values ) {
nss_SetError(NSS_ERROR_ASSERTION_FAILED);
return PR_FAILURE;
}
mark = nssArena_Mark(a->arena);
if( (nssArenaMark *)NULL == mark ) {
return PR_FAILURE;
}
newarray = nss_ZNEWARRAY(a->arena, nssASN1Item *, count);
if( (nssASN1Item *)NULL == newarray ) {
return PR_FAILURE;
}
for( i = 0; i < count; i++ ) {
NSSItem tmp;
newarray[i] = nss_ZNEW(a->arena, nssASN1Item);
if( (nssASN1Item *)NULL == newarray[i] ) {
goto loser;
}
if( (NSSItem *)NULL == nssItem_Duplicate(&values[i], a->arena, &tmp) ) {
goto loser;
}
newarray[i]->size = tmp.size;
newarray[i]->data = tmp.data;
}
for( ip = &a->asn1values[0]; *ip; ip++ ) {
nss_ZFreeIf((*ip)->data);
nss_ZFreeIf(*ip);
}
nss_ZFreeIf(a->asn1values);
a->asn1values = newarray;
a->valuesCount = count;
(void)nss_pkix_Attribute_Clear(a);
return nssArena_Unmark(a->arena, mark);
loser:
(void)nssArena_Release(a->arena, mark);
return PR_FAILURE;
}

View File

@@ -1,76 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/RemoveValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:36 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_RemoveValue
*
* This routine removes the i'th attribute value of the set in the
* specified NSSPKIXAttribute. An attempt to remove the last value
* will fail.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_VALUE_OUT_OF_RANGE
* NSS_ERROR_AT_MINIMUM
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
NSSPKIXAttribute_RemoveValue
(
NSSPKIXAttribute *attribute,
PRInt32 i
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKIXAttribute_RemoveValue(attribute, i);
}

View File

@@ -1,80 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/SetType.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:42 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_SetType
*
* This routine sets the attribute type oid of the indicated
* NSSPKIXAttribute to the specified value. Since attributes
* may be application-defined, no checking can be done on
* either the correctness of the attribute type oid value nor
* the suitability of the set of attribute values.
*
* The error value may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_OID
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
NSSPKIXAttribute_SetType
(
NSSPKIXAttribute *attribute,
NSSPKIXAttributeType *attributeType
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssOID_verifyPointer(attributeType) ) {
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKIXAttribute_SetType(attribute, attributeType);
}

View File

@@ -1,80 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/SetValue.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:47 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_SetValue
*
* This routine sets the i'th attribute value {blah blah; copies
* memory contents over..}
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_VALUE_OUT_OF_RANGE
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_NO_MEMORY
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
NSSPKIXAttribute_SetValue
(
NSSPKIXAttribute *attribute,
PRInt32 i,
NSSPKIXAttributeValue *value
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return PR_FAILURE;
}
if( PR_SUCCESS != nssItem_verifyPointer(value) ) {
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKIXAttribute_SetValue(attribute, i, value);
}

View File

@@ -1,85 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/SetValues.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:51 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXAttribute_SetValues
*
* This routine sets all of the values of the specified
* NSSPKIXAttribute to the values in the specified NSSItem array.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
* NSS_ERROR_INVALID_POINTER
* NSS_ERROR_ARRAY_TOO_SMALL
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
NSSPKIXAttribute_SetValues
(
NSSPKIXAttribute *attribute,
NSSPKIXAttributeValue values[],
PRInt32 count
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXAttribute_verifyPointer(attribute) ) {
return PR_FAILURE;
}
if( (NSSPKIXAttributeValue *)NULL == values ) {
nss_SetError(NSS_ERROR_INVALID_POINTER);
return PR_FAILURE;
}
if( count < 1 ) {
nss_SetError(NSS_ERROR_ARRAY_TOO_SMALL);
return PR_FAILURE;
}
#endif /* DEBUG */
return nssPKXIAttribute_SetValues(attribute, values, count);
}

View File

@@ -1,58 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/template.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:53 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
#ifndef ASN1_H
#include "asn1.h"
#endif /* ASN1_H */
/*
* nssPKIXAttribute_template
*
*
*/
const nssASN1Template nssPKIXAttribute_template[] = {
{ nssASN1_SEQUENCE, 0, NULL, sizeof(NSSPKIXAttribute) },
{ nssASN1_OBJECT_ID, offsetof(NSSPKIXAttribute, asn1type) },
{ nssASN1_SET_OF, offsetof(NSSPKIXAttribute, asn1values),
nssASN1Template_Any },
{ 0 }
};

View File

@@ -1,170 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/Attribute/Attic/verifyPointer.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:12:56 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIXM_H
#include "pkixm.h"
#endif /* PKIXM_H */
#ifdef DEBUG
extern const NSSError NSS_ERROR_INTERNAL_ERROR;
static nssPointerTracker pkix_attribute_pointer_tracker;
/*
* nss_pkix_Attribute_add_pointer
*
* This method is only present in debug builds.
*
* This module-private routine adds an NSSPKIXAttribute pointer to
* the internal pointer-tracker. This routine should only be used
* by the NSSPKIX module. This routine returns a PRStatus value;
* upon error it will place an error on the error stack and return
* PR_FAILURE.
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INTERNAL_ERROR
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nss_pkix_Attribute_add_pointer
(
const NSSPKIXAttribute *p
)
{
PRStatus rv;
rv = nssPointerTracker_initialize(&pkix_attribute_pointer_tracker);
if( PR_SUCCESS != rv ) {
return rv;
}
rv = nssPointerTracker_add(&pkix_attribute_pointer_tracker, p);
if( PR_SUCCESS != rv ) {
NSSError e = NSS_GetError();
if( NSS_ERROR_NO_MEMORY != e ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
}
return rv;
}
return PR_SUCCESS;
}
/*
* nss_pkix_Attribute_remove_pointer
*
* This method is only present in debug builds.
*
* This module-private routine removes a valid NSSPKIXAttribute
* pointer from the internal pointer-tracker. This routine should
* only be used by the NSSPKIX module. This routine returns a
* PRStatus value; upon error it will place an error on the error
* stack and return PR_FAILURE.
*
* The error may be one of the following values:
* NSS_ERROR_INTERNAL_ERROR
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nss_pkix_Attribute_remove_pointer
(
const NSSPKIXAttribute *p
)
{
PRStatus rv;
rv = nssPointerTracker_remove(&pkix_attribute_pointer_tracker, p);
if( PR_SUCCESS != rv ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
}
return rv;
}
/*
* nssPKIXAttribute_verifyPointer
*
* This method is only present in debug builds.
*
* If the specified pointer is a valid pointer to an NSSPKIXAttribute
* object, this routine will return PR_SUCCESS. Otherwise, it will
* put an error on the error stack and return PR_FAILURE.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_ATTRIBUTE
*
* Return value:
* PR_SUCCESS if the pointer is valid
* PR_FAILURE if it isn't
*/
NSS_IMPLEMENT PRStatus
nssPKIXAttribute_verifyPointer
(
NSSPKIXAttribute *p
)
{
PRStatus rv;
rv = nssPointerTracker_initialize(&pkix_attribute_pointer_tracker);
if( PR_SUCCESS != rv ) {
nss_SetError(NSS_ERROR_INVALID_PKIX_ATTRIBUTE);
return PR_FAILURE;
}
rv = nssPointerTracker_verify(&pkix_attribute_pointer_tracker, p);
if( PR_SUCCESS != rv ) {
nss_SetError(NSS_ERROR_INVALID_PKIX_ATTRIBUTE);
return PR_FAILURE;
}
return PR_SUCCESS;
}
#endif /* DEBUG */

View File

@@ -1,105 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/CreateFromUTF8.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:37 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXX520Name_CreateFromUTF8
*
* { basically just enforces the length limit }
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_STRING
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXX520Name upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXX520Name *
NSSPKIXX520Name_CreateFromUTF8
(
NSSArena *arenaOpt,
NSSUTF8 *utf8
)
{
PRStatus status = PR_SUCCESS;
PRUint32 length;
nss_ClearErrorStack();
#ifdef DEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXX520Name *)NULL;
}
}
if( (NSSUTF8 *)NULL == utf8 ) {
nss_SetError(NSS_ERROR_INVALID_STRING);
return (NSSPKIXX520Name *)NULL;
}
#endif /* DEBUG */
length = nssUTF8_Length(utf8, &status);
if( PR_SUCCESS != status ) {
if( NSS_ERROR_VALUE_TOO_LARGE == NSS_GetError() ) {
nss_SetError(NSS_ERROR_STRING_TOO_LONG);
}
return (NSSPKIXX520Name *)NULL;
}
if( (length < 1 ) || (length > NSSPKIXX520Name_MAXIMUM_LENGTH) ) {
nss_SetError(NSS_ERROR_STRING_TOO_LONG);
}
return nssPKIXX520Name_CreateFromUTF8(arenaOpt, utf8);
}
/*
* NSSPKIXX520Name_MAXIMUM_LENGTH
*
* From RFC 2459:
*
* ub-name INTEGER ::= 32768
*/
const PRUint32 NSSPKIXX520Name_MAXIMUM_LENGTH = 32768;

View File

@@ -1,79 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/Decode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:37 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXX520Name_Decode
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_BER
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXX520Name upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXX520Name *
NSSPKIXX520Name_Decode
(
NSSArena *arenaOpt,
NSSBER *ber
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
if( PR_SUCCESS != nssItem_verifyPointer(ber) ) {
return (NSSPKIXAttribute *)NULL;
}
#endif /* DEBUG */
return nssPKIXX520Name_Decode(arenaOpt, ber);
}

View File

@@ -1,70 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/Destroy.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:37 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXX520Name_Destroy
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT NSSDER *
NSSPKIXX520Name_Destroy
(
NSSPKIXX520Name *name
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name) ) {
return (NSSDER *)NULL;
}
#endif /* DEBUG */
return nssPKIXX520Name_Destroy(name);
}

View File

@@ -1,79 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/Duplicate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:37 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXX520Name_Duplicate
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXX520Name upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXX520Name *
NSSPKIXX520Name_Duplicate
(
NSSPKIXX520Name *name,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name) ) {
return (NSSPKIXAttribute *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXX520Name_Duplicate(name, arenaOpt);
}

View File

@@ -1,80 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/Encode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:37 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXX520Name_Encode
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSBER pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSBER *
NSSPKIXX520Name_Encode
(
NSSPKIXX520Name *name,
NSSASN1EncodingType encoding,
NSSBER *rvOpt,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name) ) {
return (NSSBER *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSBER *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXX520Name_Encode(name, encoding, rvOpt, arenaOpt);
}

View File

@@ -1,83 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/Equal.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:37 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXX520Name_Equal
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
*
* Return value:
* PR_TRUE if the two objects have equal values
* PR_FALSE otherwise
* PR_FALSE upon error
*/
NSS_IMPLEMENT PRBool
NSSPKIXX520Name_Equal
(
NSSPKIXX520Name *name1,
NSSPKIXX520Name *name2,
PRStatus *statusOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name1) ) {
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_FAILURE;
}
return PR_FALSE;
}
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name2) ) {
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_FAILURE;
}
return PR_FALSE;
}
#endif /* DEBUG */
return nssPKIXX520Name_Equal(name1, name2, statusOpt);
}

View File

@@ -1,78 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/GetUTF8Encoding.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:38 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* NSSPKIXX520Name_GetUTF8Encoding
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSDER pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSUTF8 *
NSSPKIXX520Name_GetUTF8Encoding
(
NSSPKIXX520Name *name,
NSSArena *arenaOpt
)
{
nss_ClearErrorStack();
#ifdef DEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name) ) {
return (NSSUTF8 *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSUTF8 *)NULL;
}
}
#endif /* DEBUG */
return nssPKIXX520Name_GetUTF8Encoding(name, arenaOpt);
}

View File

@@ -1,97 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/MDoUTF8.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:38 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIXM_H
#include "pkixm.h"
#endif /* PKIXM_H */
/*
* nss_pkix_X520Name_DoUTF8
*
*/
NSS_IMPLEMENT PR_STATUS
nss_pkix_X520Name_DoUTF8
(
NSSPKIXX520Name *name
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
if( (NSSUTF8 *)NULL == name->utf8 ) {
PRUint8 tag = (*(PRUint8 *)name->string.data) & nssASN1_TAG_MASK;
nssStringType type;
void *data = (void *)&((PRUint8 *)name->string.data)[1];
PRUint32 size = name->string.size-1;
switch( tag ) {
case nssASN1_TELETEX_STRING:
type = nssStringType_TeletexString;
break;
case nssASN1_PRINTABLE_STRING:
type = nssStringType_PrintableString;
break;
case nssASN1_UNIVERSAL_STRING:
type = nssStringType_UniversalString;
break;
case nssASN1_BMP_STRING:
type = nssStringType_BMPString;
break;
case nssASN1_UTF8_STRING:
type = nssStringType_UTF8String;
break;
default:
nss_SetError(NSS_ERROR_INVALID_BER);
return PR_FAILURE;
}
name->utf8 = nssUTF8_Create(arenaOpt, type, data, size);
if( (NSSUTF8 *)NULL == name->utf8 ) {
return PR_FAILURE;
}
if( nssASN1_PRINTABLE_STRING == tag ) {
name->wasPrintable = PR_TRUE;
}
}
return PR_SUCCESS;
}

View File

@@ -1,169 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/PCreate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:38 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXX520Name_Create
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_STRING_TYPE
* NSS_ERROR_INVALID_ITEM
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid pointer to an NSSPKIXX520Name upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXX520Name *
nssPKIXX520Name_Create
(
NSSArena *arenaOpt,
nssStringType type,
NSSItem *data
)
{
NSSPKIXX520Name *rv = (NSSPKIXX520Name *)NULL;
nssArenaMark *mark = (nssArenaMark *)NULL;
#ifdef NSSDEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXX520Name *)NULL;
}
}
if( PR_SUCCESS != nssItem_verifyPointer(data) ) {
return (NSSPKIXX520Name *)NULL;
}
#endif /* NSSDEBUG */
switch( type ) {
case nssStringType_TeletexString:
case nssStringType_PrintableString:
case nssStringType_UniversalString:
case nssStringType_UTF8String:
case nssStringType_BMPString:
break;
default:
nss_SetError(NSS_ERROR_INVALID_STRING_TYPE);
goto loser;
}
if( (NSSArena *)NULL != arenaOpt ) {
mark = nssArena_Mark(arenaOpt);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arenaOpt, NSSPKIXX520Name);
if( (NSSPKIXX520Name *)NULL == rv ) {
goto loser;
}
rv->utf8 = nssUTF8_Create(arenaOpt, type, data->data, data->size);
if( (NSSUTF8 *)NULL == rv->utf8 ) {
goto loser;
}
if( nssStringType_PrintableString == type ) {
rv->wasPrintable = PR_TRUE;
}
rv->der = nssUTF8_GetDEREncoding(arenaOpt, type, rv->utf8);
if( (NSSDER *)NULL == rv->der ) {
goto loser;
}
rv->string.size = rv->der->size;
rv->string.data = nss_ZAlloc(arenaOpt, rv->string.size);
if( (void *)NULL == rv->string.data ) {
goto loser;
}
(void)nsslibc_memcpy(rv->string.data, rv->der->data, rv->string.size);
if( (NSSArena *)NULL != arenaOpt ) {
rv->inArena = PR_TRUE;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arenaOpt, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_X520Name_add_pointer(rv) ) {
goto loser;
}
if( PR_SUCCESS != nssArena_registerDestructor(arena,
nss_pkix_X520Name_remove_pointer, rv) ) {
(void)nss_pkix_X520Name_remove_pointer(rv);
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arenaOpt, mark);
}
if( (NSSArena *)NULL == arenaOpt ) {
if( (NSSPKIXX520Name *)NULL != rv ) {
if( (NSSDER *)NULL != rv->der ) {
nss_ZFreeIf(rv->der->data);
nss_ZFreeIf(rv->der);
}
nss_ZFreeIf(rv->string.data);
nss_ZFreeIf(rv->utf8);
nss_ZFreeIf(rv);
}
}
return (NSSPKIXX520Name *)NULL;
}

View File

@@ -1,164 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/PCreateFromUTF8.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:38 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXX520Name_CreateFromUTF8
*
* { basically just enforces the length limit }
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_BER
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXX520Name upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXX520Name *
nssPKIXX520Name_CreateFromUTF8
(
NSSArena *arenaOpt,
NSSUTF8 *utf8
)
{
NSSPKIXX520Name *rv = (NSSPKIXX520Name *)NULL;
nssArenaMark *mark = (nssArenaMark *)NULL;
#ifdef NSSDEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXX520Name *)NULL;
}
}
if( (NSSUTF8 *)NULL == utf8 ) {
nss_SetError(NSS_ERROR_INVALID_STRING);
return (NSSPKIXX520Name *)NULL;
}
#endif /* NSSDEBUG */
if( (NSSArena *)NULL != arenaOpt ) {
mark = nssArena_Mark(arenaOpt);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arenaOpt, NSSPKIXX520Name);
if( (NSSPKIXX520Name *)NULL == rv ) {
goto loser;
}
rv->utf8 = nssUTF8_Duplicate(utf8, arenaOpt);
if( (NSSUTF8 *)NULL == rv->utf8 ) {
goto loser;
}
/*
* RFC 2459 states (s. 4.1.2.4) that certificates issued after
* 2003-12-31 MUST encode strings as UTF8Strings, and until
* then they may be encoded as PrintableStrings, BMPStrings,
* or UTF8Strings (when the character sets allow). However, it
* specifically notes that even before 2003-12-31, strings may
* be encoded as UTF8Strings. So unless something important
* breaks, I'll do UTF8Strings.
*/
rv->der = nssUTF8_GetDEREncoding(arenaOpt, nssStringType_UTF8String,
utf8);
if( (NSSDER *)NULL == rv->der ) {
goto loser;
}
rv->string.size = rv->der->size;
rv->string.data = nss_ZAlloc(arenaOpt, rv->string.size);
if( (void *)NULL == rv->string.data ) {
goto loser;
}
(void)nsslibc_memcpy(rv->string.data, rv->der->size, rv->string.size);
if( (NSSArena *)NULL != arenaOpt ) {
rv->inArena = PR_TRUE;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arenaOpt, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_X520Name_add_pointer(rv) ) {
goto loser;
}
if( PR_SUCCESS != nssArena_registerDestructor(arena,
nss_pkix_X520Name_remove_pointer, rv) ) {
(void)nss_pkix_X520Name_remove_pointer(rv);
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arenaOpt, mark);
}
if( (NSSArena *)NULL == arenaOpt ) {
if( (NSSPKIXX520Name *)NULL != rv ) {
if( (NSSDER *)NULL != rv->der ) {
nss_ZFreeIf(rv->der->data);
nss_ZFreeIf(rv->der);
}
nss_ZFreeIf(rv->string.data);
nss_ZFreeIf(rv->utf8);
nss_ZFreeIf(rv);
}
}
return (NSSPKIXX520Name *)NULL;
}

View File

@@ -1,135 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/PDecode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:39 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXX520Name_Decode
*
* -- fgmr comments --
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_BER
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXX520Name upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXX520Name *
nssPKIXX520Name_Decode
(
NSSArena *arenaOpt,
NSSBER *ber
)
{
NSSPKIXX520Name *rv = (NSSPKIXX520Name *)NULL;
nssArenaMark *mark = (nssArenaMark *)NULL;
PRStatus status;
#ifdef NSSDEBUG
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
if( PR_SUCCESS != nssItem_verifyPointer(ber) ) {
return (NSSPKIXAttribute *)NULL;
}
#endif /* NSSDEBUG */
if( (NSSArena *)NULL != arenaOpt ) {
mark = nssArena_Mark(arenaOpt);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arenaOpt, NSSPKIXX520Name);
if( (NSSPKIXX520Name *)NULL == rv ) {
goto loser;
}
status = nssASN1_DecodeBER(arenaOpt, rv, nssPKIXX520_template, ber);
if( PR_SUCCESS != status ) {
goto loser;
}
if( (NSSArena *)NULL != arenaOpt ) {
rv->inArena = PR_TRUE;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arenaOpt, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_X520Name_add_pointer(rv) ) {
goto loser;
}
if( PR_SUCCESS != nssArena_registerDestructor(arena,
nss_pkix_X520Name_remove_pointer, rv) ) {
(void)nss_pkix_X520Name_remove_pointer(rv);
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arenaOpt, mark);
}
if( (NSSArena *)NULL == arenaOpt ) {
if( (NSSPKIXX520Name *)NULL != rv ) {
nss_ZFreeIf(rv->string.data);
nss_ZFreeIf(rv->utf8);
nss_ZFreeIf(rv);
}
}
return (NSSPKIXX520Name *)NULL;
}

View File

@@ -1,87 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/PDestroy.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:39 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXX520Name_Destroy
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_EXTERN NSSDER *
nssPKIXX520Name_Destroy
(
NSSPKIXX520Name *name
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name) ) {
return PR_FAILURE;
}
#endif /* NSSDEBUG */
if( PR_TRUE != name->inArena ) {
/*
* Note that inArena is merely a hint. If this object was
* created passively, this flag will be NULL no matter if
* it was in an arena or not. However, you may safely
* (try to) free memory in an NSSArena, so this isn't a
* problem.
*/
if( (NSSDER *)NULL != name->der ) {
nss_ZFreeIf(name->der->data);
nss_ZFreeIf(name->der);
}
nss_ZFreeIf(name->utf8);
nss_ZFreeIf(name->string.data);
nss_ZFreeIf(name);
}
return PR_SUCCESS;
}

View File

@@ -1,158 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/PDuplicate.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:39 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXX520Name_Duplicate
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INVALID_ARENA
*
* Return value:
* A valid pointer to an NSSPKIXX520Name upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSPKIXX520Name *
nssPKIXX520Name_Duplicate
(
NSSPKIXX520Name *name,
NSSArena *arenaOpt
)
{
NSSPKIXX520Name *rv = (NSSPKIXX520Name *)NULL;
nssArenaMark *mark = (nssArenaMark *)NULL;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name) ) {
return (NSSPKIXAttribute *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSPKIXAttribute *)NULL;
}
}
#endif /* NSSDEBUG */
if( (NSSArena *)NULL != arenaOpt ) {
mark = nssArena_Mark(arenaOpt);
if( (nssArenaMark *)NULL == mark ) {
goto loser;
}
}
rv = nss_ZNEW(arenaOpt, NSSPKIXX520Name);
if( (NSSPKIXX520Name *)NULL == rv ) {
goto loser;
}
rv->string.size = name->string.size;
rv->string.data = nss_ZAlloc(arenaOpt, name->string.size);
if( (void *)NULL == rv->string.data ) {
goto loser;
}
(void)nsslibc_memcpy(rv->string.data, name->string.data, name->string.size);
if( (NSSUTF8 *)NULL != name->utf8 ) {
rv->utf8 = nssUTF8_Duplicate(name->utf8, arenaOpt);
if( (NSSUTF8 *)NULL == rv->utf8 ) {
goto loser;
}
}
if( (NSSDER *)NULL != name->der ) {
rv->der = nssItem_Duplicate(name->der, arenaOpt, (NSSItem *)NULL);
if( (NSSDER *)NULL == rv->der ) {
goto loser;
}
}
rv->wasPrintable = name->wasPrintable;
if( (NSSArena *)NULL != arenaOpt ) {
rv->inArena = PR_TRUE;
}
if( (nssArenaMark *)NULL != mark ) {
if( PR_SUCCESS != nssArena_Unmark(arenaOpt, mark) ) {
goto loser;
}
}
#ifdef DEBUG
if( PR_SUCCESS != nss_pkix_X520Name_add_pointer(rv) ) {
goto loser;
}
if( PR_SUCCESS != nssArena_registerDestructor(arena,
nss_pkix_X520Name_remove_pointer, rv) ) {
(void)nss_pkix_X520Name_remove_pointer(rv);
goto loser;
}
#endif /* DEBUG */
return rv;
loser:
if( (nssArenaMark *)NULL != mark ) {
(void)nssArena_Release(arenaOpt, mark);
}
if( (NSSArena *)NULL == arenaOpt ) {
if( (NSSPKIXX520Name *)NULL != rv ) {
if( (NSSDER *)NULL != rv->der ) {
nss_ZFreeIf(rv->der->data);
nss_ZFreeIf(rv->der);
}
nss_ZFreeIf(rv->string.data);
nss_ZFreeIf(rv->utf8);
nss_ZFreeIf(rv);
}
}
return (NSSPKIXX520Name *)NULL;
}

View File

@@ -1,93 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/PEncode.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:39 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXX520Name_Encode
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSBER pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSBER *
nssPKIXX520Name_Encode
(
NSSPKIXX520Name *name,
NSSASN1EncodingType encoding,
NSSBER *rvOpt,
NSSArena *arenaOpt
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name) ) {
return (NSSBER *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSBER *)NULL;
}
}
#endif /* NSSDEBUG */
if( (NSSDER *)NULL == name->der ) {
/* XXX fgmr */
if( (NSSUTF8 *)NULL == name->utf8 ) {
if( PR_SUCCESS != nss_pkix_X520Name_DoUTF8(name) ) {
return (NSSBER *)NULL;
}
}
rv->der = nssUTF8_GetDEREncoding(arenaOpt, type, rv->utf8);
if( (NSSDER *)NULL == rv->der ) {
return (NSSBER *)NULL;
}
}
return nssItem_Duplicate(name->der, arenaOpt, rvOpt);
}

View File

@@ -1,100 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/PEqual.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:40 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXX520Name_Equal
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
*
* Return value:
* PR_TRUE if the two objects have equal values
* PR_FALSE otherwise
* PR_FALSE upon error
*/
NSS_IMPLEMENT PRBool
nssPKIXX520Name_Equal
(
NSSPKIXX520Name *name1,
NSSPKIXX520Name *name2,
PRStatus *statusOpt
)
{
PRBool rv;
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name1) ) {
goto loser;
}
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name2) ) {
goto loser;
}
#endif /* NSSDEBUG */
if( (NSSUTF8 *)NULL == name1->utf8 ) {
if( PR_SUCCESS != nss_pkix_X520Name_DoUTF8(name1) ) {
goto loser;
}
}
if( (NSSUTF8 *)NULL == name2->utf8 ) {
if( PR_SUCCESS != nss_pkix_X520Name_DoUTF8(name2) ) {
goto loser;
}
}
if( (PR_TRUE == name1->wasPrintable) && (PR_TRUE == name2->wasPrintable) ) {
return nssUTF8_PrintableMatch(name1->utf8, name2->utf8, statusOpt);
}
return nssUTF8_Equal(name1->utf8, name2->utf8, statusOpt);
loser:
if( (PRStatus *)NULL != statusOpt ) {
*statusOpt = PR_FAILURE;
}
return PR_FALSE;
}

View File

@@ -1,82 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/PGetUTF8Encoding.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:40 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
/*
* nssPKIXX520Name_GetUTF8Encoding
*
*
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_X520_NAME
* NSS_ERROR_NO_MEMORY
*
* Return value:
* A valid NSSDER pointer upon success
* NULL upon failure
*/
NSS_IMPLEMENT NSSUTF8 *
nssPKIXX520Name_GetUTF8Encoding
(
NSSPKIXX520Name *name,
NSSArena *arenaOpt
)
{
#ifdef NSSDEBUG
if( PR_SUCCESS != nssPKIXX520Name_verifyPointer(name) ) {
return (NSSUTF8 *)NULL;
}
if( (NSSArena *)NULL != arenaOpt ) {
if( PR_SUCCESS != nssArena_verifyPointer(arenaOpt) ) {
return (NSSUTF8 *)NULL;
}
}
#endif /* NSSDEBUG */
if( (NSSUTF8 *)NULL == name->utf8 ) {
if( PR_SUCCESS != nss_pkix_X520Name_DoUTF8(name) ) {
return (NSSUTF8 *)NULL;
}
}
return nssUTF8_Duplicate(rv->utf8, arenaOpt);
}

View File

@@ -1,56 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/template.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:40 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIX_H
#include "pkix.h"
#endif /* PKIX_H */
#ifndef ASN1_H
#include "asn1.h"
#endif /* ASN1_H */
/*
* nssPKIXX520Name_template
*
*
*/
const nssASN1Template nssPKIXX520Name_template[] = {
{ nssASN1_ANY, offsetof(NSSPKIXX520Name, string), NULL,
sizeof(NSSPKIXX520Name) },
{ 0 }
};

View File

@@ -1,169 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $Source: /home/befator/cvs/jail/cvsroot/mozilla/security/nss/lib/pkix/src/X520Name/Attic/verifyPointer.c,v $ $Revision: 1.1 $ $Date: 2000-03-31 19:14:40 $ $Name: not supported by cvs2svn $";
#endif /* DEBUG */
#ifndef PKIXM_H
#include "pkixm.h"
#endif /* PKIXM_H */
#ifdef DEBUG
extern const NSSError NSS_ERROR_INTERNAL_ERROR;
static nssPointerTracker pkix_x520_name_pointer_tracker;
/*
* nss_pkix_X520Name_add_pointer
*
* This method is only present in debug builds.
*
* This module-private routine adds an NSSPKIXX520Name pointer to
* the internal pointer-tracker. This routine should only be used
* by the NSSPKIX module. This routine returns a PRStatus value;
* upon error it will place an error on the error stack and return
* PR_FAILURE.
*
* The error may be one of the following values:
* NSS_ERROR_NO_MEMORY
* NSS_ERROR_INTERNAL_ERROR
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nss_pkix_X520Name_add_pointer
(
const NSSPKIXX520Name *p
)
{
PRStatus rv;
rv = nssPointerTracker_initialize(&pkix_x520_name_pointer_tracker);
if( PR_SUCCESS != rv ) {
return rv;
}
rv = nssPointerTracker_add(&pkix_x520_name_pointer_tracker, p);
if( PR_SUCCESS != rv ) {
NSSError e = NSS_GetError();
if( NSS_ERROR_NO_MEMORY != e ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
}
return rv;
}
return PR_SUCCESS;
}
/*
* nss_pkix_X520Name_remove_pointer
*
* This method is only present in debug builds.
*
* This module-private routine removes a valid NSSPKIXX520Name
* pointer from the internal pointer-tracker. This routine should
* only be used by the NSSPKIX module. This routine returns a
* PRStatus value; upon error it will place an error on the error
* stack and return PR_FAILURE.
*
* The error may be one of the following values:
* NSS_ERROR_INTERNAL_ERROR
*
* Return value:
* PR_SUCCESS upon success
* PR_FAILURE upon failure
*/
NSS_IMPLEMENT PRStatus
nss_pkix_X520Name_remove_pointer
(
const NSSPKIXX520Name *p
)
{
PRStatus rv;
rv = nssPointerTracker_remove(&pkix_x520_name_pointer_tracker, p);
if( PR_SUCCESS != rv ) {
nss_SetError(NSS_ERROR_INTERNAL_ERROR);
}
return rv;
}
/*
* nssPKIXX520Name_verifyPointer
*
* This method is only present in debug builds.
*
* If the specified pointer is a valid pointer to an NSSPKIXX520Name
* object, this routine will return PR_SUCCESS. Otherwise, it will
* put an error on the error stack and return PR_FAILURE.
*
* The error may be one of the following values:
* NSS_ERROR_INVALID_PKIX_X520_NAME
*
* Return value:
* PR_SUCCESS if the pointer is valid
* PR_FAILURE if it isn't
*/
NSS_IMPLEMENT PRStatus
nssPKIXX520Name_verifyPointer
(
NSSPKIXX520Name *p
)
{
PRStatus rv;
rv = nssPointerTracker_initialize(&pkix_x520_name_pointer_tracker);
if( PR_SUCCESS != rv ) {
nss_SetError(NSS_ERROR_INVALID_PKIX_X520_NAME);
return PR_FAILURE;
}
rv = nssPointerTracker_verify(&pkix_x520_name_pointer_tracker, p);
if( PR_SUCCESS != rv ) {
nss_SetError(NSS_ERROR_INVALID_PKIX_X520_NAME);
return PR_FAILURE;
}
return PR_SUCCESS;
}
#endif /* DEBUG */