"MS-CHAPv2 Success packet badly formed" tj. adsl-start je crkavao sa timeoutom. Posle duugog googlanja sam odlucio da zavirim malo ispod haube i...
Evo originalnog isecka fajla ppp-2.4.2/pppd/chap_ms.c:
chapms2_check_success(unsigned char *msg, int len, unsigned char *private)
{
if ((len < MS_AUTH_RESPONSE_LENGTH + 2) || strncmp(msg, "S=", 2)) {
/* Packet does not start with "S=" */
error("MS-CHAPv2 Success packet is badly formed.");
return 0;
}
msg += 2;
len -= 2;
if (len < MS_AUTH_RESPONSE_LENGTH
|| memcmp(msg, private, MS_AUTH_RESPONSE_LENGTH)) {
/* Authenticator Response did not match expected. */
error("MS-CHAPv2 mutual authentication failed.");
return 0;
}
/* Authenticator Response matches. */
msg += MS_AUTH_RESPONSE_LENGTH; /* Eat it */
len -= MS_AUTH_RESPONSE_LENGTH;
if ((len >= 3) && !strncmp(msg, " M=", 3)) {
msg += 3; /* Eat the delimiter */
} else if (len) {
/* Packet has extra text which does not begin " M=" */
error("MS-CHAPv2 Success packet is badly formed.");
return 0;
}
return 1;
}
E sad pogledajte kako pppd proverava da li je dobio validan odgovor od servera:
if ((len < MS_AUTH_RESPONSE_LENGTH + 2) || strncmp(msg, "S=", 2)) {
/* Packet does not start with "S=" */
"does not start with 'S='"?!? pa koliko ja ovde vidim ako paket _POCINJE_ sa "S=" on prijavljuje gresku
uzas!
a sada samo pogledajte nastavak ove fantomske provere:
if (len < MS_AUTH_RESPONSE_LENGTH
|| memcmp(msg, private, MS_AUTH_RESPONSE_LENGTH)) {
/* Authenticator Response did not match expected. */
error("MS-CHAPv2 mutual authentication failed.");
return 0;
}
jednostavno da se coveku place.... "did not match expected" ccc... ja ne vidim ! ispred ovog memcmp....
i tako do kraja ove f-je za proveru...
ja sugerisem da lepo umesto cele ove fje ubacite
chapms2_check_success(unsigned char *msg, int len, unsigned char *private)
{
return 1;
}
ili ako vas ne mrzi da lupate uzvicnike tamo gde je autor ukakio ;)) jos tuznije je sto nigde na netu nema ovog buga... (mali li je)
izvinjavam se na konfuznom postu, nisam jaakoo dugo spavao. nadam se da ste me razumeli...