首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asn1rt_ber_bin模块在哪里?

asn1rt_ber_bin模块在哪里?
EN

Stack Overflow用户
提问于 2014-12-31 07:05:10
回答 1查看 180关注 0票数 0

当测试“rabbitmq的ldap”(版本3.4.2)时,rabbitmq的日志显示如下错误:

但是在erlang的文档中,没有这样的"asn1rt_ber_bin“模块。这里有什么问题?

代码语言:javascript
复制
=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}]}]}}

有关守则如下:

代码语言:javascript
复制
%%% 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.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-31 08:50:03

从R15开始它就被移除了。您可以使用R14 Erlang发行版,或者遵循R15自述文件中提供的信息:

OTP-9419的连接驱动程序用于ber解码和per已经被nifs所取代。要启用nifs的使用,在编译时将nif选项传递给erlc或asn1rt:编译。如果您以前使用了链接驱动程序,则必须使用当前版本的ASN1应用程序重新编译您的asn1模块,因为链接到驱动程序模块已经被删除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27717520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档