Ogólne

Droga Smoka

12 października, 2007 o 09:25:02 Dodaj komentarz Poziom: 0 Permalink

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.

#

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

Markdown ( szczegółowy opis znaczników ):
*em* | 1. lista 2. numerowana | * lista wypunktowana | _strong_ | [link](http://) | | > cytat.