Index: http.c
===================================================================
RCS file: /home/wine/wine/dlls/wininet/http.c,v
retrieving revision 1.17
diff -u -p -b -r1.17 http.c
--- dlls/wininet/http.c	2001/08/24 19:13:36	1.17
+++ dlls/wininet/http.c	2001/09/10 13:14:18
@@ -559,6 +559,7 @@ BOOL WINAPI HttpSendRequestA(HINTERNET h
 BOOL WINAPI HTTP_HttpSendRequestA(HINTERNET hHttpRequest, LPCSTR lpszHeaders,
 	DWORD dwHeaderLength, LPVOID lpOptional ,DWORD dwOptionalLength)
 {
+	char *fixurl = 0;
     INT cnt;
     INT i;
     BOOL bSuccess = FALSE;
@@ -604,6 +605,14 @@ BOOL WINAPI HTTP_HttpSendRequestA(HINTER
     /* If we don't have a path we set it to root */
     if (NULL == lpwhr->lpszPath)
         lpwhr->lpszPath = HTTP_strdup("/");
+
+	fixurl = HeapAlloc(GetProcessHeap(), 0, strlen(lpwhr->lpszPath) + 2);
+	if(lpwhr->lpszPath[0] != '/' && lpwhr->lpszPath[0] != 'h') /* not an absolute path ?? --> fix it !! */
+	{
+		*fixurl = '/';
+		strcpy(fixurl + 1, lpwhr->lpszPath);
+		lpwhr->lpszPath = fixurl;
+	 }	
 
     /* Calculate length of request string */
     requestStringLen = 
Index: utility.c
===================================================================
RCS file: /home/wine/wine/dlls/wininet/utility.c,v
retrieving revision 1.5
diff -u -p -b -r1.5 utility.c
--- dlls/wininet/utility.c	2001/08/24 19:13:36	1.5
+++ dlls/wininet/utility.c	2001/09/10 13:14:18
@@ -113,8 +113,29 @@ time_t ConvertTimeString(LPCSTR asctime)
 BOOL GetAddress(LPCSTR lpszServerName, INTERNET_PORT nServerPort,
 	struct hostent **phe, struct sockaddr_in *psa)
 {
+	char *found, *new;
+	int len;
+	
     TRACE("%s\n", lpszServerName);
 
+	/* Validate server name first
+	 * Check if there is sth. like
+	 * pinger.macromedia.com:80
+	 * if yes, eliminate the :80....
+	 */
+	
+	found = strrchr(lpszServerName, (int) ':');
+	if(found)
+	{
+		TRACE("Found a ':' inside the server name...\n");
+		len = found - lpszServerName;
+		new = HeapAlloc(GetProcessHeap(), 0, strlen(lpszServerName) + 1); 
+		strncpy(new, lpszServerName, len * sizeof(char));
+		new[len] = '\0';
+		lpszServerName = new;
+		TRACE("Reparsed server name: %s\n", new);		   
+	}
+		
     *phe = gethostbyname(lpszServerName);
     if (NULL == *phe)
     {
