Dnia 21 grudnia 2009 0:43 "Bart." <[email protected]> napisał(a):

> 
> 
> 
> Dnia 20 grudnia 2009 23:03 Wojtek Kaniewski <[email protected]> napisał(a):
> 
> > Bartłomiej Zimoń pisze:
> > > Wysylam łatke na nasluchiwanie na porcie lokalnym zamiast szukania 
> > > wolnego od domyslnego w gore
> > > 
> > > http://starowa.one.pl/~uzi/kadu/libgadu-dcc7-use_session_port.patch
> > > 
> > > Jak wyglada sytuacja external_port external_addr, moze z tego skorzystac 
> > > i wysylac w pakiecie 
> > > dcc7 info external_ip external_port jesli sa poprawne a nasluchiwac na 
> > > localnym?
> > 
> > IMHO tak by było najlepiej, bo external_addr i external_port są
> > kopiowane z gg_login_params, a client_addr to zaszłość historyczna,
> > która jest ustawiana w magiczny sposób w zależności od zmiennej
> > globalnej itd. A client_port w ogóle nie jest brane pod uwagę -- jedynie
> > ręczne grzebanie w gg_session może coś dać, a do tego wolałbym nie zachęcać.
> > 
> 
> Ok a w jaki sposob wtedy ustawiac client_port?
> 

http://starowa.one.pl/~uzi/kadu/libgadu-dcc7-external-adress-and-port.patch

Ok cos takiego wykombinowalem:

Jesli podano external_addr wysylamy go peerowi jesli nie to adres lokalny
Jesli podano external_port to wysylamy go peerowi
Nasluchujemy na client_port (jesli podano) w przeciwnym wypadku na external_port
jesli i on nie zostal ustawiony to decyzja nalezy do gg_dcc7_listen();

client_port jest przepisywany w funkcji login() z parametrow sesji tak samo 
jak external_port i external_addr.

Pozdrawiam
Bartek


_______________________________________________
libgadu-devel mailing list
[email protected]
http://lists.ziew.org/mailman/listinfo/libgadu-devel

Reply via email to