summaryrefslogtreecommitdiff
path: root/security/pssh/files/patch-psshlib_psshutil.py
blob: a8d90a7dded8f04dc47e5b6446422b5b918497b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$FreeBSD$

--- psshlib/psshutil.py.orig
+++ psshlib/psshutil.py
@@ -1,22 +1,18 @@
 import os, signal, sys
 
-def reaper(signo, frame):
-    while 1:
-        try:
-            pid, status = os.waitpid(-1, os.WNOHANG)
-        except:
-            break
-        if not pid:
-            break
-
 def read_hosts(pathname):
     """
     Read hostfile with lines of the form: host[:port] [login]. Return
     three arrays: hosts, ports, and users.  These can be used directly
     for all ssh-based commands (e.g., ssh, scp, rsync -e ssh, etc.)
+    Empty lines and lines where the first non-blank character is a
+    '#' character are ignored.
     """
     import re
-    f = open(pathname)
+    if pathname == "-":
+	f = open("/dev/stdin")
+    else:
+        f = open(pathname)
     lines = f.readlines()
     lines = map(lambda x: x.strip(), lines)
     addrs = []
@@ -24,7 +20,7 @@
     ports = []
     users = []
     for line in lines:
-        if re.match("^\s+$", line) or len(line) == 0:
+        if re.match("^\s*(#|$)", line):
             continue
         fields = re.split("\s", line)
         if len(fields) == 1: