diff options
author | Rickard Green <[email protected]> | 2018-10-12 17:47:52 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2018-10-12 17:47:52 +0200 |
commit | 13baa4384c4c9c49e6d540bc8ae6b8946f2454ed (patch) | |
tree | f5b598ca5ced0fbc5c8b200d2a8e730ee9ca6d70 /lib/eldap | |
parent | ac243aeb32d3379a51564d4f2312bbb1a00a5271 (diff) | |
parent | d9682b02b81fa6e23e554b6e017650eb89ecebed (diff) | |
download | otp-13baa4384c4c9c49e6d540bc8ae6b8946f2454ed.tar.gz otp-13baa4384c4c9c49e6d540bc8ae6b8946f2454ed.tar.bz2 otp-13baa4384c4c9c49e6d540bc8ae6b8946f2454ed.zip |
Merge branch 'maint-21' into maint
* maint-21:
Updated OTP version
Prepare release
erts: Fix UNC path handling on Windows
erts: Fix a compiler warning
eldap: Fix race at socket close
Fix bug for sockopt pktoptions on BSD
erts: Fix memory leak on file read errors
Diffstat (limited to 'lib/eldap')
-rw-r--r-- | lib/eldap/doc/src/notes.xml | 16 | ||||
-rw-r--r-- | lib/eldap/src/eldap.erl | 15 | ||||
-rw-r--r-- | lib/eldap/vsn.mk | 2 |
3 files changed, 29 insertions, 4 deletions
diff --git a/lib/eldap/doc/src/notes.xml b/lib/eldap/doc/src/notes.xml index 07c2b0a3e8..b390e0c047 100644 --- a/lib/eldap/doc/src/notes.xml +++ b/lib/eldap/doc/src/notes.xml @@ -31,6 +31,22 @@ </header> <p>This document describes the changes made to the Eldap application.</p> +<section><title>Eldap 1.2.6</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + A race condition at close could cause the eldap client to + exit with a badarg message as cause.</p> + <p> + Own Id: OTP-15342 Aux Id: ERIERL-242 </p> + </item> + </list> + </section> + +</section> + <section><title>Eldap 1.2.5</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/eldap/src/eldap.erl b/lib/eldap/src/eldap.erl index 2b84872b92..6497922852 100644 --- a/lib/eldap/src/eldap.erl +++ b/lib/eldap/src/eldap.erl @@ -957,10 +957,19 @@ do_modify_dn_0(Data, Entry, NewRDN, DelOldRDN, NewSup, Controls) -> do_unbind(Data) -> Req = "", log2(Data, "unbind request = ~p (has no reply)~n", [Req]), - send_request(Data#eldap.fd, Data, Data#eldap.id, {unbindRequest, Req}), case Data#eldap.using_tls of - true -> ssl:close(Data#eldap.fd); - false -> gen_tcp:close(Data#eldap.fd) + true -> + send_request(Data#eldap.fd, Data, Data#eldap.id, {unbindRequest, Req}), + ssl:close(Data#eldap.fd); + false -> + OldTrapExit = process_flag(trap_exit, true), + catch send_request(Data#eldap.fd, Data, Data#eldap.id, {unbindRequest, Req}), + catch gen_tcp:close(Data#eldap.fd), + receive + {'EXIT', _From, _Reason} -> ok + after 0 -> ok + end, + process_flag(trap_exit, OldTrapExit) end, {no_reply, Data#eldap{binddn = (#eldap{})#eldap.binddn, passwd = (#eldap{})#eldap.passwd, diff --git a/lib/eldap/vsn.mk b/lib/eldap/vsn.mk index 6e8951aba4..6d541e4689 100644 --- a/lib/eldap/vsn.mk +++ b/lib/eldap/vsn.mk @@ -1 +1 @@ -ELDAP_VSN = 1.2.5 +ELDAP_VSN = 1.2.6 |