bei mir haben alle Versionen seit 2.4.0 das geschilderte "Problem", irgendwie scheinen die eher für Fehler oder Ungenauigkeiten im Code anfällig zu sein - trotzdem müsste man es zum Laufen kriegen, sonst würden sie ja auch unter 2.4.0 nicht laufen.

- - - Aktualisiert - - -

PS,
hier übrigens meine Parserfunktionen, um username + pwd herauszufiltern:

Code:
//----------------------------------------------------------------------------
// String functions
//----------------------------------------------------------------------------

int16_t  strstrpos(char * haystack,  char * needle)   // find 1st occurance of substr in str
{
   char *p = strstr(haystack, needle);
   if (p) return p - haystack;
   return -1;   // Not found = -1.
}

//-------------------------------------------------------
const int  MAXLEN = 1024;
const int  TOKLEN = 64;

//-------------------------------------------------------
char * cstringarg( char* haystack, char* vname, char* sarg ) {
   int i=0, pos=-1;
   unsigned char  ch=0xff;
   const char*  kini = "&";       // start of varname: '&'
   const char*  kin2 = "?";       // start of varname: '?'
   const char*  kequ = "=";       // end of varname, start of argument: '='
   char  needle[TOKLEN] = "";     // complete pattern:  &varname=abc1234

   strcpy(sarg,"");
   strcpy(needle, kini);
   strcat(needle, vname);
   strcat(needle, kequ);
   pos = strstrpos(haystack, needle); 
   if(pos==-1) {
      needle[0]=kin2[0];
      pos = strstrpos(haystack, needle);
      if(pos==-1) return sarg;
   }
   pos=pos+strlen(vname)+2; // start of value = kini+vname+kequ   
   while( (ch!='&')&&(ch!='\0') ) {
      ch=haystack[pos+i];    
      if( (ch=='&')||(ch==';')||(ch==' ')||(ch=='\0') ||(ch=='\n')
        ||(i+pos>=strlen(haystack))||(i>TOKLEN-1) ) {
           sarg[i]='\0';
           return sarg;
      }       
      if( (ch!='&') ) {
          sarg[i]=ch;          
          i++;       
      }      
   } 
   return sarg;
}


// *SNIP*

   cstringarg(strinput, "uname", struname); // uname
   cstringarg(strinput, "upwd", strupwd); // upwd

sie funktionieren sehr gut, und sehr wschl liegt hier wirklich nicht das Problem - lasse mich aber gern vom Gegenteil überzeugen!