XDMCP adgangskontrol

Filen angivet ved tilvalget AccessFile sørger for information som kdm bruger til at kontrollere adgang fra skærme der beder om betjening via XDMCP. Filen indeholder fire slags indgange: indgange som kontrollerer svaret på “Direct”- og “Broadcast”-forespørgsler, indgange som kontrollerer svaret på “Indirect”-forspørgsler, makro-definitioner for “Indirect”-indgange, og indgange som kontrollerer på hvilken netværksgrænseflade kdm lytter efter XDMCP-forespørgsler. Blanke linjer ignoreres, # behandles som en kommentarafgrænsning der får resten af denne linje til at blive ignoreret, og \ forårsager at en umiddelbart efterfølgende nylinje bliver ignorere, og derved tillader værtsliste og gå over flere linjer.

Formater for indgangene “Direct” er simpelt, enten et værtsnavn eller et mønster, som bliver sammenlignet med værtsnavnet for skærmenheden. Mønstre skelnes fra værtsnavne ved inklusion af et eller flere meta-tegn; * matcher enhver sekvens af 0 eller flere tegn, og ? matcher ethvert enkelt tegn. Hvis indgangen er et værtsnavn, udføres alle sammenligninger ved brug af netværksadresser, så ethvert navn som konverteres il den rigtige netværksadresse kan bruges. Bemærk at kun den første netværksadresse returneret for et værtsnavn bruges. For mønstre bruges kun kanoniske værtsnavne i sammenligningen, så sørg for at du ikke forsøger på at matche aliasser. Værtsnavne fra XDMCP-forespørgsler indeholder altid det lokale domænenavn selv når det omvendte opslag returnerer et kort navn, så du kan bruge mønstre for det lokale domæne. Et !-tegn forud for en indgang får værter der matcher den indgang til at blive udelukket. For kun at svare på “Direkte” forespøgsler efter en vært eller et mønster, kan det efterfølges med nøgleordet NOBROADCAST. Dette kan bruges til at forhindre en kdm-server i at blive vist på menuer baseret på “Broadcast”-forespørgsler.

En “Indirect” indgang indeholder også et værtsnavn eller mønster, men efterfølger det med en liste af værtsnavne eller makroer som forespørgslerne skal videresendes til. “Indirect” indgange skal også ekskluderes, i hvilket tilfælde et (gyldigt) dum-værtsnavn skal angives for at kunne skelne den fra en “Direct” indgang. Hvis der er kompileret med støtte for IPv6, kan multicast-adressegrupper også blive inkluderet på listen af adresser som forespørgslerne videresendes til. Hvis den indirekte værtsliste indeholder nøgleordet CHOOSER, bliver “Indirect” forespørgsler ikke videresendt, men i stedet bliver en værtsvælger-dialog vist af kdm. Vælgeren vil så sende en “Direct” forespørgsel til hver af de tilbageværende værtsnavne på listen og tilbyde en menu med alle de værter der svarer. Værtslisten kan enten indeholde nøgleordet BROADCAST, for at få vælgeren til også at sende en “Broadcast” forespørgsel. Bemærk at på visse operativsystemer, kan UDP-pakker ikke blive sendt rundt, og så vil denne funktion ikke virke.

Når der tjekkes for adgang til en bestemt vært, skannes hver indgang i rækkefølge og den første matchende indgang afgør svaret. “Direct” og “Broadcast” indgange bliver ignoreret når der skannes for en “Indirect” indgang og omvendt.

En makrodefinition indeholder et makronavn og en liste af værtsnavne og andre makroer som makroen udvides til. For at skelne makroer fra værtsnavne, starter makronavne med et %-tegn.

Den sidste indgangstype er LISTEN-direktivet. Den formelle syntaks er

 LISTEN [interface [multicast list]]
Hvis ef eller flere LISTEN-linjer bliver angivet, lytter kdm kun efter XDMCP-forespørgsler på de angivne grænseflader. interface kan være et værtsnavn eller IP-adresse der repræsentere et netværks granseflade på denne maskine, eller jokertegnet * for at repræsentere alle tilgængelige netværksgrænseflader. Hvis multicast-gruppeadresser er på listen på en LISTEN-linje, deltager kdm i multicast-grupperne på den givne grænseflade. For IPv6 multicast, har IANA tilknyttet ff0X:0:0:0:0:0:0:12b som det permanent tilknyttede område af multicast-adresser for XDMCP. X'et i starten kan erstattes af en vilkårlig omfangsidentifikator, såsom 1 for Node-Local, 2 for Link-Local, 5 for Site-Local, og så videre (se IETF RFC 2373 eller dets erstatning for yderligere detaljer og omfangsdefinitioner). kdm lytter som standard efter Link-Lokal omfangsadressen ff02:0:0:0:0:0:0:12b der nærmest matcher IPv4 undernettets broadcast-opførsel. Hvis ingen LISTEN-linjer bliver givet, lytter kdm på alle grænseflader og går med i standardgrupperne for XDMCP IPv6 multicast (når der kompileres med IPv6-støtte). For at deaktivere at lytte efter XDMCP-forespørgsler i det hele taget, kan en LISTEN-linje uden adresser angives men brug af tilvalget [Xdmcp] Enable foretrækkes.