Droga Smoka
W rozmowie z kolegą na temat kompatybilności serwera XMPP z RFC i XEP stwierdziłem, że to co ja robię musi się trzymać RFC, a jeśli jakiś klient wysyła bzdury, to jego problem.
– Widzę, że podążasz drogą Smoka – powiedział kolega.
W rozmowie z kolegą na temat kompatybilności serwera XMPP z RFC i XEP stwierdziłem, że to co ja robię musi się trzymać RFC, a jeśli jakiś klient wysyła bzdury, to jego problem.
– Widzę, że podążasz drogą Smoka – powiedział kolega.
Komentarze do wpisu
Możesz śledzić odpowiedzi poprzez kanał RSS. Możesz dodać komentarz lub zostawić ślad (trackback) ze swojego bloga.
Łukasz Horodecki
:D
12 października 2007, 09:34:42
Jajcuś
Oj, czasem tak się nie da. Znaczy się, ja tak robię, a potem userom tłumaczę które linijki z CJC muszą usuwać, żeby im to działało…
Niestety, większość implementatorów ma specyfikacje w dupie, albo „wie lepiej”.
12 października 2007, 09:38:52
Jajcuś
O, jeszcze jedno albo: ... albo jest wielką korporacją, której tak łatwo do poprawienia małego błędu (np. usunięcia niepotrzebnego cudzysłowu w implementacji DIGEST-MD5) nie przekonasz…
12 października 2007, 09:40:54
AdamK
Bodaj ojciec WWW Tim Barners-Lee sformułował mniej więcej takie zdanie: „Bądź scisły w tym co wysyłasz, a liberalny w tym co dostajesz” (w kontekście komunikacji sieciowej).
12 października 2007, 10:29:44
AdamK
ups, „liberalny dla tego co dostajesz”
12 października 2007, 10:30:12
Jajcuś
AdamK: Tak, znam to. Nie znoszę tego zalecenia. Bo jak oprogramowanie serwera jest liberalne dla tego co dostaje, to „nie zauważy” połowy błędów w klientach. W ten sposób każdy klient będzie wysyłał coś innego (i w praktyce nic nie będzie zgodne ze specyfikacją). A inny serwer może „nie zauważać” innej połowy błędów klientów. I w praktyce ten nowszy serwer będzie musiał mieć dodatkowo zaimplementowaną obsługę tych nietypowych zachowań klientów, z którym radził sobie starszy serwer. Nowsze klienty będą mogły mieć już błędy z którymi radzi sobie nowy serwer (jak stary zacznie wychodzić z użycia)...
W końcu większość duża część kodu współczesnych serwerów jest obsługą sytuacji niezgodnych ze specyfikacją... a im więcej kodu, tym więcej błędów. W tym security.
A jakby każdy starał się twardo trzymać specyfikacji, zarówno na wejściu, jak i na wyjściu, to w praktyce bardzo szybko by się wykrywało wszelkie nieścisłości w nowym oprogramowaniu i nie trzeba by było robić obejść na te błędy gdy już oprogramowanie jest używane.
12 października 2007, 10:39:32
kobit
Jajcus: z tym kodem w serwerze to nie jest az tak zle. Rzeczywiscie jest troche kodu zwiazanego ze specyfika niektorych klientow ale nie ma tego az tak duzo.
Z drugiej strony to producent serwera (w szczegolnosci nowego i malo znanego serwera ;-)) nie moze sobie pozwolic zeby taki Pidgin nie dzialal z jego serwerem. A jeszcze do niedawna Gaim mial najgorsza implementacje protokolu ze wszystkich mi znanych.
16 października 2007, 12:00:39
Dodaj komentarz