Re: l2tp/ipsec

2011-02-21 Tema obsahu Dan Lukes

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

--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l


Re: l2tp/ipsec

2011-02-21 Tema obsahu Dan Lukes
Jeste ted jsem se kouknul o odstavec niz v RFC2661 a nasel jsem kousek, 
ktery stoji za ocitovani:


 -
The Length is 8 if there is no Error
Code or Message, 10 if there is an Error Code and no Error Message
or 10 + the length of the Error Message if there is an Error Code
and Message.
 -

Jestlize FreeBSD "expected at least 10" naznacovalo by to, ze je chyba 
na strane FreeBSD, ktere "prazdnou" StopCCN vubec neocekava.


Pak ta pripadna "workaround" uprava, kterou jsem zminil muze byt opravou 
skutecneho problemu - jen to bude malinko slozitejsi, protoze FreeBSD 
prijaty paket jiste dale zpracovava a vytahuje z nej Result Code a Error 
Code.


Pokud akceptujeme paket v delce 8B tak v nem ale R/E kody vubec nejsou 
- je tedy treba dat pozor aby se nam nevyextrahovaly nahodne hodnoty z 
pameti "za paketem" a v pripade osmibitove odpovedi je patrne bude nutne 
nastavit na konstantu. Odhaduju, ze nula by mohla byt dobra.


Stale plati, ze opravuju kod, ktery jsem vubec nevidel - muze to cele 
byt totalni blabol. Rekneme, ze je ale nenulova sance, ze by to blabol 
byt nemusel. Takze se rozhodni sam, pripadne to zkus, kdyz to pomuze, 
mas opravu obecneho problemu. Kdyby to nahodou vyslo, nezapomen chybu a 
opravu odreportovat autorum kodu, at to muzou opravit "pro vsechny".


Dan

--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l


Re: rtld i386 versus amd64

2011-02-21 Tema obsahu kron24

Dne 19.2.2011 13:24, Dan Lukes napsal(a):
...

Vypada to, ze problemy jsou dva - nejak spatne se nam chova ldconfig -
to bdue v lepsim pripade problem s jeho volanim, v horsim pripade
problem s jeho vnitrni logikou. A nejake napady jak z toho vybruslit
jsem popsal nahore. Zmena logiky dynamickeho linkovani nam problem spis
nevyresi.

Druhy problem je komunikace pres routing-socket, kde se predavaji
binarni data a asi jsou spatne interpretovana - to je trochu horsi.
Lepsi varianta je, ze to je nezamysleny bug - bud' ta data nemaji byt
architekturne zavisla (a chyba je, ze jsou), nebo zavisla byt mohou a
kernel je ma zavisle interpretovat (a chyba je v teto logice). V takovem
pripade je treba chybu najit, odreportovat - oni ji do nekolika let do
kodu vlozi. Do te doby to ja mohu mit jako lokalni "vlastni" patch.
Takove patche me tolik netrapi. Horsi je, pokud se commiteri rozhodnou,
z enebylo zamerem dosahnou tohoto typu kompatibility a tudiz nejde o
bug, ale "by design".

...

Ja sam se ted nebudu pokouset to zkouset a doladit do finalne
pouziteneho stavu ...


... ale jsem ochoten se tomu jeste venovat a jestli me Ty nebo
nekdo dalsi popostrci, pokusim se k tomu pouzitelnemu stavu
dostat.


To je spoluprace, ktera mi momentalne vyhovuje. Ja fakt nemam cas si s
tim ted hrat. Pokud ty cas a naladu mas, zkus se podivat co po tom
startu vlastne vyrobil ten ldconfig - zda vyrobil jen
/var/run/ld-elf.so.hints nebo i /var/run/ld-elf32.so.hints - a co do
nich vlastne dal. To je vec, ktera se na "normalnim" systemu spatrit neda.

Na "route" se podivat muzu - na to nemusim "zparchantet" zadnou masinu,
to si proste i386/route nakopiruju domu a zkusim to, to zadne velke
mnozstvi casu nevyzaduje.


Dik za komentare. Ted se mi ale taky trochu pokrivil cas a nevim,
jestli a kdy si v nejblizsich dnech utrhnu par hodin na hrani :-(

U toho "route" me trochu znervoznuje, ze takovych nefunkcnich programu
muze byt vic a ja si jich akorat zatim nevsiml. Zkratka pocet prekazek
cestou jeste muze rust.

Co kdybychom si zjednodusili zadani a mohli vyuzit swap? Odpojit,
nahrat na nej mfsBSD Martina Matusky, "nejak" (ted hned nevim jak)
prinutit loader, aby po rebootu natahl msfBSD. Reboot, z mfsBSD
jednoduse prerazit puvodni system, zase prenastavit loader a mohlo
by byt vyhrano. Snad :-)

Oli
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l