;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\3021\300\303!0\210\202\210\300\304!\207" [require cl (error) sasl jabber-xml] 2) (defalias 'jabber-sasl-start-auth #[(jc stream-features) "\306\302\"@\307\310\306 \304\"\"\311\n\235\203$ \204\312\313!\203$\314\315!\202'\314\n!\211\204p\316\317\306\320\"\321\322\323\324&\316\325\306\305\"\321\322\323\324&\211/\203S\3260\327\"\202l \203c\330\331!\210\3260\332\"\202l\330\333!\210\3260\332\"*\202\331\334\3350!\336\"\204\220\337\f!\340\235\203\220\312\341!\204\220\3260\332\"\202\331\3421\343\f\334\3350!\344\"\345\334\3350!\346\"$2\3470\350\"3\3512\342\"4\3520\320\353\304\337\f!BD\3544!\205\316\355\3544!\356\"E\"\210241E,+\207" [stream-features mechanism-elements mechanisms jabber-silent-mode mechanism starttls jabber-xml-get-children mapcar #[(tag) "\211AA\211\303\232?\205\n*@\207" [tag node children ((""))] 3] "ANONYMOUS" yes-or-no-p "Use anonymous authentication? " sasl-find-mechanism ("ANONYMOUS") find "http://jabber.org/features/iq-auth" auth :key jabber-xml-get-xmlns :test string= "urn:ietf:params:xml:ns:xmpp-tls" fsm-send :use-legacy-auth-instead message "STARTTLS encryption required, but disabled/non-functional at our end" :authentication-failure "Authentication failure: no suitable SASL mechanism found" plist-get fsm-get-state-data :encrypted sasl-mechanism-name ("PLAIN" "LOGIN") "Jabber server only allows cleartext password transmission! Continue? " nil sasl-make-client :username "xmpp" :server jabber-sasl-read-passphrase-closure #[(p) "\302!\207" [p passphrase copy-sequence] 2] sasl-next-step jabber-send-sexp (xmlns . "urn:ietf:params:xml:ns:xmpp-sasl") sasl-step-data base64-encode-string t iq-auth jc passphrase client sasl-read-passphrase step] 9]) #@147 Return a lambda function suitable for `sasl-read-passphrase' for JC. Call REMEMBER with the password. REMEMBER is expected to return it as well. (defalias 'jabber-sasl-read-passphrase-closure #[(jc remember) "\306\307!\306\310!\306\311!\211\211\312\313\f!\314\"L\210) \211\315\f!L\210)\211L\210)\nJ\203E\316\317\320\321\322D\323D\323 D\323\nD\324\257E\202X\316\317\320\321\325D\323D\323 D\323\nD\324\257E+\207" [#1=#:--cl-remember-- #2=#:--cl-bare-jid-- #3=#:--cl-password-- #4=#:v jc #5=#:v make-symbol "--password--" "--bare-jid--" "--remember--" plist-get fsm-get-state-data :password jabber-connection-bare-jid lambda (&rest --cl-rest--) apply function #[(#6=#:G66 #7=#:G67 #8=#:G68 prompt) "J\302 J!!\207" [#6# #8# copy-sequence] 3] quote --cl-rest-- #[(#9=#:G69 #10=#:G70 #11=#:G71 prompt) "J\302 J!!\207" [#9# #10# jabber-read-password] 3] #12=#:v remember] 9 (#$ . 1855)]) (defalias 'jabber-sasl-process-input #[(jc xml-data sasl-data) "@A@AA@\306\f\307\"@\310=\203N\311\n\312\211 AA\211!\313\232?\205.!*@!\"\210\314 \n\"\315\f\316\317\320\n!\205H\321\320\n!\322\"E\"\210\202\345@\323=\203\204\324\325\326\f!\211 AA\211!\313\232?\205m!*@\211 <\205y @)#\210\327\f\330\"\210\202\345@\331=\203\345\211 AA\211!\313\232?\205\236!*@\211\"\203\255\312\"!\202\256\332#\311\n#\"\210\3331\321\314 \n\"\210\324\334\326\f!\"\210\327\f\335 B\"0\210\202\344$\324\325\326\f!\336$!#\210\327\f\330\")\210* \n E,\207" [sasl-data client step passphrase jc sasl-read-passphrase jabber-sasl-read-passphrase-closure #[(p) "\302!\207" [p passphrase copy-sequence] 2] challenge sasl-step-set-data base64-decode-string ((#1="")) sasl-next-step jabber-send-sexp response ((xmlns . "urn:ietf:params:xml:ns:xmpp-sasl")) sasl-step-data base64-encode-string t failure message "%s: authentication failure: %s" jabber-connection-bare-jid fsm-send :authentication-failure success #1# (sasl-error) "Authentication succeeded for %s" :authentication-success error-message-string xml-data node children data decoded e] 8]) (provide 'jabber-sasl)