Hi, we are using extenal auth to authenticate a virtual domain in our ejabberd server. We pass a big jwt token, basically it has aproximally 1405 characters including special characters and punctuations (-, _, .).
The script is working right, its writes true of false to stdout. But in ejabberd.log we receives some CRASH_REPORT in loop:
2018-03-22 12:25:08.968 [error] <0.740.0> gen_fsm <0.740.0> in state wait_for_feature_request terminated with reason: no match of right hand value {aborted,{badarg,[{crypto,sha_mac_n,[error,<<33,179,5,113,125,144,15,181,91,47,86,31,5,157,85,114,0,0,0,1>>,20],[]},{scram,hi,3,[{file,"src/scram.erl"},{line,73}]},{ejabberd_auth_internal,password_to_scram,2,[{file,"src/ejabberd_auth_internal.erl"},{line,446}]},{ejabberd_auth_internal,'-set_password/3-fun-0-',2,[{file,"src/ejabberd_auth_internal.erl"},{line,142}]},{mnesia_tm,apply_fun,3,[{file,"mnesia_tm.erl"},{line,833}]},{mnesia_tm,execute_transaction,5,[{file,"mnesia_tm.erl"},{line,808}]},...]}} in ejabberd_auth_internal:set_password/3 line 147
2018-03-22 12:25:08.968 [error] <0.740.0> CRASH REPORT Process <0.740.0> with 0 neighbours exited with reason: no match of right hand value {aborted,{badarg,[{crypto,sha_mac_n,[error,<<33,179,5,113,125,144,15,181,91,47,86,31,5,157,85,114,0,0,0,1>>,20],[]},{scram,hi,3,[{file,"src/scram.erl"},{line,73}]},{ejabberd_auth_internal,password_to_scram,2,[{file,"src/ejabberd_auth_internal.erl"},{line,446}]},{ejabberd_auth_internal,'-set_password/3-fun-0-',2,[{file,"src/ejabberd_auth_internal.erl"},{line,142}]},{mnesia_tm,apply_fun,3,[{file,"mnesia_tm.erl"},{line,833}]},{mnesia_tm,execute_transaction,5,[{file,"mnesia_tm.erl"},{line,808}]},...]}} in ejabberd_auth_internal:set_password/3 line 147 in p1_fsm:terminate/8 line 760
Our host_config on ejabberd.yml:
host_config:
"DOMAIN":
auth_method: internal
auth_password_format: scram
"VIRTUAL_DOMAIN":
auth_method: [internal,external]
extauth_program: "python /etc/ejabberd/auth.py"
extauth_instances: 2
extauth_cache: 0
auth_password_format: scram
We tested removing internal auth, but keeping logging the CRASH REPORT in loop. Someone already experienced that? Has ejabberd some limitations on password size or doesnt accept special characteres\ punctuations? Can it be changed in some config file?
Regards,