mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-16 09:50:25 +00:00
* lisp/net/net-utils.el: Small improvements.
(net-utils--executable-find-sbin): New function. (ifconfig-program): Check sbin directories. Fallback to "ip". (Bug#22091) (ifconfig-program-options): Check the actual program in use. (arp-program): Check sbin directories.
This commit is contained in:
parent
15b050eca9
commit
156ad50b91
@ -35,15 +35,19 @@
|
||||
;; * Support connections to HOST/PORT, generally for debugging and the like.
|
||||
;; In other words, for doing much the same thing as "telnet HOST PORT", and
|
||||
;; then typing commands.
|
||||
;;
|
||||
;; PATHS
|
||||
;;
|
||||
;; On some systems, some of these programs are not in normal user path,
|
||||
;; but rather in /sbin, /usr/sbin, and so on.
|
||||
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; On some systems, programs like ifconfig are not in normal user
|
||||
;; path, but rather in /sbin, /usr/sbin, etc (but non-root users can
|
||||
;; still use them for queries). Actually the trend these
|
||||
;; day is for /sbin to be a symlink to /usr/sbin, but we still need to
|
||||
;; search both for older systems.
|
||||
(defun net-utils--executable-find-sbin (command)
|
||||
"Return absolute name of COMMAND if found in an sbin directory."
|
||||
(let ((exec-path '("/sbin" "/usr/sbin" "/usr/local/sbin")))
|
||||
(executable-find command)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Customization Variables
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -85,10 +89,13 @@ These options can be used to limit how many ICMP packets are emitted."
|
||||
(define-obsolete-variable-alias 'ipconfig-program 'ifconfig-program "22.2")
|
||||
|
||||
(defcustom ifconfig-program
|
||||
(if (eq system-type 'windows-nt)
|
||||
"ipconfig"
|
||||
"ifconfig")
|
||||
(cond ((eq system-type 'windows-nt) "ipconfig")
|
||||
((executable-find "ifconfig") "ifconfig")
|
||||
((net-utils--executable-find-sbin "ifconfig"))
|
||||
((net-utils--executable-find-sbin "ip"))
|
||||
(t "ip"))
|
||||
"Program to print network configuration information."
|
||||
:version "25.1" ; add ip
|
||||
:group 'net-utils
|
||||
:type 'string)
|
||||
|
||||
@ -96,10 +103,12 @@ These options can be used to limit how many ICMP packets are emitted."
|
||||
'ifconfig-program-options "22.2")
|
||||
|
||||
(defcustom ifconfig-program-options
|
||||
(list
|
||||
(if (eq system-type 'windows-nt)
|
||||
"/all" "-a"))
|
||||
(cond ((string-match "ipconfig\\'" ifconfig-program) '("/all"))
|
||||
((string-match "ifconfig\\'" ifconfig-program) '("-a"))
|
||||
((string-match "ip\\'" ifconfig-program) '("addr")))
|
||||
"Options for the ifconfig program."
|
||||
:version "25.1"
|
||||
:set-after '(ifconfig-program)
|
||||
:group 'net-utils
|
||||
:type '(repeat string))
|
||||
|
||||
@ -126,7 +135,7 @@ These options can be used to limit how many ICMP packets are emitted."
|
||||
:group 'net-utils
|
||||
:type '(repeat string))
|
||||
|
||||
(defcustom arp-program "arp"
|
||||
(defcustom arp-program (or (net-utils--executable-find-sbin "arp") "arp")
|
||||
"Program to print IP to address translation tables."
|
||||
:group 'net-utils
|
||||
:type 'string)
|
||||
|
Loading…
Reference in New Issue
Block a user