/*********************************************************************** * * Copyright (C) 2005-2006 Novell, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; version 2.1 * of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * To contact Novell about this file by physical or electronic mail, * you may find current contact information at www.novell.com. * ***********************************************************************/ using System; namespace Novell.CASA { /// /// Summary description for MiCasaException. /// public class miCasaException:Exception { int m_iException = 0; public const int NSSCS_E_OBJECT_NOT_FOUND = -800; //0xFFFFFCE0; /* -800 */ /** * NICI operations have failed. */ public const int NSSCS_E_NICI_FAILURE = -801; /** * Secret ID is not in the User Secret Store. */ public const int NSSCS_E_INVALID_SECRET_ID = -802; /** * Some internal operating system services have not been available. */ public const int NSSCS_E_SYSTEM_FAILURE = -803; /** * Access to the target SecretStore has been denied. */ public const int NSSCS_E_ACCESS_DENIED = -804; /** * Some internal NDS services have not been available. */ public const int NSSCS_E_NDS_INTERNAL_FAILURE = -805; /** * Secret has not been initialized with a write. */ public const int NSSCS_E_SECRET_UNINITIALIZED = -806; /** * Size of the buffer is not in a nominal range between minimum and maximum. */ public const int NSSCS_E_BUFFER_LEN = -807; /** * Client and server components are not of the compatible versions. */ public const int NSSCS_E_INCOMPATIBLE_VERSION = -808; /** * SecretStore data on the server has been corrupted. */ public const int NSSCS_E_CORRUPTED_STORE = -809; /** * Secret ID already exists in the Secret Store. */ public const int NSSCS_E_SECRET_ID_EXISTS = -810; /** * User NDS password has been changed by the administrator. */ public const int NSSCS_E_NDS_PWORD_CHANGED = -811; /** * Target NDS User object not found. */ public const int NSSCS_E_INVALID_TARGET_OBJECT = -812; /** * Target NDS User object does not have a SecretStore. */ public const int NSSCS_E_STORE_NOT_FOUND = -813; /** * SecretStore not on the Network. */ public const int NSSCS_E_SERVICE_NOT_FOUND = -814; /** * Length of the Secret ID buffer exceeds the limit. */ public const int NSSCS_E_SECRET_ID_TOO_LONG = -815; /** * Length of the Enumeration buffer too int. */ public const int NSSCS_E_ENUM_BUFF_TOO_SHORT = -816; /** * User not authenticated. */ public const int NSSCS_E_NOT_AUTHENTICATED = -817; /** * Not supported operations. */ public const int NSSCS_E_NOT_SUPPORTED = -818; /** * Typed in NDS password not valid. */ public const int NSSCS_E_NDS_PWORD_INVALID = -819; /** * Session keys of the client and server NICI are out of sync. */ public const int NSSCS_E_NICI_OUTOF_SYNC = -820; /** * Requested service not supported yet. */ public const int NSSCS_E_SERVICE_NOT_SUPPORTED = -821; /** * NDS authentication type not supported. */ public const int NSSCS_E_TOKEN_NOT_SUPPORTED = -822; /** * Unicode text conversion operation failed. */ public const int NSSCS_E_UNICODE_OP_FAILURE = -823; /** * Connection to server is lost. */ public const int NSSCS_E_TRANSPORT_FAILURE = -824; /** * Cryptographic operation failed. */ public const int NSSCS_E_CRYPTO_OP_FAILURE = -825; /** * Opening a connection to the server failed. */ public const int NSSCS_E_SERVER_CONN_FAILURE = -826; /** * Access to server connection failed. */ public const int NSSCS_E_CONN_ACCESS_FAILURE = -827; /** * Size of the enumeration buffer exceeds the limit. */ public const int NSSCS_E_ENUM_BUFF_TOO_LONG = -828; /** * Size of the Secret buffer exceeds the limit. */ public const int NSSCS_E_SECRET_BUFF_TOO_LONG = -829; /** * Length of the Secret ID should be greater than zero. */ public const int NSSCS_E_SECRET_ID_TOO_SHORT = -830; /** * Protocol data corrupted on the wire. */ public const int NSSCS_E_CORRUPTED_PACKET_DATA = -831; /** * EP password validation failed. Access to the secret denied! */ public const int NSSCS_E_EP_ACCESS_DENIED = -832; /** * Schema is not extended to support SecreStore on the target tree. */ public const int NSSCS_E_SCHEMA_NOT_EXTENDED = -833; /** * One of the optional service attributes is not instantiated. */ public const int NSSCS_E_ATTR_NOT_FOUND = -834; /** * Server has been upgraded and user SecretStore should be updated. */ public const int NSSCS_E_MIGRATION_NEEDED = -835; /** * Master password could not be verified to read or unlock the secrets. */ public const int NSSCS_E_MP_PWORD_INVALID = -836; /** * Master password has not been set on the SecretStore. */ public const int NSSCS_E_MP_PWORD_NOT_SET = -837; /** * Ability to use master password has been disabled. */ public const int NSSCS_E_MP_PWORD_NOT_ALLOWED = -838; /** * Not a writeable replica of NDS. */ public const int NSSCS_E_WRONG_REPLICA_TYPE = -839; /** * Target attribute is not instantiated in NDS. * * @since 3.0 */ public const int NSSCS_E_ATTR_VAL_NOT_FOUND = -840; /** * API parameter is not initialized. * * @since 3.0 */ public const int NSSCS_E_INVALID_PARAM = -841; /** * Connection to SecretStore needs to be over SSL. * * @since 3.0 */ public const int NSSCS_E_NEED_SECURE_CHANNEL = -842; /** * No server to support the given override configuration is found. * * @since 3.02 */ public const int NSSCS_E_CONFIG_NOT_SUPPORTED = -843; /** * Attempt to unlock SecretStore failed because the store is not locked. * * @since 3.02 */ public const int NSSCS_E_STORE_NOT_LOCKED = -844; /** * NDS Replica on the server that holds SecretStore is out of sync with the replica ring. * * @since 3.2 */ public const int NSSCS_E_TIME_OUT_OF_SYNC = -845; /** * Versions of the client dlls don't match. * * @since 3.2 */ public const int NSSCS_E_VERSION_MISMATCH = -846; /** * Buffer supplied for the secret is too short. * * @since 3.2 */ public const int NSSCS_E_SECRET_BUFF_TOO_SHORT = -847; /** * Shared Secret processing and operations failed. * * @since 3.2 */ public const int NSSCS_E_SH_SECRET_FAILURE = -848; /** * Shared Secret parser operations failed. * * @since 3.2 */ public const int NSSCS_E_PARSER_FAILURE = -849; /** * Utf8 string operations failed. * * @since 3.2 */ public const int NSSCS_E_UTF8_OP_FAILURE = -850; /** * Contextless name for LDAP bind does not resolve to a unique DN. * * @since 3.2 */ public const int NSSCS_E_CTX_LESS_CN_NOT_UNIQUE = -851; /** * Feature not implemented yet. */ public const int NSSCS_E_NOT_IMPLEMENTED = -888; /** * Product's BETA life has expired! Official release copy should be purchased. */ public const int NSSCS_E_BETA_EXPIRED = -899; public miCasaException() { // // TODO: Add constructor logic here // } public miCasaException(int iException) { m_iException = iException; } public string getMessage() { return getMessage(m_iException); } public int getErrorCode() { return m_iException; } public string getMessage(int iException) { switch (iException) { case NSSCS_E_OBJECT_NOT_FOUND: return "Can't find the target object DN in NDS"; case NSSCS_E_NICI_FAILURE: return "NICI operations have failed"; case NSSCS_E_INVALID_SECRET_ID: return "Secret ID is not in the User Secret Store"; case NSSCS_E_SYSTEM_FAILURE: return "Some internal operating system services have not been available"; case NSSCS_E_ACCESS_DENIED: return "Access to the target SecretStore has been denied"; case NSSCS_E_NDS_INTERNAL_FAILURE: return "Some internal NDS services have not been available"; case NSSCS_E_SECRET_UNINITIALIZED: return "Secret has not been initialized with a write"; case NSSCS_E_BUFFER_LEN: return "Size of the buffer is not in a nominal range between minimum and maximum"; case NSSCS_E_INCOMPATIBLE_VERSION: return "Client and server components are not of the compatible versions"; case NSSCS_E_CORRUPTED_STORE: return "SecretStore data on the server has been corrupted"; case NSSCS_E_SECRET_ID_EXISTS: return "Secret ID is already in SecretStore"; case NSSCS_E_NDS_PWORD_CHANGED: return "User NDS password has been changed by the administrator"; case NSSCS_E_INVALID_TARGET_OBJECT: return "Target NDS User object not found"; case NSSCS_E_STORE_NOT_FOUND: return "Target NDS User object does not have a SecretStore"; case NSSCS_E_SERVICE_NOT_FOUND: return "SecretStore not on the Network"; case NSSCS_E_SECRET_ID_TOO_LONG: return "Length of the Secret ID buffer exceeds the limit"; case NSSCS_E_ENUM_BUFF_TOO_SHORT: return "Length of the Enumeration buffer too short"; case NSSCS_E_NOT_AUTHENTICATED: return "User not authenticated"; case NSSCS_E_NOT_SUPPORTED: return "Not supported operations"; case NSSCS_E_NDS_PWORD_INVALID: return "Typed in NDS password not valid"; case NSSCS_E_NICI_OUTOF_SYNC: return "Session keys of the client and server NICI are out of sync"; case NSSCS_E_SERVICE_NOT_SUPPORTED: return "Requested service not supported yet"; case NSSCS_E_TOKEN_NOT_SUPPORTED: return "NDS authentication type not supported"; case NSSCS_E_UNICODE_OP_FAILURE: return "Unicode text conversion operation failed"; case NSSCS_E_TRANSPORT_FAILURE: return "Connection to server is lost"; case NSSCS_E_CRYPTO_OP_FAILURE: return "Cryptographic operation failed"; case NSSCS_E_SERVER_CONN_FAILURE: return "Opening a connection to the server failed"; case NSSCS_E_CONN_ACCESS_FAILURE: return "Access to server connection failed"; case NSSCS_E_ENUM_BUFF_TOO_LONG: return "Size of the enumeration buffer exceeds the limit"; case NSSCS_E_SECRET_BUFF_TOO_LONG: return "Size of the Secret buffer exceeds the limit"; case NSSCS_E_SECRET_ID_TOO_SHORT: return "Length of the Secret ID should be greater than zero"; case NSSCS_E_CORRUPTED_PACKET_DATA: return "Protocol data corrupted on the wire"; case NSSCS_E_EP_ACCESS_DENIED: return "EP password validation failed. Access to the secret denied"; case NSSCS_E_SCHEMA_NOT_EXTENDED: return "Schema is not extended to support SecreStore on the target tree"; case NSSCS_E_ATTR_NOT_FOUND: return "One of the optional service attributes is not instantiated"; case NSSCS_E_MIGRATION_NEEDED: return "Server has been upgraded and user SecretStore should be updated"; case NSSCS_E_MP_PWORD_INVALID: return "Master password could not be verified to read or unlock the secrets"; case NSSCS_E_MP_PWORD_NOT_SET: return "Master password has not been set on the SecretStore"; case NSSCS_E_MP_PWORD_NOT_ALLOWED: return "Ability to use master password has been disabled"; case NSSCS_E_WRONG_REPLICA_TYPE: return "Not a writeable replica of NDS"; case NSSCS_E_ATTR_VAL_NOT_FOUND: return "Target attribute is not instantiated in NDS"; case NSSCS_E_INVALID_PARAM: return "API parameter is not initialized"; case NSSCS_E_NEED_SECURE_CHANNEL: return "Connection to SecretStore needs to be over SSL"; case NSSCS_E_CONFIG_NOT_SUPPORTED: return "No server to support the given override configuration is found"; case NSSCS_E_STORE_NOT_LOCKED: return "Attempt to unlock SecretStore failed because the store is not locked"; case NSSCS_E_TIME_OUT_OF_SYNC: return "NDS Replica on the server that holds SecretStore is out of sync with the replica ring"; case NSSCS_E_VERSION_MISMATCH: return "Versions of the client dlls don't match"; case NSSCS_E_SECRET_BUFF_TOO_SHORT: return "Buffer supplied for the secret is too short"; case NSSCS_E_SH_SECRET_FAILURE: return "Shared Secret processing and operations failed"; case NSSCS_E_PARSER_FAILURE: return "Shared Secret parser operations failed"; case NSSCS_E_UTF8_OP_FAILURE: return "Utf8 string operations failed"; case NSSCS_E_CTX_LESS_CN_NOT_UNIQUE: return "Contextless name for LDAP bind does not resolve to a unique DN"; case NSSCS_E_NOT_IMPLEMENTED: return "Feature not implemented yet"; case NSSCS_E_BETA_EXPIRED: return "Product's BETA life has expired! Official release copy should be purchased"; } return ""; } } }