www.eserv.ru // SomeWordsForRules

wikipost /2004-07-22 22:00/ (v2)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
News
15.05.2012
Eserv504
15.05.2012
ActiveSync
01.04.2012
Eproxy508
25.03.2012
Eserv503
26.02.2012
Eserv502
08.02.2012
UMI.CMS
22.12.2011
Eserv431
20.12.2011
Eproxy507
15.11.2011
Eproxy506
19.09.2011
Eproxy505
08.09.2011
Eserv430
07.09.2011
Lightning
19.07.2011
PoweredBy
16.07.2011
IPv6
08.07.2011
Eproxy5beta1
17.06.2011
IPv6DNS
13.06.2011
IPv6Mail
21.03.2011
Eserv428
22.10.2010
Eserv426
22.10.2010
SSL
22.04.2010
Eserv423
20.04.2010
Eserv4WhatsNew
19.04.2010
EservLDAP
19.04.2010
EservDHCP
19.04.2010
EservRubricator
08.04.2010
EservDNS
08.04.2010
NSСI
08.04.2010
WPAD
27.03.2010
Eserv422
27.03.2010
Eserv4Docs
26.03.2010
Eserv4FAQ
21.03.2010
EservIrc
05.03.2010
Eserv421
05.03.2010
HttpProxy
02.03.2010
EservVideo
02.12.2009
Eserv4Wiki
02.12.2009
Eserv4acWEB
02.12.2009
PopPull
22.11.2009
PigMailPigProxy2/WhatsNew
22.11.2009
PigMail/WhatsNew
23.09.2009
FossilEservHowTo
22.09.2009
SourceCodeManagement
22.09.2009
FossilScm
16.09.2009
SendEmail
08.09.2009
RoundCube
07.05.2009
GitScm
07.05.2009
GitEservHowTo
06.05.2009
SunBird

Некоторые слова и выражения, употребимые в правилах

#|
||
Имя
|
Стековая нотация
|
Комментарий
||
||
IP=
|
( "ip_address" -- flag )
| flag-истина, если клиент соединился с сервером по указанному IP e.g.: IP= 10.0.0.1
||
||
Port=
|
( "port" -- flag )
| flag-истина, если клиент соединился с сервером по указанному порту
||
||
IP:Port=
|
( "ip_address:port" -- flag )
| flag-истина, если клиент соединился с сервером по указанному IP и порту
||
||
PeerIP:Port=
|
( "ip_address:port" -- flag )
| flag-истина, если клиент соединился с указанного IP и порта
||
||
PeerIP=
|
( "ip_address" -- flag )
| flag-истина, если клиент соединился с указанного IP
||
||
PeerPort=
|
( "port" -- flag )
| flag-истина, если клиент соединился с сервером с указанного порта
||
||
PeerIP:Mask=
|
( "ip:mask" -- flag )
| flag-истина, если клиент соединился с сервером с указанного диапазона IP-адресов e.g.: PeerIP:Mask= 10.0.0.0:255.255.255.0
||
||
CLIENT
|
( -- addr u )
|
PeerIP NtoA (ip-адрес клиента в виде строки)
||
||
=~
|
( addr u "mask" -- flag )
| сравнение строки, представленой адресом и длиной, с маской. e.g.: ""URL =~ http://* ""
||
||
~
|
( str "mask" -- flag )
| сравнение по маске со строкой, представленой str
||
||
User
|
( -- addr u )
| возвращает имя пользователя ( u = 0, если имени нет) e.g.: User =~ admin даст true если пользователь admin.
||
||
URL
|
( -- addr u )
| возвращает запрашиваемый клиентом URL (для proxy)
||
||
TARGET-HOST
|
( -- addr u )
| возвращает целевой хост (для proxy)
||
||
IsGroupMember:
|
( "group" -- flag )
| принадлежит ли текущий юзер указанной группе. e.g.: IsGroupMember: "Advanced users" Должен быть включен http-proxy\plugins\acl
||
||
IsMember
|
( group-a group-u -- flag )
| принадлежит ли текущий юзер указанной группе из списка Eserv/2. e.g.: ""S" MyGroup" IsMember ""

Должен быть включен plugins\groups_e2
||
||
IsMember:
|
( "group" -- flag )
| принадлежит ли текущий юзер указанной группе из списка Eserv/2. e.g.: IsMember: MyGroup Должен быть включен plugins\groups_e2
||
||
NtIsMemberOf
|
( usera useru groupa groupu -- flag )
| принадлежит ли заданный юзер заданной группе NT e.g.: ""User S" MyGroup" NtIsMemberOf "" Должен быть включен plugins\auth_lib
||
||
NtIsMemberOf:
|
( usera useru "group" -- flag )
| принадлежит ли заданный юзер заданной группе NT e.g.: User NtIsMemberOf: MyGroup Должен быть включен plugins\auth_lib
||
||
DayOfWeek:
|
( "n1-n2" -- flag )
| flag=true, если текущий день недели в заданном диапазоне
(воскресенье — 0). e.g.: DayOfWeek: 1-5 ( понедельник-пятница )
||
||
TimeInterval:
|
( "hh:mm-hh:mm" -- flag )
| flag=true, если текущее время суток в заданном интервале. e.g.: TimeInterval: 8:30-17:00
||
||
Time:
|
( "hh:mm" -- flag )
| flag=true, если текущее время суток совпадает с заданным. e.g.: Time: 13:00
||
||
\EOF
|
( -- )
| закончить трансляцию текущего файла (не проверяя остальные правила)
||
||
AND
|
( flag1 flag2 -- flag )
| flag = flag1 AND flag2 Для флагов — логическое И, для чисел — побитовое.
||
||
OR
|
( flag1 flag2 -- flag )
| flag = flag1 OR flag2 Для флагов — логическое ИЛИ, для чисел — побитовое.
||
||
XOR
|
( flag1 flag2 -- flag )
| flag = flag1 XOR flag2 Для флагов — логическое ИсключающееИЛИ, для чисел — побитовое.
||
||
0=
|
( x -- flag )
| возвращает true(-1), если x=0 и false(0), если x<>0
||
||
0<>
|
( x -- flag )
| возвращает true(-1), если x<>0 и false(0), если x=0
||
|#

Работает на Eserv/7.0.beta1/Linux/x64 (Jun 14 2022)