]> code.delx.au - gnu-emacs/commitdiff
Teach net-utils more iproute2 and nl80211 tools
authorMark Oteiza <mvoteiza@udel.edu>
Sat, 25 Jun 2016 14:31:04 +0000 (10:31 -0400)
committerMark Oteiza <mvoteiza@udel.edu>
Sat, 25 Jun 2016 14:38:33 +0000 (10:38 -0400)
* lisp/net/net-utils.el (iwconfig-program): Add iw(8).
(iwconfig-program-options): Add "dev" argument for iw.  Another useful
option is "phy"; beyond that one needs to know the interface name.
(netstat-program): Add ss(8).
(route-program): Add ip(8).
(route-program-options): Add "route" argument for ip.

lisp/net/net-utils.el

index b13bece391206d6b82e896cfb7565d31652f3ebd..1547f5247aa0ca5f0fc93995da142e8dd64900e5 100644 (file)
@@ -112,22 +112,31 @@ These options can be used to limit how many ICMP packets are emitted."
   :group 'net-utils
   :type  '(repeat string))
 
-(defcustom iwconfig-program "iwconfig"
+(defcustom iwconfig-program
+  (cond ((executable-find "iwconfig") "iwconfig")
+        ((net-utils--executable-find-sbin "iw") "iw")
+        (t "iw"))
   "Program to print wireless network configuration information."
   :group 'net-utils
   :type 'string
-  :version "23.1")
+  :version "25.2")
 
-(defcustom iwconfig-program-options nil
+(defcustom iwconfig-program-options
+  (cond ((string-match-p "iw\\'" iwconfig-program) (list "dev"))
+        (t nil))
  "Options for the iwconfig program."
  :group 'net-utils
  :type '(repeat string)
- :version "23.1")
+ :version "25.2")
 
-(defcustom netstat-program "netstat"
+(defcustom netstat-program
+  (cond ((executable-find "netstat") "netstat")
+        ((net-utils--executable-find-sbin "ss"))
+        (t "ss"))
   "Program to print network statistics."
   :group 'net-utils
-  :type  'string)
+  :type  'string
+  :version "25.2")
 
 (defcustom netstat-program-options
   (list "-a")
@@ -147,20 +156,25 @@ These options can be used to limit how many ICMP packets are emitted."
   :type  '(repeat string))
 
 (defcustom route-program
-  (if (eq system-type 'windows-nt)
-      "route"
-    "netstat")
+  (cond ((eq system-type 'windows-nt) "route")
+        ((executable-find "netstat") "netstat")
+        ((net-utils--executable-find-sbin "netstat"))
+        ((executable-find "ip") "ip")
+        ((net-utils--executable-find-sbin "ip"))
+        (t "ip"))
   "Program to print routing tables."
   :group 'net-utils
-  :type  'string)
+  :type  'string
+  :version "25.2")
 
 (defcustom route-program-options
-  (if (eq system-type 'windows-nt)
-      (list "print")
-    (list "-r"))
+  (cond ((eq system-type 'windows-nt) (list "print"))
+        ((string-match-p "netstat\\'" route-program) (list "-r"))
+        (t (list "route")))
   "Options for the route program."
   :group 'net-utils
-  :type  '(repeat string))
+  :type  '(repeat string)
+  :version "25.2")
 
 (defcustom nslookup-program "nslookup"
   "Program to interactively query DNS information."