[zorp-hu] WebDAV =?iso-8859-1?Q?m=E1sc?= =?iso-8859-1?Q?=EDmre?=

Balazs Scheidler bazsi@balabit.hu
Tue, 12 Nov 2002 14:14:19 +0100


On Tue, Nov 12, 2002 at 12:19:27PM +0100, Czakó Krisztián wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Idézet Balazs Scheidler 2002. november 12. 09:35 keltezésű leveléből:
> > > Nagyjából összejött, amit az lmekonfon beszéltünk, azaz:
> > > - - 1 IP-n sok virtualhost (standard apache namevirtualhost-ok)
> > > - - https
> > > - - WebDAv úgy, hogy a DAV kéréseket más címre küldjük, mint a normál
> > > https kéréseket

> Az a probléma viszont még fennáll, hogy ha nem ugyanabban a sessionben a 
> kliens küld egy GET kérést akkor az rosszhelyen landol. Ha van valakinek 
> ötlete, hogyan lehet megfogni a DAV-os GET-et, szóljon. Mondjuk az 
> authentikáció jellemző rá, de az ugye jogos a normál esetben is.
> Az apache valahonnan tudja a különbséget, mert ha egy php scriptet kérek sima 
> GET-el, akkor végrehajtja, ha DAV-al csinálom odaadja a forrását. Gyanítom az 
> authentikációm számít, de a Zorp szintjén nem tudom dekódolni az azonosítót.
> 
> Pl. a cadaver ezeket küldi:
> User-Agent: cadaver/0.18.0 neon/0.16.1
> Connection: TE
> TE: trailers
> Host: webhome.hu:443
> Authorization: Basic c2yhcLljOuPsdG6r
> 
> Digest auth esetén jobb a helyzet:
> Authorization: Digest username="slapic", realm="WebDAV"
> Itt a realm segíthet, feltéve ha nem jut eszébe valakinek a normál módban is 
> WebDAV realmet használni, de ne jusson :)
> Melyik változóban találom meg a fejléc tartalmát?
> Azaz ha csinálok egy ilyet:
> self.request_header["Authorization"] = (HTTP_REQ_POLICY, self.filterAUTH)
> Akkor a filterAUTH mit kap meg?
> 
> És ez sem tökéletes, mert kevés kliens kezeli. Mondjuk cadaver jó, konqueror 
> elszáll mint a győzelmi zászló, sitecopyt nem próbáltam.

HTTP_REQ_POLICY helyett HTTP_HDR_POLICY kell, amugy jo (ez sem problema, a
ketto ertek megegyezik numerikusan)

a fuggvenyed ilyen parametereket kap:

def filterAuth(self, hdr_name, hdr_value):
	...

a hdr_name 'Authorization'-t tartalmaz, a hdr_value pedig annak az erteket.

Abban biztos vagy, hogy a php script letoltesehez GET-et hasznal WebDAV-on
keresztul is?

... megneztem, igen. valoszinuleg a webdav modul elhalassza a GET-et a
normal webszerver elol...

megneztem a DAV modul forrasat. a GET-re megnezi, hogy ismer-e adott nevu
resource-t, es ha igen o kezeli le, ha nem akkor tovabb engedi az
apache-nak.

most nincs tobb idom nezegetni, meg dav modul konfigot sem lattam meg,
egyenlore ennyit latok.

ha le tudnad fogni URL alapjan (pl. a /webdav/ konyvtarban latod a teljes
tartalmat megegyszer), akkor egyszerubb lenne a dolog.

-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1