Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Wireless preko tehnicoma na linuxu..."MS-CHAPv2 Success packet badly formed" tj. pppd djubre ;)

[es] :: Linux :: Wireless preko tehnicoma na linuxu..."MS-CHAPv2 Success packet badly formed" tj. pppd djubre ;)

[ Pregleda: 3879 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

CyberB

Član broj: 169
Poruke: 58
*.air.tehnicom.net



Profil

icon Wireless preko tehnicoma na linuxu..."MS-CHAPv2 Success packet badly formed" tj. pppd djubre ;) 17.08.2004. u 15:46 - pre 238 meseci
Pre neki dan sam installirao slack 10, ppp2.4.2 i rp-pppoe 3.5... Sve je lepo podeseno, patchovano za MPPE i kernel (najnoviji trenutno 2.6.8.1) i ppp, ali mi je adsl-connect skripta redovno prijavljivala
"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:

Code:

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:
Code:

    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:

Code:

    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...
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Wireless preko tehnicoma na linuxu..."MS-CHAPv2 Success packet badly formed" tj. pppd djubre ;)17.08.2004. u 16:09 - pre 238 meseci
Citat:
jednostavno da se coveku place.... "did not match expected" ccc... ja ne vidim ! ispred ovog memcmp....
Ovaj, mislim da si zaboravio da i strncmp i memcmp vraćaju 0 ako se sadržaj poklapa, odnosno != 0 ako se sadržaj ne poklapa, tako da su bar te provere naizgled OK. Ispavaj se.

f

[Ovu poruku je menjao filmil dana 17.08.2004. u 18:19 GMT]
 
Odgovor na temu

CyberB

Član broj: 169
Poruke: 58
*.air.tehnicom.net



Profil

icon Re: Wireless preko tehnicoma na linuxu..."MS-CHAPv2 Success packet badly formed" tj. pppd djubre ;) 17.08.2004. u 16:17 - pre 238 meseci
izvini mr guru... ;)

ali ovaj pppd sa ms-chapom v2 jednostavno ne radi...

ubaci
Code:
        
                printf(msg);
        printf(private);

i videces da su isti paketi
duzina iodgovora je 40... bas kako treba a pppd vraca gresku...
probaj da stavis return 1; na pocetak f-je i pppd ce da radi...

ako se nakacis na server koji trazi mschapv2 sa pppd2.4.2 bez ove prepravke... onda..
i koliko ja vidim nesto niko nije odgovorio na temu kacenje na tehnicom wireless iz linuxa

eto ako neko ima slicnih problema samo nek izbaci ovu proveru

 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Wireless preko tehnicoma na linuxu..."MS-CHAPv2 Success packet badly formed" tj. pppd djubre ;) 17.08.2004. u 16:38 - pre 238 meseci
Nisam rekao da u funkciji ne postoji greška. Ali jesam rekao da sigurno nije greška u tome na šta ti sumnjaš, i nisam siguran da je dobra ideja izbacivati autentikaciju.

To što printf ispisuje nije uopšte bitno za nastavak priče. Printf može da ispiše isto, ali uslov koji se traži da bude ispunjen je:

Code:

if ((len < MS_AUTH_RESPONSE_LENGTH + 2) || strncmp(msg, "S=", 2)) 


Ovde se nigde ne pominje da su msg i private jednaki, već da je greška u slučaju da je a) promenljiva len strogo manja od date konstante, koja god bila; b) msg ne počinje sa S=.

Da li možeš još jednom da proveriš jesu li oba uslova zadovoljena?

f

edit: sad videh da se poruka o grešci dobija na dva mesta, trebalo bi ih oba proveriti.
 
Odgovor na temu

CyberB

Član broj: 169
Poruke: 58
*.air.tehnicom.net



Profil

icon Re: Wireless preko tehnicoma na linuxu..."MS-CHAPv2 Success packet badly formed" tj. pppd djubre ;) 17.08.2004. u 17:28 - pre 238 meseci
Citat:

Ovde se nigde ne pominje da su msg i private jednaki


pa u sledecem koraku se pominje...

sve je dobro... msg i private su jednaki... len je 42 bas kao sto treba da bude
msg pocinje sa "S="... sve je dobro, ali prijavljuje gresku. cudo je to ;)

a bez provere radi izvrsno, sve je kako treba. sigurno je problem u toj proveri
 
Odgovor na temu

anon676

Član broj: 676
Poruke: 759
*.verat.net



Profil

icon Re: Wireless preko tehnicoma na linuxu..."MS-CHAPv2 Success packet badly formed" tj. pppd djubre ;) 17.08.2004. u 17:31 - pre 238 meseci
CyberB nema potrebe za nervozom i ljutnjom na filmila. I kao i ti našao sam veliki broj grešaka u samom kodu pppd-a. Recimo auth.c, funkcija get_secret
Code:

    len = strlen(secbuf);
    if (len > MAXSECRETLEN) {
        error("Secret for %s on %s is too long", client, server);
        len = MAXSECRETLEN;
    }
    BCOPY(secbuf, secret, len);
    BZERO(secbuf, sizeof(secbuf));
    *secret_len = len;
                                                                                                         
    return 1;

Fino, a?
 
Odgovor na temu

[es] :: Linux :: Wireless preko tehnicoma na linuxu..."MS-CHAPv2 Success packet badly formed" tj. pppd djubre ;)

[ Pregleda: 3879 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.