Browse code

clamdscan: fix stdin scanning in local mode

git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@701 77e5149b-7576-45b1-b177-96237e5ba77b

Tomasz Kojm authored on 2004/07/29 05:28:26
Showing 3 changed files
... ...
@@ -83,6 +83,7 @@ Michel Gaudet <Michel.Gaudet*ehess.fr>
83 83
 Philippe Gay <ph.gay*free.fr>
84 84
 Luca 'NERvOus' Gibelli <nervous*clamav.net>
85 85
 Scott Gifford <sgifford*suspectclass.com>
86
+Stephen Gran <steve*lobefin.net>
86 87
 Nigel Horne <njh*smsltd.demon.co.uk>
87 88
 Hrvoje Habjanic <hrvoje.habjanic*zg.hinet.hr>
88 89
 Robert Hogan <robert*roberthogan.net>
... ...
@@ -1,3 +1,8 @@
1
+Wed Jul 28 22:21:10 CEST 2004 (tk)
2
+----------------------------------
3
+  * clamdscan: fix stdin scanning in local mode (patch by Stephen Gran
4
+	       <steve*lobefin.net>)
5
+
1 6
 Wed Jul 28 20:09:32 CEST 2004 (tk)
2 7
 ----------------------------------
3 8
   * libclamav: improve mail detection
... ...
@@ -138,7 +138,17 @@ int dsstream(int sockd)
138 138
 	return -1;
139 139
     }
140 140
 
141
-    server.sin_addr.s_addr = peer.sin_addr.s_addr;
141
+    switch (peer.sin_family) {
142
+	case AF_UNIX:
143
+	    server.sin_addr.s_addr = inet_addr("127.0.0.1");
144
+	    break;
145
+	case AF_INET:
146
+	    server.sin_addr.s_addr = peer.sin_addr.s_addr;
147
+	    break;
148
+	default:
149
+	    mprintf("@Unexpected socket type: %d.\n", peer.sin_family);
150
+	    return -1;
151
+    }
142 152
 
143 153
     if(connect(wsockd, (struct sockaddr *) &server, sizeof(struct sockaddr_in)) < 0) {
144 154
 	close(wsockd);