亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? x1740.htm

?? Its a xmpp protocol book
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
>then the data for two users <I
CLASS="EMPHASIS"
>jim@a-domain.com</I
> and
<I
CLASS="EMPHASIS"
>john@b-domain.com</I
>
would be stored as shown in <A
HREF="x1740.htm#JABTDG-CH-4-FIG-4.6"
>Figure 4-6</A
>.</P
><DIV
CLASS="FIGURE"
><A
NAME="JABTDG-CH-4-FIG-4.6"
></A
><P
><B
>Figure 4-6. Storage of server-side user data by hostname</B
></P
><PRE
CLASS="SCREEN"
>                        +--------+
                        | Jabber |
  jim@a-domain.com ---&#62; | Server |
                        |        |
 john@b-domain.com ---&#62; |        |
                        |        |          +-- a-domain.com/ -- jim.xml
                        +--------+          |
                               |            |
                               +-- spool/ --+
                                            |
                                            +-- b-domain.com/ -- john.xml</PRE
></DIV
><P
>Although specifying multiple hostnames for the session management component
instance will effect a sort of virtual hosting, with separate data storage
as described, the rest of the features of the component will be identical.
For example, this means that the list of available services that the client
can request&mdash;the <I
CLASS="EMPHASIS"
>agent list</I
> (old terminology) or
<I
CLASS="EMPHASIS"
>browse list</I
> (new terminology)&mdash;and the session 
features such as roster management, administration functions, private data
storage and so on, will be identical. If you want to offer different 
services for different hostnames from the same Jabber server, see 
<A
HREF="x3305.htm"
>the section called <I
>Managing the Configuration</I
></A
> later in this chapter.</P
><DIV
CLASS="CAUTION"
><P
></P
><TABLE
CLASS="CAUTION"
BORDER="1"
WIDTH="100%"
><TR
><TD
ALIGN="CENTER"
><B
>Hostname needed here</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
>You cannot use the catchall empty 
<TT
CLASS="LITERAL"
>&#60;host/&#62;</TT
>
tag for the session management component&mdash;it needs to be given an
explicit host identity in order to function.</P
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="JABTDG-CH-4-SECT-4.3.1.3"
>Custom configuration</A
></H3
><P
>In <A
HREF="x1581.htm#JABTDG-CH-4-SECT-4.2.2"
>the section called <I
>A typical component instance description</I
></A
> earlier, we 
described the elements in this order:
<I
CLASS="EMPHASIS"
>component type</I
>,
<I
CLASS="EMPHASIS"
>component identification</I
>,
<I
CLASS="EMPHASIS"
>host filter</I
>,
<I
CLASS="EMPHASIS"
>connection method</I
>,
<I
CLASS="EMPHASIS"
>custom configuration</I
>.
Being XML, the configuration format is flexible enough to allow us to
manage the ordering (but not the nesting!) of the configuration directives 
to suit our own layout purposes. In this instance, we
come to the <I
CLASS="EMPHASIS"
>custom configuration</I
>&mdash;the 
<I
CLASS="EMPHASIS"
>connection method</I
> comes afterwards.</P
><P
>The <I
CLASS="EMPHASIS"
>sessions</I
> component (i.e. the JSM) offers a lot of
facilities, which means that in order to attach an instance of the
JSM into our Jabber server we have a lot of configuring to do. </P
><P
>Our configuration wrapper tag for the JSM instance is </P
><P
><PRE
CLASS="SCREEN"
>&#60;jsm xmlns="jabber:config:jsm"&#62;</PRE
></P
><P
>The tag name "<TT
CLASS="LITERAL"
>jsm</TT
>" is simply representative of
what the configuration
pertains to; Once loaded, the JSM component will look for the
configuration by the namespace identifier
<TT
CLASS="LITERAL"
>jabber:config:jsm</TT
>.
Within the wrapper tag
we have different sections that approximately relate to the different 
<I
CLASS="EMPHASIS"
>services</I
> that the jsm is going to provide.</P
><TABLE
CLASS="SIDEBAR"
BORDER="1"
CELLPADDING="5"
><TR
><TD
><DIV
CLASS="SIDEBAR"
><A
NAME="AEN1876"
></A
><P
><B
>Services and modules</B
></P
><P
><A
HREF="x1740.htm#JABTDG-CH-4-SECT-4.3.1.4"
>the section called <I
>Component Connection Method</I
></A
>
describes in detail how these jsm services
are loaded. Generally, each service is represented by a tag that specifies
a library to be loaded, and the tag name is what is used to refer to the 
service, thus giving it a name.</P
><P
>For example, the <I
CLASS="EMPHASIS"
>echo</I
> service, which is used
to test the Jabber server (any message sent to a special echo address
<TT
CLASS="LITERAL"
>servername/echo</TT
>, which is the servername with
a resource of "echo", will be echoed back to the sender) is loaded in the
<TT
CLASS="LITERAL"
>&#60;mod_echo/&#62;</TT
> tag and is referred
to as the <I
CLASS="EMPHASIS"
><TT
CLASS="LITERAL"
>mod_echo</TT
> module</I
>.
So it can be said that the <TT
CLASS="LITERAL"
>mod_echo</TT
> 
<I
CLASS="EMPHASIS"
>module</I
>
provides the echo <I
CLASS="EMPHASIS"
>service</I
>. </P
></DIV
></TD
></TR
></TABLE
><DIV
CLASS="SECT4"
><H4
CLASS="SECT4"
><A
NAME="JABTDG-CH-4-SECT-4.3.1.3.1"
>Filter Service</A
></H4
><P
>The message filter service, provided by the 
<TT
CLASS="LITERAL"
>mod_filter</TT
> module
allows clients to set up mechanisms that can control and manage incoming
messages as they arrive at the recipient's Jabber server&mdash;before
they start on the final leg of the journey to the recipient's client.</P
><P
>The service allows each user to maintain their own filter, which is a
collection of <I
CLASS="EMPHASIS"
>rules</I
>.
A rule is a combination of conditions and actions. 
For each incoming message, the message filter service kicks in and goes
through the rules contained in the message recipient's filter one by one,
checking the characteristics of the incoming message using the conditions
defined in each rule. If one of the conditions matches, then the action
or actions defined in that rule are carried out and the message filter 
service stops going through the rules&mdash;unless the action specified is
'continue'&mdash;in which case the service goes on to the next rule. The 
'continue' action makes it possible to chain together a complex series of
checks and actions.</P
><DIV
CLASS="FIGURE"
><A
NAME="JABTDG-CH-4-FIG-4.7"
></A
><P
><B
>Figure 4-7. A message filter</B
></P
><PRE
CLASS="SCREEN"
>&#13;   +-----------------------------------------+
   | filter                                  |
   | +-------------------------------------+ |
   | | rule                                | |
   | |   +-----------+       +-----------+ | |
   | | +-----------+ |     +-----------+ | | |
   | | | condition | | --&#62; | action    | | | |
   | | |           | +     |           | + | |
   | | +-----------+       +-----------+   | |
   | +-------------------------------------+ |
   |                                         |
   | +-------------------------------------+ |
   | | rule                                | |
   | |   +-----------+       +-----------+ | |
   | | +-----------+ |     +-----------+ | | |
   | | | condition | | --&#62; | action    | | | |
   | | |           | +     |           | + | |
   | | +-----------+       +-----------+   | |
   | +-------------------------------------+ |
   |                                         |
   | ...                                     |
   |                                         |
   +-----------------------------------------+&#13;</PRE
></DIV
><P
>Each user's filter is stored on the server using the <I
CLASS="EMPHASIS"
>xdb</I
>
component (see later).
What does a typical filter look like? Well, <A
HREF="x1740.htm#JABTDG-CH-4-EX-9"
>Example 4-9</A
>
shows a filter that contains two rules -</P
><P
></P
><UL
><LI
><P
>Rule "holiday" checks the message recipient's presence 
and sends a 'holiday' notice back if the presence is set to 'Extended Away', 
and forwards the incoming message to a colleague.</P
></LI
><LI
><P
>Rule "custreply" checks to see
if the message is from someone that exists in certain groups in the
recipient's roster and if so sends an auto-reply to that person, sets the
incoming message type to 'normal' (in case it was a 'chat' message), and
allows the message to reach its original intended destination.</P
><P
>This could 
be useful in a customer support scenario where the support representative
could handle incoming queries in a queue of 'normal' messages but have an
auto-reply sent out for each query telling the customer that their request
will be dealt with shortly.</P
></LI
></UL
><DIV
CLASS="EXAMPLE"
><A
NAME="JABTDG-CH-4-EX-9"
></A
><P
><B
>Example 4-9. A message filter with two rules</B
></P
><P
><PRE
CLASS="SCREEN"
>&#60;query xmlns="jabber:iq:filter"&#62;
  &#60;rule name="holiday"&#62;
    &#60;show&#62;xa&#60;/show&#62;
    &#60;reply&#62;I'm on holiday - back on the 25th!&#60;/reply&#62;
    &#60;forward&#62;mycolleague@yak&#60;/forward&#62;
  &#60;/rule&#62;
  &#60;rule name="custreply"&#62;
    &#60;group&#62;CustomersNorth&#60;/group&#62;
    &#60;group&#62;CustomersSouth&#60;/group&#62;
    &#60;reply&#62;Thanks - an operator will attend to you shortly&#60;/reply&#62;
    &#60;continue/&#62;
  &#60;/rule&#62;
&#60;/query&#62;</PRE
></P
></DIV
><P
>Note that there is no nesting or grouping to distinguish conditions from
actions. In the first rule - "holiday" - there is one condition (
<TT
CLASS="LITERAL"
>&#60;show/&#62;</TT
>
) and two actions (
<TT
CLASS="LITERAL"
>&#60;reply/&#62;</TT
>
and
<TT
CLASS="LITERAL"
>&#60;forward/&#62;</TT
>
) and in the second rule - "custreply" - there are two conditions 
(two <TT
CLASS="LITERAL"
>&#60;group/&#62;</TT
>s)
and two actions (
<TT
CLASS="LITERAL"
>&#60;reply/&#62;</TT
>
and
<TT
CLASS="LITERAL"
>&#60;continue/&#62;</TT
>
).</P
><P
>There are a few things to note from this example:</P
><P
>The <TT
CLASS="LITERAL"
>&#60;continue/&#62;</TT
>
action means that the filter checking will move on to the 'next rule' 
which doesn't exist, meaning that the original message will still be
delivered. No 
<TT
CLASS="LITERAL"
>&#60;continue/&#62;</TT
>
would have meant that the message would have been dropped (that is, it
wouldn't have reached it's final original destination)  - because when
a rule matches the actions in that rule are carried out and a successful
delivery is implied. </P
><P
>The conditions are ORed
together, that is to say if <I
CLASS="EMPHASIS"
>any</I
> of the conditions
in a rule match then the rule has matched and all of actions defined in
the rule are carried out.</P
><P
>So with this in mind, let's examine the message filter service configuration:</P
><P
><PRE
CLASS="SCREEN"
>&#60;filter&#62;
    &#60;default/&#62;
    &#60;max_size&#62;100&#60;/max_size&#62;
    &#60;allow&#62;
        &#60;conditions&#62;
            &#60;ns/&#62;
            &#60;unavailable/&#62;
            &#60;from/&#62;
            &#60;resource/&#62;
            &#60;subject/&#62;
            &#60;body/&#62;
            &#60;show/&#62;
            &#60;type/&#62;
            &#60;roster/&#62;
            &#60;group/&#62;
        &#60;/conditions&#62;
        &#60;actions&#62;
            &#60;error/&#62;
            &#60;offline/&#62;
            &#60;forward/&#62;
            &#60;reply/&#62;
            &#60;continue/&#62;
            &#60;settype/&#62;
        &#60;/actions&#62;
    &#60;/allow&#62;
&#60;/filter&#62;</PRE
></P
><P
>Within the <TT
CLASS="LITERAL"
>&#60;filter/&#62;</TT
>
configuration wrapper, we have three children:</P
><P
><I
CLASS="EMPHASIS"
><TT
CLASS="LITERAL"
>&#60;default/&#62;</TT
></I
></P
><P
>The <TT
CLASS="LITERAL"
>&#60;default/&#62;</TT
> tag
allows the server administrator to specify default filter rules that
will be applied for every user registered on that Jabber server. 
Specifying something like this:</P
><P
><PRE
CLASS="SCREEN"
>&#60;default&#62;
  &#60;rule name="server wide rule"&#62;
    &#60;from&#62;spammer@spamcity.com&#60;/from&#62;
    &#60;error&#62;No spam please, we're British!&#60;/error&#62;
  &#60;/rule&#62;
&#60;/default&#62;</PRE
></P
><P
>will effectively filter out all messages from our friendly spammer.</P
><P
>The rules specified in the
<TT
CLASS="LITERAL"
>&#60;default/&#62;</TT
> tag will be 
<I
CLASS="EMPHASIS"
>appended</I
> to any personal rules the user may have
defined himself. This is important when you consider the order in which
the rules are tested, and that once a rule is matched, filter processing
stops (unless the 
<TT
CLASS="LITERAL"
>&#60;continue/&#62;</TT
>
action is used).</P
><P
><I
CLASS="EMPHASIS"
><TT
CLASS="LITERAL"
>&#60;maxsize/&#62;</TT
></I
></P
><P
>Filter rule matching is expensive. We don't want to allow the user to
go overboard with filter rules - we can place an upper limit on the number
of rules in a filter with the 
<TT
CLASS="LITERAL"
>&#60;maxsize/&#62;</TT
> tag.
(The default is rather large - anyone who can be bothered to create 
100 rules deserves to have them all checked, in my opinion!)</P
><P
><I
CLASS="EMPHASIS"
><TT
CLASS="LITERAL"
>&#60;allow/&#62;</TT
></I
></P
><P
>The <TT
CLASS="LITERAL"
>&#60;allow/&#62;</TT
> tag specifies
the <TT
CLASS="LITERAL"
>&#60;conditions/&#62;</TT
>
and <TT
CLASS="LITERAL"
>&#60;actions/&#62;</TT
>
that a user is allowed to use in building rules. 
<A
HREF="x1740.htm#JABTDG-CH-4-TABLE-1"
>Table 4-1</A
> and
<A
HREF="x1740.htm#JABTDG-CH-4-TABLE-2"
>Table 4-2</A
>
show the possible filter conditions and actions.</P
><DIV
CLASS="TABLE"
><A
NAME="JABTDG-CH-4-TABLE-1"
></A
><P
><B
>Table 4-1. Filter conditions</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><THEAD

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久一区 | 一区二区三区资源| 国产情人综合久久777777| 日韩精品一区国产麻豆| 制服丝袜国产精品| 日韩一区二区三区在线视频| 91精品婷婷国产综合久久竹菊| 欧美精品日韩精品| 4438亚洲最大| 欧美一级免费大片| 日韩女同互慰一区二区| 欧美xingq一区二区| 欧美本精品男人aⅴ天堂| 亚洲精品在线免费观看视频| 久久婷婷国产综合精品青草| 久久精品日产第一区二区三区高清版 | 欧美图区在线视频| 欧美日韩日日夜夜| 欧美一二三区在线观看| 精品蜜桃在线看| 久久精品人人做人人爽人人| 国产精品久久久久7777按摩| 一区二区三区精品在线观看| 爽好久久久欧美精品| 美腿丝袜在线亚洲一区| 国产精品自拍一区| 91欧美一区二区| 欧美欧美欧美欧美| 亚洲精品一线二线三线无人区| 国产欧美一区二区三区沐欲| 亚洲人成亚洲人成在线观看图片| 一区二区欧美精品| 乱中年女人伦av一区二区| 激情五月激情综合网| 99热99精品| 69堂精品视频| 国产精品久久久久天堂| 亚洲一卡二卡三卡四卡| 久88久久88久久久| 91色视频在线| 精品成人佐山爱一区二区| 国产精品污污网站在线观看| 亚洲一卡二卡三卡四卡| 精品一区二区三区免费观看| aaa国产一区| 日韩欧美成人午夜| 亚洲激情男女视频| 久久成人av少妇免费| av成人免费在线| 欧美一区二区视频在线观看2020| 欧美激情一区在线观看| 日韩影视精彩在线| 不卡的av电影| 日韩一区二区精品在线观看| 国产精品私房写真福利视频| 性久久久久久久久| 丁香桃色午夜亚洲一区二区三区| 欧美日韩五月天| 中文字幕国产一区| 久久精品免费看| 一本大道久久a久久综合| 精品久久久久久久人人人人传媒 | 粉嫩aⅴ一区二区三区四区五区| 欧美曰成人黄网| 国产欧美日韩亚州综合| 午夜精品久久久久影视| 99r国产精品| 精品久久人人做人人爱| 亚洲电影一区二区三区| 成人午夜电影网站| 日韩精品一区二区三区蜜臀| 亚洲精品视频免费看| 国产激情视频一区二区三区欧美 | 日韩伦理电影网| 国产一区二区视频在线| 91精品婷婷国产综合久久性色| 最新热久久免费视频| 激情综合网天天干| 欧美高清视频不卡网| 亚洲激情成人在线| aa级大片欧美| 国产欧美va欧美不卡在线| 蜜臀久久久久久久| 欧美性生活影院| 亚洲激情综合网| 波多野结衣中文一区| 久久女同性恋中文字幕| 日韩电影免费在线看| 欧美做爰猛烈大尺度电影无法无天| 欧美国产丝袜视频| 国产一区二区三区国产| 精品美女在线播放| 久久精品999| 欧美xingq一区二区| 日本va欧美va瓶| 91精品国产麻豆| 五月天激情小说综合| 欧美日韩一区二区在线视频| 亚洲制服丝袜在线| 色综合网色综合| 亚洲欧美另类图片小说| 91亚洲国产成人精品一区二三| 国产精品毛片高清在线完整版 | 精品欧美乱码久久久久久| 日韩一区欧美二区| 日韩一区二区三区精品视频 | 色就色 综合激情| 亚洲男女一区二区三区| 日本高清不卡在线观看| 一区二区三区日韩欧美精品| 在线观看亚洲精品| 午夜伊人狠狠久久| 91精品国产91综合久久蜜臀| 日本中文字幕一区二区有限公司| 7777精品伊人久久久大香线蕉经典版下载 | 粉嫩在线一区二区三区视频| 久久久午夜电影| 成人一二三区视频| 中文字幕一区二区三区乱码在线| 9i看片成人免费高清| 一区二区在线观看免费| 欧美日韩高清一区二区| 青椒成人免费视频| 久久久.com| 91麻豆福利精品推荐| 亚洲美女屁股眼交3| 欧美福利视频导航| 精品一区二区精品| 欧美激情一区二区三区四区| 成人av在线影院| 亚洲香蕉伊在人在线观| 欧美一区二区三区在线电影| 国产一区激情在线| 成人欧美一区二区三区在线播放| 在线精品视频免费观看| 蜜芽一区二区三区| 欧美国产精品一区| 欧美天天综合网| 久久99深爱久久99精品| 亚洲国产成人私人影院tom | 亚洲伦理在线精品| 制服丝袜亚洲色图| 国产乱子伦视频一区二区三区| ...中文天堂在线一区| 在线播放欧美女士性生活| 激情综合色综合久久综合| 成人免费一区二区三区视频| 欧美日韩国产精品成人| 激情六月婷婷综合| 亚洲美女屁股眼交| 精品毛片乱码1区2区3区| 91亚洲精品久久久蜜桃网站| 免费成人av在线| 亚洲精品日日夜夜| 欧美精品一区二| 欧洲人成人精品| 国产成人亚洲精品青草天美| 亚洲一区国产视频| 久久精品免视看| 欧美夫妻性生活| 93久久精品日日躁夜夜躁欧美| 全部av―极品视觉盛宴亚洲| 国产精品麻豆网站| 日韩欧美视频一区| 91久久一区二区| 国产成人精品网址| 日韩精品欧美成人高清一区二区| 国产精品萝li| 精品成人私密视频| 欧美日韩成人综合| 91亚洲国产成人精品一区二区三| 久久99精品国产麻豆不卡| 亚洲国产婷婷综合在线精品| 国产精品久久久久影院| 精品奇米国产一区二区三区| 欧美日韩精品一区二区三区蜜桃| fc2成人免费人成在线观看播放| 理论片日本一区| 亚洲图片欧美色图| 亚洲男同性恋视频| 国产精品美女久久久久av爽李琼 | 久久久久国产精品厨房| 在线综合视频播放| 在线观看亚洲专区| 91蜜桃在线观看| 成人久久18免费网站麻豆| 国内成+人亚洲+欧美+综合在线| 亚洲成人av一区| 亚洲影视在线观看| 中文字幕日韩av资源站| 久久精品视频在线看| 亚洲精品一区二区三区影院| 欧美日韩国产影片| 欧美日韩在线播放一区| 99久久精品国产一区二区三区| 国产99久久精品| 国产成人亚洲综合a∨婷婷图片| 韩日av一区二区| 国产一区二区三区av电影| 蜜桃91丨九色丨蝌蚪91桃色|