Compare commits

...

No commits in common. "master" and "gh-pages" have entirely different histories.

159 changed files with 4028 additions and 4763 deletions

View File

@ -1,9 +0,0 @@
user=alasconnect
project=ldap-client
output=CHANGELOG.md
release-branch=master
since-tag=0.2.0
header=# LDAP Client Changelog
exclude-labels=documentation

7
.gitignore vendored
View File

@ -1,9 +1,8 @@
dist/
dist-newstyle/
.cabal-sandbox/
cabal.sandbox.config
node_modules
Gemfile.lock
*~
*.swp
/result
result
env.nix
*.hs

View File

@ -1,26 +0,0 @@
language: haskell
sudo: false
git:
depth: 5
cache:
directories:
- "$HOME/.cabal/store"
matrix:
include:
- ghc: 8.0.1
- ghc: 8.2.2
- ghc: 8.4.4
- ghc: 8.6.5
install:
- cabal update
- cabal install --only-dependencies --enable-tests ldap-client.cabal
- npm install ldapjs
script:
- cabal install --enable-tests $RUN_TESTS ldap-client.cabal
- cabal sdist && cabal install --enable-tests dist/ldap-client-*.tar.gz

View File

@ -1,18 +0,0 @@
function s:hdevtools_options(rgs)
return join(["-s", "/tmp/" . substitute(system("sha1sum <<< $PWD | cut -d' ' -f1"), '\n\+$', '', '') . ".sock"] + map(a:rgs, "'-g ' . v:val"))
endfunction
let g:syntastic_haskell_hdevtools_args = s:hdevtools_options
\ (
\ [ '-isrc'
\ , '-ibin'
\ , '-itest'
\ , '-idist/build/autogen'
\ , '-DTEST'
\ , '-O0'
\ , '-fdefer-type-errors'
\ , '-Wall'
\ , '-fno-warn-unused-do-bind'
\ , '-fno-warn-type-defaults'
\ ]
\ )

View File

@ -1,18 +0,0 @@
# LDAP Client Changelog
## [0.4.0](https://github.com/alasconnect/ldap-client/tree/0.4.0) (2019-11-07)
[Full Changelog](https://github.com/alasconnect/ldap-client/compare/0.3.0...0.4.0)
**Merged pull requests:**
- Poolable [\#1](https://github.com/alasconnect/ldap-client/pull/1) ([dminuoso](https://github.com/dminuoso))
## [0.3.0](https://github.com/alasconnect/ldap-client/tree/0.3.0) (2019-11-06)
[Full Changelog](https://github.com/alasconnect/ldap-client/compare/0.2.0...0.3.0)
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*

View File

@ -1,3 +0,0 @@
source "https://rubygems.org"
gem "guard-haskell", "~> 2.1"

View File

@ -1,5 +0,0 @@
guard :haskell, all_on_start: true, all_on_pass: true, cmd: "cabal exec -- ghci -isrc -itest -DTEST test/Spec.hs -ignore-dot-ghci -optP-include -optPdist/build/autogen/cabal_macros.h" do
watch(%r{test/.+Spec\.l?hs$})
watch(%r{src/.+\.l?hs$})
watch(%r{.+\.cabal$})
end

26
LICENSE
View File

@ -1,26 +0,0 @@
Copyright (c) 2015-2017, Matvey Aksenov
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

103
Ldap-Asn1-FromAsn1.html Normal file
View File

@ -0,0 +1,103 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Asn1.FromAsn1</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Ldap-Asn1-FromAsn1.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Ldap-Asn1-FromAsn1.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Ldap.Asn1.FromAsn1</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module contains convertions from ASN.1 to LDAP types.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:parseAsn1">parseAsn1</a> :: <a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> a =&gt; [<a href="http://hackage.haskell.org/package/asn1-types/docs/Data-ASN1-Types.html#t:ASN1">ASN1</a>] -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> ([<a href="http://hackage.haskell.org/package/asn1-types/docs/Data-ASN1-Types.html#t:ASN1">ASN1</a>], a)</li><li class="src short"><span class="keyword">class</span> <a href="#t:FromAsn1">FromAsn1</a> a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:parseAsn1" class="def">parseAsn1</a> :: <a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> a =&gt; [<a href="http://hackage.haskell.org/package/asn1-types/docs/Data-ASN1-Types.html#t:ASN1">ASN1</a>] -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Maybe.html#t:Maybe">Maybe</a> ([<a href="http://hackage.haskell.org/package/asn1-types/docs/Data-ASN1-Types.html#t:ASN1">ASN1</a>], a) <a href="src/Ldap-Asn1-FromAsn1.html#parseAsn1" class="link">Source</a></p><div class="doc"><p>Convert a part of ASN.1 stream to a LDAP type returning the remainder of the stream.</p></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:FromAsn1" class="def">FromAsn1</a> a <a href="src/Ldap-Asn1-FromAsn1.html#FromAsn1" class="link">Source</a></p><div class="doc"><p>ASN.1 stream parsers.</p><p>When it's relevant, instances include the part of RFC describing the encoding.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src">fromAsn1</p></div><div class="subs instances"><p id="control.i:FromAsn1" class="caption collapser" onclick="toggleSection('i:FromAsn1')">Instances</p><div id="section.i:FromAsn1" class="show"><table><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:LdapOid">LdapOid</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-89" class="link">Source</a></td><td class="doc"><pre>LDAPOID ::= OCTET STRING -- Constrained to &lt;numericoid&gt;
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:LdapString">LdapString</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-77" class="link">Source</a></td><td class="doc"><pre>LDAPString ::= OCTET STRING -- UTF-8 encoded,
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:Uri">Uri</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-267" class="link">Source</a></td><td class="doc"><pre>URI ::= LDAPString
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:ReferralUris">ReferralUris</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-255" class="link">Source</a></td><td class="doc"><pre>Referral ::= SEQUENCE SIZE (1..MAX) OF uri URI
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:LdapDn">LdapDn</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-101" class="link">Source</a></td><td class="doc"><pre>LDAPDN ::= LDAPString
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:PartialAttribute">PartialAttribute</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-129" class="link">Source</a></td><td class="doc"><pre>PartialAttribute ::= SEQUENCE {
type AttributeDescription,
vals SET OF value AttributeValue }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:AttributeValue">AttributeValue</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-117" class="link">Source</a></td><td class="doc"><pre>AttributeValue ::= OCTET STRING
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:AttributeDescription">AttributeDescription</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-109" class="link">Source</a></td><td class="doc"><pre>AttributeDescription ::= LDAPString
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:LdapResult">LdapResult</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-195" class="link">Source</a></td><td class="doc"><pre>LDAPResult ::= SEQUENCE {
resultCode ENUMERATED {
success (0),
operationsError (1),
protocolError (2),
timeLimitExceeded (3),
sizeLimitExceeded (4),
compareFalse (5),
compareTrue (6),
authMethodNotSupported (7),
strongerAuthRequired (8),
-- 9 reserved --
referral (10),
adminLimitExceeded (11),
unavailableCriticalExtension (12),
confidentialityRequired (13),
saslBindInProgress (14),
noSuchAttribute (16),
undefinedAttributeType (17),
inappropriateMatching (18),
constraintViolation (19),
attributeOrValueExists (20),
invalidAttributeSyntax (21),
-- 22-31 unused --
noSuchObject (32),
aliasProblem (33),
invalidDNSyntax (34),
-- 35 reserved for undefined isLeaf --
aliasDereferencingProblem (36),
-- 37-47 unused --
inappropriateAuthentication (48),
invalidCredentials (49),
insufficientAccessRights (50),
busy (51),
unavailable (52),
unwillingToPerform (53),
loopDetect (54),
-- 55-63 unused --
namingViolation (64),
objectClassViolation (65),
notAllowedOnNonLeaf (66),
notAllowedOnRDN (67),
entryAlreadyExists (68),
objectClassModsProhibited (69),
-- 70 reserved for CLDAP --
affectsMultipleDSAs (71),
-- 72-79 unused --
other (80),
... },
matchedDN LDAPDN,
diagnosticMessage LDAPString,
referral [3] Referral OPTIONAL }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:PartialAttributeList">PartialAttributeList</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-380" class="link">Source</a></td><td class="doc"><pre>PartialAttributeList ::= SEQUENCE OF partialAttribute PartialAttribute
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:ProtocolServerOp">ProtocolServerOp</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-325" class="link">Source</a></td><td class="doc"><pre>BindResponse ::= [APPLICATION 1] SEQUENCE {
COMPONENTS OF LDAPResult,
serverSaslCreds [7] OCTET STRING OPTIONAL }
</pre><pre>SearchResultEntry ::= [APPLICATION 4] SEQUENCE {
objectName LDAPDN,
attributes PartialAttributeList }
</pre><pre>SearchResultReference ::= [APPLICATION 19] SEQUENCE
SIZE (1..MAX) OF uri URI
</pre><pre>SearchResultDone ::= [APPLICATION 5] LDAPResult
</pre><pre>ModifyResponse ::= [APPLICATION 7] LDAPResult
</pre><pre>AddResponse ::= [APPLICATION 9] LDAPResult
</pre><pre>DelResponse ::= [APPLICATION 11] LDAPResult
</pre><pre>ModifyDNResponse ::= [APPLICATION 13] LDAPResult
</pre><pre>CompareResponse ::= [APPLICATION 15] LDAPResult
</pre><pre>ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
COMPONENTS OF LDAPResult,
responseName [10] LDAPOID OPTIONAL,
responseValue [11] OCTET STRING OPTIONAL }
</pre><pre>IntermediateResponse ::= [APPLICATION 25] SEQUENCE {
responseName [0] LDAPOID OPTIONAL,
responseValue [1] OCTET STRING OPTIONAL }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> <a href="Ldap-Asn1-Type.html#t:Id">Id</a> <a href="src/Ldap-Asn1-FromAsn1.html#line-67" class="link">Source</a></td><td class="doc"><pre>MessageID ::= INTEGER (0 .. maxInt)
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> op =&gt; <a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> (<a href="Ldap-Asn1-Type.html#t:LdapMessage">LdapMessage</a> op) <a href="src/Ldap-Asn1-FromAsn1.html#line-54" class="link">Source</a></td><td class="doc"><pre>LDAPMessage ::= SEQUENCE {
messageID MessageID,
protocolOp CHOICE {
bindRequest BindRequest,
bindResponse BindResponse,
unbindRequest UnbindRequest,
searchRequest SearchRequest,
searchResEntry SearchResultEntry,
searchResDone SearchResultDone,
searchResRef SearchResultReference,
addRequest AddRequest,
addResponse AddResponse,
... },
controls [0] Controls OPTIONAL }
</pre></td></tr><tr><td class="src">(<a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> a, <a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> b) =&gt; <a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">FromAsn1</a> (a, b) <a href="src/Ldap-Asn1-FromAsn1.html#line-387" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

119
Ldap-Asn1-ToAsn1.html Normal file
View File

@ -0,0 +1,119 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Asn1.ToAsn1</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Ldap-Asn1-ToAsn1.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Ldap-Asn1-ToAsn1.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Ldap.Asn1.ToAsn1</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module contains convertions from LDAP types to ASN.1.</p><p>Various hacks are employed because &quot;asn1-encoding&quot; only encodes to DER, but
LDAP demands BER-encoding. So, when a definition looks suspiciously different
from the spec in the comment, that's why. I hope all that will be fixed
eventually.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span> <a href="#t:ToAsn1">ToAsn1</a> a <span class="keyword">where</span><ul class="subs"><li><a href="#v:toAsn1">toAsn1</a> :: a -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Monoid.html#t:Endo">Endo</a> [<a href="http://hackage.haskell.org/package/asn1-types/docs/Data-ASN1-Types.html#t:ASN1">ASN1</a>]</li></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:ToAsn1" class="def">ToAsn1</a> a <span class="keyword">where</span> <a href="src/Ldap-Asn1-ToAsn1.html#ToAsn1" class="link">Source</a></p><div class="doc"><p>Convert a LDAP type to ASN.1.</p><p>When it's relevant, instances include the part of RFC describing the encoding.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:toAsn1" class="def">toAsn1</a> :: a -&gt; <a href="http://hackage.haskell.org/package/base/docs/Data-Monoid.html#t:Endo">Endo</a> [<a href="http://hackage.haskell.org/package/asn1-types/docs/Data-ASN1-Types.html#t:ASN1">ASN1</a>] <a href="src/Ldap-Asn1-ToAsn1.html#toAsn1" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:ToAsn1" class="caption collapser" onclick="toggleSection('i:ToAsn1')">Instances</p><div id="section.i:ToAsn1" class="show"><table><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:LdapOid">LdapOid</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-73" class="link">Source</a></td><td class="doc"><pre>LDAPOID ::= OCTET STRING -- Constrained to &lt;numericoid&gt;
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:LdapString">LdapString</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-65" class="link">Source</a></td><td class="doc"><pre>LDAPString ::= OCTET STRING -- UTF-8 encoded
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:RelativeLdapDn">RelativeLdapDn</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-89" class="link">Source</a></td><td class="doc"><pre>RelativeLDAPDN ::= LDAPString -- Constrained to &lt;name-component&gt;
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:LdapDn">LdapDn</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-81" class="link">Source</a></td><td class="doc"><pre>LDAPDN ::= LDAPString -- Constrained to &lt;distinguishedName&gt;
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:PartialAttribute">PartialAttribute</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-134" class="link">Source</a></td><td class="doc"><pre>PartialAttribute ::= SEQUENCE {
type AttributeDescription,
vals SET OF value AttributeValue }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:Attribute">Attribute</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-144" class="link">Source</a></td><td class="doc"><pre>Attribute ::= PartialAttribute(WITH COMPONENTS {
...,
vals (SIZE(1..MAX))})
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:AssertionValue">AssertionValue</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-123" class="link">Source</a></td><td class="doc"><pre>AssertionValue ::= OCTET STRING
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:AttributeValueAssertion">AttributeValueAssertion</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-115" class="link">Source</a></td><td class="doc"><pre>AttributeValueAssertion ::= SEQUENCE {
attributeDesc AttributeDescription,
assertionValue AssertionValue }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:AttributeValue">AttributeValue</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-105" class="link">Source</a></td><td class="doc"><pre>AttributeValue ::= OCTET STRING
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:AttributeDescription">AttributeDescription</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-97" class="link">Source</a></td><td class="doc"><pre>AttributeDescription ::= LDAPString
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:Control">Control</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-171" class="link">Source</a></td><td class="doc"><pre>Control ::= SEQUENCE {
controlType LDAPOID,
criticality BOOLEAN DEFAULT FALSE,
controlValue OCTET STRING OPTIONAL }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:Controls">Controls</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-160" class="link">Source</a></td><td class="doc"><pre>Controls ::= SEQUENCE OF control Control
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:AttributeList">AttributeList</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-398" class="link">Source</a></td><td class="doc"><pre>AttributeList ::= SEQUENCE OF attribute Attribute
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:AttributeSelection">AttributeSelection</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-323" class="link">Source</a></td><td class="doc"><pre>AttributeSelection ::= SEQUENCE OF selector LDAPString
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:MatchingRuleId">MatchingRuleId</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-152" class="link">Source</a></td><td class="doc"><pre>MatchingRuleId ::= LDAPString
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:MatchingRuleAssertion">MatchingRuleAssertion</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-383" class="link">Source</a></td><td class="doc"><pre>MatchingRuleAssertion ::= SEQUENCE {
matchingRule [1] MatchingRuleId OPTIONAL,
type [2] AttributeDescription OPTIONAL,
matchValue [3] AssertionValue,
dnAttributes [4] BOOLEAN DEFAULT FALSE }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:SubstringFilter">SubstringFilter</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-367" class="link">Source</a></td><td class="doc"><pre>SubstringFilter ::= SEQUENCE {
type AttributeDescription,
substrings SEQUENCE SIZE (1..MAX) OF substring CHOICE {
initial [0] AssertionValue, -- can occur at most once
any [1] AssertionValue,
final [2] AssertionValue } -- can occur at most once
}
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:Filter">Filter</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-342" class="link">Source</a></td><td class="doc"><pre>Filter ::= CHOICE {
and [0] SET SIZE (1..MAX) OF filter Filter,
or [1] SET SIZE (1..MAX) OF filter Filter,
not [2] Filter,
equalityMatch [3] AttributeValueAssertion,
substrings [4] SubstringFilter,
greaterOrEqual [5] AttributeValueAssertion,
lessOrEqual [6] AttributeValueAssertion,
present [7] AttributeDescription,
approxMatch [8] AttributeValueAssertion,
extensibleMatch [9] MatchingRuleAssertion,
... }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:AuthenticationChoice">AuthenticationChoice</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-315" class="link">Source</a></td><td class="doc"><pre>AuthenticationChoice ::= CHOICE {
simple [0] OCTET STRING,
... }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:ProtocolClientOp">ProtocolClientOp</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-253" class="link">Source</a></td><td class="doc"><pre>BindRequest ::= [APPLICATION 0] SEQUENCE {
version INTEGER (1 .. 127),
name LDAPDN,
authentication AuthenticationChoice }
</pre><pre>UnbindRequest ::= [APPLICATION 2] NULL
</pre><pre>SearchRequest ::= [APPLICATION 3] SEQUENCE {
baseObject LDAPDN,
scope ENUMERATED {
baseObject (0),
singleLevel (1),
wholeSubtree (2),
... },
derefAliases ENUMERATED {
neverDerefAliases (0),
derefInSearching (1),
derefFindingBaseObj (2),
derefAlways (3) },
sizeLimit INTEGER (0 .. maxInt),
timeLimit INTEGER (0 .. maxInt),
typesOnly BOOLEAN,
filter Filter,
attributes AttributeSelection }
</pre><pre>ModifyRequest ::= [APPLICATION 6] SEQUENCE {
object LDAPDN,
changes SEQUENCE OF change SEQUENCE {
operation ENUMERATED {
add (0),
delete (1),
replace (2),
... },
modification PartialAttribute } }
</pre><pre>AddRequest ::= [APPLICATION 8] SEQUENCE {
entry LDAPDN,
attributes AttributeList }
</pre><pre>DelRequest ::= [APPLICATION 10] LDAPDN
</pre><pre>ModifyDNRequest ::= [APPLICATION 12] SEQUENCE {
entry LDAPDN,
newrdn RelativeLDAPDN,
deleteoldrdn BOOLEAN,
newSuperior [0] LDAPDN OPTIONAL }
</pre><pre>CompareRequest ::= [APPLICATION 14] SEQUENCE {
entry LDAPDN,
ava AttributeValueAssertion }
</pre><pre>ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
requestName [0] LDAPOID,
requestValue [1] OCTET STRING OPTIONAL }
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> <a href="Ldap-Asn1-Type.html#t:Id">Id</a> <a href="src/Ldap-Asn1-ToAsn1.html#line-57" class="link">Source</a></td><td class="doc"><pre>MessageID ::= INTEGER (0 .. maxInt)
</pre></td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> a =&gt; <a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> [a] <a href="src/Ldap-Asn1-ToAsn1.html#line-401" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> a =&gt; <a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> (<a href="Ldap-Client.html#t:NonEmpty">NonEmpty</a> a) <a href="src/Ldap-Asn1-ToAsn1.html#line-404" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> op =&gt; <a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">ToAsn1</a> (<a href="Ldap-Asn1-Type.html#t:LdapMessage">LdapMessage</a> op) <a href="src/Ldap-Asn1-ToAsn1.html#line-48" class="link">Source</a></td><td class="doc"><pre>LDAPMessage ::= SEQUENCE {
messageID MessageID,
protocolOp CHOICE {
bindRequest BindRequest,
bindResponse BindResponse,
unbindRequest UnbindRequest,
searchRequest SearchRequest,
searchResEntry SearchResultEntry,
searchResDone SearchResultDone,
searchResRef SearchResultReference,
addRequest AddRequest,
addResponse AddResponse,
... },
controls [0] Controls OPTIONAL }
</pre></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

232
Ldap-Asn1-Type.html Normal file

File diff suppressed because one or more lines are too long

10
Ldap-Client-Add.html Normal file

File diff suppressed because one or more lines are too long

10
Ldap-Client-Bind.html Normal file

File diff suppressed because one or more lines are too long

11
Ldap-Client-Compare.html Normal file
View File

@ -0,0 +1,11 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Compare</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Ldap-Client-Compare.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Ldap-Client-Compare.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Ldap.Client.Compare</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p><a href="https://tools.ietf.org/html/rfc4511#section-4.10">Compare</a> operation.</p><p>This operation comes in four flavours:</p><ul><li>synchronous, exception throwing (<code><a href="Ldap-Client-Compare.html#v:compare">compare</a></code>)</li><li>synchronous, returning <code><a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a></code> <code><a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a></code> <code>()</code> (<code><a href="Ldap-Client-Compare.html#v:compareEither">compareEither</a></code>)</li><li>asynchronous, <code><a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a></code> based (<code><a href="Ldap-Client-Compare.html#v:compareAsync">compareAsync</a></code>)</li><li>asynchronous, <code><a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a></code> based (<code><a href="Ldap-Client-Compare.html#v:compareAsyncSTM">compareAsyncSTM</a></code>)</li></ul><p>Of those, the first one (<code><a href="Ldap-Client-Compare.html#v:compare">compare</a></code>) is probably the most useful for the
typical usecase.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:compare">compare</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:compareEither">compareEither</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>)</li><li class="src short"><a href="#v:compareAsync">compareAsync</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>)</li><li class="src short"><a href="#v:compareAsyncSTM">compareAsyncSTM</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a> (<a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>)</li><li class="src short"><span class="keyword">data</span> <a href="#t:Async">Async</a> a</li><li class="src short"><a href="#v:wait">wait</a> :: <a href="Ldap-Client-Compare.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> a)</li><li class="src short"><a href="#v:waitSTM">waitSTM</a> :: <a href="Ldap-Client-Compare.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> a)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:compare" class="def">compare</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/Ldap-Client-Compare.html#compare" class="link">Source</a></p><div class="doc"><p>Perform the Compare operation synchronously. Raises <code><a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><div class="top"><p class="src"><a name="v:compareEither" class="def">compareEither</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>) <a href="src/Ldap-Client-Compare.html#compareEither" class="link">Source</a></p><div class="doc"><p>Perform the Compare operation synchronously. Returns <code>Left e</code> where
<code>e</code> is a <code><a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><div class="top"><p class="src"><a name="v:compareAsync" class="def">compareAsync</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>) <a href="src/Ldap-Client-Compare.html#compareAsync" class="link">Source</a></p><div class="doc"><p>Perform the Compare operation asynchronously. Call <code><a href="Ldap-Client.html#v:wait">wait</a></code> to wait
for its completion.</p></div></div><div class="top"><p class="src"><a name="v:compareAsyncSTM" class="def">compareAsyncSTM</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a> (<a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>) <a href="src/Ldap-Client-Compare.html#compareAsyncSTM" class="link">Source</a></p><div class="doc"><p>Perform the Compare operation asynchronously.</p><p>Don't wait for its completion (with <code><a href="Ldap-Client.html#v:waitSTM">waitSTM</a></code>) in the
same transaction you've performed it in.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Async" class="def">Async</a> a <a href="src/Ldap-Client-Internal.html#Async" class="link">Source</a></p><div class="doc"><p>Asynchronous LDAP operation. Use <code><a href="Ldap-Client-Compare.html#v:wait">wait</a></code> or <code><a href="Ldap-Client-Compare.html#v:waitSTM">waitSTM</a></code> to wait for its completion.</p></div><div class="subs instances"><p id="control.i:Async" class="caption collapser" onclick="toggleSection('i:Async')">Instances</p><div id="section.i:Async" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Functor.html#t:Functor">Functor</a> <a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="src/Ldap-Client-Internal.html#line-64" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:wait" class="def">wait</a> :: <a href="Ldap-Client-Compare.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> a) <a href="src/Ldap-Client-Internal.html#wait" class="link">Source</a></p><div class="doc"><p>Wait for operation completion.</p></div></div><div class="top"><p class="src"><a name="v:waitSTM" class="def">waitSTM</a> :: <a href="Ldap-Client-Compare.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> a) <a href="src/Ldap-Client-Internal.html#waitSTM" class="link">Source</a></p><div class="doc"><p>Wait for operation completion inside <code><a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a></code>.</p><p>Do not use this inside the same <code><a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a></code> transaction the operation was
requested in! To give LDAP the chance to respond to it that transaction
should commit. After that, applying <code><a href="Ldap-Client-Compare.html#v:waitSTM">waitSTM</a></code> to the corresponding <code><a href="Ldap-Client-Compare.html#t:Async">Async</a></code>
starts to make sense.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

10
Ldap-Client-Delete.html Normal file

File diff suppressed because one or more lines are too long

10
Ldap-Client-Extended.html Normal file

File diff suppressed because one or more lines are too long

15
Ldap-Client-Internal.html Normal file

File diff suppressed because one or more lines are too long

16
Ldap-Client-Modify.html Normal file

File diff suppressed because one or more lines are too long

15
Ldap-Client-Search.html Normal file

File diff suppressed because one or more lines are too long

12
Ldap-Client.html Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,44 +0,0 @@
ldap-client
===========
[![Hackage](https://budueba.com/hackage/ldap-client)](https://hackage.haskell.org/package/ldap-client)
[![Build Status](https://travis-ci.org/alasconnect/ldap-client.svg?branch=master)](https://travis-ci.org/alasconnect/ldap-client)
This library implements (the parts of) [RFC 4511][rfc4511]
| Feature | RFC Section | Support
|:---------------------------- |:---------------:|:-----------:
| Bind Operation | [4.2][4.2] | ✔
| Unbind Operation | [4.3][4.3] | ✔
| Unsolicited Notification | [4.4][4.4] | ✔
| Notice of Disconnection | [4.4.1][4.4.1] | ✔
| Search Operation | [4.5][4.5] | ✔\*
| Modify Operation | [4.6][4.6] | ✔
| Add Operation | [4.7][4.7] | ✔
| Delete Operation | [4.8][4.8] | ✔
| Modify DN Operation | [4.9][4.9] | ✔
| Compare Operation | [4.10][4.10] | ✔
| Abandon Operation | [4.11][4.11] | ✘
| Extended Operation | [4.12][4.12] | ✔
| IntermediateResponse Message | [4.13][4.13] | ✔
| StartTLS Operation | [4.14][4.14] | ✔†
| LDAP over TLS | - | ✔
\* The `:dn` thing is unsupported in Extensible matches
† Only serves as an example of Extended Operation. It's useless for all practical purposes as it does not actually enable TLS. In other words, use LDAP over TLS instead.
[rfc4511]: https://tools.ietf.org/html/rfc4511
[LDAP]: https://hackage.haskell.org/package/LDAP
[4.2]: https://tools.ietf.org/html/rfc4511#section-4.2
[4.3]: https://tools.ietf.org/html/rfc4511#section-4.3
[4.4]: https://tools.ietf.org/html/rfc4511#section-4.4
[4.4.1]: https://tools.ietf.org/html/rfc4511#section-4.4.1
[4.5]: https://tools.ietf.org/html/rfc4511#section-4.5
[4.6]: https://tools.ietf.org/html/rfc4511#section-4.6
[4.7]: https://tools.ietf.org/html/rfc4511#section-4.7
[4.8]: https://tools.ietf.org/html/rfc4511#section-4.8
[4.9]: https://tools.ietf.org/html/rfc4511#section-4.9
[4.10]: https://tools.ietf.org/html/rfc4511#section-4.10
[4.11]: https://tools.ietf.org/html/rfc4511#section-4.11
[4.12]: https://tools.ietf.org/html/rfc4511#section-4.12
[4.13]: https://tools.ietf.org/html/rfc4511#section-4.13
[4.14]: https://tools.ietf.org/html/rfc4511#section-4.14

View File

@ -1,2 +0,0 @@
import Distribution.Simple
main = defaultMain

View File

@ -1,9 +0,0 @@
{ nixpkgs ? import <nixpkgs> {}, compiler ? "ghc802" }: let
ghc = nixpkgs.pkgs.haskell.packages.${compiler};
npm = import ./npm {};
in
ghc.callPackage ./package.nix {
mkDerivation = args: ghc.mkDerivation(args // {
buildTools = (if args ? buildTools then args.buildTools else []) ++ [ npm.nodePackages.ldapjs ];
});
}

4
doc-index-58.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - :)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - :</p><table><tr><td class="src">::=</td><td class="module"><a href="Ldap-Client-Search.html#v:::-61-">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:::-61-">Ldap.Client</a></td></tr><tr><td class="src">:&lt;=</td><td class="module"><a href="Ldap-Client-Search.html#v::-60--61-">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v::-60--61-">Ldap.Client</a></td></tr><tr><td class="src">:=</td><td class="module"><a href="Ldap-Client-Search.html#v::-61-">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v::-61-">Ldap.Client</a></td></tr><tr><td class="src">:=*</td><td class="module"><a href="Ldap-Client-Search.html#v::-61--42-">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v::-61--42-">Ldap.Client</a></td></tr><tr><td class="src">:&gt;=</td><td class="module"><a href="Ldap-Client-Search.html#v::-62--61-">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v::-62--61-">Ldap.Client</a></td></tr><tr><td class="src">:~=</td><td class="module"><a href="Ldap-Client-Search.html#v::-126--61-">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v::-126--61-">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-A.html Normal file

File diff suppressed because one or more lines are too long

4
doc-index-All.html Normal file

File diff suppressed because one or more lines are too long

4
doc-index-B.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - B)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - B</p><table><tr><td class="src">BaseObject</td><td class="module"><a href="Ldap-Asn1-Type.html#v:BaseObject">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Search.html#v:BaseObject">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:BaseObject">Ldap.Client</a></td></tr><tr><td class="src">bind</td><td class="module"><a href="Ldap-Client-Bind.html#v:bind">Ldap.Client.Bind</a>, <a href="Ldap-Client.html#v:bind">Ldap.Client</a></td></tr><tr><td class="src">bindAsync</td><td class="module"><a href="Ldap-Client-Bind.html#v:bindAsync">Ldap.Client.Bind</a></td></tr><tr><td class="src">bindAsyncSTM</td><td class="module"><a href="Ldap-Client-Bind.html#v:bindAsyncSTM">Ldap.Client.Bind</a></td></tr><tr><td class="src">bindEither</td><td class="module"><a href="Ldap-Client-Bind.html#v:bindEither">Ldap.Client.Bind</a></td></tr><tr><td class="src">BindRequest</td><td class="module"><a href="Ldap-Asn1-Type.html#v:BindRequest">Ldap.Asn1.Type</a></td></tr><tr><td class="src">BindResponse</td><td class="module"><a href="Ldap-Asn1-Type.html#v:BindResponse">Ldap.Asn1.Type</a></td></tr><tr><td class="src">Busy</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Busy">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:Busy">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:Busy">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-C.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - C)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - C</p><table><tr><td class="src">client</td><td class="module"><a href="Ldap-Client-Internal.html#v:client">Ldap.Client.Internal</a></td></tr><tr><td class="src">ClientMessage</td><td class="module"><a href="Ldap-Client-Internal.html#t:ClientMessage">Ldap.Client.Internal</a></td></tr><tr><td class="src">compare</td><td class="module"><a href="Ldap-Client-Compare.html#v:compare">Ldap.Client.Compare</a>, <a href="Ldap-Client.html#v:compare">Ldap.Client</a></td></tr><tr><td class="src">compareAsync</td><td class="module"><a href="Ldap-Client-Compare.html#v:compareAsync">Ldap.Client.Compare</a></td></tr><tr><td class="src">compareAsyncSTM</td><td class="module"><a href="Ldap-Client-Compare.html#v:compareAsyncSTM">Ldap.Client.Compare</a></td></tr><tr><td class="src">compareEither</td><td class="module"><a href="Ldap-Client-Compare.html#v:compareEither">Ldap.Client.Compare</a></td></tr><tr><td class="src">CompareFalse</td><td class="module"><a href="Ldap-Asn1-Type.html#v:CompareFalse">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:CompareFalse">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:CompareFalse">Ldap.Client</a></td></tr><tr><td class="src">CompareRequest</td><td class="module"><a href="Ldap-Asn1-Type.html#v:CompareRequest">Ldap.Asn1.Type</a></td></tr><tr><td class="src">CompareResponse</td><td class="module"><a href="Ldap-Asn1-Type.html#v:CompareResponse">Ldap.Asn1.Type</a></td></tr><tr><td class="src">CompareTrue</td><td class="module"><a href="Ldap-Asn1-Type.html#v:CompareTrue">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:CompareTrue">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:CompareTrue">Ldap.Client</a></td></tr><tr><td class="src">ConfidentialityRequired</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ConfidentialityRequired">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:ConfidentialityRequired">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:ConfidentialityRequired">Ldap.Client</a></td></tr><tr><td class="src">ConstraintViolation</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ConstraintViolation">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:ConstraintViolation">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:ConstraintViolation">Ldap.Client</a></td></tr><tr><td class="src">Control</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:Control">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Control">Ldap.Asn1.Type</a></td></tr><tr><td class="src">Controls</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:Controls">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Controls">Ldap.Asn1.Type</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-D.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - D)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - D</p><table><tr><td class="src">Delete</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Delete">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Modify.html#v:Delete">Ldap.Client.Modify</a>, <a href="Ldap-Client.html#v:Delete">Ldap.Client</a></td></tr><tr><td class="src">delete</td><td class="module"><a href="Ldap-Client-Delete.html#v:delete">Ldap.Client.Delete</a>, <a href="Ldap-Client.html#v:delete">Ldap.Client</a></td></tr><tr><td class="src">deleteAsync</td><td class="module"><a href="Ldap-Client-Delete.html#v:deleteAsync">Ldap.Client.Delete</a></td></tr><tr><td class="src">deleteAsyncSTM</td><td class="module"><a href="Ldap-Client-Delete.html#v:deleteAsyncSTM">Ldap.Client.Delete</a></td></tr><tr><td class="src">deleteEither</td><td class="module"><a href="Ldap-Client-Delete.html#v:deleteEither">Ldap.Client.Delete</a></td></tr><tr><td class="src">DeleteRequest</td><td class="module"><a href="Ldap-Asn1-Type.html#v:DeleteRequest">Ldap.Asn1.Type</a></td></tr><tr><td class="src">DeleteResponse</td><td class="module"><a href="Ldap-Asn1-Type.html#v:DeleteResponse">Ldap.Asn1.Type</a></td></tr><tr><td class="src">DerefAliases</td><td class="module"><a href="Ldap-Asn1-Type.html#t:DerefAliases">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Search.html#t:DerefAliases">Ldap.Client.Search</a>, <a href="Ldap-Client.html#t:DerefAliases">Ldap.Client</a></td></tr><tr><td class="src">derefAliases</td><td class="module"><a href="Ldap-Client-Search.html#v:derefAliases">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:derefAliases">Ldap.Client</a></td></tr><tr><td class="src">DerefAlways</td><td class="module"><a href="Ldap-Asn1-Type.html#v:DerefAlways">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Search.html#v:DerefAlways">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:DerefAlways">Ldap.Client</a></td></tr><tr><td class="src">DerefFindingBaseObject</td><td class="module"><a href="Ldap-Asn1-Type.html#v:DerefFindingBaseObject">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Search.html#v:DerefFindingBaseObject">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:DerefFindingBaseObject">Ldap.Client</a></td></tr><tr><td class="src">DerefInSearching</td><td class="module"><a href="Ldap-Asn1-Type.html#v:DerefInSearching">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Search.html#v:DerefInSearching">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:DerefInSearching">Ldap.Client</a></td></tr><tr><td class="src">DisconnectError</td><td class="module"><a href="Ldap-Client.html#v:DisconnectError">Ldap.Client</a></td></tr><tr><td class="src">Dn</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Client-Internal.html#t:Dn">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#t:Dn">Ldap.Client</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Internal.html#v:Dn">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:Dn">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-E.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - E)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - E</p><table><tr><td class="src">EntryAlreadyExists</td><td class="module"><a href="Ldap-Asn1-Type.html#v:EntryAlreadyExists">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:EntryAlreadyExists">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:EntryAlreadyExists">Ldap.Client</a></td></tr><tr><td class="src">EqualityMatch</td><td class="module"><a href="Ldap-Asn1-Type.html#v:EqualityMatch">Ldap.Asn1.Type</a></td></tr><tr><td class="src">extended</td><td class="module"><a href="Ldap-Client-Extended.html#v:extended">Ldap.Client.Extended</a>, <a href="Ldap-Client.html#v:extended">Ldap.Client</a></td></tr><tr><td class="src">extendedAsync</td><td class="module"><a href="Ldap-Client-Extended.html#v:extendedAsync">Ldap.Client.Extended</a></td></tr><tr><td class="src">extendedAsyncSTM</td><td class="module"><a href="Ldap-Client-Extended.html#v:extendedAsyncSTM">Ldap.Client.Extended</a></td></tr><tr><td class="src">extendedEither</td><td class="module"><a href="Ldap-Client-Extended.html#v:extendedEither">Ldap.Client.Extended</a></td></tr><tr><td class="src">ExtendedRequest</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ExtendedRequest">Ldap.Asn1.Type</a></td></tr><tr><td class="src">ExtendedResponse</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ExtendedResponse">Ldap.Asn1.Type</a></td></tr><tr><td class="src">ExtensibleMatch</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ExtensibleMatch">Ldap.Asn1.Type</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-F.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - F)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - F</p><table><tr><td class="src">Filter</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:Filter">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Type/Class)</td><td class="module"><a href="Ldap-Client-Search.html#t:Filter">Ldap.Client.Search</a>, <a href="Ldap-Client.html#t:Filter">Ldap.Client</a></td></tr><tr><td class="src">Final</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Final">Ldap.Asn1.Type</a></td></tr><tr><td class="src">FromAsn1</td><td class="module"><a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1">Ldap.Asn1.FromAsn1</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-G.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - G)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - G</p><table><tr><td class="src">GreaterOrEqual</td><td class="module"><a href="Ldap-Asn1-Type.html#v:GreaterOrEqual">Ldap.Asn1.Type</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-H.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - H)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - H</p><table><tr><td class="src">Host</td><td class="module"><a href="Ldap-Client-Internal.html#t:Host">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#t:Host">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-I.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - I)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - I</p><table><tr><td class="src">Id</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:Id">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Id">Ldap.Asn1.Type</a></td></tr><tr><td class="src">InappropriateAuthentication</td><td class="module"><a href="Ldap-Asn1-Type.html#v:InappropriateAuthentication">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:InappropriateAuthentication">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:InappropriateAuthentication">Ldap.Client</a></td></tr><tr><td class="src">InappropriateMatching</td><td class="module"><a href="Ldap-Asn1-Type.html#v:InappropriateMatching">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:InappropriateMatching">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:InappropriateMatching">Ldap.Client</a></td></tr><tr><td class="src">Initial</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Initial">Ldap.Asn1.Type</a></td></tr><tr><td class="src">Insecure</td><td class="module"><a href="Ldap-Client-Internal.html#v:Insecure">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:Insecure">Ldap.Client</a></td></tr><tr><td class="src">InsufficientAccessRights</td><td class="module"><a href="Ldap-Asn1-Type.html#v:InsufficientAccessRights">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:InsufficientAccessRights">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:InsufficientAccessRights">Ldap.Client</a></td></tr><tr><td class="src">IntermediateResponse</td><td class="module"><a href="Ldap-Asn1-Type.html#v:IntermediateResponse">Ldap.Asn1.Type</a></td></tr><tr><td class="src">InvalidAttributeSyntax</td><td class="module"><a href="Ldap-Asn1-Type.html#v:InvalidAttributeSyntax">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:InvalidAttributeSyntax">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:InvalidAttributeSyntax">Ldap.Client</a></td></tr><tr><td class="src">InvalidCredentials</td><td class="module"><a href="Ldap-Asn1-Type.html#v:InvalidCredentials">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:InvalidCredentials">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:InvalidCredentials">Ldap.Client</a></td></tr><tr><td class="src">InvalidDNSyntax</td><td class="module"><a href="Ldap-Asn1-Type.html#v:InvalidDNSyntax">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:InvalidDNSyntax">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:InvalidDNSyntax">Ldap.Client</a></td></tr><tr><td class="src">IOError</td><td class="module"><a href="Ldap-Client.html#v:IOError">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-L.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - L)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - L</p><table><tr><td class="src">Ldap</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Client-Internal.html#t:Ldap">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#t:Ldap">Ldap.Client</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Internal.html#v:Ldap">Ldap.Client.Internal</a></td></tr><tr><td class="src">LdapDn</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:LdapDn">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:LdapDn">Ldap.Asn1.Type</a></td></tr><tr><td class="src">LdapError</td><td class="module"><a href="Ldap-Client.html#t:LdapError">Ldap.Client</a></td></tr><tr><td class="src">LdapMessage</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:LdapMessage">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:LdapMessage">Ldap.Asn1.Type</a></td></tr><tr><td class="src">ldapMessageControls</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ldapMessageControls">Ldap.Asn1.Type</a></td></tr><tr><td class="src">ldapMessageId</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ldapMessageId">Ldap.Asn1.Type</a></td></tr><tr><td class="src">ldapMessageOp</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ldapMessageOp">Ldap.Asn1.Type</a></td></tr><tr><td class="src">LdapOid</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:LdapOid">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:LdapOid">Ldap.Asn1.Type</a></td></tr><tr><td class="src">LdapResult</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:LdapResult">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:LdapResult">Ldap.Asn1.Type</a></td></tr><tr><td class="src">LdapString</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:LdapString">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:LdapString">Ldap.Asn1.Type</a></td></tr><tr><td class="src">LessOrEqual</td><td class="module"><a href="Ldap-Asn1-Type.html#v:LessOrEqual">Ldap.Asn1.Type</a></td></tr><tr><td class="src">LoopDetect</td><td class="module"><a href="Ldap-Asn1-Type.html#v:LoopDetect">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:LoopDetect">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:LoopDetect">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-M.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - M)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - M</p><table><tr><td class="src">MatchingRuleAssertion</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:MatchingRuleAssertion">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:MatchingRuleAssertion">Ldap.Asn1.Type</a></td></tr><tr><td class="src">MatchingRuleId</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:MatchingRuleId">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:MatchingRuleId">Ldap.Asn1.Type</a></td></tr><tr><td class="src">Mod</td><td class="module"><a href="Ldap-Client-Search.html#t:Mod">Ldap.Client.Search</a>, <a href="Ldap-Client.html#t:Mod">Ldap.Client</a></td></tr><tr><td class="src">modify</td><td class="module"><a href="Ldap-Client-Modify.html#v:modify">Ldap.Client.Modify</a>, <a href="Ldap-Client.html#v:modify">Ldap.Client</a></td></tr><tr><td class="src">modifyAsync</td><td class="module"><a href="Ldap-Client-Modify.html#v:modifyAsync">Ldap.Client.Modify</a></td></tr><tr><td class="src">modifyAsyncSTM</td><td class="module"><a href="Ldap-Client-Modify.html#v:modifyAsyncSTM">Ldap.Client.Modify</a></td></tr><tr><td class="src">modifyDn</td><td class="module"><a href="Ldap-Client-Modify.html#v:modifyDn">Ldap.Client.Modify</a>, <a href="Ldap-Client.html#v:modifyDn">Ldap.Client</a></td></tr><tr><td class="src">modifyDnAsync</td><td class="module"><a href="Ldap-Client-Modify.html#v:modifyDnAsync">Ldap.Client.Modify</a></td></tr><tr><td class="src">modifyDnAsyncSTM</td><td class="module"><a href="Ldap-Client-Modify.html#v:modifyDnAsyncSTM">Ldap.Client.Modify</a></td></tr><tr><td class="src">modifyDnEither</td><td class="module"><a href="Ldap-Client-Modify.html#v:modifyDnEither">Ldap.Client.Modify</a></td></tr><tr><td class="src">ModifyDnRequest</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ModifyDnRequest">Ldap.Asn1.Type</a></td></tr><tr><td class="src">ModifyDnResponse</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ModifyDnResponse">Ldap.Asn1.Type</a></td></tr><tr><td class="src">modifyEither</td><td class="module"><a href="Ldap-Client-Modify.html#v:modifyEither">Ldap.Client.Modify</a></td></tr><tr><td class="src">ModifyRequest</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ModifyRequest">Ldap.Asn1.Type</a></td></tr><tr><td class="src">ModifyResponse</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ModifyResponse">Ldap.Asn1.Type</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-N.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - N)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - N</p><table><tr><td class="src">NamingViolation</td><td class="module"><a href="Ldap-Asn1-Type.html#v:NamingViolation">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:NamingViolation">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:NamingViolation">Ldap.Client</a></td></tr><tr><td class="src">NeverDerefAliases</td><td class="module"><a href="Ldap-Asn1-Type.html#v:NeverDerefAliases">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Search.html#v:NeverDerefAliases">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:NeverDerefAliases">Ldap.Client</a></td></tr><tr><td class="src">New</td><td class="module"><a href="Ldap-Client-Internal.html#v:New">Ldap.Client.Internal</a></td></tr><tr><td class="src">NonEmpty</td><td class="module"><a href="Ldap-Client.html#t:NonEmpty">Ldap.Client</a></td></tr><tr><td class="src">NoSuchAttribute</td><td class="module"><a href="Ldap-Asn1-Type.html#v:NoSuchAttribute">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:NoSuchAttribute">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:NoSuchAttribute">Ldap.Client</a></td></tr><tr><td class="src">NoSuchObject</td><td class="module"><a href="Ldap-Asn1-Type.html#v:NoSuchObject">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:NoSuchObject">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:NoSuchObject">Ldap.Client</a></td></tr><tr><td class="src">Not</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Not">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Search.html#v:Not">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:Not">Ldap.Client</a></td></tr><tr><td class="src">NotAllowedOnNonLeaf</td><td class="module"><a href="Ldap-Asn1-Type.html#v:NotAllowedOnNonLeaf">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:NotAllowedOnNonLeaf">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:NotAllowedOnNonLeaf">Ldap.Client</a></td></tr><tr><td class="src">NotAllowedOnRDN</td><td class="module"><a href="Ldap-Asn1-Type.html#v:NotAllowedOnRDN">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:NotAllowedOnRDN">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:NotAllowedOnRDN">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-O.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - O)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - O</p><table><tr><td class="src">ObjectClassModsProhibited</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ObjectClassModsProhibited">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:ObjectClassModsProhibited">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:ObjectClassModsProhibited">Ldap.Client</a></td></tr><tr><td class="src">ObjectClassViolation</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ObjectClassViolation">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:ObjectClassViolation">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:ObjectClassViolation">Ldap.Client</a></td></tr><tr><td class="src">Oid</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Client-Extended.html#t:Oid">Ldap.Client.Extended</a>, <a href="Ldap-Client.html#t:Oid">Ldap.Client</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Extended.html#v:Oid">Ldap.Client.Extended</a>, <a href="Ldap-Client.html#v:Oid">Ldap.Client</a></td></tr><tr><td class="src">Operation</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:Operation">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Type/Class)</td><td class="module"><a href="Ldap-Client-Modify.html#t:Operation">Ldap.Client.Modify</a>, <a href="Ldap-Client.html#t:Operation">Ldap.Client</a></td></tr><tr><td class="src">OperationError</td><td class="module"><a href="Ldap-Asn1-Type.html#v:OperationError">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:OperationError">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:OperationError">Ldap.Client</a></td></tr><tr><td class="src">Or</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Or">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Search.html#v:Or">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:Or">Ldap.Client</a></td></tr><tr><td class="src">Other</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Other">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:Other">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:Other">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-P.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - P)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - P</p><table><tr><td class="src">parseAsn1</td><td class="module"><a href="Ldap-Asn1-FromAsn1.html#v:parseAsn1">Ldap.Asn1.FromAsn1</a></td></tr><tr><td class="src">ParseError</td><td class="module"><a href="Ldap-Client.html#v:ParseError">Ldap.Client</a></td></tr><tr><td class="src">PartialAttribute</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:PartialAttribute">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:PartialAttribute">Ldap.Asn1.Type</a></td></tr><tr><td class="src">PartialAttributeList</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:PartialAttributeList">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:PartialAttributeList">Ldap.Asn1.Type</a></td></tr><tr><td class="src">Password</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Client-Bind.html#t:Password">Ldap.Client.Bind</a>, <a href="Ldap-Client.html#t:Password">Ldap.Client</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Bind.html#v:Password">Ldap.Client.Bind</a>, <a href="Ldap-Client.html#v:Password">Ldap.Client</a></td></tr><tr><td class="src">Plain</td><td class="module"><a href="Ldap-Client-Internal.html#v:Plain">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:Plain">Ldap.Client</a></td></tr><tr><td class="src">PortNumber</td><td class="module"><a href="Ldap-Client-Internal.html#t:PortNumber">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#t:PortNumber">Ldap.Client</a></td></tr><tr><td class="src">Present</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Present">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Search.html#v:Present">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:Present">Ldap.Client</a></td></tr><tr><td class="src">ProtocolClientOp</td><td class="module"><a href="Ldap-Asn1-Type.html#t:ProtocolClientOp">Ldap.Asn1.Type</a></td></tr><tr><td class="src">ProtocolError</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ProtocolError">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:ProtocolError">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:ProtocolError">Ldap.Client</a></td></tr><tr><td class="src">ProtocolServerOp</td><td class="module"><a href="Ldap-Asn1-Type.html#t:ProtocolServerOp">Ldap.Asn1.Type</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-R.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - R)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - R</p><table><tr><td class="src">raise</td><td class="module"><a href="Ldap-Client-Internal.html#v:raise">Ldap.Client.Internal</a></td></tr><tr><td class="src">Referral</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Referral">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:Referral">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:Referral">Ldap.Client</a></td></tr><tr><td class="src">ReferralUris</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:ReferralUris">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:ReferralUris">Ldap.Asn1.Type</a></td></tr><tr><td class="src">RelativeDn</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Client-Modify.html#t:RelativeDn">Ldap.Client.Modify</a>, <a href="Ldap-Client.html#t:RelativeDn">Ldap.Client</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Modify.html#v:RelativeDn">Ldap.Client.Modify</a>, <a href="Ldap-Client.html#v:RelativeDn">Ldap.Client</a></td></tr><tr><td class="src">RelativeLdapDn</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:RelativeLdapDn">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:RelativeLdapDn">Ldap.Asn1.Type</a></td></tr><tr><td class="src">Replace</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Replace">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client-Modify.html#v:Replace">Ldap.Client.Modify</a>, <a href="Ldap-Client.html#v:Replace">Ldap.Client</a></td></tr><tr><td class="src">Request</td><td class="module"><a href="Ldap-Client-Internal.html#t:Request">Ldap.Client.Internal</a></td></tr><tr><td class="src">Response</td><td class="module"><a href="Ldap-Client-Internal.html#t:Response">Ldap.Client.Internal</a></td></tr><tr><td class="src">ResponseError</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Client-Internal.html#t:ResponseError">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#t:ResponseError">Ldap.Client</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Client.html#v:ResponseError">Ldap.Client</a></td></tr><tr><td class="src">ResponseErrorCode</td><td class="module"><a href="Ldap-Client-Internal.html#v:ResponseErrorCode">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:ResponseErrorCode">Ldap.Client</a></td></tr><tr><td class="src">ResponseInvalid</td><td class="module"><a href="Ldap-Client-Internal.html#v:ResponseInvalid">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:ResponseInvalid">Ldap.Client</a></td></tr><tr><td class="src">ResultCode</td><td class="module"><a href="Ldap-Asn1-Type.html#t:ResultCode">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#t:ResultCode">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#t:ResultCode">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-S.html Normal file

File diff suppressed because one or more lines are too long

4
doc-index-T.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - T)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - T</p><table><tr><td class="src">time</td><td class="module"><a href="Ldap-Client-Search.html#v:time">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:time">Ldap.Client</a></td></tr><tr><td class="src">TimeLimitExceeded</td><td class="module"><a href="Ldap-Asn1-Type.html#v:TimeLimitExceeded">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:TimeLimitExceeded">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:TimeLimitExceeded">Ldap.Client</a></td></tr><tr><td class="src">ToAsn1</td><td class="module"><a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1">Ldap.Asn1.ToAsn1</a></td></tr><tr><td class="src">toAsn1</td><td class="module"><a href="Ldap-Asn1-ToAsn1.html#v:toAsn1">Ldap.Asn1.ToAsn1</a></td></tr><tr><td class="src">typesOnly</td><td class="module"><a href="Ldap-Client-Search.html#v:typesOnly">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:typesOnly">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-U.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - U)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - U</p><table><tr><td class="src">unAttr</td><td class="module"><a href="Ldap-Client-Internal.html#v:unAttr">Ldap.Client.Internal</a></td></tr><tr><td class="src">Unavailable</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Unavailable">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:Unavailable">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:Unavailable">Ldap.Client</a></td></tr><tr><td class="src">UnavailableCriticalExtension</td><td class="module"><a href="Ldap-Asn1-Type.html#v:UnavailableCriticalExtension">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:UnavailableCriticalExtension">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:UnavailableCriticalExtension">Ldap.Client</a></td></tr><tr><td class="src">unbindAsync</td><td class="module"><a href="Ldap-Client-Internal.html#v:unbindAsync">Ldap.Client.Internal</a></td></tr><tr><td class="src">unbindAsyncSTM</td><td class="module"><a href="Ldap-Client-Internal.html#v:unbindAsyncSTM">Ldap.Client.Internal</a></td></tr><tr><td class="src">UnbindRequest</td><td class="module"><a href="Ldap-Asn1-Type.html#v:UnbindRequest">Ldap.Asn1.Type</a></td></tr><tr><td class="src">UndefinedAttributeType</td><td class="module"><a href="Ldap-Asn1-Type.html#v:UndefinedAttributeType">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:UndefinedAttributeType">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:UndefinedAttributeType">Ldap.Client</a></td></tr><tr><td class="src">unId</td><td class="module"><a href="Ldap-Asn1-Type.html#v:unId">Ldap.Asn1.Type</a></td></tr><tr><td class="src">UnwillingToPerform</td><td class="module"><a href="Ldap-Asn1-Type.html#v:UnwillingToPerform">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Internal.html#v:UnwillingToPerform">Ldap.Client.Internal</a>, <a href="Ldap-Client.html#v:UnwillingToPerform">Ldap.Client</a></td></tr><tr><td class="src">Uri</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Ldap-Asn1-Type.html#t:Uri">Ldap.Asn1.Type</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Ldap-Asn1-Type.html#v:Uri">Ldap.Asn1.Type</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index-W.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index - W)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - W</p><table><tr><td class="src">wait</td><td class="module"><a href="Ldap-Client-Internal.html#v:wait">Ldap.Client.Internal</a>, <a href="Ldap-Client-Bind.html#v:wait">Ldap.Client.Bind</a>, <a href="Ldap-Client-Search.html#v:wait">Ldap.Client.Search</a>, <a href="Ldap-Client-Modify.html#v:wait">Ldap.Client.Modify</a>, <a href="Ldap-Client-Add.html#v:wait">Ldap.Client.Add</a>, <a href="Ldap-Client-Delete.html#v:wait">Ldap.Client.Delete</a>, <a href="Ldap-Client-Compare.html#v:wait">Ldap.Client.Compare</a>, <a href="Ldap-Client-Extended.html#v:wait">Ldap.Client.Extended</a></td></tr><tr><td class="src">waitSTM</td><td class="module"><a href="Ldap-Client-Internal.html#v:waitSTM">Ldap.Client.Internal</a>, <a href="Ldap-Client-Bind.html#v:waitSTM">Ldap.Client.Bind</a>, <a href="Ldap-Client-Search.html#v:waitSTM">Ldap.Client.Search</a>, <a href="Ldap-Client-Modify.html#v:waitSTM">Ldap.Client.Modify</a>, <a href="Ldap-Client-Add.html#v:waitSTM">Ldap.Client.Add</a>, <a href="Ldap-Client-Delete.html#v:waitSTM">Ldap.Client.Delete</a>, <a href="Ldap-Client-Compare.html#v:waitSTM">Ldap.Client.Compare</a>, <a href="Ldap-Client-Extended.html#v:waitSTM">Ldap.Client.Extended</a></td></tr><tr><td class="src">WholeSubtree</td><td class="module"><a href="Ldap-Asn1-Type.html#v:WholeSubtree">Ldap.Asn1.Type</a>, <a href="Ldap-Client-Search.html#v:WholeSubtree">Ldap.Client.Search</a>, <a href="Ldap-Client.html#v:WholeSubtree">Ldap.Client</a></td></tr><tr><td class="src">with</td><td class="module"><a href="Ldap-Client.html#v:with">Ldap.Client</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

4
doc-index.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library (Index)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-58.html">:</a></li><li><a href="doc-index-All.html">All</a></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

View File

@ -1,97 +0,0 @@
{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE OverloadedStrings #-}
-- | An example of how to do LDAP logins with ldap-client.
--
-- First, the assumptions this example makes. It defaults to LDAP over TLS,
-- so if you only have a plaintext server, please replace `Secure` with `Plain`.
-- It also assumes the accounts you may want to log in as all have
-- `objectClass` "Person".
--
-- To run the example you have to provide a bunch of environment variables:
--
-- - `HOST` is the LDAP host to connect to (without "ldap://", "ldaps://", etc).
-- - `POST` is the port LDAP server listens on.
-- - `MANAGER_DN` is the DN of the account the first bind is made with.
-- - `MANAGER_PASSWORD` is its password.
-- - `BASE_OBJECT` is the search root
module Main (main) where
import Control.Exception (bracket_) -- base
import Control.Monad (when) -- base
import Data.Function (fix) -- base
import Data.Text (Text) -- text
import qualified Data.Text.Encoding as Text -- text
import qualified Data.Text.IO as Text -- text
import Env -- envparse
import Ldap.Client as Ldap -- ldap-client
import qualified Ldap.Client.Bind as Ldap -- ldap-client
import System.Exit (die) -- base
import qualified System.IO as IO -- base
data Conf = Conf
{ host :: String
, port :: Int
, dn :: Dn
, password :: Password
, base :: Dn
} deriving (Show, Eq)
getConf :: IO Conf
getConf = Env.parse (header "LDAP login example") $ Conf
<$> var str "HOST" (help "LDAP hostname")
<*> var (fmap fromIntegral . auto) "PORT" (help "LDAP port")
<*> var (fmap Ldap.Dn . str) "MANAGER_DN" (help "Manager login DN")
<*> var (fmap Ldap.Password . str) "MANAGER_PASSWORD" (help "Manager password")
<*> var (fmap Ldap.Dn . str) "BASE_OBJECT" (help "Search root")
main :: IO ()
main = do
conf <- getConf
res <- login conf
case res of
Left e -> die (show e)
Right _ -> return ()
login :: Conf -> IO (Either LdapError ())
login conf =
Ldap.with (Ldap.Tls (host conf) Ldap.defaultTlsSettings) (port conf) $ \l -> do
Ldap.bind l (dn conf) (password conf)
fix $ \loop -> do
uid <- prompt "Username: "
us <- Ldap.search l (base conf)
(typesOnly True)
(And [ Attr "objectClass" := "Person"
, Attr "uid" := Text.encodeUtf8 uid
])
[]
case us of
SearchEntry udn _ : _ ->
fix $ \loop' -> do
pwd <- bracket_ hideOutput
showOutput
(do pwd <- prompt ("Password for " <> uid <> ": ")
Text.putStr "\n"
return pwd)
res <- Ldap.bindEither l udn (Password (Text.encodeUtf8 pwd))
case res of
Left _ -> do again <- question "Invalid password. Try again? [y/n] "
when again loop'
Right _ -> Text.putStrLn "OK"
[] -> do again <- question "Invalid username. Try again? [y/n] "
when again loop
prompt :: Text -> IO Text
prompt msg = do Text.putStr msg; IO.hFlush IO.stdout; Text.getLine
question :: Text -> IO Bool
question msg = fix $ \loop -> do
res <- prompt msg
case res of
"y" -> return True
"n" -> return False
_ -> do Text.putStrLn "Please, answer either y or n."; loop
hideOutput, showOutput :: IO ()
hideOutput = IO.hSetEcho IO.stdout False
showOutput = IO.hSetEcho IO.stdout True

30
frames.html Normal file
View File

@ -0,0 +1,30 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="haddock-util.js" type="text/javascript"></script>
<script type="text/javascript"><!--
/*
The synopsis frame needs to be updated using javascript, so we hide
it by default and only show it if javascript is enabled.
TODO: provide some means to disable it.
*/
function load() {
var d = document.getElementById("inner-fs");
d.rows = "50%,50%";
postReframe();
}
--></script>
</head>
<frameset id="outer-fs" cols="25%,75%" onload="load()">
<frameset id="inner-fs" rows="100%,0%">
<frame src="index-frames.html" name="modules" />
<frame src="" name="synopsis" />
</frameset>
<frame src="index.html" name="main" />
</frameset>
</html>

344
haddock-util.js Normal file
View File

@ -0,0 +1,344 @@
// Haddock JavaScript utilities
var rspace = /\s\s+/g,
rtrim = /^\s+|\s+$/g;
function spaced(s) { return (" " + s + " ").replace(rspace, " "); }
function trim(s) { return s.replace(rtrim, ""); }
function hasClass(elem, value) {
var className = spaced(elem.className || "");
return className.indexOf( " " + value + " " ) >= 0;
}
function addClass(elem, value) {
var className = spaced(elem.className || "");
if ( className.indexOf( " " + value + " " ) < 0 ) {
elem.className = trim(className + " " + value);
}
}
function removeClass(elem, value) {
var className = spaced(elem.className || "");
className = className.replace(" " + value + " ", " ");
elem.className = trim(className);
}
function toggleClass(elem, valueOn, valueOff, bool) {
if (bool == null) { bool = ! hasClass(elem, valueOn); }
if (bool) {
removeClass(elem, valueOff);
addClass(elem, valueOn);
}
else {
removeClass(elem, valueOn);
addClass(elem, valueOff);
}
return bool;
}
function makeClassToggle(valueOn, valueOff)
{
return function(elem, bool) {
return toggleClass(elem, valueOn, valueOff, bool);
}
}
toggleShow = makeClassToggle("show", "hide");
toggleCollapser = makeClassToggle("collapser", "expander");
function toggleSection(id)
{
var b = toggleShow(document.getElementById("section." + id));
toggleCollapser(document.getElementById("control." + id), b);
rememberCollapsed(id, b);
return b;
}
var collapsed = {};
function rememberCollapsed(id, b)
{
if(b)
delete collapsed[id]
else
collapsed[id] = null;
var sections = [];
for(var i in collapsed)
{
if(collapsed.hasOwnProperty(i))
sections.push(i);
}
// cookie specific to this page; don't use setCookie which sets path=/
document.cookie = "collapsed=" + escape(sections.join('+'));
}
function restoreCollapsed()
{
var cookie = getCookie("collapsed");
if(!cookie)
return;
var ids = cookie.split('+');
for(var i in ids)
{
if(document.getElementById("section." + ids[i]))
toggleSection(ids[i]);
}
}
function setCookie(name, value) {
document.cookie = name + "=" + escape(value) + ";path=/;";
}
function clearCookie(name) {
document.cookie = name + "=;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) {
return unescape(c.substring(nameEQ.length,c.length));
}
}
return null;
}
var max_results = 75; // 50 is not enough to search for map in the base libraries
var shown_range = null;
var last_search = null;
function quick_search()
{
perform_search(false);
}
function full_search()
{
perform_search(true);
}
function perform_search(full)
{
var text = document.getElementById("searchbox").value.toLowerCase();
if (text == last_search && !full) return;
last_search = text;
var table = document.getElementById("indexlist");
var status = document.getElementById("searchmsg");
var children = table.firstChild.childNodes;
// first figure out the first node with the prefix
var first = bisect(-1);
var last = (first == -1 ? -1 : bisect(1));
if (first == -1)
{
table.className = "";
status.innerHTML = "No results found, displaying all";
}
else if (first == 0 && last == children.length - 1)
{
table.className = "";
status.innerHTML = "";
}
else if (last - first >= max_results && !full)
{
table.className = "";
status.innerHTML = "More than " + max_results + ", press Search to display";
}
else
{
// decide what you need to clear/show
if (shown_range)
setclass(shown_range[0], shown_range[1], "indexrow");
setclass(first, last, "indexshow");
shown_range = [first, last];
table.className = "indexsearch";
status.innerHTML = "";
}
function setclass(first, last, status)
{
for (var i = first; i <= last; i++)
{
children[i].className = status;
}
}
// do a binary search, treating 0 as ...
// return either -1 (no 0's found) or location of most far match
function bisect(dir)
{
var first = 0, finish = children.length - 1;
var mid, success = false;
while (finish - first > 3)
{
mid = Math.floor((finish + first) / 2);
var i = checkitem(mid);
if (i == 0) i = dir;
if (i == -1)
finish = mid;
else
first = mid;
}
var a = (dir == 1 ? first : finish);
var b = (dir == 1 ? finish : first);
for (var i = b; i != a - dir; i -= dir)
{
if (checkitem(i) == 0) return i;
}
return -1;
}
// from an index, decide what the result is
// 0 = match, -1 is lower, 1 is higher
function checkitem(i)
{
var s = getitem(i).toLowerCase().substr(0, text.length);
if (s == text) return 0;
else return (s > text ? -1 : 1);
}
// from an index, get its string
// this abstracts over alternates
function getitem(i)
{
for ( ; i >= 0; i--)
{
var s = children[i].firstChild.firstChild.data;
if (s.indexOf(' ') == -1)
return s;
}
return ""; // should never be reached
}
}
function setSynopsis(filename) {
if (parent.window.synopsis) {
if (parent.window.synopsis.location.replace) {
// In Firefox this avoids adding the change to the history.
parent.window.synopsis.location.replace(filename);
} else {
parent.window.synopsis.location = filename;
}
}
}
function addMenuItem(html) {
var menu = document.getElementById("page-menu");
if (menu) {
var btn = menu.firstChild.cloneNode(false);
btn.innerHTML = html;
menu.appendChild(btn);
}
}
function adjustForFrames() {
var bodyCls;
if (parent.location.href == window.location.href) {
// not in frames, so add Frames button
addMenuItem("<a href='#' onclick='reframe();return true;'>Frames</a>");
bodyCls = "no-frame";
}
else {
bodyCls = "in-frame";
}
addClass(document.body, bodyCls);
}
function reframe() {
setCookie("haddock-reframe", document.URL);
window.location = "frames.html";
}
function postReframe() {
var s = getCookie("haddock-reframe");
if (s) {
parent.window.main.location = s;
clearCookie("haddock-reframe");
}
}
function styles() {
var i, a, es = document.getElementsByTagName("link"), rs = [];
for (i = 0; a = es[i]; i++) {
if(a.rel.indexOf("style") != -1 && a.title) {
rs.push(a);
}
}
return rs;
}
function addStyleMenu() {
var as = styles();
var i, a, btns = "";
for(i=0; a = as[i]; i++) {
btns += "<li><a href='#' onclick=\"setActiveStyleSheet('"
+ a.title + "'); return false;\">"
+ a.title + "</a></li>"
}
if (as.length > 1) {
var h = "<div id='style-menu-holder'>"
+ "<a href='#' onclick='styleMenu(); return false;'>Style &#9662;</a>"
+ "<ul id='style-menu' class='hide'>" + btns + "</ul>"
+ "</div>";
addMenuItem(h);
}
}
function setActiveStyleSheet(title) {
var as = styles();
var i, a, found;
for(i=0; a = as[i]; i++) {
a.disabled = true;
// need to do this always, some browsers are edge triggered
if(a.title == title) {
found = a;
}
}
if (found) {
found.disabled = false;
setCookie("haddock-style", title);
}
else {
as[0].disabled = false;
clearCookie("haddock-style");
}
styleMenu(false);
}
function resetStyle() {
var s = getCookie("haddock-style");
if (s) setActiveStyleSheet(s);
}
function styleMenu(show) {
var m = document.getElementById('style-menu');
if (m) toggleShow(m, show);
}
function pageLoad() {
addStyleMenu();
adjustForFrames();
resetStyle();
restoreCollapsed();
}

BIN
hslogo-16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

4
index-frames.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-list"><p class="caption">Modules</p><ul><li class="module"><a href="Ldap-Asn1-FromAsn1.html" target="main">Ldap.Asn1.FromAsn1</a></li><li class="module"><a href="Ldap-Asn1-ToAsn1.html" target="main">Ldap.Asn1.ToAsn1</a></li><li class="module"><a href="Ldap-Asn1-Type.html" target="main">Ldap.Asn1.Type</a></li><li class="module"><a href="Ldap-Client.html" target="main">Ldap.Client</a></li><li class="module"><a href="Ldap-Client-Add.html" target="main">Ldap.Client.Add</a></li><li class="module"><a href="Ldap-Client-Bind.html" target="main">Ldap.Client.Bind</a></li><li class="module"><a href="Ldap-Client-Compare.html" target="main">Ldap.Client.Compare</a></li><li class="module"><a href="Ldap-Client-Delete.html" target="main">Ldap.Client.Delete</a></li><li class="module"><a href="Ldap-Client-Extended.html" target="main">Ldap.Client.Extended</a></li><li class="module"><a href="Ldap-Client-Internal.html" target="main">Ldap.Client.Internal</a></li><li class="module"><a href="Ldap-Client-Modify.html" target="main">Ldap.Client.Modify</a></li><li class="module"><a href="Ldap-Client-Search.html" target="main">Ldap.Client.Search</a></li></ul></div></body></html>

4
index.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ldap-client-0.1.0: Pure Haskell LDAP Client Library</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="description"><h1>ldap-client-0.1.0: Pure Haskell LDAP Client Library</h1><div class="doc"><p>Pure Haskell LDAP client library implementing (the parts of) RFC 4511.</p></div></div><div id="module-list"><p class="caption">Modules</p><ul><li><span id="control.n.1" class="module collapser" onclick="toggleSection('n.1')">Ldap</span><ul id="section.n.1" class="show"><li><span id="control.n.1.1" class="module collapser" onclick="toggleSection('n.1.1')">Asn1</span><ul id="section.n.1.1" class="show"><li><span class="module"><a href="Ldap-Asn1-FromAsn1.html">Ldap.Asn1.FromAsn1</a></span></li><li><span class="module"><a href="Ldap-Asn1-ToAsn1.html">Ldap.Asn1.ToAsn1</a></span></li><li><span class="module"><a href="Ldap-Asn1-Type.html">Ldap.Asn1.Type</a></span></li></ul></li><li><span class="module"><span id="control.n.1.2" class="collapser" onclick="toggleSection('n.1.2')">&nbsp;</span><a href="Ldap-Client.html">Ldap.Client</a></span><ul id="section.n.1.2" class="show"><li><span class="module"><a href="Ldap-Client-Add.html">Ldap.Client.Add</a></span></li><li><span class="module"><a href="Ldap-Client-Bind.html">Ldap.Client.Bind</a></span></li><li><span class="module"><a href="Ldap-Client-Compare.html">Ldap.Client.Compare</a></span></li><li><span class="module"><a href="Ldap-Client-Delete.html">Ldap.Client.Delete</a></span></li><li><span class="module"><a href="Ldap-Client-Extended.html">Ldap.Client.Extended</a></span></li><li><span class="module"><a href="Ldap-Client-Internal.html">Ldap.Client.Internal</a></span></li><li><span class="module"><a href="Ldap-Client-Modify.html">Ldap.Client.Modify</a></span></li><li><span class="module"><a href="Ldap-Client-Search.html">Ldap.Client.Search</a></span></li></ul></li></ul></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>

View File

@ -1,96 +0,0 @@
name: ldap-client
version: 0.4.0
synopsis: Pure Haskell LDAP Client Library
description:
Pure Haskell LDAP client library implementing (the parts of) RFC 4511.
homepage: https://github.com/alasconnect/ldap-client
license: BSD2
license-file: LICENSE
author: Matvey Aksenov, AlasConnect LLC
maintainer: matvey.aksenov@gmail.com, software@alasconnect.com
copyright: 2015 Matvey Aksenov, 2019 AlasConnect LLC
category: Network
build-type: Simple
cabal-version: >= 1.10
tested-with:
GHC == 8.0.1
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
extra-source-files:
README.md
CHANGELOG.md
source-repository head
type: git
location: git@github.com:alasconnect/ldap-client
tag: 0.4.0
library
ghc-options:
-Wall
-fwarn-incomplete-uni-patterns
-fwarn-incomplete-record-updates
-fwarn-unrecognised-pragmas
default-language:
Haskell2010
hs-source-dirs:
src
exposed-modules:
Ldap.Asn1.FromAsn1
Ldap.Asn1.ToAsn1
Ldap.Asn1.Type
Ldap.Client
Ldap.Client.Add
Ldap.Client.Bind
Ldap.Client.Compare
Ldap.Client.Delete
Ldap.Client.Extended
Ldap.Client.Internal
Ldap.Client.Modify
Ldap.Client.Search
build-depends:
asn1-encoding >= 0.9
, asn1-types >= 0.3
, async
, base >= 4.6 && < 5
, bytestring
, connection >= 0.2
, containers
, fail
, network >= 2.6
, semigroups >= 0.16
, stm
, text
test-suite spec
ghc-options:
-Wall
-fwarn-incomplete-uni-patterns
-fwarn-incomplete-record-updates
-fwarn-unrecognised-pragmas
default-language:
Haskell2010
type:
exitcode-stdio-1.0
hs-source-dirs:
test
main-is:
Spec.hs
other-modules:
Ldap.ClientSpec
Ldap.Client.AddSpec
Ldap.Client.BindSpec
Ldap.Client.CompareSpec
Ldap.Client.DeleteSpec
Ldap.Client.ExtendedSpec
Ldap.Client.ModifySpec
Ldap.Client.SearchSpec
SpecHelper
build-depends:
base >= 4.6 && < 5
, bytestring
, hspec
, ldap-client
, process
, semigroups

BIN
ldap-client.haddock Normal file

Binary file not shown.

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Asn1.FromAsn1</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Asn1.FromAsn1</p></div><div id="interface"><div class="top"><p class="src"><a href="Ldap-Asn1-FromAsn1.html#v:parseAsn1" target="main">parseAsn1</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Ldap-Asn1-FromAsn1.html#t:FromAsn1" target="main">FromAsn1</a> a</p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Asn1.ToAsn1</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Asn1.ToAsn1</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">class</span> <a href="Ldap-Asn1-ToAsn1.html#t:ToAsn1" target="main">ToAsn1</a> a</p></div></div></body></html>

4
mini_Ldap-Asn1-Type.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Asn1.Type</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Asn1.Type</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:LdapMessage" target="main">LdapMessage</a> op</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:Id" target="main">Id</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:ProtocolClientOp" target="main">ProtocolClientOp</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:ProtocolServerOp" target="main">ProtocolServerOp</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:AuthenticationChoice" target="main">AuthenticationChoice</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:Scope" target="main">Scope</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:DerefAliases" target="main">DerefAliases</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:Filter" target="main">Filter</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:SubstringFilter" target="main">SubstringFilter</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:Substring" target="main">Substring</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:MatchingRuleAssertion" target="main">MatchingRuleAssertion</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:MatchingRuleId" target="main">MatchingRuleId</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:AttributeSelection" target="main">AttributeSelection</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:AttributeList" target="main">AttributeList</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:PartialAttributeList" target="main">PartialAttributeList</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:Controls" target="main">Controls</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:Control" target="main">Control</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:LdapResult" target="main">LdapResult</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:ResultCode" target="main">ResultCode</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:AttributeDescription" target="main">AttributeDescription</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:AttributeValue" target="main">AttributeValue</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:AttributeValueAssertion" target="main">AttributeValueAssertion</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:AssertionValue" target="main">AssertionValue</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:Attribute" target="main">Attribute</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:PartialAttribute" target="main">PartialAttribute</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:LdapDn" target="main">LdapDn</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:RelativeLdapDn" target="main">RelativeLdapDn</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:ReferralUris" target="main">ReferralUris</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:Uri" target="main">Uri</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:Operation" target="main">Operation</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:LdapString" target="main">LdapString</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Asn1-Type.html#t:LdapOid" target="main">LdapOid</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Add</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Client.Add</p></div><div id="interface"><div class="top"><p class="src"><a href="Ldap-Client-Add.html#v:add" target="main">add</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Add.html#v:addEither" target="main">addEither</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Add.html#v:addAsync" target="main">addAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Add.html#v:addAsyncSTM" target="main">addAsyncSTM</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Add.html#t:Async" target="main">Async</a> a</p></div><div class="top"><p class="src"><a href="Ldap-Client-Add.html#v:wait" target="main">wait</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Add.html#v:waitSTM" target="main">waitSTM</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Bind</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Client.Bind</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Bind.html#t:Password" target="main">Password</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Bind.html#v:bind" target="main">bind</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Bind.html#v:bindEither" target="main">bindEither</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Bind.html#v:bindAsync" target="main">bindAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Bind.html#v:bindAsyncSTM" target="main">bindAsyncSTM</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Bind.html#t:Async" target="main">Async</a> a</p></div><div class="top"><p class="src"><a href="Ldap-Client-Bind.html#v:wait" target="main">wait</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Bind.html#v:waitSTM" target="main">waitSTM</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Compare</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Client.Compare</p></div><div id="interface"><div class="top"><p class="src"><a href="Ldap-Client-Compare.html#v:compare" target="main">compare</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Compare.html#v:compareEither" target="main">compareEither</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Compare.html#v:compareAsync" target="main">compareAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Compare.html#v:compareAsyncSTM" target="main">compareAsyncSTM</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Compare.html#t:Async" target="main">Async</a> a</p></div><div class="top"><p class="src"><a href="Ldap-Client-Compare.html#v:wait" target="main">wait</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Compare.html#v:waitSTM" target="main">waitSTM</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Delete</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Client.Delete</p></div><div id="interface"><div class="top"><p class="src"><a href="Ldap-Client-Delete.html#v:delete" target="main">delete</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Delete.html#v:deleteEither" target="main">deleteEither</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Delete.html#v:deleteAsync" target="main">deleteAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Delete.html#v:deleteAsyncSTM" target="main">deleteAsyncSTM</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Delete.html#t:Async" target="main">Async</a> a</p></div><div class="top"><p class="src"><a href="Ldap-Client-Delete.html#v:wait" target="main">wait</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Delete.html#v:waitSTM" target="main">waitSTM</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Extended</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Client.Extended</p></div><div id="interface"><h1>Extended Operation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Extended.html#t:Oid" target="main">Oid</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:extended" target="main">extended</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:extendedEither" target="main">extendedEither</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:extendedAsync" target="main">extendedAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:extendedAsyncSTM" target="main">extendedAsyncSTM</a></p></div><h2>StartTLS Operation</h2><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:startTls" target="main">startTls</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:startTlsEither" target="main">startTlsEither</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:startTlsAsync" target="main">startTlsAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:startTlsAsyncSTM" target="main">startTlsAsyncSTM</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Extended.html#t:Async" target="main">Async</a> a</p></div><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:wait" target="main">wait</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Extended.html#v:waitSTM" target="main">waitSTM</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Internal</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Client.Internal</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Internal.html#t:Host" target="main">Host</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Internal.html#t:PortNumber" target="main">PortNumber</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Internal.html#t:Ldap" target="main">Ldap</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Internal.html#t:ClientMessage" target="main">ClientMessage</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Internal.html#t:ResultCode" target="main">ResultCode</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Internal.html#t:Async" target="main">Async</a> a</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Ldap-Client-Internal.html#t:AttrList" target="main">AttrList</a> f</p></div><h1>Waiting for Request Completion</h1><div class="top"><p class="src"><a href="Ldap-Client-Internal.html#v:wait" target="main">wait</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Internal.html#v:waitSTM" target="main">waitSTM</a></p></div><h1>Misc</h1><div class="top"><p class="src"><span class="keyword">type</span> <a href="Ldap-Client-Internal.html#t:Response" target="main">Response</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Internal.html#t:ResponseError" target="main">ResponseError</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Ldap-Client-Internal.html#t:Request" target="main">Request</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Internal.html#v:raise" target="main">raise</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Internal.html#v:sendRequest" target="main">sendRequest</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Internal.html#t:Dn" target="main">Dn</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Internal.html#t:Attr" target="main">Attr</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Ldap-Client-Internal.html#t:AttrValue" target="main">AttrValue</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Internal.html#v:unAttr" target="main">unAttr</a></p></div><h1>Unbind operation</h1><div class="top"><p class="src"><a href="Ldap-Client-Internal.html#v:unbindAsync" target="main">unbindAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Internal.html#v:unbindAsyncSTM" target="main">unbindAsyncSTM</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Modify</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Client.Modify</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Modify.html#t:Operation" target="main">Operation</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:modify" target="main">modify</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:modifyEither" target="main">modifyEither</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:modifyAsync" target="main">modifyAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:modifyAsyncSTM" target="main">modifyAsyncSTM</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Modify.html#t:RelativeDn" target="main">RelativeDn</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:modifyDn" target="main">modifyDn</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:modifyDnEither" target="main">modifyDnEither</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:modifyDnAsync" target="main">modifyDnAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:modifyDnAsyncSTM" target="main">modifyDnAsyncSTM</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Modify.html#t:Async" target="main">Async</a> a</p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:wait" target="main">wait</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Modify.html#v:waitSTM" target="main">waitSTM</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Search</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Client.Search</p></div><div id="interface"><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:search" target="main">search</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:searchEither" target="main">searchEither</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:searchAsync" target="main">searchAsync</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:searchAsyncSTM" target="main">searchAsyncSTM</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Search.html#t:Search" target="main">Search</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Search.html#t:Mod" target="main">Mod</a> a</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Search.html#t:Scope" target="main">Scope</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:scope" target="main">scope</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:size" target="main">size</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:time" target="main">time</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:typesOnly" target="main">typesOnly</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Search.html#t:DerefAliases" target="main">DerefAliases</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:derefAliases" target="main">derefAliases</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Search.html#t:Filter" target="main">Filter</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Search.html#t:SearchEntry" target="main">SearchEntry</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client-Search.html#t:Async" target="main">Async</a> a</p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:wait" target="main">wait</a></p></div><div class="top"><p class="src"><a href="Ldap-Client-Search.html#v:waitSTM" target="main">waitSTM</a></p></div></div></body></html>

4
mini_Ldap-Client.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">Ldap.Client</p></div><div id="interface"><div class="top"><p class="src"><a href="Ldap-Client.html#v:with" target="main">with</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Host" target="main">Host</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:PortNumber" target="main">PortNumber</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Ldap" target="main">Ldap</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:LdapError" target="main">LdapError</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:ResponseError" target="main">ResponseError</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:ResultCode" target="main">ResultCode</a></p></div><h1>Bind</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Password" target="main">Password</a></p></div><div class="top"><p class="src"><a href="Ldap-Client.html#v:bind" target="main">bind</a></p></div><h1>Search</h1><div class="top"><p class="src"><a href="Ldap-Client.html#v:search" target="main">search</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:SearchEntry" target="main">SearchEntry</a></p></div><h2>Search modifiers</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Search" target="main">Search</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Mod" target="main">Mod</a> a</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Scope" target="main">Scope</a></p></div><div class="top"><p class="src"><a href="Ldap-Client.html#v:scope" target="main">scope</a></p></div><div class="top"><p class="src"><a href="Ldap-Client.html#v:size" target="main">size</a></p></div><div class="top"><p class="src"><a href="Ldap-Client.html#v:time" target="main">time</a></p></div><div class="top"><p class="src"><a href="Ldap-Client.html#v:typesOnly" target="main">typesOnly</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:DerefAliases" target="main">DerefAliases</a></p></div><div class="top"><p class="src"><a href="Ldap-Client.html#v:derefAliases" target="main">derefAliases</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Filter" target="main">Filter</a></p></div><h1>Modify</h1><div class="top"><p class="src"><a href="Ldap-Client.html#v:modify" target="main">modify</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Operation" target="main">Operation</a></p></div><h1>Add</h1><div class="top"><p class="src"><a href="Ldap-Client.html#v:add" target="main">add</a></p></div><h1>Delete</h1><div class="top"><p class="src"><a href="Ldap-Client.html#v:delete" target="main">delete</a></p></div><h1>ModifyDn</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:RelativeDn" target="main">RelativeDn</a></p></div><div class="top"><p class="src"><a href="Ldap-Client.html#v:modifyDn" target="main">modifyDn</a></p></div><h1>Compare</h1><div class="top"><p class="src"><a href="Ldap-Client.html#v:compare" target="main">compare</a></p></div><h1>Extended</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Oid" target="main">Oid</a></p></div><div class="top"><p class="src"><a href="Ldap-Client.html#v:extended" target="main">extended</a></p></div><h1>Miscellanous</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Dn" target="main">Dn</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:Attr" target="main">Attr</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Ldap-Client.html#t:AttrValue" target="main">AttrValue</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Ldap-Client.html#t:AttrList" target="main">AttrList</a> f</p></div><h1>Re-exports</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="Ldap-Client.html#t:NonEmpty" target="main">NonEmpty</a> a</p></div></div></body></html>

BIN
minus.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

View File

@ -1 +0,0 @@
0.7.0

View File

@ -1,9 +0,0 @@
{ nodejsVersion ? "4.1", npm3 ? false, pkgs ? import <nixpkgs> {} }:
let
nodeLib = import ./nodeLib {
inherit pkgs npm3 nodejsVersion;
self = nodeLib;
};
in nodeLib.generatePackages {
rootPath = ./nodePackages;
}

View File

@ -1,394 +0,0 @@
{
# Provides the mkDerivation function.
stdenv,
# Lets us run a command.
runCommand,
# Derivation for nodejs and npm.
nodejs,
# Which version of npm to use.
npm ? nodejs,
# List of required native build inputs.
neededNatives,
# Self-reference for overriding purposes.
buildNodePackage
}:
let
# The path within $out/lib to find a package. If the package does not
# have a namespace, it will simply be in `node_modules`, and otherwise it
# will appear in `node_modules/@namespace`.
modulePath = pkg: if pkg.namespace == null then "node_modules"
else "node_modules/@${pkg.namespace}";
# The path to the package within its modulePath. Just appending the name
# of the package.
pathInModulePath = pkg: "${modulePath pkg}/${pkg.basicName}";
in
{
# Used for private packages. Indicated in the name field of the
# package.json, e.g. "@mynamespace/mypackage". Public packages will not
# need this.
namespace ? null,
# The name of the package. If it's a private package with a namespace,
# this should not contain the namespace.
name,
# Version of the package. This should follow the semver standard, although
# we don't explicitly enforce that in this function.
version,
# Source of the package; can be a tarball or a folder on the filesystem.
src,
# by default name of nodejs interpreter e.g. "nodejs-<version>-${name}"
namePrefix ? "${nodejs.name}-" +
(if namespace == null then "" else "${namespace}-"),
# List or attribute set of dependencies
deps ? {},
# List or attribute set of peer depencies
peerDependencies ? {},
# List or attribute set of optional dependencies
optionalDependencies ? {},
# List of optional dependencies to skip
skipOptionalDependencies ? [],
# List or set of development dependencies (or null).
devDependencies ? null,
# If true and devDependencies are not null, the package will be
# installed contingent on successfully running tests.
doCheck ? devDependencies != null,
# Additional flags passed to npm install
flags ? "",
# Command to be run before shell hook
preShellHook ? "",
# Command to be run after shell hook
postShellHook ? "",
# Same as https://docs.npmjs.com/files/package.json#os
os ? [],
# Same as https://docs.npmjs.com/files/package.json#cpu
cpu ? [],
# Attribute set of already resolved deps (internal),
# for avoiding infinite recursion
resolvedDeps ? {},
...
} @ args:
let
inherit (stdenv.lib) fold removePrefix hasPrefix subtractLists isList flip
intersectLists isAttrs listToAttrs nameValuePair
mapAttrs filterAttrs attrNames elem concatMapStrings
attrValues getVersion flatten remove concatStringsSep;
# whether we should run tests.
shouldTest = doCheck && devDependencies != null;
# The package name as it appears in the package.json. This contains a
# namespace if there is one, so it will be a distinct identifier for
# different packages.
pkgName = if namespace == null then name else "@${namespace}/${name}";
# We create a `self` object for self-referential expressions. It
# bottoms out in a call to `mkDerivation` at the end.
self = let
sources = runCommand "node-sources" {} ''
tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
mv $(find . -type d -mindepth 1 -maxdepth 1) $out
'';
platforms = if os == [] then nodejs.meta.platforms else
fold (entry: platforms:
let
filterPlatforms =
stdenv.lib.platforms.${removePrefix "!" entry} or [];
in
# Ignore unknown platforms
if filterPlatforms == [] then (if platforms == [] then nodejs.meta.platforms else platforms)
else
if hasPrefix "!" entry then
subtractLists (intersectLists filterPlatforms nodejs.meta.platforms) platforms
else
platforms ++ (intersectLists filterPlatforms nodejs.meta.platforms)
) [] os;
toAttrSet = obj: if isAttrs obj then obj else
(listToAttrs (map (x: nameValuePair x.name x) obj));
mapDependencies = deps: filterFunc: let
attrDeps = toAttrSet deps;
in rec {
# All required node modules, without already resolved dependencies
# Also override with already resolved dependencies
requiredDeps = mapAttrs (name: dep:
dep.override {resolvedDeps = resolvedDeps // { "${name}" = self; };}
) (filterAttrs filterFunc
(removeAttrs attrDeps (attrNames resolvedDeps)));
# Recursive dependencies that we want to avoid with shim creation
recursiveDeps = filterAttrs filterFunc
(removeAttrs attrDeps (attrNames requiredDeps));
};
# Filter out self-referential dependencies.
_dependencies = mapDependencies deps (name: dep:
dep.pkgName != pkgName);
# Filter out self-referential peer dependencies.
_peerDependencies = mapDependencies peerDependencies (name: dep:
dep.pkgName != pkgName);
# Filter out any optional dependencies which don't build correctly.
_optionalDependencies = mapDependencies optionalDependencies (name: dep:
(builtins.tryEval dep).success &&
!(elem dep.pkgName skipOptionalDependencies)
);
# Required dependencies are those that we haven't filtered yet.
requiredDependencies =
_dependencies.requiredDeps //
_optionalDependencies.requiredDeps //
_peerDependencies.requiredDeps;
recursiveDependencies =
_dependencies.recursiveDeps //
_optionalDependencies.recursiveDeps //
_peerDependencies.recursiveDeps;
npmFlags = concatStringsSep " " ([
# We point the registry at something that doesn't exist. This will
# mean that NPM will fail if any of the dependencies aren't met, as it
# will attempt to hit this registry for the missing dependency.
"--registry=fakeprotocol://notaregistry.$UNIQNAME.derp"
# These flags make failure fast, as otherwise NPM will spin for a while.
"--fetch-retry-mintimeout=0"
"--fetch-retry-maxtimeout=10"
# This will disable any user-level npm configuration.
"--userconfig=/dev/null"
# This flag is used for packages which link against the node headers.
"--nodedir=${sources}"
] ++ (if isList flags then flags else [flags]));
# A bit of bash to check that variables are set.
checkSet = vars: concatStringsSep "\n" (flip map vars (var: ''
[[ -z $${var} ]] && { echo "${var} is not set."; exit 1; }
''));
mkDerivationArgs = {
inherit src;
# Define some environment variables that we will use in the build.
prePatch = ''
export HASHEDNAME=$(echo "$propagatedNativeBuildInputs $name" \
| md5sum | awk '{print $1}')
export UNIQNAME="''${HASHEDNAME:0:10}-${name}-${version}"
export BUILD_DIR=$TMPDIR/$UNIQNAME-build
'';
patchPhase = ''
runHook prePatch
patchShebangs $PWD
# Remove any impure dependencies from the package.json (see script
# for details)
node ${./removeImpureDependencies.js}
# We do not handle shrinkwraps yet
rm npm-shrinkwrap.json 2>/dev/null || true
# Repackage source into a tarball, so npm pre/post publish hooks are
# not triggered,
mkdir -p $BUILD_DIR
GZIP=-1 tar -czf $BUILD_DIR/package.tgz ./
export PATCHED_SRC=$BUILD_DIR/package.tgz
runHook postPatch
'';
configurePhase = ''
runHook preConfigure
(
${checkSet ["BUILD_DIR"]}
mkdir -p $BUILD_DIR
cd $BUILD_DIR
# Symlink or copy dependencies for node modules
# copy is needed if dependency has recursive dependencies,
# because node can't follow symlinks while resolving recursive deps.
${
let
link = dep: ''
${if dep.recursiveDeps == [] then "ln -sfv" else "cp -rf"} \
${dep}/lib/${pathInModulePath dep} ${modulePath dep}
'';
in
flip concatMapStrings (attrValues requiredDependencies) (dep: ''
mkdir -p ${modulePath dep}
${link dep}
${concatMapStrings link (attrValues dep.peerDependencies)}
'')}
# Create shims for recursive dependenceies
${concatMapStrings (dep: ''
mkdir -p ${modulePath dep}
cat > ${pathInModulePath dep}/package.json <<EOF
{
"name": "${dep.pkgName}",
"version": "${getVersion dep}"
}
EOF
'') (attrValues recursiveDependencies)}
# Create dummy package.json file
cat <<EOF > package.json
{"name":"dummy-for-$UNIQNAME","version":"0.0.0", "license":"MIT",
"description":"Dummy package file for building $name",
"repository":{"type":"git","url":"http://$UNIQNAME.com"}}
EOF
# Create dummy readme
echo "Dummy package" > README.md
)
export HOME=$BUILD_DIR
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
# Install package
(
${checkSet ["BUILD_DIR" "PATCHED_SRC"]}
echo "Building $name in $BUILD_DIR"
cd $BUILD_DIR
HOME=$PWD npm install $PATCHED_SRC ${npmFlags} || {
npm list
exit 1
}
)
runHook postBuild
'';
installPhase = ''
runHook preInstall
(
cd $BUILD_DIR
# Remove shims
${concatMapStrings (dep: ''
rm ${pathInModulePath dep}/package.json
rmdir ${modulePath dep}
'') (attrValues recursiveDependencies)}
# Install the package that we just built.
mkdir -p $out/lib/${modulePath self}
# Move the folder that was created for this path to $out/lib.
mv ${pathInModulePath self} $out/lib/${pathInModulePath self}
# Remove the node_modules subfolder from there, and instead put things
# in $PWD/node_modules into that folder.
rm -rf $out/lib/${pathInModulePath self}/node_modules
cp -r node_modules $out/lib/${pathInModulePath self}/node_modules
if [ -e "$out/lib/${pathInModulePath self}/man" ]; then
mkdir -p $out/share
for dir in $out/lib/${pathInModulePath self}/man/*; do #*/
mkdir -p $out/share/man/$(basename "$dir")
for page in $dir/*; do #*/
ln -sv $page $out/share/man/$(basename "$dir")
done
done
fi
# Move peer dependencies to node_modules
${concatMapStrings (dep: ''
mkdir -p ${modulePath dep}
mv ${pathInModulePath dep} $out/lib/${modulePath dep}
'') (attrValues _peerDependencies.requiredDeps)}
# Install binaries and patch shebangs. These are always found in
# node_modules/.bin, regardless of a package namespace.
mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
if [ -d "$out/lib/node_modules/.bin" ]; then
ln -sv $out/lib/node_modules/.bin $out/bin
patchShebangs $out/lib/node_modules/.bin
fi
)
runHook postInstall
'';
shellHook = ''
${preShellHook}
export PATH=${npm}/bin:${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
mkdir -p node_modules
${concatMapStrings (dep: ''
mkdir -p ${modulePath dep}
ln -sfv ${dep}/lib/${pathInModulePath dep} ${pathInModulePath dep}
'') (attrValues requiredDependencies)}
${postShellHook}
'';
# Stipping does not make a lot of sense in node packages
dontStrip = true;
meta = {
inherit platforms;
maintainers = [ stdenv.lib.maintainers.offline ];
};
# Propagate pieces of information about the package so that downstream
# packages can reflect on them.
passthru.pkgName = pkgName;
passthru.basicName = name;
passthru.namespace = namespace;
passthru.version = version;
passthru.peerDependencies = _peerDependencies.requiredDeps;
passthru.recursiveDeps =
(flatten (
map (dep: remove name dep.recursiveDeps) (attrValues requiredDependencies)
)) ++
(attrNames recursiveDependencies);
# Add an 'override' attribute, which will call `buildNodePackage` with the
# given arguments overridden.
passthru.override = newArgs: buildNodePackage (args // newArgs);
} // (removeAttrs args ["deps" "resolvedDeps" "optionalDependencies"
"devDependencies"]) // {
name = "${namePrefix}${name}-${version}";
# Run the node setup hook when this package is a build input
propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++
[ npm nodejs ];
nativeBuildInputs =
(args.nativeBuildInputs or []) ++ neededNatives ++
(attrValues requiredDependencies);
# Expose list of recursive dependencies upstream, up to the package that
# caused recursive dependency
recursiveDeps =
(flatten (
map (dep: remove name dep.recursiveDeps) (attrValues requiredDependencies)
)) ++
(attrNames recursiveDependencies);
};
in stdenv.mkDerivation mkDerivationArgs;
in self

View File

@ -1,210 +0,0 @@
/*
A set of tools for generating node packages, such as to be imported by
default.nix files generated by nixfromnpm.
*/
{
# Self-reference so that we can pass through to downstream libraries
self,
# Base set of packages, i.e. nixpkgs.
pkgs,
# Version of nodejs.
nodejsVersion ? "4.1",
# Whether to use npm3 (requires a prebuilt tarball of npm3).
npm3 ? true
}:
let
# Function to replace dots with something
replaceDots = c: replaceChars ["."] [c];
inherit (builtins) readDir removeAttrs length getEnv elemAt hasAttr;
inherit (pkgs.lib) attrNames attrValues filterAttrs flip foldl
hasSuffix hasPrefix removeSuffix replaceChars
optional optionals stringToCharacters
concatStrings tail splitString;
inherit (pkgs.stdenv) isLinux;
# Function to remove the first character of a string.
dropFirstChar = str: concatStrings (tail (stringToCharacters str));
# Like a for loop.
for = flip map;
# Concatenate a list of sets.
joinSets = foldl (a: b: a // b) {};
# Extracts a tarball containing a bootstrapped version of npm 3.
# This tarball must have been previously generated by an invocation
# of nixfromnpm, but one of these should be included in the
# nixfromnpm distribution (if not, run the `gen_npm3` script).
npm3-src = pkgs.runCommand "npm3" {src=./npm3.tar.gz;} ''
mkdir -p $out && cd $out && tar -xf $src
'';
# Builds the extracted nix file. Since of course it can't use npm3,
# being that it hasn't been built yet, we disable npm3 for this.
_npm3 = import npm3-src {
inherit pkgs nodejsVersion;
npm3 = false;
};
# Parse the `NPM_AUTH_TOKENS` environment variable to discover
# namespace-token associations and turn them into an attribute set
# which we can use as an input to the fetchPrivateNpm function.
# Split the variable on ':', then turn each k=v element in
# the list into an attribute set and join all of those sets.
namespaceTokens = joinSets (
for (splitString ":" (getEnv "NPM_AUTH_TOKENS")) (kvPair:
let kv = splitString "=" kvPair; in
if length kv != 2 then {}
else {"${elemAt kv 0}" = elemAt kv 1;}));
# A function similar to fetchUrl but allows setting of custom headers.
fetchUrlWithHeaders = pkgs.callPackage ./fetchUrlWithHeaders.nix {};
# Uses the parsed namespace tokens to create a function that can
# fetch a private package from an npm repo.
fetchPrivateNpm = {namespace, headers ? {}, ...}@args:
if !(hasAttr namespace namespaceTokens)
then throw "NPM_AUTH_TOKENS does not contain namespace ${namespace}"
else let
Authorization = "Bearer ${namespaceTokens.${namespace}}";
headers = {inherit Authorization;} // headers;
in
fetchUrlWithHeaders (removeAttrs args ["namespace"] // {inherit headers;});
in
rec {
nodejs = pkgs.nodejs or (
throw "The given nodejs version ${nodejsVersion} has not been defined."
);
buildNodePackage = import ./buildNodePackage.nix ({
inherit (pkgs) stdenv runCommand;
inherit nodejs buildNodePackage;
neededNatives = [pkgs.python] ++ optionals isLinux [pkgs.utillinux];
} // (if npm3 then {npm = _npm3;} else {}));
# A generic package that will fail to build. This is used to indicate
# packages that are broken, without failing the entire generation of
# a package expression.
brokenPackage = {name, reason}:
let
deriv = pkgs.stdenv.mkDerivation {
name = "BROKEN-${name}";
buildCommand = ''
echo "Package ${name} is broken: ${reason}"
exit 1
'';
passthru.withoutTests = deriv;
passthru.pkgName = name;
passthru.basicName = "BROKEN";
passthru.namespace = null;
passthru.version = "BROKEN";
passthru.override = _: deriv;
passthru.recursiveDeps = [];
passthru.peerDependencies = {};
};
in
deriv;
# List a directory after filtering the files.
lsFilter = pred: dir: attrNames (filterAttrs pred (readDir dir));
# Checks the name and type of a listing to grab non-dotfile dirs.
isRegDir = name: type: type == "directory" && !(hasPrefix "." name);
# Discover all of the node packages in a folder and turn them into a set
# mapping `<name>_<version>` to the expression to build that package.
discoverPackages = {callPackage, rootPath}:
# if true then throw "huh? ${rootPath}" else
let
# Names of NPM packages defined in this directory. Don't take
# files that start with '@'.
nodeDirs = lsFilter (n: t: isRegDir n t && !(hasPrefix "@" n))
(/. + rootPath);
# Generate the package expression from a package name and .nix path.
toPackage = name: filepath: let
versionRaw = removeSuffix ".nix" filepath; # Raw version, i.e. "1.2.4"
# Join with package name to make the variable name.
varName = "${replaceDots "-" name}_${replaceDots "-" versionRaw}";
in
# Return the singleton set which maps that name to the actual expression.
{"${varName}" = callPackage (/. + rootPath + "/${name}/${filepath}") {};};
in
# For each directory, and each .nix file in it, create a package from that.
joinSets (for nodeDirs (pkgName: let
pkgDir = /. + rootPath + "/${pkgName}";
# List of .nix files in the directory (excluding symlinks).
versionFiles = lsFilter (name: type: type == "regular" &&
hasSuffix ".nix" name)
pkgDir;
# Check if there is a `latest.nix` file
hasLatest = lsFilter (n: _: n == "latest.nix") pkgDir != [];
in
joinSets (
# Find all of the versions listed in the folder.
map (toPackage pkgName) versionFiles ++
# If the folder has a `latest.nix` file, link the bare name of
# the package to that file.
optional hasLatest {
"${replaceDots "-" pkgName}" = callPackage
(/. + rootPath + "/${pkgName}/latest.nix") {};
})));
# Same as above, except that we take all of the namespaced packages;
# these packages are in folders prefaced with `@`, and contain
# packages in that folder. So, for example the path `@foo/bar` is
# the path to all of the versions of the `bar` package under the
# namespace `foo`.
discoverNamespacePackages = {callPackage, rootPath}: let
isNsDir = name: type: type == "directory" && hasPrefix "@" name;
# Names of NPM packages defined in this directory.
namespaceDirs = lsFilter isNsDir (/. + rootPath);
in
# For each namespace directory, each package folder in it, and
# each .nix file in that, create a package from that and then
# create a namespace out of that.
joinSets (for namespaceDirs (nsDirName: {
"${dropFirstChar nsDirName}" = discoverPackages {
inherit callPackage;
rootPath = /. + rootPath + "/${nsDirName}";
};
}));
# The function that a default.nix can call into which will scan its
# directory for all of the package files and generate a big attribute set
# for all of them. Re-exports the `callPackage` function and all of the
# attribute sets, as well as the nodeLib.
generatePackages = {rootPath, extensions ? []}:
let
callPackageWith = pkgSet: path: overridingArgs: let
inherit (builtins) intersectAttrs functionArgs;
inherit (pkgs.lib) filterAttrs;
# The path must be a function; import it here.
func = import path;
# Get the arguments to the function; e.g. "{a=false; b=true;}", where
# a false value is an argument that has no default.
funcArgs = functionArgs func;
# Take only the arguments that don't have a default.
noDefaults = filterAttrs (_: v: v == false) funcArgs;
# Intersect this set with the package set to create the arguments to
# the function.
satisfyingArgs = intersectAttrs noDefaults pkgSet;
# Override these arguments with whatever's passed in.
actualArgs = satisfyingArgs // overridingArgs;
# Call the function with these args to get a derivation.
deriv = func actualArgs;
in deriv;
callPackage = callPackageWith {
inherit fetchUrlWithHeaders namespaces namespaceTokens;
inherit pkgs nodePackages buildNodePackage brokenPackage;
};
nodePackages = joinSets (map (e: e.nodePackages) extensions) //
discoverPackages {inherit callPackage rootPath;};
namespaces = joinSets (map (e: e.namespaces) extensions) //
discoverNamespacePackages {inherit callPackage rootPath;};
in {
inherit nodePackages callPackage namespaces namespaceTokens pkgs;
nodeLib = self;
};
}

View File

@ -1,21 +0,0 @@
import os
import requests
out = os.environ['out']
url = os.environ['url']
headers = {"User-Agent": "nix-fetchurl"}
header_names = os.environ.get("headerNames", "")
for name in header_names.split():
if "__HTTP_HEADER_{}".format(name) not in os.environ:
exit("FATAL: no corresponding value set for header {}"
.format(name))
headers[name] = os.environ["__HTTP_HEADER_{}".format(name)]
print('GET {} with headers {}'.format(url, headers))
response = requests.get(url, headers=headers)
if response.status_code != 200:
exit("Received a {} response. :(\nContent: {}"
.format(response.status_code, response.content))
else:
print('Response: {} ({} bytes)'
.format(response.status_code, len(response.content)))
with open(out, 'wb') as f:
f.write(response.content)

View File

@ -1,71 +0,0 @@
# A python-based fetchurl function, allowing the passage of custom headers.
# Just calls into `requests` under the hood.
{
pythonPackages, stdenv
}:
{ # URL to fetch.
url ? ""
, # Additional curl options needed for the download to succeed.
curlOpts ? ""
, # Name of the file. If empty, use the basename of `url' (or of the
# first element of `urls').
name ? ""
# Different ways of specifying the hash.
, outputHash ? ""
, outputHashAlgo ? ""
, md5 ? ""
, sha1 ? ""
, sha256 ? ""
, # Meta information, if any.
meta ? {}
# Headers to set, if any.
, headers ? {}
}:
let
inherit (stdenv.lib) flip mapAttrs' nameValuePair;
hasHash = (outputHash != "" && outputHashAlgo != "")
|| md5 != "" || sha1 != "" || sha256 != "";
# Create an attribute set translating each header name and value into
# the header name prefixed with __HTTP_HEADER. When the derivation is
# evaluated, the script will pick up these environment variables and use
# them to produce the actual headers.
headerValues = flip mapAttrs' headers (headerName: headerValue:
nameValuePair "__HTTP_HEADER_${headerName}" headerValue);
in
if !hasHash
then throw "You must specify the output hash for ${url}"
else
stdenv.mkDerivation ({
inherit url;
name = if name != "" then name else baseNameOf (toString url);
outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else
if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5";
outputHash = if outputHash != "" then outputHash else
if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
# Only flat hashing, which is the normal mode if you're fetching a file.
outputHashMode = "flat";
# Doing the download on a remote machine just duplicates network
# traffic, so don't do that.
preferLocalBuild = true;
headerNames = builtins.attrNames headers;
buildInputs = with pythonPackages; [python requests2];
buildCommand = ''
python ${./fetch.py}
'';
} // headerValues)

View File

@ -1,16 +0,0 @@
# Parses the `NPM_AUTH_TOKENS` environment variable to discover
# namespace-token associations and turn them into an attribute set
# which we can use as an input to the fetchPrivateNpm function.
{pkgs, joinSets}:
let
inherit (pkgs.lib) flip length elemAt;
npmAuthTokens = builtins.getEnv "NPM_AUTH_TOKENS";
in
# Split the variable on ':', then turn each k=v element in
# the list into an attribute set and join all of those sets.
joinSets (
flip map (split ":" npmAuthTokens) (kvPair:
if length (split "=" kvPair) != 2 then {}
else {"${elemAt kvPair 0}" = elemAt kvPair 1;}))

View File

@ -1,46 +0,0 @@
// These packages come packaged with nodejs.
var fs = require('fs');
var url = require('url');
function versionSpecIsImpure(versionSpec) {
// Returns true if a version spec is impure.
return (versionSpec == "latest" || versionSpec == "unstable" ||
// file path references
versionSpec.substr(0, 2) == ".." ||
versionSpec.substr(0, 2) == "./" ||
versionSpec.substr(0, 2) == "~/" ||
versionSpec.substr(0, 1) == '/' ||
// github owner/repo references
/^[^/]+\/[^/]+(#.*)?$/.test(versionSpec) ||
// is a URL
url.parse(versionSpec).protocol);
}
// Load up the package object.
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
// Purify dependencies.
var depTypes = ['dependencies', 'devDependencies', 'optionalDependencies'];
for (var i in depTypes) {
var depType = depTypes[i];
var depSet = packageObj[depType];
if (depSet !== undefined) {
for (var depName in depSet) {
if (versionSpecIsImpure(depSet[depName])) {
depSet[depName] = '*';
}
}
}
}
/* Remove peer dependencies */
if (process.env.removePeerDependencies && packageObj.peerDependencies) {
console.log("WARNING: removing the following peer dependencies:");
for (key in packageObj.peerDependencies) {
console.log(" " + key + ": " + packageObj.peerDependencies[key]);
}
delete packageObj.peerDependencies;
}
/* Write the fixed JSON file */
fs.writeFileSync("package.json", JSON.stringify(packageObj));

View File

@ -1,14 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "asn1";
version = "0.2.3";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
};
deps = [];
meta = {
homepage = "https://github.com/mcavage/node-asn1";
description = "Contains parsers and serializers for ASN.1 (currently BER only)";
};
}

View File

@ -1 +0,0 @@
0.2.3.nix

View File

@ -1,14 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "assert-plus";
version = "0.1.5";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
sha1 = "ee74009413002d84cec7219c6ac811812e723160";
};
deps = [];
devDependencies = [];
meta = {
description = "Extra assertions on top of node's assert module";
};
}

View File

@ -1 +0,0 @@
0.1.5.nix

View File

@ -1,21 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "backoff";
version = "2.4.1";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/backoff/-/backoff-2.4.1.tgz";
sha1 = "2f68c50e0dd789dbefe24200a62efb04d2456d68";
};
deps = with nodePackages; [
precond_0-2-3
];
meta = {
description = "Fibonacci and exponential backoffs.";
keywords = [
"backoff"
"retry"
"fibonacci"
"exponential"
];
};
}

View File

@ -1 +0,0 @@
2.4.1.nix

View File

@ -1,30 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "bunyan";
version = "1.5.1";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/bunyan/-/bunyan-1.5.1.tgz";
sha1 = "5f6e7d44c43b952f56b0f41309e3ab12391b4e2d";
};
deps = with nodePackages; [
dtrace-provider_0-6-0
safe-json-stringify_1-0-3
mv_2-0-3
];
optionalDependencies = with nodePackages; [
dtrace-provider_0-6-0
safe-json-stringify_1-0-3
mv_2-0-3
];
meta = {
homepage = "https://github.com/trentm/node-bunyan";
description = "a JSON logging library for node.js services";
keywords = [
"log"
"logging"
"log4j"
"json"
"bunyan"
];
};
}

View File

@ -1 +0,0 @@
1.5.1.nix

View File

@ -1,24 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "dashdash";
version = "1.10.1";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/dashdash/-/dashdash-1.10.1.tgz";
sha1 = "0abf1af89a8f5129a81f18c2b35b21df22622f60";
};
deps = with nodePackages; [
assert-plus_0-1-5
];
meta = {
homepage = "https://github.com/trentm/node-dashdash";
description = "A light, featureful and explicit option parsing library.";
keywords = [
"option"
"parser"
"parsing"
"cli"
"command"
"args"
];
};
}

View File

@ -1 +0,0 @@
1.10.1.nix

View File

@ -1,17 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "dtrace-provider";
version = "0.6.0";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz";
sha1 = "0b078d5517937d873101452d9146737557b75e51";
};
deps = with nodePackages; [
nan_2-1-0
];
meta = {
homepage = "https://github.com/chrisa/node-dtrace-provider#readme";
description = "Native DTrace providers for node.js applications";
keywords = [ "dtrace" ];
};
}

View File

@ -1 +0,0 @@
0.6.0.nix

View File

@ -1,15 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "extsprintf";
version = "1.2.0";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz";
sha1 = "5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529";
};
deps = [];
devDependencies = [];
meta = {
homepage = "https://github.com/davepacheco/node-extsprintf";
description = "extended POSIX-style sprintf";
};
}

View File

@ -1 +0,0 @@
1.2.0.nix

View File

@ -1,16 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "ldap-filter";
version = "0.2.2";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/ldap-filter/-/ldap-filter-0.2.2.tgz";
sha1 = "f2b842be0b86da3352798505b31ebcae590d77d0";
};
deps = with nodePackages; [
assert-plus_0-1-5
];
meta = {
homepage = "http://ldapjs.org";
description = "API for handling LDAP-style filters";
};
}

View File

@ -1 +0,0 @@
0.2.2.nix

View File

@ -1,28 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "ldapjs";
version = "1.0.0";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/ldapjs/-/ldapjs-1.0.0.tgz";
sha1 = "1da2cd5bfb9cb103c1ba516938da971bc2bbc3f2";
};
deps = with nodePackages; [
ldap-filter_0-2-2
asn1_0-2-3
bunyan_1-5-1
once_1-3-2
vasync_1-6-3
dtrace-provider_0-6-0
backoff_2-4-1
assert-plus_0-1-5
verror_1-6-0
dashdash_1-10-1
];
optionalDependencies = with nodePackages; [
dtrace-provider_0-6-0
];
meta = {
homepage = "http://ldapjs.org";
description = "LDAP client and server APIs";
};
}

View File

@ -1 +0,0 @@
1.0.0.nix

View File

@ -1,20 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "minimist";
version = "0.0.8";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
};
deps = [];
meta = {
homepage = "https://github.com/substack/minimist";
description = "parse argument options";
keywords = [
"argv"
"getopt"
"parser"
"optimist"
];
};
}

View File

@ -1 +0,0 @@
0.0.8.nix

View File

@ -1,20 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "mkdirp";
version = "0.5.1";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
};
deps = with nodePackages; [
minimist_0-0-8
];
meta = {
homepage = "https://github.com/substack/node-mkdirp#readme";
description = "Recursively mkdir, like `mkdir -p`";
keywords = [
"mkdir"
"directory"
];
};
}

View File

@ -1 +0,0 @@
0.5.1.nix

View File

@ -1,26 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "mv";
version = "2.0.3";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/mv/-/mv-2.0.3.tgz";
sha1 = "e9ab707d71dc38de24edcc637a8e2f5f480c7f32";
};
deps = with nodePackages; [
ncp_0-6-0
mkdirp_0-5-1
rimraf_2-2-8
];
meta = {
homepage = "https://github.com/andrewrk/node-mv";
description = "fs.rename but works across devices. same as the unix utility 'mv'";
keywords = [
"mv"
"move"
"rename"
"device"
"recursive"
"folder"
];
};
}

View File

@ -1 +0,0 @@
2.0.3.nix

View File

@ -1,14 +0,0 @@
{ buildNodePackage, nodePackages, pkgs }:
buildNodePackage {
name = "nan";
version = "2.1.0";
src = pkgs.fetchurl {
url = "http://registry.npmjs.org/nan/-/nan-2.1.0.tgz";
sha1 = "020a7ccedc63fdee85f85967d5607849e74abbe8";
};
deps = [];
meta = {
homepage = "https://github.com/nodejs/nan#readme";
description = "Native Abstractions for Node.js: C++ header for Node 0.8 -> 4 compatibility";
};
}

View File

@ -1 +0,0 @@
2.1.0.nix

Some files were not shown because too many files have changed in this diff Show More