Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zrywanie połączeń z serwerem GG #30

Closed
civic9 opened this issue Oct 10, 2013 · 18 comments
Closed

zrywanie połączeń z serwerem GG #30

civic9 opened this issue Oct 10, 2013 · 18 comments
Assignees

Comments

@civic9
Copy link

@civic9 civic9 commented Oct 10, 2013

Cześć,

Od kilku dni przestał mi działać transport, działalo kilka lat, nic nie zmieniałem i teraz w ogóle nie chce.
Używałem co prawda starszej wersji - 2.2.4+libgadu 1.9.0,
ale przekompilowałem teraz libgadu 1.11.2 + jggtrans aktualny kod z gita i bez zmian.
Pod tcpdumpem widzę, że się łączy do serwera, wymana kilku pakietów i koniec połączenia.

Log z -d 10 -D 10:

2013-10-10 10:43:47 Debug: Zmiana statusu gg na 32770
** gg_change_status(0x1e91590, 32770);
** gg_send_packet(0x1e91590, 0x38, ...);
2013-10-10 10:43:47 Debug: gg_notify_ex(0x1e91590,0x1e916f0,0x1e9a600,45)
** gg_notify_ex(0x1e91590, 0x1e916f0, 0x1e9a600, 45);
** gg_send_packet(0x1e91590, 0x10, ...);
2013-10-10 10:43:47 Debug: OUT:
** gg_event_free(0x1e9a750);
2013-10-10 10:43:47 Debug: io handler kończy...
2013-10-10 10:43:47 Debug: Sprawdzanie warunków błedów...
2013-10-10 10:43:47 Debug: obserwowanie fd (gg_debug_level=10)...
** gg_watch_fd(0x1e91590);
** gg_recv_packet(0x1e91590);
2013-10-10 10:43:47 Uwaga: Connection broken. Session of user@jabber......pl/Pandion ,[GGnumber: ....]

Jakieś pomysły? U mnie się coś popsuło, czy GG zaczęło coś wykrywać i blokować?
Może przynajmniej ktoś da znać, że u niego nadal działa to będę wiedział, żeby kombinować u siebie (choć na razie pomysłów mi brak).

Dzięki.

@mky
Copy link

@mky mky commented Oct 10, 2013

Potwierdzam, że mam to samo. Ze swojej strony, zaktualizowałem najpierw paczki. Konfiguracja mojego systemu jest następująca:

OS: FreeBSD 8.3-RELEASE-p11
Pakiety:

  • ejabberd-2.1.13
  • jggtrans-2.2.5
  • expat-2.1.0
  • glib-2.36.3
  • libidn-1.28_1
  • pl-libgadu-1.11.2,1

jggtrans jest skonfigurowany by brał listę serwerów z hub-a (bez SSL) + lista serwerów ze strony http://www.kadu.im/monitor/

Mimo aktualizacji, problem nie ustąpił. Połączenie są po chwili zrywane.

Z ciekawości sprawdziłem czy z tego samego IP da się podłączyć do serwerów GG innym programem. Do testów wziąłem ekg, skompilowane z tą samą biblioteką libgadu i udało się połączyć (odpaliłem dwie sesje na raz i pracowały).
U mnie problem pojawił się w nocy z wtorku na środę (8/9.10.2013).

Załączam wklejkę z pracy jggtrans z debug 5:

http://pastebin.com/raw.php?i=56xNWRLM

@ghost
Copy link

@ghost ghost commented Oct 10, 2013

Niestety mam to samo ;/
Kombinowałem z najnowszym libgadu itd. Nic to nie dało.
Wydaje mi się, ze po stronie gadu-gadu nastąpiły jakieś zmiany.
Problem wystąpił u mnie również w środę.

@ghost
Copy link

@ghost ghost commented Oct 10, 2013

jggtrans zaczął działać .

@mky
Copy link

@mky mky commented Oct 10, 2013

Nie potwierdzam. U mnie nadal nie działa.

@civic9
Copy link
Author

@civic9 civic9 commented Oct 10, 2013

u mnie też nie działa :(

@ghost ghost assigned Jajcus Oct 11, 2013
@Jajcus
Copy link
Owner

@Jajcus Jajcus commented Oct 11, 2013

Niestety, u mnie też nie działa i aktualnie nie bardzo mam możliwość się w to wgryźć.
Jeśli EKG działa, a jggtrans z tym samym libgadu nie, to jest to do poprawienia – trzeba by porównać opcje połączeń jakich używa EKG i jakich używa libgadu. A może zmieniło się coś ostatnio w libgadu i EKG zostało odpowiednio uaktualnione, a JGGTrans nie?

Nie sądzę żeby GG zaczęło coś „wykrywać” i specjalnie blokować – teraz użytkowników Jabbera i transportu jest tak niewiele, że nie sądzę, żeby ktokolwiek się tym przejmował.

@ghost
Copy link

@ghost ghost commented Oct 11, 2013

Obecnie mam wersje Jabber GaduGadu Transport 2.2.4+xk1 - modyfikacja xio
Kompilowane z libgadu 1.9.0-rc3 .
Po odpaleniu takiej kombinacji zaczęło mi działać, chociaż nie od razu.

@Jajcus
Copy link
Owner

@Jajcus Jajcus commented Oct 14, 2013

@bajtek skąd masz tą 'modyfikację xio'?

@ghost
Copy link

@ghost ghost commented Oct 14, 2013

z https://github.com/jabberd2/transports to są modyfikacje smokku.

@Jajcus
Copy link
Owner

@Jajcus Jajcus commented Oct 14, 2013

Hmmm… teraz widzę, że jeden użytkownik mojego serwera łączy się z GG poprawnie, reszta traci połączenie zaraz po zalogowaniu… ciekawe czemu tak…

@ghost
Copy link

@ghost ghost commented Oct 14, 2013

Ja muszę wykonać serię logowań, aż "zaskoczy" . Jednak łączy z różnymi adresami IP.

@Jajcus
Copy link
Owner

@Jajcus Jajcus commented Oct 16, 2013

Udało mi się stwierdzić, że problem jest związany z operacjami na liście kontaktów GG. Wyłączyłem wszystkie wywołania gg_*notify_ex() i się nie rozłącza… ale to jeszcze nie rozwiązanie…

Jajcus added a commit that referenced this issue Oct 16, 2013
For troubleshooting issue #30
Jajcus added a commit that referenced this issue Oct 16, 2013
GaduGadu servers now reject anything else by dropping the connection.

fixes issue #30
@Jajcus
Copy link
Owner

@Jajcus Jajcus commented Oct 16, 2013

Chyba naprawione. Jak potwierdzicie, to wydam nową wersję.

Sorry, że wcześniej nie byłem w stanie się za to porządnie zabrać.

@Jajcus Jajcus closed this Oct 16, 2013
@mky
Copy link

@mky mky commented Oct 16, 2013

Przekompilowałem i zaczął się łączyć. Jak na razie podłączyłem dwie sesje po transporcie które działają. Na więcej userów będę musiał poczekać, ale wydaje mi się problem usunięty :)

@ghost
Copy link

@ghost ghost commented Oct 16, 2013

Wielkie dzięki. Po przekompilowaniu łączy jak należy ;) Dlaczego ten problem wystąpił akurat teraz ?

@Jajcus
Copy link
Owner

@Jajcus Jajcus commented Oct 16, 2013

Coś zmienili na serwerach i serwery zaczęły rozłączać sesję jak dostały niezrozumiałą wartość 'notify_type' w danych kontaktu. Że oficjalnej dokumentacji do tego nigdzie nie było, to ja nie wiedziałem jak interpretować te wartości (potraktowałem jako pola bitowe) i wysłałem co innego niż to czego serwery się spodziewały.

Możliwe, że jakieś spamerskie oprogramowanie wysyłało podobne nieprawidłowe wartości i dlatego postanowili to rozłączać, albo wyszło to przy okazji jakichś innych zmian w protokole (może są jakieś nowe prawidłowe wartości wykorzystywane przez nowe oryginalne klienty).

@civic9
Copy link
Author

@civic9 civic9 commented Oct 17, 2013

U mnie też działa, dzięki.

@mky
Copy link

@mky mky commented Oct 17, 2013

Od wczoraj się u mnie kilka sesji zapięło, logi nie pokazują problemów. Jak dla mnie działa bez problemów. Dzięki!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.