3.9-es bug (volt: Zorp 3.3.6 - port valasztas hostnev alapjan)
On Thu, Feb 24, 2011 at 01:24:31PM +0100, Lázár Imre wrote:
Összeraktam egy host header alapján máshova csatlakozó HTTP proxyt, a most kiadott 3.9-es verzióval. Az idevágó osztály a következő:
class InterHttpProxy(HttpProxy): def config(self): HttpProxy.config(self) require_host_header = FALSE self.hostlist = {"host1.domain.hu":("192.168.1.1", 80), "host2.domain.hu":("192.168.1.2", 80), "host3.domain.hu":("192.168.1.3", 80), "host4.domain.hu":("192.168.1.4", 80)} def setServerAddress(self, host, port): if self.hostlist.has_key(host): newhost = self.hostlist[host][0] port = self.hostlist[host][1] host = newhost else: proxyLog(self, HTTP_ERROR, 3, "Unknown target host; host='%s'", host) return FALSE return HttpProxy.setServerAddress(self, host, port)
Ennek elvileg működnie kellene, de nem teszi, a logban ez található:
2011-02-24T10:12:01+01:00 fw zorp/inter[5832]: core.error(3): (svc/inter_HTTP:191/http): connect() failed; fd='40', error='Invalid argument' 2011-02-24T10:12:01+01:00 fw zorp/inter[5832]: core.error(2): (svc/inter_HTTP:191/http): Connection to remote end failed; local='NULL', remote='AF_INET(0.0.0.1:80)', error='Invalid argument'
Mint látod, a célszerver címe 0.0.0.1-re változik, holott nem ez az elvárt. Ha te is ebbe a hibába futottál bele, akkor itt egy patch, ami ezt megoldja:
--- a/pylib/Zorp/Resolver.py 2011-02-24 10:13:54.081516501 +0100 +++ b/pylib/Zorp/Resolver.py 2011-02-24 10:11:25.721598563 +0100 @@ -35,7 +35,7 @@
from Zorp import * from SockAddr import SockAddrInet -from socket import gethostbyname +from socket import gethostbyname, gethostbyname_ex import types
# NOTE: This is IPv4 specific @@ -207,7 +207,7 @@ </method> """ try: - ip_list = gethostbyname(host) + ip_list = gethostbyname_ex(host)[2] if self.multi: return map(lambda ip: SockAddrInet(ip, port), ip_list) else:
Nekem ezzel jól működik.
En ezzel a minimalis konfiggal probaltam ki kezdeskent: class IntraHttp(HttpProxy): def config(self): HttpProxy.config(self) self.transparent_mode = 1 Es ugyanugy a fenti hibaba futottam bele. Igaz, nekem nem 0.0.0.1, hanem 0.0.0.6 lett. Felraktam ezt a javitast, es megjavult. (Csak zarojelben - a patch nem ette meg a fentit, a </method> rossz helyen van.) Szilárd Pfeiffer irta 21 Feb 2011 18:05:10: Amit kérünk, hogy adassék meg nekünk a lehetőség arra, hogy bizonyítsuk (a mostani kiadás tényén túl is), szeretnénk a GPL változattal aktívan foglalkozni. Bocsanatot kerek a kerdesert, de ha ket sor kijavitasa masfel honap alatt nem kerul bele a letoltheto forrasba, akkor az nevezheto aktiv foglalkozasnak? -- Udvozlettel Zsiga
On Wed, 2011-04-13 at 09:28 +0200, Kosa Attila wrote:
On Thu, Feb 24, 2011 at 01:24:31PM +0100, Lázár Imre wrote:
Összeraktam egy host header alapján máshova csatlakozó HTTP proxyt, a most kiadott 3.9-es verzióval. Az idevágó osztály a következő:
class InterHttpProxy(HttpProxy): def config(self): HttpProxy.config(self) require_host_header = FALSE self.hostlist = {"host1.domain.hu":("192.168.1.1", 80), "host2.domain.hu":("192.168.1.2", 80), "host3.domain.hu":("192.168.1.3", 80), "host4.domain.hu":("192.168.1.4", 80)} def setServerAddress(self, host, port): if self.hostlist.has_key(host): newhost = self.hostlist[host][0] port = self.hostlist[host][1] host = newhost else: proxyLog(self, HTTP_ERROR, 3, "Unknown target host; host='%s'", host) return FALSE return HttpProxy.setServerAddress(self, host, port)
Ennek elvileg működnie kellene, de nem teszi, a logban ez található:
2011-02-24T10:12:01+01:00 fw zorp/inter[5832]: core.error(3): (svc/inter_HTTP:191/http): connect() failed; fd='40', error='Invalid argument' 2011-02-24T10:12:01+01:00 fw zorp/inter[5832]: core.error(2): (svc/inter_HTTP:191/http): Connection to remote end failed; local='NULL', remote='AF_INET(0.0.0.1:80)', error='Invalid argument'
Mint látod, a célszerver címe 0.0.0.1-re változik, holott nem ez az elvárt. Ha te is ebbe a hibába futottál bele, akkor itt egy patch, ami ezt megoldja:
--- a/pylib/Zorp/Resolver.py 2011-02-24 10:13:54.081516501 +0100 +++ b/pylib/Zorp/Resolver.py 2011-02-24 10:11:25.721598563 +0100 @@ -35,7 +35,7 @@
from Zorp import * from SockAddr import SockAddrInet -from socket import gethostbyname +from socket import gethostbyname, gethostbyname_ex import types
# NOTE: This is IPv4 specific @@ -207,7 +207,7 @@ </method> """ try: - ip_list = gethostbyname(host) + ip_list = gethostbyname_ex(host)[2] if self.multi: return map(lambda ip: SockAddrInet(ip, port), ip_list) else:
Nekem ezzel jól működik.
En ezzel a minimalis konfiggal probaltam ki kezdeskent:
class IntraHttp(HttpProxy): def config(self): HttpProxy.config(self) self.transparent_mode = 1
Es ugyanugy a fenti hibaba futottam bele. Igaz, nekem nem 0.0.0.1, hanem 0.0.0.6 lett. Felraktam ezt a javitast, es megjavult. (Csak zarojelben - a patch nem ette meg a fentit, a </method> rossz helyen van.)
Szilárd Pfeiffer irta 21 Feb 2011 18:05:10: Amit kérünk, hogy adassék meg nekünk a lehetőség arra, hogy bizonyítsuk (a mostani kiadás tényén túl is), szeretnénk a GPL változattal aktívan foglalkozni.
Bocsanatot kerek a kerdesert, de ha ket sor kijavitasa masfel honap alatt nem kerul bele a letoltheto forrasba, akkor az nevezheto aktiv foglalkozasnak?
Jelenleg a Zorp GPL release akkor tortenik, amikor a kereskedelmi verzioval kijovunk egy uj release-zel. A kodot magat kijavitjak a sracok a belso verziokezeloben, viszont sajnos meg nem megoldott, hogy azt is publikalni tudjuk (mivel jelenleg a Pro es a GPL verziokezeloje kozos). Mar dolgozunk a szetvalasztasan, akkor legalabb a verziokezeloben meglenne a patch. Egyebkent pont most indul egy ujabb 3 honapos idoszak (az elozo GPL es most kozott keszult el a 3.4-es pro, aminek a release most varhato), es annak a vegere (remelhetoleg elobb is) lesz publikus git fa es ujabb GPL release is (pont a vegen). -- Bazsi
On Sun, May 01, 2011 at 09:54:12PM +0200, Balazs Scheidler wrote:
On Wed, 2011-04-13 at 09:28 +0200, Kosa Attila wrote:
Bocsanatot kerek a kerdesert, de ha ket sor kijavitasa masfel honap alatt nem kerul bele a letoltheto forrasba, akkor az nevezheto aktiv foglalkozasnak?
Jelenleg a Zorp GPL release akkor tortenik, amikor a kereskedelmi verzioval kijovunk egy uj release-zel.
A kodot magat kijavitjak a sracok a belso verziokezeloben, viszont sajnos meg nem megoldott, hogy azt is publikalni tudjuk (mivel jelenleg a Pro es a GPL verziokezeloje kozos).
http://en.wikipedia.org/wiki/Release_early,_release_often :)
Mar dolgozunk a szetvalasztasan, akkor legalabb a verziokezeloben meglenne a patch.
Egyebkent pont most indul egy ujabb 3 honapos idoszak (az elozo GPL es most kozott keszult el a 3.4-es pro, aminek a release most varhato), es annak a vegere (remelhetoleg elobb is) lesz publikus git fa es ujabb GPL release is (pont a vegen).
Ezek jo hirek, koszi. -- Udvozlettel Zsiga
Sziasztok, On 05/05/2011 10:47 AM, Kosa Attila wrote:
On Sun, May 01, 2011 at 09:54:12PM +0200, Balazs Scheidler wrote:
On Wed, 2011-04-13 at 09:28 +0200, Kosa Attila wrote:
Bocsanatot kerek a kerdesert, de ha ket sor kijavitasa masfel honap alatt nem kerul bele a letoltheto forrasba, akkor az nevezheto aktiv foglalkozasnak?
Jelenleg a Zorp GPL release akkor tortenik, amikor a kereskedelmi verzioval kijovunk egy uj release-zel.
A kodot magat kijavitjak a sracok a belso verziokezeloben, viszont sajnos meg nem megoldott, hogy azt is publikalni tudjuk (mivel jelenleg a Pro es a GPL verziokezeloje kozos).
http://en.wikipedia.org/wiki/Release_early,_release_often :)
Mar dolgozunk a szetvalasztasan, akkor legalabb a verziokezeloben meglenne a patch.
Egyebkent pont most indul egy ujabb 3 honapos idoszak (az elozo GPL es most kozott keszult el a 3.4-es pro, aminek a release most varhato), es annak a vegere (remelhetoleg elobb is) lesz publikus git fa es ujabb GPL release is (pont a vegen).
Ezek jo hirek, koszi.
Addig is meg lehet probalni hasznalni a -- nem hivatalos -- GIT repomat. Itt igyekeztem osszegyujteni a levlistan mar megjelent patcheket, letorolni a felesleges fileokat, stb. Egyebkent ugyanaz a kod, mint a legutobbi GPL release. https://github.com/kkovaacs/zorp -- KOVACS Krisztian
participants (3)
-
Balazs Scheidler
-
Kosa Attila
-
KOVACS Krisztian