%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/net/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/net/dns.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@50 How many seconds to wait when doing DNS queries.
(defvar dns-timeout 5 (#$ . 408))
#@88 List of DNS servers to query.
If nil, /etc/resolv.conf and nslookup will be consulted.
(defvar dns-servers nil (#$ . 497))
#@248 The return value of `network-interface-list' when `dns-servers' was set.
If the set of network interfaces and/or their IP addresses
change, then presumably the list of DNS servers needs to be
updated.  Set this variable to t to disable the check.
(defvar dns-servers-valid-for-interfaces nil (#$ . 627))
#@40 Names of query types and their values.
(defvar dns-query-types '((A 1) (NS 2) (MD 3) (MF 4) (CNAME 5) (SOA 6) (MB 7) (MG 8) (MR 9) (NULL 10) (WKS 11) (PTR 12) (HINFO 13) (MINFO 14) (MX 15) (TXT 16) (AAAA 28) (SRV 33) (AXFR 252) (MAILB 253) (MAILA 254) (* 255)) (#$ . 937))
#@21 Classes of queries.
(defvar dns-classes '((IN 1) (CS 2) (CH 3) (HS 4)) (#$ . 1216))
(defalias 'dns-write-bytes #[(value &optional length) "\306	\206\307\310\nW\203!\f\311\246B\f\311\245\nT\211\202*\306\211\n\205<\n@\211c\210\nA\211\n\204+\306+\207" [bytes length i --dotimes-limit-- value byte nil 1 0 256 --dolist-tail--] 3])
(defalias 'dns-read-bytes #[(length) "\304	\304\nW\203\305\306_g\"\307u\210\nT\211\202*)\207" [value length i --dotimes-limit-- 0 logior 256 1] 4])
(defalias 'dns-get #[(type spec) "	\236A@\207" [type spec] 2])
(defalias 'dns-inverse-get #[(value spec) "\303\204#	\203#\n	@A@=\203	@@\211\202	\211A\210\202)\207" [found spec value nil] 3])
(defalias 'dns-write-name #[(name) "\303\304\"\305\211\203\n@\306	G!\210	c\210\nA\211\204*\306\307!\207" [name part --dolist-tail-- split-string "\\." nil dns-write-bytes 0] 4])
(defalias 'dns-read-string-name #[(string buffer) "\303\304!rq\210\305\216\306\307!\210	c\210eb\210\310\n!+\207" [#1=#:temp-buffer string buffer generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] set-buffer-multibyte nil dns-read-name] 2])
(defalias 'dns-read-name #[(&optional buffer) "\305\211\211\n\204Q\306\307!\310\311\312\313\"\"\314U\2039\310\315\"\316_\306\307!\\\212\f\203-\fq\210Tb\210\317\f!*\202\320U\203E\321\211\202`u\210`{	B\202\n;\203j	\204^\n\202p\322\323	\237\324#\324\nQ\202p\322\323	\237\324#+\207" [length name ended offset buffer nil dns-read-bytes 1 logand ash 3 6 192 63 256 dns-read-name 0 t mapconcat identity "."] 6])
#@110 Write a DNS packet according to SPEC.
If TCP-P, the first two bytes of the package with be the length field.
(defalias 'dns-write #[(spec &optional tcp-p) "\306\307!rq\210\310\216\311\312!\210\313\314\315	\"\316\"\210\313\317\320\314\321	\"\203$\322\202%\323\324\"\320\314\325	\"\302=\2035\323\202V\314\325	\"\326=\203B\322\202V\314\325	\"\327=\203O\316\202V\330\331\314\325	\"\"\332\"\320\314\333	\"\203d\322\202e\323\316\"\320\314\334	\"\203s\322\202t\323\322\"\320\314\335	\"\203\202\322\202\203\323\323\"%!\210\313\314\336	\"\337=\203\226\323\202\330\314\336	\"\340=\203\243\322\202\330\314\336	\"\341=\203\260\316\202\330\314\336	\"\342=\203\275\332\202\330\314\336	\"\343=\203\312\344\202\330\314\336	\"\345=\203\327\346\202\330\323!\210\313\314\347	\"G\316\"\210\313\314\350	\"G\316\"\210\313\314\351	\"G\316\"\210\313\314\352	\"G\316\"\210\314\347	\"\312\211\2038@\353\n@!\210\313\314\354\n\"\206\355\f\236A@\316\"\210\313\314\356\n\"\206*\357
\236A@\316\"\210A\211\204	*\360\3125\211\203\240@5\3145	\"\3126\211\203\230@6\3536@!\210\313\314\3546\"\f\236A@\316\"\210\313\314\3566\"
\236A@\316\"\210\313\314\3616\"\344\"\210\313\314\3626\"G\316\"\210\314\3626\"c\210A\211\204S*A\211\204B*7\203\257eb\210\313\363 \316\"\210\364 +\207" [#1=#:temp-buffer spec query --dolist-tail-- dns-query-types dns-classes generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] set-buffer-multibyte nil dns-write-bytes dns-get id 2 logior ash response-p 1 0 7 opcode inverse-query status error "No such opcode: %s" 3 authoritative-p truncated-p recursion-desired-p response-code no-error format-error server-failure name-error not-implemented 4 refused 5 queries answers authorities additionals dns-write-name type A class IN (answers authorities additionals) ttl data buffer-size buffer-string slot resource tcp-p] 11 (#$ . 2841)])
(defalias 'dns-read #[(packet) "\306\307!rq\210\310\216\311\312!\210\312\211\211\211\2110c\210eb\210\313\314\315!D
B\314\316!1\317\3201\321\316\322\"\"\323U?\205<\324D
B\3201\321\322\325\"\"\326\327\267\202^\330\202_\331\202_\332\202_\312D
B)\333\3201\321\316\315\"\"\323U?\205t\324D
B\334\3201\321\316\315\"\"\323U?\205\210\324D
B\335\3201\321\316\323\"\"\323U?\205\234\324D
B)\320\314\316!\336\"2\3372\340\267\202\311\341\202\312\342\202\312\343\202\312\344\202\312\345\202\312\346\202\312\312D
B)\314\315!\314\315!\314\315!\314\315!\3123\f\3234545W\203\347 \350\351\314\315!6\"D\352\351\314\315!7\"DE3B34T\2114\202\352*\3043D
B)\353\3128\2119\203\2239@8\312\211(38J\3234545W\203\200\347 \350\351\314\315!6\"\211(D\352\351\314\315!7\"D\354\314\355!D\314\315!:\356\357`:u\210`{(\")D\2573B34T\2114\202;*83D
B*9A\2119\204&*
\237.\207" [#1=#:temp-buffer additionals authorities answers queries spec generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] set-buffer-multibyte nil id dns-read-bytes 2 1 response-p logand ash 7 0 t 3 opcode #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 82 1 86 2 90)) query inverse-query status authoritative-p truncated-p recursion-desired-p 15 response-code #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 177 1 181 2 185 3 189 4 193 5 197)) no-error format-error server-failure name-error not-implemented refused dns-read-name type dns-inverse-get class (answers authorities additionals) ttl 4 data dns-read-type packet byte rc qs i --dotimes-limit-- dns-query-types dns-classes slot --dolist-tail-- length] 9])
(defalias 'dns-read-int32 #[nil "\300\301\302\303!\304_\302\305!\\\"\207" [format "%.0f" dns-read-bytes 1 16777216.0 3] 5])
(defalias 'dns-read-type #[(string type) "p`\306\307!r\nq\210\310\216\311\312!\210c\210eb\210\f\313\267\202\273\312\314\315()()W\203=\316\317!
B(T\211(\202(*\320\321
\237\322#)\202\325\312*\323\315()()W\203j\316\324!*B*(T\211(\202S*\320\325*\237\326#)\202\325\327\330	!D\331\330	!D\332\333 D\334\333 D\335\333 D\336\333 D\337\333 D\257\202\325\340\316\324!D\341\316\324!D\342\316\324!D\343\330	!DF\202\325\316\324!\330	!B\202\325\f\344=\204\315\f\345=\204\315\f\346=\203\324\347	\"\202\325+b\210*\207" [point buffer #1=#:temp-buffer string type bytes generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] set-buffer-multibyte nil #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (A 30 AAAA 72 SOA 118 SRV 153 MX 177)) 4 0 dns-read-bytes 1 mapconcat number-to-string "." 8 2 #[(n) "\301\302\"\207" [n format "%x"] 3] ":" mname dns-read-name rname serial dns-read-int32 refresh retry expire minimum priority weight port target CNAME NS PTR dns-read-string-name i --dotimes-limit-- hextets] 9])
#@61 Return false if we need to recheck the list of DNS servers.
(defalias 'dns-servers-up-to-date-p #[nil "\205	\302=\206\303\304!?\206	\304 \232\207" [dns-servers dns-servers-valid-for-interfaces t fboundp network-interface-list] 2 (#$ . 7765)])
#@117 Set `dns-servers' to a list of DNS servers or nil if none are found.
Parses "/etc/resolv.conf" or calls "nslookup".
(defalias 'dns-set-servers #[nil "\304\305!\2032\306\307\310!r	q\210\311\216\312\305!\210eb\210\313\314\306\315#\203*\316\317!B\202\237\211+\204Y\320\321!\203Y\307\310!r\nq\210\322\216\323\321\306\315\306\324%\210eb\210\313\325\306\315#\210\316\317!C+\326\327!\205c\327 \211\207" [dns-servers #1=#:temp-buffer #2=#:temp-buffer dns-servers-valid-for-interfaces file-exists-p "/etc/resolv.conf" nil generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] insert-file-contents re-search-forward "^nameserver[	 ]+\\([^ 	\n]+\\)" t match-string 1 executable-find "nslookup" #[nil "\301!\205	\302!\207" [#2# buffer-name kill-buffer] 2] call-process "localhost" "^Address:[ 	]*\\([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)" fboundp network-interface-list] 6 (#$ . 8022)])
(defalias 'dns-read-txt #[(string) "G\301V\203\f\302\301\"\207\207" [string 1 substring] 3])
(defalias 'dns-get-txt-answer #[(answers) "\306\307\n\307\211\203Q\f@\211\307\211\203I\f@\211:\203B
@\310=\203/
A@\311=\202B
@\312=\203B\203B	\313
A@!P\fA\211\204*\fA\211\204\f*	*\207" [do-next result answers answer --dolist-tail-- elem "" nil type TXT data dns-read-txt] 4])
(defalias 'dns-make-network-process '(macro . #[(server) "\301\300D\302B\303BB\207" [server let ((coding-system-for-read 'binary) (coding-system-for-write 'binary)) ((if (fboundp 'make-network-process) (make-network-process :name "dns" :coding 'binary :buffer (current-buffer) :host server :service "domain" :type 'datagram) (open-network-stream "dns" (current-buffer) server "domain")))] 3]))
(defvar dns-cache (make-vector 4096 0))
(defalias 'dns-query-cached #[(name &optional type fullp reversep) "\306\307	\n%\310\f
\"\211\f\203\311\f!\203\fJ\2022\312	\n$
\313\f
\"
L\210
)*\207" [name type fullp reversep key dns-cache format "%s:%s:%s:%s" intern-soft boundp dns-query intern sym result] 7])
#@119 Query a DNS server for NAME of TYPE.
If FULLP, return the entire record returned.
If REVERSEP, look up an IP address.
(defalias 'dns-query #[(name &optional type fullp reversep) "\206\306\307 \204\310 \210	\203 \311\312\313\n\314\"\237\315#\316P\317\204(\320\321!\207\322\323!r\fq\210\324\216\325\326!\210\3271h@\330\211?@\331\332!\203\\\332\333\334\335\330\336p\337@\340\341\342\343&\f\202c\344\334p@\341$+0\202p\210\320\345@\"\210\326\346A\347_\350\351!,BC\211D\205\352D\353\354,D\355\356\n\300DDCD\357BBB!\"\210\360 \361U\203\307B\361V\203\307C\362\245E\363E!\210\364DE\"\210)BCZB\202\234\3651\323\366D!0\202\327\210\202\330\210\360 \367Y\205B\361V\205\370\371 !FG\203\366F\202\372\373F\"@H\372\300H\"=\205\374=\203\375\372\373F\"!\202\372\376H\")).\207" [type reversep name dns-servers #1=#:temp-buffer coding-system-for-write A dns-servers-up-to-date-p dns-set-servers mapconcat identity split-string "\\." "." ".in-addr.arpa" PTR message "No DNS server configuration found" generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] set-buffer-multibyte nil (error) binary fboundp make-network-process :name "dns" :coding :buffer :host :service "domain" :type datagram open-network-stream "dns: Got an error while trying to talk to %s" 100 1000 random 65000 process-send-string dns-write id (opcode query) queries ((recursion-desired-p t)) buffer-size 0 1000.0 sit-for accept-process-output (error) delete-process 2 dns-read buffer-string dns-get answers TXT dns-get-txt-answer data coding-system-for-read server dns-timeout times step process step-sec result fullp answer] 14 (#$ . 10072)])
(provide 'dns)

Zerion Mini Shell 1.0