Forgot, the segfault is probably due to the version of tcl/tk I have running on OpenBSD. On Linux I get the following exception:
key "forbidden" not known in dictionary
key "forbidden" not known in dictionary
while executing
"dict get $xmppShort $errcode"
(procedure "GetErrorStr" line 64)
invoked from within
"GetErrorStr $errcode $errmsg"
(procedure "HandleErrorCode" line 11)
invoked from within
"HandleErrorCode $errcode $errmsg"
(procedure "HighFinal" line 24)
invoked from within
"HighFinal $token $jlibname $status $errcode $errmsg"
(procedure "::Login::HighLoginCB" line 11)
invoked from within
"::Login::HighLoginCB ::Login::high3 ::jlib::jlib1 error forbidden {Username or password not correct.}"
("uplevel" body line 1)
invoked from within
"uplevel #0 $state(-command) [list $jlibname $status $errcode $errmsg]"
(procedure "finish" line 49)
invoked from within
"finish $jlibname $errcode $errmsg"
(procedure "auth_cb" line 10)
invoked from within
"auth_cb ::jlib::jlib1 error {forbidden {Username or password not correct.}}"
(in namespace inscope "::jlib::connect" script line 1)
invoked from within
"::namespace inscope ::jlib::connect auth_cb ::jlib::jlib1 error {forbidden {Username or password not correct.}}"
("uplevel" body line 1)
invoked from within
"uplevel #0 $cmd [list $jlibname $type $subiq]"
(procedure "::jlib::invoke_iq_callback" line 5)
invoked from within
"::jlib::invoke_iq_callback ::jlib::jlib1 {::namespace inscope ::jlib::connect auth_cb} error {forbidden {Username or password not correct.}}"
("uplevel" body line 1)
invoked from within
"uplevel #0 $iqcmd($id) [list error $errspec]"
(procedure "iq_handler" line 83)
invoked from within
"iq_handler $jlibname $xmldata"
(procedure "::jlib::dispatcher" line 9)
invoked from within
"::jlib::dispatcher ::jlib::jlib1 {iq {id 1038 type error} 0 {} {{query {xmlns jabber:iq:auth} 0 {} {{username {} 0 You {}} {resource {} 0 Coccinella@s..."
("uplevel" body line 1)
invoked from within
"uplevel #0 $wrapper($id,parsecmd) [list $wrapper($id,tree,2)]"
(procedure "::wrapper::elementend" line 41)
invoked from within
"::wrapper::elementend wrap1 iq -namespace urn:ietf:params:xml:ns:xmpp-stanzas"
("uplevel" body line 1)
invoked from within
"uplevel #0 $options(-elementendcommand) [list $tag] $empty $ns"
invoked from within
"ParseEvent:ElementClose $tag [array get options]"
invoked from within
"::sgml::parseEvent {{} {} {} {} iq {} { type="error" id="1038"} {} query {} { xmlns="jabber:iq:auth"} {} username {} {} You username / {} {} resource ..."
("eval" body line 1)
invoked from within
"eval ::sgml::parseEvent [list $tokenised] $parseOptions"
(procedure "parse" line 60)
invoked from within
"parse xmlparser2 {<iq type="error" id="1038"><query xmlns="jabber:iq:auth"><username>You</username><resource>Coccinella@sre</resource><password/></que..."
(in namespace inscope "::xml::tclparser" script line 1)
invoked from within
"::namespace inscope ::xml::tclparser parse xmlparser2 {<iq type="error" id="1038"><query xmlns="jabber:iq:auth"><username>You</username><resource>Cocc..."
("eval" body line 1)
invoked from within
"eval $classinfo(-parsecommand) [list $name] $args"
(procedure "::xml::ParserCmd" line 46)
invoked from within
"::xml::ParserCmd xmlparser2 parse {<iq type="error" id="1038"><query xmlns="jabber:iq:auth"><username>You</username><resource>Coccinella@sre</resource..."
("eval" body line 1)
invoked from within
"eval ::xml::ParserCmd xmlparser2 [list $method] $args"
(procedure "xmlparser2" line 1)
invoked from within
"$p parse $xml"
(procedure "parsereentrant" line 10)
invoked from within
"parsereentrant $id $xml"
(procedure "wrapper::parse" line 6)
invoked from within
"wrapper::parse $lib(wrap) $data"
(procedure "::jlib::recvsocket" line 24)
invoked from within
"::jlib::recvsocket ::jlib::jlib1"
However, adding the forbidden error message mentioned above, to the dictionary xmppShort, would make the segfault and exception go away...
Forgot, the segfault is probably due to the version of tcl/tk I have running on OpenBSD. On Linux I get the following exception:
key "forbidden" not known in dictionary :HighLoginCB" line 11) :HighLoginCB ::Login::high3 ::jlib::jlib1 error forbidden {Username or password not correct.}" :invoke_ iq_callback" line 5) :invoke_ iq_callback ::jlib::jlib1 {::namespace inscope ::jlib::connect auth_cb} error {forbidden {Username or password not correct.}}" :dispatcher" line 9) iq:auth} 0 {} {{username {} 0 You {}} {resource {} 0 Coccinella@s..." $id,parsecmd) [list $wrapper( $id,tree, 2)]" :elementend" line 41) :elementend wrap1 iq -namespace urn:ietf: params: xml:ns: xmpp-stanzas" -elementendcomm and) [list $tag] $empty $ns" ElementClose $tag [array get options]" iq:auth"} {} username {} {} You username / {} {} resource ..." iq:auth"><username> You</username> <resource> Coccinella@ sre</resource> <password/ ></que. .." iq:auth"><username> You</username> <resource> Cocc... " -parsecommand) [list $name] $args" iq:auth"><username> You</username> <resource> Coccinella@ sre</resource. .." :recvsocket" line 24)
key "forbidden" not known in dictionary
while executing
"dict get $xmppShort $errcode"
(procedure "GetErrorStr" line 64)
invoked from within
"GetErrorStr $errcode $errmsg"
(procedure "HandleErrorCode" line 11)
invoked from within
"HandleErrorCode $errcode $errmsg"
(procedure "HighFinal" line 24)
invoked from within
"HighFinal $token $jlibname $status $errcode $errmsg"
(procedure "::Login:
invoked from within
"::Login:
("uplevel" body line 1)
invoked from within
"uplevel #0 $state(-command) [list $jlibname $status $errcode $errmsg]"
(procedure "finish" line 49)
invoked from within
"finish $jlibname $errcode $errmsg"
(procedure "auth_cb" line 10)
invoked from within
"auth_cb ::jlib::jlib1 error {forbidden {Username or password not correct.}}"
(in namespace inscope "::jlib::connect" script line 1)
invoked from within
"::namespace inscope ::jlib::connect auth_cb ::jlib::jlib1 error {forbidden {Username or password not correct.}}"
("uplevel" body line 1)
invoked from within
"uplevel #0 $cmd [list $jlibname $type $subiq]"
(procedure "::jlib:
invoked from within
"::jlib:
("uplevel" body line 1)
invoked from within
"uplevel #0 $iqcmd($id) [list error $errspec]"
(procedure "iq_handler" line 83)
invoked from within
"iq_handler $jlibname $xmldata"
(procedure "::jlib:
invoked from within
"::jlib::dispatcher ::jlib::jlib1 {iq {id 1038 type error} 0 {} {{query {xmlns jabber:
("uplevel" body line 1)
invoked from within
"uplevel #0 $wrapper(
(procedure "::wrapper:
invoked from within
"::wrapper:
("uplevel" body line 1)
invoked from within
"uplevel #0 $options(
invoked from within
"ParseEvent:
invoked from within
"::sgml::parseEvent {{} {} {} {} iq {} { type="error" id="1038"} {} query {} { xmlns="jabber:
("eval" body line 1)
invoked from within
"eval ::sgml::parseEvent [list $tokenised] $parseOptions"
(procedure "parse" line 60)
invoked from within
"parse xmlparser2 {<iq type="error" id="1038"><query xmlns="jabber:
(in namespace inscope "::xml::tclparser" script line 1)
invoked from within
"::namespace inscope ::xml::tclparser parse xmlparser2 {<iq type="error" id="1038"><query xmlns="jabber:
("eval" body line 1)
invoked from within
"eval $classinfo(
(procedure "::xml::ParserCmd" line 46)
invoked from within
"::xml::ParserCmd xmlparser2 parse {<iq type="error" id="1038"><query xmlns="jabber:
("eval" body line 1)
invoked from within
"eval ::xml::ParserCmd xmlparser2 [list $method] $args"
(procedure "xmlparser2" line 1)
invoked from within
"$p parse $xml"
(procedure "parsereentrant" line 10)
invoked from within
"parsereentrant $id $xml"
(procedure "wrapper::parse" line 6)
invoked from within
"wrapper::parse $lib(wrap) $data"
(procedure "::jlib:
invoked from within
"::jlib::recvsocket ::jlib::jlib1"
However, adding the forbidden error message mentioned above, to the dictionary xmppShort, would make the segfault and exception go away...