Н5. Новички

Новичок зарегистрирован

После предоставления доступа новичку, но перед занесением соответствующей информации в базу данных.

База данных

Параметры

Возвращаемое значение

доступна

id — временный/постоянный ID станции,

address — сетевой адрес станции,

station — название станции,

existing — подтвердить для существующей станции

игнорируется

Текст процедуры:

--[[

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

Новичок подключается к Серверу Dr.Web

Вызывается при подключении новичка к Серверу Dr.Web.

База данных

Параметры

Возвращаемое значение

доступна

id — временный ID станции,

address — сетевой адрес станции,

station — название станции,

description — описание станции (только для клиентов под ОС Windows),

ldapdn — LDAP DN станции (только для клиентов под ОС Windows),

sid — SID станции,

mac — MAC-адрес станции

nil — использовать настройки по умолчанию как при стандартной работе Сервера Dr.Web,

boolean — действие Сервера Dr.Web:

true — запросить ручное подтверждение (аналогично Newbie approval),

false — запретить доступ (аналогично Newbie closed),

string — первичная группа при подтверждении:

empty — подтвердить, установить группу Everyone в качестве первичной (аналогично Newbie open),

not-empty —подтвердить доступ и установить в качестве первичной группу с ID, соответствующим данной строке. Внимание! Существование данного ID будет проверено и, в случае если он не существует, первичной будет назначена группа Everyone,

vector — подтверждать по умолчанию, содержит следующие команды и необязательные аргументы:

pgroup —задать первичную группу, далее должен следовать ID группы,

rate —задать тарифную группу, далее должен следовать ID тарифной группы,

id —задать ID станции, далее должен следовать ID станции

approve — запросить подтверждение вручную вместо автоматического подтверждения,

into —подтвердить в существующую станцию, далее должен следовать ID существующей станции

Текст процедуры:

--[[

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

Новичок принят

Вызывается при предоставлении доступа новичку, успешной его авторизации и создании станции в базе данных.

База данных

Параметры

Возвращаемое значение

доступна

id — временный ID станции,

address — сетевой адрес станции,

station — название станции,

compsid — SID станции,

compmac — MAC-адрес станции,

description — описание станции

игнорируется

Текст процедуры:

--[[

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