Регистрация...

Почтовый сервер Eserv // SomeWordsForRules

wikipost // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Новости
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
06.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
22.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
06.05.2009
WebDav
20.04.2009
Etelnet

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


Имя

Стековая нотация

Комментарий

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
 
Комментарии к версии 1 (22.07.2004 21:00) [~RuvimPinka]
Комментарии к этой версии (22.07.2004 21:00) [~support] 1ee2089c
Работает на Eserv/5.05567 (10.02.2020)