mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 14:22:01 +00:00
support for binary attribute values in LDAP XPCOM SDK (bug 119380). r=peterv@netscape.com, sr=sspitzer@netscape.com/mscott@netscape.com
This commit is contained in:
parent
9202384131
commit
1ff8c12305
@ -6,3 +6,4 @@ nsILDAPMessageListener.idl
|
||||
nsILDAPErrors.idl
|
||||
nsILDAPServer.idl
|
||||
nsILDAPService.idl
|
||||
nsILDAPBERValue.idl
|
||||
|
@ -50,6 +50,7 @@ XPIDLSRCS = \
|
||||
nsILDAPErrors.idl \
|
||||
nsILDAPServer.idl \
|
||||
nsILDAPService.idl \
|
||||
nsILDAPBERValue.idl \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_LDAP_XPCOM_EXPERIMENTAL
|
||||
|
@ -33,6 +33,7 @@ XPIDLSRCS= .\nsILDAPConnection.idl \
|
||||
.\nsILDAPErrors.idl \
|
||||
.\nsILDAPServer.idl \
|
||||
.\nsILDAPService.idl \
|
||||
.\nsILDAPBERValue.idl \
|
||||
!if defined(ENABLE_LDAP_EXPERIMENTAL)
|
||||
!endif
|
||||
$(NULL)
|
||||
|
72
directory/xpcom/base/public/nsILDAPBERValue.idl
Normal file
72
directory/xpcom/base/public/nsILDAPBERValue.idl
Normal file
@ -0,0 +1,72 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* 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 mozilla.org LDAP XPCOM SDK.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 2002 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Dan Mosedale <dmose@netscape.com> (original author)
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "nsISupports.idl"
|
||||
|
||||
/**
|
||||
* Representation of a BER value as an interface containing an array of
|
||||
* bytes. Someday this should perhaps be obsoleted by a better, more
|
||||
* generalized version of nsIByteBuffer, but that's currently not even
|
||||
* scriptable (see bug 125596).
|
||||
*/
|
||||
[scriptable, uuid(c817c5fe-1dd1-11b2-a10b-ae9885762ea9)]
|
||||
interface nsILDAPBERValue : nsISupports
|
||||
{
|
||||
/**
|
||||
* Set the BER value from an array of bytes (copies).
|
||||
*
|
||||
* @exception NS_ERROR_OUT_OF_MEMORY couldn't allocate buffer to copy to
|
||||
*/
|
||||
void set(in unsigned long aCount,
|
||||
[array, size_is(aCount)] in octet aValue);
|
||||
|
||||
/**
|
||||
* Set the BER value from a UTF8 string (copies).
|
||||
*
|
||||
* @exception NS_ERROR_OUT_OF_MEMORY couldn't allocate buffer to copy to
|
||||
*/
|
||||
void setFromUTF8(in AUTF8String aValue);
|
||||
|
||||
/**
|
||||
* Get the BER value as an array of bytes. Note that if this value is
|
||||
* zero-length, aCount and aRetVal will both be 0. This means that
|
||||
* (in C++ anyway) the caller MUST test either aCount or aRetval before
|
||||
* dereferencing aRetVal.
|
||||
*
|
||||
* @exception NS_ERROR_OUT_OF_MEMORY couldn't allocate buffer to copy to
|
||||
*/
|
||||
void get(out unsigned long aCount,
|
||||
[retval, array, size_is(aCount)] out octet aRetVal);
|
||||
};
|
||||
|
@ -33,13 +33,15 @@
|
||||
*/
|
||||
|
||||
#include "nsISupports.idl"
|
||||
#include "nsILDAPOperation.idl"
|
||||
|
||||
/* hack around XPIDL bug 78848; when that's fixed, this can disappear */
|
||||
%{C++
|
||||
#include "nsAString.h"
|
||||
%}
|
||||
|
||||
interface nsILDAPBERValue;
|
||||
interface nsILDAPOperation;
|
||||
|
||||
[scriptable, uuid(973ff50f-2002-4f0c-b57d-2242156139a2)]
|
||||
interface nsILDAPMessage : nsISupports
|
||||
{
|
||||
@ -178,4 +180,20 @@ interface nsILDAPMessage : nsISupports
|
||||
* it also returns the closest existing DN to the entry requested.
|
||||
*/
|
||||
readonly attribute AString matchedDn;
|
||||
|
||||
/**
|
||||
* Get an array of all the attribute values in this message (a wrapper
|
||||
* around the LDAP C SDK's get_values_len()).
|
||||
*
|
||||
* @param attr The attribute whose values are to be returned
|
||||
* @param count Number of values in the outbound array.
|
||||
* @param values Array of nsILDAPBERValue objects
|
||||
*
|
||||
* @exception NS_ERROR_UNEXPECTED Bug or memory corruption
|
||||
* @exception NS_ERROR_LDAP_DECODING_ERROR Attribute not found or other
|
||||
* decoding error.
|
||||
* @exception NS_ERROR_OUT_OF_MEMORY
|
||||
*/
|
||||
void getBinaryValues(in string attr, out unsigned long count,
|
||||
[retval, array, size_is(count)] out nsILDAPBERValue values);
|
||||
};
|
||||
|
@ -58,6 +58,7 @@ CPPSRCS = \
|
||||
nsLDAPURL.cpp \
|
||||
nsLDAPServer.cpp \
|
||||
nsLDAPService.cpp \
|
||||
nsLDAPBERValue.cpp \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_LDAP_XPCOM_EXPERIMENTAL
|
||||
|
@ -41,6 +41,7 @@ CPP_OBJS = .\$(OBJDIR)\nsLDAPURL.obj \
|
||||
.\$(OBJDIR)\nsLDAPOperation.obj \
|
||||
.\$(OBJDIR)\nsLDAPServer.obj \
|
||||
.\$(OBJDIR)\nsLDAPService.obj \
|
||||
.\$(OBJDIR)\nsLDAPBERValue.obj \
|
||||
!if defined(ENABLE_LDAP_EXPERIMENTAL)
|
||||
.\$(OBJDIR)\nsLDAPProtocolHandler.obj \
|
||||
.\$(OBJDIR)\nsLDAPChannel.obj \
|
||||
|
138
directory/xpcom/base/src/nsLDAPBERValue.cpp
Normal file
138
directory/xpcom/base/src/nsLDAPBERValue.cpp
Normal file
@ -0,0 +1,138 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* 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 mozilla.org LDAP XPCOM SDK.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 2002 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Dan Mosedale <dmose@netscape.com>
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "nsLDAPBERValue.h"
|
||||
#include "nsMemory.h"
|
||||
#include "nsString.h"
|
||||
#include "nsReadableUtils.h"
|
||||
|
||||
NS_IMPL_THREADSAFE_ISUPPORTS1(nsLDAPBERValue, nsILDAPBERValue)
|
||||
|
||||
nsLDAPBERValue::nsLDAPBERValue() : mValue(0), mSize(0)
|
||||
{
|
||||
NS_INIT_ISUPPORTS();
|
||||
}
|
||||
|
||||
nsLDAPBERValue::~nsLDAPBERValue()
|
||||
{
|
||||
if (mValue) {
|
||||
nsMemory::Free(mValue);
|
||||
}
|
||||
}
|
||||
|
||||
// void get (out unsigned long aCount,
|
||||
// [array, size_is (aCount), retval] out octet aRetVal); */
|
||||
NS_IMETHODIMP
|
||||
nsLDAPBERValue::Get(PRUint32 *aCount, PRUint8 **aRetVal)
|
||||
{
|
||||
PRUint8 *array;
|
||||
|
||||
// if mSize = 0, return a count of a 0 and a null pointer
|
||||
|
||||
if (mSize) {
|
||||
// get a buffer to hold a copy of the data
|
||||
//
|
||||
array = NS_STATIC_CAST(PRUint8 *, nsMemory::Alloc(mSize));
|
||||
if (!array) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
// copy and return
|
||||
//
|
||||
memcpy(array, mValue, mSize);
|
||||
}
|
||||
|
||||
*aCount = mSize;
|
||||
*aRetVal = mSize ? array : 0;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// void set(in unsigned long aCount,
|
||||
// [array, size_is(aCount)] in octet aValue);
|
||||
NS_IMETHODIMP
|
||||
nsLDAPBERValue::Set(PRUint32 aCount, PRUint8 *aValue)
|
||||
{
|
||||
// get rid of any old value being held here
|
||||
//
|
||||
if (mValue) {
|
||||
nsMemory::Free(mValue);
|
||||
}
|
||||
|
||||
// if this is a non-zero value, allocate a buffer and copy
|
||||
//
|
||||
if (aCount) {
|
||||
// get a buffer to hold a copy of this data
|
||||
//
|
||||
mValue = NS_STATIC_CAST(PRUint8 *, nsMemory::Alloc(aCount));
|
||||
if (!mValue) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
// copy the data and return
|
||||
//
|
||||
memcpy(mValue, aValue, aCount);
|
||||
} else {
|
||||
// otherwise just set it to null
|
||||
//
|
||||
mValue = 0;
|
||||
}
|
||||
|
||||
mSize = aCount;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// void setFromUTF8(in AUTF8String aValue);
|
||||
//
|
||||
NS_IMETHODIMP
|
||||
nsLDAPBERValue::SetFromUTF8(const nsACString & aValue)
|
||||
{
|
||||
// get rid of any old value being held here
|
||||
//
|
||||
if (mValue) {
|
||||
nsMemory::Free(mValue);
|
||||
}
|
||||
|
||||
// copy the data and return
|
||||
//
|
||||
// XXXdmose should really be ToNewUTF8String, once the appropriate
|
||||
// signature for that exists
|
||||
//
|
||||
mSize = aValue.Length();
|
||||
if (mSize) {
|
||||
mValue = NS_REINTERPRET_CAST(PRUint8 *, ToNewCString(aValue));
|
||||
} else {
|
||||
mValue = 0;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
61
directory/xpcom/base/src/nsLDAPBERValue.h
Normal file
61
directory/xpcom/base/src/nsLDAPBERValue.h
Normal file
@ -0,0 +1,61 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* 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 mozilla.org LDAP XPCOM SDK.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 2002 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Dan Mosedale <dmose@netscape.com>
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef _nsLDAPBERValue_h_
|
||||
#define _nsLDAPBERValue_h_
|
||||
|
||||
#include "ldap.h"
|
||||
#include "nsILDAPBERValue.h"
|
||||
|
||||
// 7c9fa10e-1dd2-11b2-a097-ac379e6803b2
|
||||
//
|
||||
#define NS_LDAPBERVALUE_CID \
|
||||
{ 0x7c9fa10e, 0x1dd2, 0x11b2, \
|
||||
{0xa0, 0x97, 0xac, 0x37, 0x9e, 0x68, 0x03, 0xb2 }}
|
||||
|
||||
class nsLDAPBERValue : public nsILDAPBERValue
|
||||
{
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSILDAPBERVALUE
|
||||
|
||||
nsLDAPBERValue();
|
||||
virtual ~nsLDAPBERValue();
|
||||
|
||||
private:
|
||||
PRUint8 *mValue; // pointer to an array
|
||||
PRUint32 mSize; // size of the value, in bytes
|
||||
};
|
||||
|
||||
#endif // _nsLDAPBERValue_h_
|
@ -45,6 +45,8 @@
|
||||
#include "nsIInterfaceRequestor.h"
|
||||
#include "nsIInterfaceRequestorUtils.h"
|
||||
#include "nsIStreamListener.h"
|
||||
#include "nsILDAPConnection.h"
|
||||
#include "nsILDAPOperation.h"
|
||||
#include "nsILDAPMessageListener.h"
|
||||
#include "nsIProgressEventSink.h"
|
||||
#include "nsILDAPURL.h"
|
||||
|
@ -699,7 +699,8 @@ CheckLDAPOperationResult(nsHashKey *aKey, void *aData, void* aClosure)
|
||||
// we want nsLDAPMessage specifically, not a compatible, since
|
||||
// we're sharing native objects used by the LDAP C SDK
|
||||
//
|
||||
nsLDAPMessage *rawMsg = new nsLDAPMessage();
|
||||
nsLDAPMessage *rawMsg;
|
||||
NS_NEWXPCOM(rawMsg, nsLDAPMessage);
|
||||
if (!rawMsg) {
|
||||
NS_ERROR("CheckLDAPOperationResult(): couldn't allocate memory"
|
||||
" for new LDAP message; search entry dropped");
|
||||
|
@ -39,6 +39,8 @@
|
||||
#include "nsCRT.h"
|
||||
#include "nsLDAPConnection.h"
|
||||
#include "nsReadableUtils.h"
|
||||
#include "nsISupportsUtils.h"
|
||||
#include "nsLDAPBERValue.h"
|
||||
|
||||
NS_IMPL_THREADSAFE_ISUPPORTS1(nsLDAPMessage, nsILDAPMessage);
|
||||
|
||||
@ -539,6 +541,98 @@ nsLDAPMessage::GetValues(const char *aAttr, PRUint32 *aCount,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// wrapper for get_values_len
|
||||
//
|
||||
NS_IMETHODIMP
|
||||
nsLDAPMessage::GetBinaryValues(const char *aAttr, PRUint32 *aCount,
|
||||
nsILDAPBERValue ***aValues)
|
||||
{
|
||||
struct berval **values;
|
||||
|
||||
PR_LOG(gLDAPLogModule, PR_LOG_DEBUG,
|
||||
("nsLDAPMessage::GetBinaryValues(): called with aAttr = '%s'",
|
||||
aAttr));
|
||||
|
||||
values = ldap_get_values_len(mConnectionHandle, mMsgHandle, aAttr);
|
||||
|
||||
// bail out if there was a problem
|
||||
//
|
||||
if (!values) {
|
||||
PRInt32 lderrno = ldap_get_lderrno(mConnectionHandle, 0, 0);
|
||||
|
||||
if ( lderrno == LDAP_DECODING_ERROR ) {
|
||||
// this may not be an error; it could just be that the
|
||||
// caller has asked for an attribute that doesn't exist.
|
||||
//
|
||||
PR_LOG(gLDAPLogModule, PR_LOG_WARNING,
|
||||
("nsLDAPMessage::GetBinaryValues(): ldap_get_values "
|
||||
"returned LDAP_DECODING_ERROR"));
|
||||
return NS_ERROR_LDAP_DECODING_ERROR;
|
||||
|
||||
} else if ( lderrno == LDAP_PARAM_ERROR ) {
|
||||
NS_ERROR("nsLDAPMessage::GetBinaryValues(): internal error: 1");
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
} else {
|
||||
NS_ERROR("nsLDAPMessage::GetBinaryValues(): internal error: 2");
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
}
|
||||
|
||||
// count the values
|
||||
//
|
||||
PRUint32 numVals = ldap_count_values_len(values);
|
||||
|
||||
// create the out array
|
||||
//
|
||||
*aValues =
|
||||
NS_STATIC_CAST(nsILDAPBERValue **,
|
||||
nsMemory::Alloc(numVals * sizeof(nsILDAPBERValue)));
|
||||
if (!aValues) {
|
||||
ldap_value_free_len(values);
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
// clone the array (except for the trailing NULL entry) using the
|
||||
// shared allocator for XPCOM correctness
|
||||
//
|
||||
PRUint32 i;
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsILDAPBERValue> berValue;
|
||||
for ( i = 0 ; i < numVals ; i++ ) {
|
||||
|
||||
// create an nsBERValue object
|
||||
//
|
||||
NS_NEWXPCOM(berValue, nsLDAPBERValue);
|
||||
if (!berValue) {
|
||||
NS_ERROR("nsLDAPMessage::GetBinaryValues(): out of memory"
|
||||
" creating nsBERValue object");
|
||||
NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(i, aValues);
|
||||
ldap_value_free_len(values);
|
||||
return rv == NS_ERROR_OUT_OF_MEMORY ? rv : NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
|
||||
// copy the value from the struct into the nsBERValue
|
||||
//
|
||||
rv = berValue->Set(values[i]->bv_len,
|
||||
NS_REINTERPRET_CAST(PRUint8 *, values[i]->bv_val));
|
||||
if (NS_FAILED(rv)) {
|
||||
NS_ERROR("nsLDAPMessage::GetBinaryValues(): error setting"
|
||||
" nsBERValue");
|
||||
ldap_value_free_len(values);
|
||||
return rv == NS_ERROR_OUT_OF_MEMORY ? rv : NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
|
||||
// put the nsIBERValue object into the out array
|
||||
//
|
||||
NS_ADDREF( (*aValues)[i] = berValue.get() );
|
||||
}
|
||||
|
||||
*aCount = numVals;
|
||||
ldap_value_free_len(values);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// readonly attribute nsILDAPOperation operation;
|
||||
NS_IMETHODIMP nsLDAPMessage::GetOperation(nsILDAPOperation **_retval)
|
||||
{
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include "nsLDAPMessage.h"
|
||||
#include "nsLDAPServer.h"
|
||||
#include "nsLDAPService.h"
|
||||
#include "nsLDAPBERValue.h"
|
||||
#include "ldappr.h"
|
||||
|
||||
#ifdef MOZ_LDAP_XPCOM_EXPERIMENTAL
|
||||
@ -55,13 +56,13 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsLDAPMessage);
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsLDAPServer);
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsLDAPURL, Init);
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsLDAPService, Init);
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsLDAPBERValue);
|
||||
|
||||
#ifdef MOZ_LDAP_XPCOM_EXPERIMENTAL
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsLDAPProtocolHandler);
|
||||
#endif
|
||||
|
||||
|
||||
// a table of the CIDs implemented by this module (in this case, just one)
|
||||
// a table of the CIDs implemented by this module
|
||||
//
|
||||
static const nsModuleComponentInfo components[] =
|
||||
{
|
||||
@ -83,7 +84,9 @@ static const nsModuleComponentInfo components[] =
|
||||
nsLDAPProtocolHandlerConstructor },
|
||||
#endif
|
||||
{ "LDAP URL", NS_LDAPURL_CID,
|
||||
"@mozilla.org/network/ldap-url;1", nsLDAPURLConstructor }
|
||||
"@mozilla.org/network/ldap-url;1", nsLDAPURLConstructor },
|
||||
{ "LDAP BER Value", NS_LDAPBERVALUE_CID,
|
||||
"@mozilla.org/network/ldap-ber-value;1", nsLDAPBERValueConstructor }
|
||||
};
|
||||
|
||||
PR_STATIC_CALLBACK(nsresult)
|
||||
@ -92,7 +95,8 @@ nsLDAPInitialize(nsIModule *aSelf)
|
||||
#ifdef PR_LOGGING
|
||||
gLDAPLogModule = PR_NewLogModule("ldap");
|
||||
if (!gLDAPLogModule) {
|
||||
PR_fprintf(PR_STDERR, "LDAP_Initialize(): PR_NewLogModule() failed\n");
|
||||
PR_fprintf(PR_STDERR,
|
||||
"nsLDAP_Initialize(): PR_NewLogModule() failed\n");
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
#endif
|
||||
@ -103,7 +107,7 @@ nsLDAPInitialize(nsIModule *aSelf)
|
||||
|
||||
if (rv != LDAP_SUCCESS) {
|
||||
PR_LOG(gLDAPLogModule, PR_LOG_ERROR,
|
||||
("LDAPInitialize(): pr_ldap_install_routines() failed: %s\n",
|
||||
("nsLDAPInitialize(): pr_ldap_install_routines() failed: %s\n",
|
||||
ldap_err2string(rv)));
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
@ -115,7 +119,7 @@ nsLDAPInitialize(nsIModule *aSelf)
|
||||
10000);
|
||||
if (rv != LDAP_SUCCESS) {
|
||||
PR_LOG(gLDAPLogModule, PR_LOG_ERROR,
|
||||
("LDAPInitialize(): error setting PRLDAP_OPT_IO_MAX_TIMEOUT:"
|
||||
("nsLDAPInitialize(): error setting PRLDAP_OPT_IO_MAX_TIMEOUT:"
|
||||
" %s\n", ldap_err2string(rv)));
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
@ -1072,6 +1072,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPBERValue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@ -1149,6 +1156,11 @@
|
||||
<PATH>nsLDAPSecurityGlue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPBERValue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
<TARGET>
|
||||
@ -2170,6 +2182,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPBERValue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@ -2247,6 +2266,11 @@
|
||||
<PATH>nsLDAPSecurityGlue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPBERValue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
<TARGET>
|
||||
@ -3282,6 +3306,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPBERValue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@ -3369,6 +3400,11 @@
|
||||
<PATH>nsLDAPSecurityGlue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPBERValue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
<TARGET>
|
||||
@ -4404,6 +4440,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPBERValue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@ -4491,6 +4534,11 @@
|
||||
<PATH>nsLDAPSecurityGlue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPBERValue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
</TARGETLIST>
|
||||
@ -4507,7 +4555,7 @@
|
||||
<FILEREF>
|
||||
<TARGETNAME>mozldapDebug.shlb</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPServer.cpp</PATH>
|
||||
<PATH>nsLDAPBERValue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
@ -4546,6 +4594,18 @@
|
||||
<PATH>nsLDAPProtocolModule.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>mozldapDebug.shlb</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPSecurityGlue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>mozldapDebug.shlb</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPServer.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>mozldapDebug.shlb</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
@ -4558,12 +4618,6 @@
|
||||
<PATH>nsLDAPURL.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>mozldapDebug.shlb</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsLDAPSecurityGlue.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</GROUP>
|
||||
<GROUP><NAME>NS Libraries</NAME>
|
||||
<GROUP><NAME>Optimized</NAME>
|
||||
|
@ -776,6 +776,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsILDAPBERValue.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@ -818,6 +825,11 @@
|
||||
<PATH>nsILDAPService.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsILDAPBERValue.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
<TARGET>
|
||||
@ -1543,6 +1555,13 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsILDAPBERValue.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@ -1585,6 +1604,11 @@
|
||||
<PATH>nsILDAPService.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsILDAPBERValue.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
</TARGETLIST>
|
||||
@ -1643,6 +1667,12 @@
|
||||
<PATH>nsILDAPService.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>headers</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsILDAPBERValue.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</GROUPLIST>
|
||||
|
||||
</PROJECT>
|
||||
|
@ -39,6 +39,7 @@
|
||||
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsILDAPConnection.h"
|
||||
#include "nsILDAPOperation.h"
|
||||
#include "nsILDAPMessageListener.h"
|
||||
#include "nsILDAPURL.h"
|
||||
#include "nsString.h"
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIAutoCompleteSession.h"
|
||||
#include "nsILDAPConnection.h"
|
||||
#include "nsILDAPOperation.h"
|
||||
#include "nsILDAPMessageListener.h"
|
||||
#include "nsILDAPAutoCompleteSession.h"
|
||||
#include "nsILDAPAutoCompFormatter.h"
|
||||
|
Loading…
Reference in New Issue
Block a user