;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311!\"\210\306\312\313\311!\"\210\306\314\312\"\210\315\314\316\317#\210\320\311\321\312#\322\311\323\324\325$\207" [require cl-lib xml sasl eieio rudel-xmpp-state defalias rudel-xmpp-state-sasl-start-p eieio-make-class-predicate rudel-xmpp-state-sasl-start rudel-xmpp-state-sasl-start--eieio-childp eieio-make-child-predicate rudel-xmpp-state-sasl-start-child-p make-obsolete "use (cl-typep ... \\='rudel-xmpp-state-sasl-start) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-xmpp-state) nil (:documentation "Start state of the SASL negotiation.")] 6) #@84 Create a new object of class type `rudel-xmpp-state-sasl-start'. (fn &rest SLOTS) (defalias 'rudel-xmpp-state-sasl-start #[128 "\300\301\302#\207" [apply make-instance rudel-xmpp-state-sasl-start] 5 (#$ . 1090)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-xmpp-state-sasl-start compiler-macro rudel-xmpp-state-sasl-start--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-xmpp-state-sasl-start--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 1452)]) (byte-code "\300\301\302\303\302\304%\210\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\302\323$\207" [cl-generic-define-method rudel-enter nil ((_this rudel-xmpp-state-sasl-start) name server features) #[1028 "\300\301\302\303\304\305&\306\307\310\311\"\"\312F\207" [cl-remove mechanisms :test-not eq :key xml-node-name apply append mapcar #[257 "\211\300\301\"\206\n\302\266\202\206\303\304\305\306\307\310\311!\312\"\313\314%\211AA\262\"\207" [xmlns xml-get-attribute-or-nil "" "urn:ietf:params:xml:ns:xmpp-sasl" mapcar make-byte-code 257 "\300\211AA\262@D\207" vconcat vector [] 4 "\n\n(fn MECHANISM)"] 9 "\n\n(fn MECHANISMS)"] sasl-try-one] 11 "Extract the list of supported mechanisms from FEATURES.\nThen switch to the try one state to try them in order.\n\n(fn THIS NAME SERVER FEATURES)"] defalias rudel-xmpp-state-sasl-try-one-p eieio-make-class-predicate rudel-xmpp-state-sasl-try-one rudel-xmpp-state-sasl-try-one--eieio-childp eieio-make-child-predicate rudel-xmpp-state-sasl-try-one-child-p make-obsolete "use (cl-typep ... \\='rudel-xmpp-state-sasl-try-one) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-xmpp-state) (:documentation "State that selects a mechanism and switches to the mechanism\nstart state for that mechanism.")] 6) #@86 Create a new object of class type `rudel-xmpp-state-sasl-try-one'. (fn &rest SLOTS) (defalias 'rudel-xmpp-state-sasl-try-one #[128 "\300\301\302#\207" [apply make-instance rudel-xmpp-state-sasl-try-one] 5 (#$ . 3072)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-xmpp-state-sasl-try-one compiler-macro rudel-xmpp-state-sasl-try-one--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-xmpp-state-sasl-try-one--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 3444)]) (byte-code "\300\301\302\303\302\304%\210\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\323\324$\207" [cl-generic-define-method rudel-enter nil ((_this rudel-xmpp-state-sasl-try-one) name server mechanisms) #[1028 "\211\2035\211@\211@A\211@A\300C!\211\203'\301   A\257\2020\302   AF\262\266\202\207\303\207" [sasl-find-mechanism sasl-mechanism-start sasl-try-one authentication-failed] 18 "If Emacs support the first mechanism in MECHANISMS, try it, otherwise skip it.\nMechanism are tried by switching to the mechanism start state.\nWhen no mechanisms are left, switch to the authentication failed state.\n\n(fn THIS NAME SERVER MECHANISMS)"] defalias rudel-xmpp-state-sasl-mechanism-start-p eieio-make-class-predicate rudel-xmpp-state-sasl-mechanism-start rudel-xmpp-state-sasl-mechanism-start--eieio-childp eieio-make-child-predicate rudel-xmpp-state-sasl-mechanism-start-child-p make-obsolete "use (cl-typep ... \\='rudel-xmpp-state-sasl-mechanism-start) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-xmpp-state) ((schema :initarg :schema :type string :documentation #1="") (mechanism :initarg :mechanism :type vector :documentation #1#) (rest :initarg :rest :type list :documentation #1#)) (:documentation "Start state of the negotiation for the selected mechanism.")] 6) #@94 Create a new object of class type `rudel-xmpp-state-sasl-mechanism-start'. (fn &rest SLOTS) (defalias 'rudel-xmpp-state-sasl-mechanism-start #[128 "\300\301\302#\207" [apply make-instance rudel-xmpp-state-sasl-mechanism-start] 5 (#$ . 5096)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-xmpp-state-sasl-mechanism-start compiler-macro rudel-xmpp-state-sasl-mechanism-start--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-xmpp-state-sasl-mechanism-start--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 5508)]) (byte-code "\300\301\302\303\302\304%\210\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\323\324$\207" [cl-generic-define-method rudel-enter nil ((this rudel-xmpp-state-sasl-mechanism-start) name1 server1 schema1 mechanism1 rest1) #[1542 "\211\300\301#\266\211\300\302#\266\211\300\303#\266\304\305\302\"\306$\307\310\"\311\305\302\"!\312!\211\205;\313\314\"\315\f\316\317\305\n\301\"B\302BD\205QCBB\"\266\320  \305\301\"\305\n\303\"\257\266\203\207" [eieio-oset schema mechanism rest sasl-make-client slot-value "xmpp" sasl-next-step nil sasl-mechanism-name sasl-step-data base64-encode-string t rudel-send auth xmlns sasl-mechanism-step] 19 "\n\n(fn THIS NAME1 SERVER1 SCHEMA1 MECHANISM1 REST1)"] defalias rudel-xmpp-state-sasl-mechanism-step-p eieio-make-class-predicate rudel-xmpp-state-sasl-mechanism-step rudel-xmpp-state-sasl-mechanism-step--eieio-childp eieio-make-child-predicate rudel-xmpp-state-sasl-mechanism-step-child-p make-obsolete "use (cl-typep ... \\='rudel-xmpp-state-sasl-mechanism-step) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-xmpp-state) ((name :initarg :name :type string :documentation "Username used in SASL authentication mechanism.") (server :initarg :server :type string :documentation "Server name used in SASL authentication mechanism.") (schema :initarg :schema :type string :documentation "Schema URN identifying the SASL mechanism.") (client :initarg :client :type vector :documentation "SASL mechanism data.") (step :initarg :step :type vector :documentation "SASL mechanism state data.") (rest :initarg :rest :type list :documentation "List of remaining mechanisms to try.")) (:documentation "Intermediate step of the negotiation for the selected\nmechanism.")] 6) #@93 Create a new object of class type `rudel-xmpp-state-sasl-mechanism-step'. (fn &rest SLOTS) (defalias 'rudel-xmpp-state-sasl-mechanism-step #[128 "\300\301\302#\207" [apply make-instance rudel-xmpp-state-sasl-mechanism-step] 5 (#$ . 7619)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-xmpp-state-sasl-mechanism-step compiler-macro rudel-xmpp-state-sasl-mechanism-step--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-xmpp-state-sasl-mechanism-step--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 8026)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\207" [cl-generic-define-method rudel-enter nil ((this rudel-xmpp-state-sasl-mechanism-step) name1 server1 schema1 client1 step1 rest1) #[1799 "\211\300\301\n#\266\211\300\302 #\266\211\300\303#\266\211\300\304#\266\211\300\305#\266\211\300\306#\266\307\207" [eieio-oset name server schema client step rest nil] 13 "Store SCHEMA1, CLIENT1, STEP1 and REST1 for later use.\n\n(fn THIS NAME1 SERVER1 SCHEMA1 CLIENT1 STEP1 REST1)"] rudel-accept ((this rudel-xmpp-state-sasl-mechanism-step) xml) #[514 "\211\211@\262\211\301=\203O\211AA\262\242\211\211@\262\211\302=\204#\211\303=\2037\304\305\306\"\305\307\"\305\310\"F\262\202H\304\305\306\"\305\307\"\305\310\"F\262\262\262\202\371\211\311=\203Y\312\202\371\211\313=\203\370\211AA\262\242;\203}\314\211AA\262@!\315\305\316\"\"\266\317\320\321\322\323!\324\"\325\326%\327\305\330\"\305\316\"\"\211\203\342\331!\211\205\244\332\333\"\334\335\336\305\337\"\205\272\340\305 \337\"BCC\205\300C\"B\"\266\341\305\306\"\305\307\"\305\337\"\305\330\"\305\310\"\257\202\360\304\305\306\"\305\307\"\305\310\"F)\262\262\202\371\342\207" [sasl-read-passphrase failure invalid-authzid not-authorized sasl-try-one slot-value name server rest success authenticated challenge base64-decode-string sasl-step-set-data step make-byte-code 257 "\301\300\"\207" vconcat vector [rudel-obtain-sasl-password] 4 "\n\n(fn PROMPT)" sasl-next-step client sasl-step-data base64-encode-string t rudel-send response append schema xmlns sasl-mechanism-step nil] 15 "Interpret XML to decide how to proceed with the authentication mechanism.\n\n(fn THIS XML)"] rudel-obtain-sasl-password ((this rudel-xmpp-state-sasl-mechanism-step) prompt) #[514 "\300\301\302\303\304\"\305\306\307\303\310\"\311\303\n\312\"\257#\207" [rudel-obtain-password xmpp-sasl :host slot-value server :port 5222 :schema schema :username name] 15 "Replaces prompt function of the sasl library.\nThis function adds all available context information to the\npassword request and passes it to `rudel-obtain-password'.\n\n(fn THIS PROMPT)"]] 6) #@41 States used during SASL authentication. (defvar rudel-xmpp-sasl-states '((sasl-start . rudel-xmpp-state-sasl-start) (sasl-try-one . rudel-xmpp-state-sasl-try-one) (sasl-mechanism-start . rudel-xmpp-state-sasl-mechanism-start) (sasl-mechanism-step . rudel-xmpp-state-sasl-mechanism-step)) (#$ . 10503)) (byte-code "\300\301\302\"\210\303\304!\207" [eval-after-load "rudel-xmpp" #[0 "\211\205\211@\211 \235\203 \210\202\211 BA\266\202\202\207" [rudel-xmpp-sasl-states rudel-xmpp-states] 4] provide rudel-xmpp-sasl] 3)