PAC-konvensjonen som brukes av de viktigste nettleserne, inkludert nettmotoren, er å bruke en modifisert syntaks for regulært uttrykk. Til nå har pacmanager brukt vanlige regulære uttrykk for samsvaret. Vi endrer shExpMatch-funksjonen for å bruke et samsvar som ligner på nettleserne.

Denne endringen betyr at RoomOS vil fungere med samme PAC-fil, samsvar som andre nettklienter i nettverket. PAC-filer som er spesielt skrevet for RoomOS, må kanskje oppdateres for å fortsette å fungere som det skal.

Evalueringen av PAC-filen utføres på to separate steder i RoomOS-programvaren:

  • Nettmotor for egen trafikk.

  • Pacmanager for all annen HTTP-trafikk: HttpFeedback, Webex klargjøring, samtalesignalering og så videre.

En PAC-fil kan gjøre bruk av denne funksjonen: shExpMatch (streng, mønster)

Den kommer tilbake som sann hvis strengen samsvarer med mønsteret, hvis ikke er den usann

De viktigste forskjellene mellom de to konvensjonene er oppført nedenfor, med «REGEX», det vil si tradisjonelle regulære uttrykk og «NETTLESER», som betyr nettleseren.

Punkttegnet, «.»

  • REGEX: . samsvarer med ett enkelt tegn, som kan gjentas med et mengdeord

  • NETTLESER: . samsvarer bare med et faktisk punkttegn

Stjerne, «*»:

  • REGEX: * er et null-eller-mer-mengdeord etter et element, men samsvarer ikke med noe på egenhånd

  • NETTLESER: * samsvarer med null eller flere tegn

Spørsmålstegn «?»:

  • REGEX: ? er et null-eller-én-mengdeord etter et element, eller det kan endre tegnet *-mengdeordet til ikke-greedy, men samsvarer ikke med noe på egenhånd.

  • NETTLESER: ? samsvarer med ett enkelttegn

Om hele uttrykket må samsvare:

  • REGEX: Uten bruk av ledende ˆ og etterfølgende $, trenger ikke MØNSTER å samsvare med hele STRENGEN: Det er nok at STRENGEN inneholder en delstreng som samsvarer.

  • NETTLESER: Krever alltid at STRENGEN samsvarer nøyaktig med MØNSTER

Eksempler

Vi vil finne alle vertsnavn under «leverandør. domene», men ikke «otherprovider.domain», «provider.domain.tld» eller «providersdomain»:

REGEX:

shExpMatch(url, "ˆ.*\\.provider\\.domain$")

NETTLESER:

shExpMatch(url, "*.provider.domain")

Vi vil finne samsvar mellom «proxy1.domain», «proxy2.domain» og så videre, men ikke «proxytest.domain»:

REGEX:

shExpMatch(url, "ˆproxy.\\.domain$")

NETTLESER:

shExpMatch(url, "proxy?.domain")

Andre ressurser

Hvis du vil ha mer informasjon om PAC-filformatet, kan du se: https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file.