⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 packetfilterplugin.java

📁 openfire 服务器源码下载
💻 JAVA
字号:
package org.jivesoftware.openfire.plugin;import org.jivesoftware.openfire.XMPPServer;import org.jivesoftware.openfire.container.Plugin;import org.jivesoftware.openfire.container.PluginManager;import org.jivesoftware.openfire.interceptor.InterceptorManager;import org.jivesoftware.openfire.interceptor.PacketInterceptor;import org.jivesoftware.openfire.interceptor.PacketRejectedException;import org.jivesoftware.openfire.plugin.rules.Rule;import org.jivesoftware.openfire.plugin.rules.RuleManager;import org.jivesoftware.openfire.plugin.rules.RuleManagerProxy;import org.jivesoftware.openfire.session.Session;import org.jivesoftware.util.Log;import org.xmpp.packet.Packet;import java.io.File;public class PacketFilterPlugin implements Plugin, PacketInterceptor {    private static PluginManager pluginManager;    public PacketFilterPlugin() {        XMPPServer server = XMPPServer.getInstance();        interceptorManager = InterceptorManager.getInstance();    }    //Packet Filter    private PacketFilter pf;    //Hook for intercpetorn    private InterceptorManager interceptorManager;    public void initializePlugin(PluginManager manager, File pluginDirectory) {        // register with interceptor manager        Log.info("Packet Filter loaded...");        interceptorManager.addInterceptor(this);        this.pluginManager = manager;        pf = PacketFilter.getInstance();        RuleManager ruleManager = new RuleManagerProxy();        pf.setRuleManager(ruleManager);            }    public void destroyPlugin() {        // unregister with interceptor manager        interceptorManager.removeInterceptor(this);    }    public String getName() {        return "packetFilter";            }    public static PluginManager getPluginManager() {        return pluginManager;    }    public void interceptPacket(Packet packet, Session session, boolean incoming, boolean processed) throws PacketRejectedException {        Rule rule = pf.findMatch(packet);        if (rule != null) {            rule.doAction(packet);        }    }}       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -