Closed
Bug 70658
Opened 24 years ago
Closed 24 years ago
get basic LDAP XPCOM component code on in default builds
Categories
(Directory :: LDAP XPCOM SDK, defect)
Directory
LDAP XPCOM SDK
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: dmosedale, Assigned: dmosedale)
References
Details
Attachments
(16 files)
(deleted),
text/plain
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
text/plain
|
Details | |
(deleted),
text/plain
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
application/octet-stream
|
Details | |
(deleted),
application/octet-stream
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review |
Not really an LDAP C SDK bug; a new bugzilla component should be appearing
shortly. I'll move this once it's ready.
I recent sent shaver the following mail:
So here's our theory: right now, all LDAP code is turned on with --enable-ldap.
We'd like to land minimal ldap support in the default build as soon as we
reasonably can that we'll then base autocomplete work off of. Specfically, the
what we'd like to do is turn on the code in
directory/xpcom/base/src/nsLDAP{Connection, ConnectionCallbacks, Internal,
Message, Operation, ProtocolHandler, ProtocolModule, URL}* (along with the
corresponding interfaces in "public") in the default build, and still have all
the code enabled in --enable-ldap builds.
----
In fact, ProtocolHandler should stay turned off unless --enable-ldap is set,
since it's really only a stub to get an nsLDAPChannel, and that is definitely
not ready for prime time. But we'd like to get everything else turned on.
Assignee | ||
Comment 1•24 years ago
|
||
Assignee | ||
Comment 2•24 years ago
|
||
Assignee | ||
Comment 3•24 years ago
|
||
Assignee | ||
Comment 4•24 years ago
|
||
Assignee | ||
Updated•24 years ago
|
I like the loss of interfaces where the component independence is a fiction.
Bully for you.
(
> > nsILDAPMessageListener.idl:
> >
> > - no comments
>
> ?? It does have comments. In the patch, I've fixed changed one of them
> from C++ style to doxygen style, if that makes any difference.
Actually, I meant ``I have no comments on this file''. =)
)
I dispute your Good Form(TM) defense of break-after-return, even more so than of
pervasive null-checking: if someone's going to change the code to remove a
return, the last thing we're worried about is switch-fallthrough errors, no?
And when I was reading that code, I spent a little while on each case trying to
figure out if we'd ever hit the break ("is the indentation just wrong?"). If
they're going to stay, please comment them as /* never hit -- defensive only */
or something to save poor reviewers unacquainted with that brand of future-proofing.
Kill the fprintfs! Spill their blood!
|const| doesn't (and had better not!) imply |static| to a C compiler!
Your adaptive XXX-as-bug strategy is righteous. Go with my blessing.
I'm pretty happy with this code now; great work, and thanks for enduring my
picky review with such grace. Lemme scan the new diff and check that license
issue with Mitchell, and I'll have an sr= to you today, or you'll know why!
Assignee | ||
Comment 6•24 years ago
|
||
Assignee | ||
Comment 7•24 years ago
|
||
Assignee | ||
Comment 8•24 years ago
|
||
+ * XXXdmose - should use wstring here
+ *
+ * @return unicode encoded string representation.
+ */
+ wstring toUnicode();
Lose the outdated comment.
- nsCOMPtr<nsILDAPConnection> mConnection; // LDAP connection for this channel
+ nsCOMPtr<nsILDAPConnection> mConnection; // LDAP connection
...
- PRInt32 lderrno = ldap_get_lderrno(mConnectionHandle, NULL, NULL);
+ PRInt32 lderrno = ldap_get_lderrno(mConnectionHandle, 0, 0);
Mismatched indent?
+ if ( mConnectionHandle == NULL )
...
+ if ((mDesc->lud_filter == NULL) ||
You were making them all implicit, but seem to have missed these. Also, use
nsnull or 0, but never NULL. (It busts on some platforms, where it's |(void *)0|.)
+ (nsCRT::strlen(mDesc->lud_filter) == 0))
Nit: |!mDesc->lud_filter[0]| is a faster test.
+ flex="2" id="testTree"
ref="ldap://nsdirectory.netscape.com:389/dc=netscape,dc=com??sub?(sn=Smith)">
Can we point to a public server for the test? It'll make it a lot easier for us
non-Netscape folks.
Other than these bits, it looks _great_. I wish we had more code like it.
sr=shaver if you correct those; don't bother reposting a patch.
Assignee | ||
Comment 10•24 years ago
|
||
Assignee | ||
Comment 11•24 years ago
|
||
OK, the latest round of comments is all sorted out. I only put the patch back
in the bug because that's the easiest way to for me to make it available to
download and test on all three boxes.
Assignee | ||
Comment 12•24 years ago
|
||
Patches checked in. Reassigning to leif, as he has a patch in progress that
will actually turn on the appropriate bits in the default build.
Assignee: dmose → leif
Status: ASSIGNED → NEW
Comment 13•24 years ago
|
||
Comment 14•24 years ago
|
||
Please check out the changes I made to the build system and some source to
enable LDAP by default. You can disable LDAP features by using the
--disable-ldap (or env DISABLE_LDAP on Windows).
Comment 15•24 years ago
|
||
Comment 16•24 years ago
|
||
Assignee | ||
Comment 17•24 years ago
|
||
One change was required for the LDAP_EXPERIMENTAL stuff work on windows:
resetting $(LCFLAGS) to include the newly modified $(DEFINES).
I built and tested this stuff on both linux and windows (this stuff is not
turned on on the mac yet. Seems to be working nicely.
So, with the above change, r=dmose@netscape.com. On to super-review...
Comment 18•24 years ago
|
||
peachy.
sr=alecf
Assignee | ||
Comment 19•24 years ago
|
||
The Unix/Windows version of the build patch was checked in before the 0.8.1 tree
closure. Up next: mac version, thanks to help from peterv.
Assignee: leif → dmose
Assignee | ||
Comment 20•24 years ago
|
||
Assignee | ||
Comment 21•24 years ago
|
||
Together with changes to the mac project file, the above patch splits ldap out
into ldap and ldap_experimental options, with ldap on in the default build, and
ldap_experimental off.
Status: NEW → ASSIGNED
Assignee | ||
Comment 22•24 years ago
|
||
Forgot to mention that the heavy lifting on that patch was done by peterv.
Thanks, Peter!
Comment 23•24 years ago
|
||
sr=sfraser on the mac build patches
Assignee | ||
Comment 24•24 years ago
|
||
Patch to turn on the basic LDAP infrastructure in the mac build are now checked in.
Comment 25•24 years ago
|
||
Comment 26•24 years ago
|
||
Assignee | ||
Comment 27•24 years ago
|
||
Assignee | ||
Comment 28•24 years ago
|
||
OK, just got r=cls on this last windows patch, and he said I should also get
sr=leaf. leaf?
Comment 29•24 years ago
|
||
sr=leaf for patch 28374
Assignee | ||
Comment 30•24 years ago
|
||
Patch to turn on in windows build by default checked in.
Assignee | ||
Comment 31•24 years ago
|
||
Comment 32•24 years ago
|
||
r=leif
Comment 33•24 years ago
|
||
sr=cls
Assignee | ||
Comment 34•24 years ago
|
||
Patch to turn LDAP on for autoconf platforms checked in.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Component: LDAP C SDK → LDAP XPCOM SDK
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•