.Net Framework 3.0 Prevents Login to Rabbit

We have been using the RCM3200 modules successfully for three years. We program using Dynamic C v9.21.

Our application uses the Rabbit web server for configuration accessed via Internet Explorer on a PC. Recently our customers have been using PCs with Microsoft .NET Framework 3.0/3.5 installed for other applications running on the laptop. This has interfered with the ability to access the Rabbit web server, ie the web server login box does not appear when accessed from Internet Explorerer. In fact no web pages appear at all from the Rabbit. Other web servers can be accessed work just fine. If we use Firefox it works OK.

When .NET Framework 3.0/3.5 is uninstalled, Internet Explorer can login to the Rabbit and access its web pages just fine. Prior to this, 2.0 was installed and it worked just fine also. It appears that something bad happened when Microsoft went from 2.0 to 3.0/3.5.

Anybody else seen this ?

This bug has been fixed in the DC10 compiler for the Rabbit 4000. This bug was fixed in the DC9.62 release for the Rabbit 2000/3000. For DC9.xx versions before 9.62, the fix is to replace the http_getline function within HTTP.lib with the following:

_http_nodebug int http_getline(HttpState* state)
{
	auto int len;

	// Check if we have leftover data from a previous line or header that was
	// too large to fit in the buffer.  If so, then we should dump it.
	while (state->headeroff) {
		len = http_sock_bytesready(state);
		http_sock_gets(state, state->p, HTTP_MAXBUFFER);
		if (len < (HTTP_MAXBUFFER-1)) {
			state->headeroff = 0;
		}
	}
   /* is there data waiting yet? */
   if ((len = http_sock_bytesready(state)) == -1) {
      return 0;
   }

   if (len >= (HTTP_MAXBUFFER-1)) {
#ifdef HTTP_VERBOSE
      printf("HTTP: line too long (%d/%d)
", len, HTTP_MAXBUFFER);
#endif
      // Indicate that we need to dump the rest of the line on subsequent
      // calls to this function
      state->headeroff = 1;
   }
   http_sock_gets(state, state->p, HTTP_MAXBUFFER);
#ifdef HTTP_VERBOSE
// if (debug_on > 2)
      printf("----HTTP: getline: '%s'
", state->p);
#endif
	return 1;
}

Additional Info: This same problem can be seen connecting to MS Vista OS based PC’s.