l2tp/ipsec

Dan Lukes dan at obluda.cz
Mon Feb 21 10:23:17 CET 2011


On 02/21/11 03:51, Čiernik Tomáš:
> Klient hlasi
> "Server negotiation failed. The server may not agree with your
> encryption option."

> Zial z tejto odozvy neviem vycitat, ci je problem na strane klienta
> alebo serveru.


Androida jsem nikdy nedrzel v ruce, to ti bude muset pomoct nekdo jiny, 
presto bych rekl, ze podstatnejsi nez ta chybova hlaska, kterou uvadis 
je jina cast:

> message_type_avp: message type 4 (Stop-Control-Connection-Notification)
> assigned_tunnel_avp: using peer's tunnel 19914
> result_code_avp: avp is incorrect size.  8 < 10
> handle_avps: Bad exit status handling attribute 1 (Result Code) on mandatory packet.
> call_close : Connection 19914 closed to 192.168.20.231, port 46816 (Result Code: expected at least 10, got 8)

Oni si nerozumi na urovni L2TP protokolu, a to kvuli chybne 
naformatovane StopCCN zprave.

StopCCN ma dvojbajtovou hlavicku - jestli jeden ze systemu spatne 
pochopil zda se do udane delky (ne)zapocitava i delka teto hlavicky je 
vysvetleni dvoubajtoveho rozdilu na svete.

Idealni by bylo tu spravu zachytit a podivat se. Nicmene, pokdu to 
nedokazes, tak hledej nekoho, kdo se potkal prave s timto problemem - a 
pokud zpravy posila blbe Android, nemusel se problem vyskytovat jen 
proti FreeBSD a tak muzes "dotaz pro Google" rozsirit. Zvysis sanci, ze 
nekoho najdes.

Takhle "naslepo" dokazu poradit jediny work-around, sahnout do zdrojaku 
funkce result_code_avp, do mista, kde se kontroluje spravna delka, a ten 
test pozmenit nebo uplne odstrelit. Vzhledem k tomu, ze pocinaje tretim 
byte zpravy StopCCN jde o "human readable" retezec, nemela by pripadna 
ztrata dvou poslednich znaku mit vazne nasledky.

Podotykam, ze (jako casto) drze radim o protokolu, ktery jsem sam nikdy 
nepouzil a doporucuju jako mozna reseni upravy zdrojaku, ktere jsem 
dokonce ani neotevrel. Takze se muze stat, ze se treba ta funkce vubec 
result_code_avp() nejmenuje. Nicmene, mela by byt k nalezeni snadno - je 
to proste ta funkce v okoli te chybove hlasky ...

Samozrejme, lepsi nez workaround by bylo najit skutecny duvod dvoubytove 
diference a na te ci one strane provest skutecnou opravu ...

Dan



More information about the Users-l mailing list