M5. Nuovi arrivi

Registrato il nuovo arrivo

Dopo che al nuovo arrivato è stato consentito l'accesso, ma prima che le relative informazioni vengano registrate nel database.

Database

Parametri

Valore restituito

è disponibile

id — ID provvisorio/permanente della postazione,

address — indirizzo di rete della postazione,

station — nome della postazione,

existing — conferma per la postazione esistente

viene ignorato

Testo della procedura personalizzata:

--[[

Database:

 available

 

Called:

 when newbie access granted but before information stored in database

 

Parameters:

 id             station temporary/permanent ID

 address        station network address

 station        station name

 existing       approved using existing station

 

Returned value:

 ignored

 

]]

 

local args = ... -- args.id, args.address, args.station

Nuovo arrivo si connette al Server Dr.Web

Viene invocata se il nuovo arrivato si connette al Server Dr.Web.

Database

Parametri

Valore restituito

è disponibile

id — ID provvisorio della postazione,

address — indirizzo di rete della postazione,

station — nome della postazione,

description — descrizione della postazione (solo per i client SO Windows),

ldapdn — LDAP DN della postazione (solo per i client SO Windows),

sid — SID della postazione,

mac — indirizzo MAC della postazione,

nil — utilizza le impostazioni predefinite come nel funzionamento standard del Server Dr.Web,

boolean — azione del Server Dr.Web:

true — richiedi la conferma manuale (simile a Newbie approval),

false — nega l'accesso (simile a Newbie closed),

string — gruppo primario in caso di conferma:

empty — conferma, imposta il gruppo Everyone come gruppo primario (simile a Newbie open),

not-empty — conferma l'accesso e assegna come primario il gruppo con l'ID che corrisponde a questa stringa. Attenzione! L'esistenza di questo ID verrà controllata, e se non esiste, il gruppo Everyone verrà assegnato come primario,

vector — conferma di default, contiene i seguenti comandi e argomenti facoltativi:

pgroup — imposta il gruppo primario, quindi deve seguire l'ID del gruppo,

rate — imposta il gruppo di tariffa, quindi deve seguire l'ID del gruppo di tariffa,

id — imposta l'ID della postazione, quindi deve seguire l'ID della postazione,

approve — richiedi la conferma manuale invece della conferma automatica,

into — conferma nella postazione esistente, quindi deve seguire l'ID della postazione esistente

Testo della procedura personalizzata:

--[[

Called:

 when newbie connected

 

Database:

 available

 

Parameters:

 id             station temporary ID

 address        station network address

 station        station name

 description    station description (Windows client only)

 ldapdn         station LDAP DN (Windows client only)

 sid            station computer SID

 mac            station computer MAC

 

Returned value:

            nil        default, standard server operation according settings

 boolean    true       request approval (like 'Newbie approval' does)

            false      reject access (like 'Newbie closed' does)

 string     empty      accept, set primary group to 'Everyone'

                         (like 'Newbie open' does)

            not-empty  accept, set primary group to this string (ID) (substring after space treated as rate group id)

                       Attention! Existence of This ID will be checked and

                       if it does not exist it will be replaced by `Everyone'

 vector                accept by default, must contain commands and optional arguments:

                       "pgroup"  - set primary group, must be followed by group id

                       "rate"    - set rate group, must be followed by rate group id

                       "id"      - set station id, must be followed by station id

                       "approve" - request approval instead of accepting

                       "into"    - accept into existing station, must be followed by existing station id

 

 

Procedure from next set will be called if returned nothing.

]]

 

local args = ... -- args.id, args.address, args.station

 

-- place my station (named ADMINISTRATOR) into `Everyone' group ignoring newbie policy and newbie's preference

if string.upper( args.station ) == 'ADMINISTRATOR' then

 return ''

end

 

-- set new UUID for any station with this id and request for manual approve, useful for cloned stations

if args.id == '01234567-89ab-cdef-0123-456789abcdef' then

 return { "id", dwcore.get_uuid(), "approve" }

end

 

-- no return => `nil' value => according server settings

Accettato il nuovo arrivo

Viene invocata se il nuovo arrivato ha ottenuto l'accesso, si è autenticato con successo e la postazione è stata creata nel database.

Database

Parametri

Valore restituito

è disponibile

id — ID provvisorio della postazione,

address — indirizzo di rete della postazione,

station — nome della postazione,

compsid — SID della postazione,

compmac — indirizzo MAC della postazione,

description — descrizione della postazione

viene ignorato

Testo della procedura personalizzata:

--[[

Called:

 when newbie access granted, authorization is successfull

 and station created in database

 

Database:

 available

 

Parameters:

 id             station temporary ID

 address        station network address

 station        station name

 compsid        station UID (SID on Windows)

 compmac        station MAC address

 description    station description

 

Returned value:

 ignored

 

]]

 

local args = ... -- args.id, args.address, args.station, args.compsid, args.compmac, args.description