%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.1 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'cl-lib) (defvar nsm-permanent-host-settings nil) (defvar nsm-temporary-host-settings nil) (byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\304\305\306\301\314\315& \210\310\316\317\320\304\305\306\301\314\321& \210\310\322\302\323\304\305\306\301\314\324& \207" [custom-declare-group nsm nil "Network Security Manager" :version "25.1" :group comm custom-declare-variable network-security-level 'medium "How secure the network should be.\nIf a potential problem with the security of the network\nconnection is found, the user is asked to give input into how the\nconnection should be handled.\n\nThe following values are possible:\n\n`low': Absolutely no checks are performed.\n`medium': This is the default level, should be reasonable for most usage.\n`high': This warns about additional things that many people would\nnot find useful.\n`paranoid': On this level, the user is queried for most new connections.\n\nSee the Emacs manual for a description of all things that are\nchecked and warned against." :type (choice (const :tag "Low" low) (const :tag "Medium" medium) (const :tag "High" high) (const :tag "Paranoid" paranoid)) nsm-settings-file (expand-file-name "network-security.data" user-emacs-directory) "The file the security manager settings will be stored in." file nsm-save-host-names "If non-nil, always save host names in the structures in `nsm-settings-file'.\nBy default, only hosts that have exceptions have their names\nstored in plain text." boolean] 10) #@116 If non-nil, the connection is opened in a non-interactive context. This means that no queries should be performed. (defvar nsm-noninteractive nil (#$ . 1913)) #@713 Verify the security status of PROCESS that's connected to HOST:PORT. If PROCESS is a gnutls connection, the certificate validity will be examined. If it's a non-TLS connection, it may be compared against previous connections. If the function determines that there is something odd about the connection, the user will be queried about what to do about it. The process is returned if everything is OK, and otherwise, the process will be deleted and nil is returned. If SAVE-FINGERPRINT, always save the fingerprint of the server (if the connection is a TLS connection). This is useful to keep track of the TLS status of STARTTLS servers. If WARN-UNENCRYPTED, query the user if the connection is unencrypted. (defalias 'nsm-verify-connection #[(process host port &optional save-fingerprint warn-unencrypted) "\306=\203 \207\307 !\310\f\"\311 !\312 !\204 \313\202R \n\2040 \314 \f%\202R \315 \f\n%\211\203P \203P \311 !\204P \316\f\n\317\320%\210 )+\207" [network-security-level process status host port id low gnutls-peer-status nsm-id nsm-host-settings process-live-p nil nsm-check-plain-connection nsm-check-tls-connection nsm-save-host fingerprint always settings warn-unencrypted save-fingerprint] 7 (#$ . 2079)]) (defalias 'nsm-check-tls-connection #[(process host port status settings) "\306 \n\f%\211\203 \307 !\307\310!Y\203 \311 \n\f%\202! )\207" [process host port status settings network-security-level nsm-check-certificate nsm-level high nsm-check-protocol] 7]) (defalias 'nsm-check-certificate #[(process host port status settings) "\306\307\"\211\204h \310\n!\310\311!W\203 \202\260 \310\n!\310\311!Y\2033 \312\f $\2043 \313!\210\314\202\260 \n\315=\203N \204N \316\f #\204N \313!\210\314\202\260 \310\n!\310\311!Y\203d \317\f \320\321%\210\202\260 \202\260 \n\322\232?\205\260 \312\f $\204\201 \313!\210\314\202\260 \323\"\204\257 \324\f \325\326\f G\327V\203\234 \330\202\235 \331\332\333 \334#& \204\257 \313!\210\314\202\260 )\207" [status warnings network-security-level process host port plist-get :warnings nsm-level high nsm-fingerprint-ok-p delete-process nil paranoid nsm-new-fingerprint-ok-p nsm-save-host fingerprint always low nsm-warnings-ok-p nsm-query conditions "The TLS connection to %s:%s is insecure for the following reason%s:\n\n%s" 1 "s" "" mapconcat gnutls-peer-status-warning-describe "\n" settings] 14]) (defalias 'nsm-check-protocol #[(process host port status settings) "\306\307\"\306\211\310\"\311\"\312\313\306\314\"\306\315\"\306\316\"$\306\317\"\211\203Q \f\320W\203Q \307\306 \321\">\204Q \322 !\307\323\f !\320& \204Q \324\"!\210\325\202\330 \326\327\n\"\203| \330\306 \321\">\204| \322 !\330\331 !\n&\204| \324\"!\210\325\202\330 \326\332\"\203\247 \333\306 \321\">\204\247 \322 !\333\334 !&\204\247 \324\"!\210\325\202\330 \203\326 \326\335 \"\203\326 \336\306 \321\">\204\326 \322 !\336\337 ! &\204\326 \324\"!\210\325\202\330 \",\207" [status protocol encryption signature-algorithm prime-bits settings plist-get :diffie-hellman-prime-bits :certificate :signature-algorithm format "%s-%s-%s" :key-exchange :cipher :mac :protocol 1024 :conditions nsm-query "The Diffie-Hellman prime bits (%s) used for this connection to %s:%s is less than what is considered safe (%s)." delete-process nil string-match "\\bRC4\\b" :rc4 "The connection to %s:%s uses the RC4 algorithm (%s), which is believed to be unsafe." "\\bSHA1\\b" :signature-sha1 "The certificate used to verify the connection to %s:%s uses the SHA1 algorithm (%s), which is believed to be unsafe." "SSL" :ssl "The connection to %s:%s uses the %s protocol, which is believed to be unsafe." host port process] 11]) (defalias 'nsm-fingerprint #[(status) "\301\211\302\"\303\"\207" [status plist-get :certificate :public-key-id] 4]) (defalias 'nsm-fingerprint-ok-p #[(host port status settings) "\305 \2050 \306 \307\"\310=?\2050 \311\n!\306 \307\"\232?\2050 \312\f\n\313\314\f\306 \307\"\311\n!& \211??\205? \203>