Nowy transport GG: 2.0.2

Wczoraj po powrocie z Bochni coś mnie jeszcze napadło, żeby podłubać w transporcie GG. Przerobiłem polecenie „get roster”, żeby samo nie dodawało użytkowników (bo mnie się takie zachowanie nigdy nie podobało) i dodałem „import roster” które tylko dodaje użytkowników (bo Psi jest głupie i nie pozwala na łatwe dodanie użytkowników otrzymanych przez „get roster”). Użytkownicy z listy na serwerze GG mogą też automatycznie być dodawani przy rejestracji (jednak ta opcja jest też dostępna jedynie dla użytkowników w miarę nowoczesnych klientów). Poprawiłem nieco obsługę powiadamiania o obecności i powinien zniknąć problem dokuczliwy dla niektórych użytkowników GG w naszych rosterach (wielokrotne „zmiany” statusu po zalogowaniu).

A więc wydałem przed chwilą jabber-gg-transport-2.0.2. Powinien on już się prawidłowo kompilować na FreeBSD i innych systemach nie-linuksowych (a raczej nie-glibcowych). Mam nadzieję że nowych pluskiew nie wprowadziłem.

Nowy transport GG

Miało się 2.0.1 pojawić i się pojawiło. Wersja ta to głównie poprawki poprzedniej. „get roster” nie powinno już wywalać transportu, a wszystkie logi powinny być prawidłowo tłumaczone (oczywiście jeśli ktoś używa polskiego locale w systemie). Nowa funkcja jest tylko jedna: transport pokazuje (po wysłaniu mu wiadomości) numerek GG z którym użytkownik się zarejestrował. Mam nadzieję, że ta wersja będzie działać naprawdę stabilnie.

Różne

Jestem nieco niewyspany, bo wczoraj do pierwszej siedziałem przed kompem – o północy naszego czasu (22:00 UTC) jab foundation@conference.jabber.org było spotkanie dotyczące protokołów Jabbera (a dokładniej „wiosennych czystek” w JEPach) i postanowiłem tam zajrzeć. Przy okazji JEP-0050 wyszła sprawa języka przesyłanych komunikatów. Dzisiaj rano naskrobałem swoją propozycję podejścia do tematu (taki niby-JEP), na razie bez odzewu.

Przed chwilą skończyłem mod_stats dla jabberd 1.4.x. Jest to prosta implementacja JEP-0039 (statistics gathering) pozwalająca zbierać statystyki serwera, ale nie tylko. Dostępne jest to tutaj.

Dzisiaj udało się żonie wreszcie internet w tej Bochni odpalić. Wczoraj podobno mieli coś tam z kablami popsute, dzisiaj naprawili i trzeba było tylko adres na interfejs dodać (nie mam pojęcia czemu sam się nie dodał) i poprawić resolv.conf. Pierwsze udało mi się Iwonce przez telefon wytłumaczyć, potem podyktowałem jej ssh z odpowiednimi parametrami żeby tunel SSH po SSH zrobić (tam jest maskarada oczywiście), zalogowałem się na swój laptopik i poprawiłem resztę. W każdym razie już działa i żona nie jest już odcięta od cywilizowanego świata. 🙂

nie jest tak dobrze jakby się chciało, żeby było…

Tak jak można się było spodziewać, dzień po wydaniu jggtans-2.0.0 zaczęły wyłazić błędy i to grube. Spieprzony totalnie okazało się pobieranie listy z serwera (ale na niektórych serwerach jest już popatchowane), tłumaczenia też nie działały jak powinny. Lada dzień powinno się pojawić 2.0.1, w którym przynajmniej tych parę błędów będzie mniej.

Szef się boi, że nam komputery z firmy zwiną i kazał mi przygotować zabezpieczenie. Skoro trzeba, to zrobiłem i z sprzątania które planowałem nici. A bałagan który zrobiła Krysia i którym nikt się specjalnie nie przejmował, gdyż sprzątanie miało taki sens jak odśnieżanie podczas śnieżycy, teraz gdy jestem sam w domu nieco denerwuje. Kto by pomyślał mnie bałagan przeszkadza 🙂 .

Żona w raz z moim laptopikiem i linuksikiem w Bochni walczyła z internetem w tamtejszym hotelu. Niestety dzisiaj przegrali i byli zmuszeni do odwrotu. Jutro kontratak. Nawet nie wiem czy nawalił hotel, ichniejszy „informatyk”, czy mój laptopik albo kabelek.

słomiany wdowiec przedstawia: transport GG, wersja 2.0.0

Moje dziewczyny wyjechały dzisiaj do Bochni – na 10 dni, ale pewnie zobaczę je
wcześniej, bo mam zamiar tam zajrzeć w jakąś sobotę. Tymczasem ja zostałem słomianym wdowcem. 🙂
Najciekawsze jest to, że żona pojechała tam leczyć swoją alergię, a ja tutaj
siedzę zasmarkany i załzawiony… no cóż mam ograniczoną ilość urlopu,
a letnich wakacji sobie nie daruję.

Tak jak zapowiadałem, polska społeczność Jabbera z okazji Świąt dostanie
nowiutką wersję transportu GG. Wersja 2.0.0 już jest dostępne do ściągnięcia na
JabberStudio.
Nowości to:

  • Pobieranie listy kontaktów z serwera GG.
  • Listy kontroli dostępu (ACL) w pliku konfiguracyjnym.
  • Statystyki dostępne poprzez protokół opisany w
    JEP-0039.
  • Administratorzy mogą zobaczyć poprzez „browse” albo „disco” kto gdzie i jak
    jest podłączony.
  • Obsługa „disco”
    (JEP-0030).
  • Formularze do rejestracji, wyszukiwania oraz zmiany opcji transportu
    wykorzystujące jabber:x:data (
    JEP-0004).
  • Wszystkie komunikaty generowane przez transport (łącznie z komunikatami
    błędów oraz zawartością logów) mogą być tłumaczone na język wybrany przez
    użytkownika. Polskie tłumaczenie jest gotowe.
  • Zmiana hasła oraz danych w katalogu publicznym znowu działa.

Zmiany są dość duże i teoretycznie może być sporo błędów, ale przez kilka dni
testowania żaden się nie ujawnił. Życzę więc miłej zabawy. Jakby co, to czekam
na bugreporty. Acha, jeszcze jedno: wiele z nowych funkcji działa jedynie w
odpowiednio nowoczesnych klientach (które mają zaimplementowane odpowiednie
JEPy). W
tkabberze działa prawie wszystko.

W wersji 2.1.0 postaramy się dostosować transport to wymogów
JEP-0073: Jabber IM Basic 1.0.

disco na jabberd-1.4.x

Zaczęło mnie wkurzać to „404 Not Found” po wybraniu Discovery w tkabberze, a instalować wersji alpha jabberd2 na swoim serwerze nie mam ochoty. Dlatego zrobiłem mod_disco dla jabberd14, który jako patch dostępny jest tutaj: http://www.bnet.pl/~jajcus/jabberd14/mod_disco.patch.

A testowy transport GG ciągle na serwerku działa. Wczoraj przez chwilkę myślałem, że się zawiesił, ale to mój klient wysyłał za dużo zapytań (o statystyki) i serwer, zgodnie z ustawioną „karmą” go przystopował.

testy najnowszego transportu GG

Dzisiaj zainstalowałem najnowszą wersję transportu (prosto z CVSu) na „produkcyjnym” serwerze. Wygląda na to że działa. Statystyki (część nowej funkcjonalności) pokazują w tej chwili: uptime 3800s, 83 userów zarejestrowanych, 9 online i 9 połączony. 18 wiadomości GG odebranych, 12 wysłanych. Uptime zachowuje monotoniczność, a skarg od użytkowników (jeszcze) nie ma. A więc jest lepiej niż się spodziewałem.

Do wydania 2.0.0 brakuje nam tylko dokładnego przetestowania i poprawienia błędów (nie wierzę, że żaden się w najbliższym czasie nie znajdzie) no i tłumaczenia (te mają być na piątek). Myślę że do końca miesiąca uda się to wydać.

robota…

Wczoraj tuż przed moim wyjściem z pracy postawili mi przed nosem komputer i powiedzieli, że mam z tego zrobić „serwer” udostępniający łacze ISDN dla 10 komputerów w jakiejś Pipidówce. Nawet nie wiem, czy do tego ma być karta ISDN, czy zewnętrzny TA, a pozatym mam przecież lepsze rzeczy do roboty (np. transport GG) 🙂

Dzisiaj zabrałem się za ten nieszczęsny serwer. Maszyna okazała się „odpowiednia” do tego celu: Athlon XP 1800+, 256MB RAM, 40GB HDD, wbudowana karta muzyczna i graficzna z akceleracją 3D (czemu moja stacja robocza nie ma takich parametrów???). Zainstalowałem i skonfigurowałem podstawowy system, resztę zrobię jutro na miejscu.

A zaraz (jak tylko zjem „lunch”) zabieram się za uszczęśliwianie swoich userów – rozgrzebię dwa serwery, żeby jednemu dołożyć 1GB RAM, a drugiemu wymienić dwa stare dyski SCSI na nowy UltraSCSI320 (na starych trochę za wolno otwierały mi się foldery z tysiącami majli). Potem może zostanie czas na „poważną” robotę, to znaczy jggtrans 🙂

dwa JEPy

Zaimplementowałem JEP-0039 (statistics gathering), aby móc w standardowy sposób podglądać statystyki transportu. Okazało się jednak że jedyny sposób aby dobrać się do tych statystyk z tkabbera to użycie disco, więc zaimplementowałem też JEP-0030 (service discovery). I wygląda na to, że działa 🙂

Jeszcze jakiś JEP do zaimplementowania?
(nie, transferu plików w najbliższym czasie nie będzie)