<%-- - $Revision$ - $Date$ - - Copyright (C) 2004-2005 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. --%> <%@ page import="org.jivesoftware.openfire.XMPPServer, org.jivesoftware.openfire.handler.IQAuthHandler, org.jivesoftware.openfire.handler.IQRegisterHandler, org.jivesoftware.openfire.session.LocalClientSession, org.jivesoftware.util.ParamUtils" errorPage="error.jsp" %> <%@ page import="java.util.HashMap"%> <%@ page import="java.util.Iterator"%> <%@ page import="java.util.Map"%> <%@ page import="java.util.StringTokenizer"%> <%@ page import="java.util.regex.Pattern" %> <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> <%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %> <fmt:message key="reg.settings.title"/> <% // Get parameters boolean save = request.getParameter("save") != null; boolean inbandEnabled = ParamUtils.getBooleanParameter(request, "inbandEnabled"); boolean canChangePassword = ParamUtils.getBooleanParameter(request, "canChangePassword"); boolean anonLogin = ParamUtils.getBooleanParameter(request, "anonLogin"); String allowedIPs = request.getParameter("allowedIPs"); // Get an IQRegisterHandler: IQRegisterHandler regHandler = XMPPServer.getInstance().getIQRegisterHandler(); IQAuthHandler authHandler = XMPPServer.getInstance().getIQAuthHandler(); if (save) { regHandler.setInbandRegEnabled(inbandEnabled); regHandler.setCanChangePassword(canChangePassword); authHandler.setAllowAnonymous(anonLogin); // Build a Map with the allowed IP addresses Pattern pattern = Pattern.compile("(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.)" + "(?:(?:\\*|25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){2}" + "(?:\\*|25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"); Map newMap = new HashMap(); StringTokenizer tokens = new StringTokenizer(allowedIPs, ", "); while (tokens.hasMoreTokens()) { String address = tokens.nextToken().trim(); if (pattern.matcher(address).matches()) { newMap.put(address, ""); } } LocalClientSession.setAllowedIPs(newMap); } // Reset the value of page vars: inbandEnabled = regHandler.isInbandRegEnabled(); canChangePassword = regHandler.canChangePassword(); anonLogin = authHandler.isAnonymousAllowed(); // Encode the allowed IP addresses StringBuilder buf = new StringBuilder(); Iterator iter = org.jivesoftware.openfire.session.LocalClientSession.getAllowedIPs().keySet().iterator(); if (iter.hasNext()) { buf.append(iter.next()); } while (iter.hasNext()) { buf.append(", ").append(iter.next()); } allowedIPs = buf.toString(); %>

<% if (save) { %>

<% } %>

>
>


>
>


>
>


">