Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2010-04-15 19:20:16 +0400
committerBadlop <badlop@process-one.net>2010-07-23 03:23:35 +0400
commitaa791ad0c4d640f111d97e770ddd0c6328472593 (patch)
tree560a140fc3a3caa6c57f92eb60e82845105b575a /src/ejabberd_c2s.erl
parent17fc992ba9881e9db270db333c7e8d8282a19858 (diff)
Support SASL GSSAPI authentication (thanks to Mikael Magnusson)(EJAB-831)
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 010fb177f..01d3c92c1 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -325,9 +325,16 @@ wait_for_stream({xmlstreamstart, #xmlel{ns = NS} = Opening}, StateData) ->
send_header(StateData, Server, "1.0", DefaultLang),
case StateData#state.authenticated of
false ->
+ Realm =
+ case ejabberd_config:get_local_option({sasl_realm, Server}) of
+ undefined ->
+ "";
+ Realm0 ->
+ Realm0
+ end,
SASLState =
cyrsasl:server_new(
- "jabber", Server, "", [],
+ "jabber", Server, Realm, [],
fun(U) ->
ejabberd_auth:get_password_with_authmodule(
U, Server)
@@ -339,8 +346,9 @@ wait_for_stream({xmlstreamstart, #xmlel{ns = NS} = Opening}, StateData) ->
fun(U, P, D, DG) ->
ejabberd_auth:check_password_with_authmodule(
U, Server, P, D, DG)
- end),
- SASL_Mechs = [exmpp_server_sasl:feature(
+ end,
+ StateData#state.socket),
+ Mechs = [exmpp_server_sasl:feature(
cyrsasl:listmech(Server))],
SockMod =
(StateData#state.sockmod):get_sockmod(