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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? contentfilterplugin.java

?? 基于Jabber協(xié)議的即時(shí)消息服務(wù)器
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
/** * $RCSfile$ * $Revision: 1594 $ * $Date: 2005-07-04 18:08:42 +0100 (Mon, 04 Jul 2005) $ * * Copyright (C) 2004 Jive Software. All rights reserved. * * This software is published under the terms of the GNU Public License (GPL), * a copy of which is included in this distribution. */package org.jivesoftware.wildfire.plugin;import org.jivesoftware.util.EmailService;import org.jivesoftware.util.JiveGlobals;import org.jivesoftware.util.Log;import org.jivesoftware.wildfire.MessageRouter;import org.jivesoftware.wildfire.Session;import org.jivesoftware.wildfire.XMPPServer;import org.jivesoftware.wildfire.container.Plugin;import org.jivesoftware.wildfire.container.PluginManager;import org.jivesoftware.wildfire.interceptor.InterceptorManager;import org.jivesoftware.wildfire.interceptor.PacketInterceptor;import org.jivesoftware.wildfire.interceptor.PacketRejectedException;import org.jivesoftware.wildfire.user.User;import org.jivesoftware.wildfire.user.UserManager;import org.xmpp.packet.JID;import org.xmpp.packet.Message;import org.xmpp.packet.Packet;import org.xmpp.packet.Presence;import java.io.File;import java.util.regex.PatternSyntaxException;/** * Content filter plugin. *  * @author Conor Hayes */public class ContentFilterPlugin implements Plugin, PacketInterceptor {    /**     * The expected value is a boolean, if true the user identified by the value     * of the property #VIOLATION_NOTIFICATION_CONTACT_PROPERTY will be notified     * every time there is a content match, otherwise no notification will be     * sent. Then default value is false.     */    public static final String VIOLATION_NOTIFICATION_ENABLED_PROPERTY = "plugin.contentFilter.violation.notification.enabled";    /**     * The expected value is a user name. The default value is "admin".     */    public static final String VIOLATION_NOTIFICATION_CONTACT_PROPERTY = "plugin.contentFilter.violation.notification.contact";    /**     * The expected value is a boolean, if true the user identified by the value     * of the property #VIOLATION_NOTIFICATION_CONTACT_PROPERTY, will also     * receive a copy of the offending packet. The default value is false.     */    public static final String VIOLATION_INCLUDE_ORIGNAL_PACKET_ENABLED_PROPERTY = "plugin.contentFilter.violation.notification.include.original.enabled";    /**     * The expected value is a boolean, if true the user identified by the value     * of the property #VIOLATION_NOTIFICATION_CONTACT_PROPERTY, will receive     * notification by IM. The default value is true.     */    public static final String VIOLATION_NOTIFICATION_BY_IM_ENABLED_PROPERTY = "plugin.contentFilter.violation.notification.by.im.enabled";    /**     * The expected value is a boolean, if true the user identified by the value     * of the property #VIOLATION_NOTIFICATION_CONTACT_PROPERTY, will receive     * notification by email. The default value is false.     */    public static final String VIOLATION_NOTIFICATION_BY_EMAIL_ENABLED_PROPERTY = "plugin.contentFilter.violation.notification.by.email.enabled";    /**     * The expected value is a boolean, if true the sender will be notified when     * a message is rejected, otherwise the message will be silently     * rejected,i.e. the sender will not know that the message was rejected and     * the receiver will not get the message. The default value is false.     */    public static final String REJECTION_NOTIFICATION_ENABLED_PROPERTY = "plugin.contentFilter.rejection.notification.enabled";    /**     * The expected value is a string, containing the desired message for the     * sender notification.     */    public static final String REJECTION_MSG_PROPERTY = "plugin.contentFilter.rejection.msg";    /**     * The expected value is a boolean, if true the value of #PATTERNS_PROPERTY     * will be used for pattern matching.     */    public static final String PATTERNS_ENABLED_PROPERTY = "plugin.contentFilter.patterns.enabled";    /**     * The expected value is a comma separated string of regular expressions.     */    public static final String PATTERNS_PROPERTY = "plugin.contentFilter.patterns";    /**     * The expected value is a boolean, if true Presence packets will be     * filtered     */    public static final String FILTER_STATUS_ENABLED_PROPERTY = "plugin.contentFilter.filter.status.enabled";    /**     * The expected value is a boolean, if true the value of #MASK_PROPERTY will     * be used to mask matching content.     */    public static final String MASK_ENABLED_PROPERTY = "plugin.contentFilter.mask.enabled";    /**     * The expected value is a string. If this property is set any matching     * content will not be rejected but masked with the given value. Setting a     * content mask means that property #SENDER_NOTIFICATION_ENABLED_PROPERTY is     * ignored. The default value is "**".     */    public static final String MASK_PROPERTY = "plugin.contentFilter.mask";        /**     * The expected value is a boolean, if false packets whose contents matches one     * of the supplied regular expressions will be rejected, otherwise the packet will     * be accepted and may be optionally masked. The default value is false.     * @see #MASK_ENABLED_PROPERTY     */    public static final String ALLOW_ON_MATCH_PROPERTY = "plugin.contentFilter.allow.on.match";    /**     * the hook into the inteceptor chain     */    private InterceptorManager interceptorManager;    /**     * used to send violation notifications     */    private MessageRouter messageRouter;    /**     * delegate that does the real work of this plugin     */    private ContentFilter contentFilter;    /**     * flags if sender should be notified of rejections     */    private boolean rejectionNotificationEnabled;    /**     * the rejection msg to send     */    private String rejectionMessage;    /**     * flags if content matches should result in admin notification     */    private boolean violationNotificationEnabled;    /**     * the admin user to send violation notifications to     */    private String violationContact;    /**     * flags if original packet should be included in the message to the     * violation contact.     */    private boolean violationIncludeOriginalPacketEnabled;    /**     * flags if violation contact should be notified by IM.     */    private boolean violationNotificationByIMEnabled;    /**     * flags if violation contact should be notified by email.     */    private boolean violationNotificationByEmailEnabled;    /**     * flag if patterns should be used     */    private boolean patternsEnabled;    /**     * the patterns to use     */    private String patterns;    /**     * flag if Presence packets should be filtered.     */    private boolean filterStatusEnabled;    /**     * flag if mask should be used     */    private boolean maskEnabled;    /**     * the mask to use     */    private String mask;        /**     * flag if matching content should be accepted or rejected.      */    private boolean allowOnMatch;        /**     * violation notification messages will be from this JID     */    private JID violationNotificationFrom;    public ContentFilterPlugin() {        contentFilter = new ContentFilter();        interceptorManager = InterceptorManager.getInstance();        violationNotificationFrom = new JID(XMPPServer.getInstance()                .getServerInfo().getName());        messageRouter = XMPPServer.getInstance().getMessageRouter();    }    /**     * Restores the plugin defaults.     */    public void reset() {        setViolationNotificationEnabled(false);        setViolationContact("admin");        setViolationNotificationByIMEnabled(true);        setViolationNotificationByEmailEnabled(false);        setViolationIncludeOriginalPacketEnabled(false);        setRejectionNotificationEnabled(false);        setRejectionMessage("Message rejected. This is an automated server response");        setPatternsEnabled(false);        setPatterns("fox,dog");                setFilterStatusEnabled(false);        setMaskEnabled(false);        setMask("***");        setAllowOnMatch(false);    }        public boolean isAllowOnMatch() {        return allowOnMatch;    }        public void setAllowOnMatch(boolean allow) {        allowOnMatch = allow;        JiveGlobals.setProperty(ALLOW_ON_MATCH_PROPERTY, allow ? "true"                : "false");                changeContentFilterMask();    }        public boolean isMaskEnabled() {        return maskEnabled;    }    public void setMaskEnabled(boolean enabled) {        maskEnabled = enabled;        JiveGlobals.setProperty(MASK_ENABLED_PROPERTY, enabled ? "true"                : "false");        changeContentFilterMask();    }    public void setMask(String mas) {        mask = mas;        JiveGlobals.setProperty(MASK_PROPERTY, mas);        changeContentFilterMask();    }    private void changeContentFilterMask() {        if (allowOnMatch && maskEnabled) {            contentFilter.setMask(mask);        } else {            contentFilter.clearMask();        }    }    public String getMask() {        return mask;    }    public boolean isPatternsEnabled() {        return patternsEnabled;    }    public void setPatternsEnabled(boolean enabled) {        patternsEnabled = enabled;        JiveGlobals.setProperty(PATTERNS_ENABLED_PROPERTY, enabled ? "true"                : "false");        changeContentFilterPatterns();    }    public void setPatterns(String patt) {        patterns = patt;        JiveGlobals.setProperty(PATTERNS_PROPERTY, patt);        changeContentFilterPatterns();    }    public boolean isFilterStatusEnabled() {        return filterStatusEnabled;    }    public void setFilterStatusEnabled(boolean enabled) {        filterStatusEnabled = enabled;        JiveGlobals.setProperty(FILTER_STATUS_ENABLED_PROPERTY,                enabled ? "true" : "false");    }    private void changeContentFilterPatterns() {        if (patternsEnabled) {            contentFilter.setPatterns(patterns);        } else {            contentFilter.clearPatterns();        }    }    public String getPatterns() {        return patterns;    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三中文字幕| 亚洲男人的天堂av| 91丨porny丨蝌蚪视频| 午夜精品福利久久久| 国产精品乱码一区二区三区软件 | 91黄色免费观看| 国产在线播放一区| 久久黄色级2电影| 最新国产精品久久精品| 精品国产一区二区三区四区四 | 久久精品在这里| 欧美色网站导航| av亚洲精华国产精华| 精品一区二区三区久久久| 亚洲精品第1页| 国产精品人人做人人爽人人添| 欧美精品精品一区| 色香色香欲天天天影视综合网| 国产在线国偷精品产拍免费yy| 丝袜a∨在线一区二区三区不卡| 国产精品久久久久久久久动漫| 欧美精品一区二区久久久| 91麻豆精品国产91久久久使用方法 | 风间由美性色一区二区三区| 久热成人在线视频| 日本免费在线视频不卡一不卡二| 亚洲精品欧美激情| 亚洲色图20p| 最新久久zyz资源站| 欧美激情一区二区三区全黄| 久久久国产精品不卡| 精品美女在线播放| 欧美成人精品福利| 欧美一区二区成人| 69堂精品视频| 欧美一级日韩一级| 欧美sm极限捆绑bd| 欧美xxxx在线观看| 日韩欧美不卡一区| 欧美xxxxx牲另类人与| 日韩精品专区在线| 欧美大片一区二区| 2021国产精品久久精品| 亚洲精品一区在线观看| 精品国产1区二区| 26uuu成人网一区二区三区| 亚洲小少妇裸体bbw| 亚洲与欧洲av电影| 午夜天堂影视香蕉久久| 日韩黄色片在线观看| 日本不卡中文字幕| 毛片av中文字幕一区二区| 韩国av一区二区| 风流少妇一区二区| 91女神在线视频| 在线观看亚洲一区| 91精品久久久久久久91蜜桃| 日韩美女一区二区三区| 久久久国产精品麻豆| 中文字幕欧美激情一区| 亚洲日本丝袜连裤袜办公室| 夜色激情一区二区| 青青草视频一区| 国产毛片精品国产一区二区三区| 成人免费av在线| 在线亚洲+欧美+日本专区| 欧美妇女性影城| 日韩精品中午字幕| 国产精品久久久久久久久久久免费看 | 国产欧美一区二区精品婷婷| 亚洲欧洲av在线| 午夜伦理一区二区| 国产经典欧美精品| 91国偷自产一区二区开放时间 | 91黄色激情网站| 在线观看91精品国产麻豆| 欧美精品一区二区精品网| 成人免费小视频| 三级在线观看一区二区| 国产精品一区二区91| 色老汉av一区二区三区| 91精品福利在线一区二区三区| 久久精品视频免费观看| 亚洲最快最全在线视频| 国产一区二区三区观看| 在线观看免费一区| 久久一区二区三区四区| 亚洲一区影音先锋| 国产精华液一区二区三区| 欧美日韩国产小视频| 国产欧美一二三区| 日本不卡一二三| www.色综合.com| 精品少妇一区二区三区视频免付费 | 亚洲成a人v欧美综合天堂| 国产一区二区看久久| 欧美日本一区二区| 亚洲欧美综合在线精品| 极品少妇xxxx偷拍精品少妇| 色婷婷久久综合| 国产丝袜美腿一区二区三区| 亚洲综合偷拍欧美一区色| 国产成人精品综合在线观看 | 国内成+人亚洲+欧美+综合在线 | 精品影视av免费| 欧美三区免费完整视频在线观看| 国产女主播在线一区二区| 成人永久免费视频| 精品区一区二区| 亚洲国产精品久久不卡毛片| 成人午夜电影小说| 日韩免费观看高清完整版在线观看 | 欧美成人激情免费网| 一区二区三区精品久久久| 国产91精品入口| 欧美精品一区二区精品网| 日本va欧美va瓶| 欧美精选一区二区| 夜夜嗨av一区二区三区中文字幕| av亚洲精华国产精华| 日本一区二区三区在线不卡 | 国产福利不卡视频| 日韩欧美中文字幕精品| 亚洲va欧美va人人爽午夜| 色欧美88888久久久久久影院| 国产免费观看久久| 国产**成人网毛片九色| 久久久国产精品午夜一区ai换脸| 麻豆91精品91久久久的内涵| 777欧美精品| 天天亚洲美女在线视频| 欧美精品免费视频| 亚洲成人动漫一区| 欧美日本乱大交xxxxx| 亚洲bt欧美bt精品777| 欧美伊人久久大香线蕉综合69| 亚洲免费观看高清完整版在线 | 免费观看91视频大全| 欧美福利电影网| 奇米一区二区三区| 精品日韩99亚洲| 国产乱色国产精品免费视频| 久久免费的精品国产v∧| 国产精品亚洲专一区二区三区| 久久中文娱乐网| 粉嫩一区二区三区性色av| 国产精品久久久久久亚洲伦 | 成人高清视频免费观看| 国产精品成人免费精品自在线观看| 福利一区福利二区| 亚洲欧美另类综合偷拍| 欧美色区777第一页| 天天综合天天做天天综合| 日韩欧美一级特黄在线播放| 久久国产尿小便嘘嘘尿| 国产亚洲欧美日韩俺去了| 成人在线视频首页| 一区二区三国产精华液| 国产精品久久毛片| 亚洲国产成人高清精品| 亚洲国产欧美另类丝袜| 日韩av一二三| 精品在线一区二区| 亚洲精品在线三区| 狠狠色狠狠色合久久伊人| 欧美国产成人精品| 欧美主播一区二区三区| 免费成人av资源网| 久久精品视频网| 在线精品视频一区二区| 麻豆91小视频| 亚洲美女视频在线观看| 91精品国产色综合久久不卡电影| 国产乱对白刺激视频不卡| 亚洲欧美激情在线| 日韩一本二本av| 99精品视频在线观看免费| 日韩av一区二区三区| 中文无字幕一区二区三区| 欧美日韩在线一区二区| 国产一区视频在线看| 一区二区成人在线观看| 欧美mv日韩mv亚洲| 欧美在线观看一区| 国产永久精品大片wwwapp| 亚洲国产一区二区三区| 久久久国际精品| 欧美日韩精品一区二区三区 | 91丝袜呻吟高潮美腿白嫩在线观看| 天堂成人免费av电影一区| 国产欧美日韩不卡| 在线播放中文一区| 99精品黄色片免费大全| 男女男精品视频网| 亚洲黄色性网站| 国产精品欧美综合在线| 91精品国产欧美一区二区18| 色欧美片视频在线观看在线视频| 韩国三级电影一区二区| 同产精品九九九|