当测试“rabbitmq的ldap”(版本3.4.2)时,rabbitmq的日志显示如下错误:
但是在erlang的文档中,没有这样的"asn1rt_ber_bin“模块。这里有什么问题?
=INFO REPORT==== 31-Dec-2014::13:56:31 ===
LDAP bind error: cn=admin,dc=xxx,dc=xxx {'EXIT',
{undef,
[{asn1rt_ber_bin,
decode_tag,
[<<48,12,2,1,1,97,7,10,1,
0,4,0,4,0>>],
[]},
{eldap,check_tag,1,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,683}]},
{eldap,recv_response,2,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,670}]},
{eldap,exec_simple_bind,1,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,451}]},
{eldap,do_the_simple_bind,
3,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,438}]},
{eldap,loop,2,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,397}]}]}}有关守则如下:
%%% Sanity check of received packet
check_tag(Data) ->
case asn1rt_ber_bin:decode_tag(b2l(Data)) of
{_Tag, Data1, _Rb} ->
case asn1rt_ber_bin:decode_length(b2l(Data1)) of
{{_Len, _Data2}, _Rb2} -> ok;
_ -> throw({error,decoded_tag_length})
end;
_ -> throw({error,decoded_tag})
end.发布于 2014-12-31 08:50:03
从R15开始它就被移除了。您可以使用R14 Erlang发行版,或者遵循R15自述文件中提供的信息:
OTP-9419的连接驱动程序用于ber解码和per已经被nifs所取代。要启用nifs的使用,在编译时将nif选项传递给erlc或asn1rt:编译。如果您以前使用了链接驱动程序,则必须使用当前版本的ASN1应用程序重新编译您的asn1模块,因为链接到驱动程序模块已经被删除。
https://stackoverflow.com/questions/27717520
复制相似问题