Mijenjamo način rada usklađivanja automatske konfiguracije proxyja (engl. Proxy Auto-Configuration, PAC) za upravitelja PAC-a u softveru RoomOS.
Konvencija PAC koju upotrebljavaju glavni web-preglednici, uključujući web-modul, predstavlja uporabu modificirane sintakse standardnog izraza. Do sada, upravitelj PAC-a upotrebljavao je obične standardne izraze za podudaranje. Mijenjamo funkciju shExpMatch za uporabu podudaranja koja sliči preglednicima.
Ova promjena znači da će RoomOS raditi s istim podudaranjima datoteka PAC-a kao i drugi web-klijenti u mreži. Datoteke PAC-a posebno napisana za softver RoomOS možda treba ažurirati kako bi se posao nastavio na namjeravani način.
Procjena datoteke PAC-a obavlja se na dva odvojena mjesta u softveru RoomOS:
-
Web-modul za vlastiti promet.
-
Upravitelj PAC-a za sav ostali HTTP promet: HttpFeedback, Webex dodjeljivanje, signalizacija poziva i tako dalje.
Datoteka PAC-a može upotrebljavati ovu funkciju: shExpMatch (niz, uzorak)
Vraća vrijednost „točno” ako se niz podudara s uzorkom, a u suprotnom vraća vrijednost „netočno”.
Glavne razlike između dviju konvencija navedene su u nastavku, pri čemu se „REGEX” odnosi na uobičajene standardne izraze, a „PREGLEDNIK” na konvenciju web-preglednika.
Znak točke, „.”
-
REGEX: . se podudara s jednim znakom, koji se može ponoviti s pomoću kvantifikatora
-
PREGLEDNIK: . se podudara samo s doslovnim znakom točke
Zvijezda, „*”:
-
REGEX: * je kvantifikator nula-ili-više nakon stavke, ali se ne podudara ni sa čim samostalno
-
PREGLEDNIK: * se podudara s nulom ili više znakova
Upitnik, „?”:
-
REGEX: ? je kvantifikator nula-ili-jedan nakon stavke ili može modificirati kvantifikator * da se podudara sa što manje teksta, ali se ne podudara ni sa ničim samostalno
-
PREGLEDNIK: ? se podudara s jednim znakom
Mora li se cijeli izraz podudarati:
-
REGEX: Bez uporabe početnog znaka ˆ i krajnjeg znaka $, UZORAK se ne mora podudarati s cijelim NIZOM: Dovoljno je da NIZ sadrži podniz koji se podudara.
-
PREGLEDNIK: uvijek zahtijeva da se NIZ podudari točno po UZORKU
Primjeri
Želimo podudariti sve nazive glavnih računala pod stavkom „provider.domain”, ali ne „otherprovider.domain”, „provider.domain.tld” ili „providersdomain”:
REGEX:
shExpMatch(url, "ˆ.*\\.provider\\.domain$")
PREGLEDNIK:
shExpMatch(url, "*.provider.domain")
Želimo podudariti „proxy1.domain”, „proxy2.domain” itd., ali ne i „proxytest.domain”:
REGEX:
shExpMatch(url, "ˆproxy.\\.domain$")
PREGLEDNIK:
shExpMatch(url, "proxy?.domain")
Ostali resursi
Dodatne pojedinosti o formatu datoteke PAC-a potražite na web-mjestu: https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file.