<%@ page contentType="text/html; charset=UTF-8" %> <%-- - - Copyright (C) 2004-2008 Jive Software, 2016-2025 Ignite Realtime Foundation. All rights reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --%> <%@ page import="org.jivesoftware.util.JiveGlobals, org.jivesoftware.util.ParamUtils, org.jivesoftware.util.CookieUtils, org.jivesoftware.util.StringUtils, org.jivesoftware.openfire.ConnectionManager, org.jivesoftware.openfire.XMPPServer, org.jivesoftware.openfire.JMXManager, java.net.InetAddress, java.util.HashMap" %> <%@ page import="java.util.Map" %> <%@ page import="org.xmpp.packet.JID" %> <%@ page import="org.jivesoftware.openfire.spi.ConnectionType" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <%@ taglib prefix="admin" uri="admin" %> <%-- Define Administration Bean --%> <% webManager.init(request, response, session, application, out ); %> <% // Get parameters String serverName = ParamUtils.getParameter(request, "serverName"); int port = ParamUtils.getIntParameter(request, "port", -1); int sslPort = ParamUtils.getIntParameter(request, "sslPort", -1); int embeddedPort = ParamUtils.getIntParameter(request, "embeddedPort", -1); int embeddedSecurePort = ParamUtils.getIntParameter(request, "embeddedSecurePort", -1); boolean sslEnabled = ParamUtils.getBooleanParameter(request, "sslEnabled"); int componentPort = ParamUtils.getIntParameter(request, "componentPort", -1); int serverPort = ParamUtils.getIntParameter(request, "serverPort", -1); int serverSslPort = ParamUtils.getIntParameter(request, "serverSslPort", -1); boolean jmxEnabled = ParamUtils.getBooleanParameter(request, "jmxEnabled"); boolean jmxSecure = ParamUtils.getBooleanParameter(request, "jmxSecure"); int jmxPort = ParamUtils.getIntParameter(request, "jmxPort", -1); boolean save = request.getParameter("save") != null; boolean defaults = request.getParameter("defaults") != null; boolean cancel = request.getParameter("cancel") != null; if (cancel) { response.sendRedirect("index.jsp"); return; } if (defaults) { serverName = InetAddress.getLocalHost().getHostName(); port = ConnectionManager.DEFAULT_PORT; sslPort = ConnectionManager.DEFAULT_SSL_PORT; componentPort = ConnectionManager.DEFAULT_COMPONENT_PORT; serverPort = ConnectionManager.DEFAULT_SERVER_PORT; serverSslPort = ConnectionManager.DEFAULT_SERVER_SSL_PORT; embeddedPort = 9090; embeddedSecurePort = 9091; sslEnabled = true; jmxEnabled = false; jmxSecure = true; jmxPort = JMXManager.XMPP_JMX_PORT.getDefaultValue(); save = true; } XMPPServer server = webManager.getXMPPServer(); ConnectionManager connectionManager = XMPPServer.getInstance().getConnectionManager(); Map errors = new HashMap<>(); Cookie csrfCookie = CookieUtils.getCookie(request, "csrf"); String csrfParam = ParamUtils.getParameter(request, "csrf"); if (save) { if (csrfCookie == null || csrfParam == null || !csrfCookie.getValue().equals(csrfParam)) { save = false; errors.put("csrf", "CSRF Failure!"); } } csrfParam = StringUtils.randomString(15); CookieUtils.setCookie(request, response, "csrf", csrfParam, -1); pageContext.setAttribute("csrf", csrfParam); if (save) { if (serverName == null) { errors.put("serverName", ""); } else { try { JID.domainprep(serverName); } catch (Exception e) { errors.put("serverName", ""); } } if (port < 1) { errors.put("port", ""); } if (sslPort < 1 && sslEnabled) { errors.put("sslPort", ""); } if (componentPort < 1) { errors.put("componentPort", ""); } if (serverPort < 1) { errors.put("serverPort", ""); } if (serverSslPort < 1) { errors.put("serverSslPort", ""); } if (XMPPServer.getInstance().isStandAlone()) { if (embeddedPort < 1) { errors.put("embeddedPort", ""); } if (embeddedSecurePort < 1) { errors.put("embeddedSecurePort", ""); } if (embeddedPort > 0 && embeddedSecurePort > 0) { if (embeddedPort == embeddedSecurePort) { errors.put("embeddedPortsEqual", ""); } } } else { embeddedPort = -1; embeddedSecurePort = -1; } if (port > 0 && sslPort > 0) { if (port == sslPort) { errors.put("portsEqual", ""); } } if (serverPort > 0 && serverSslPort > 0) { if (serverPort == serverSslPort) { errors.put("serverPortsEqual", ""); } } if (jmxPort < 1 && jmxEnabled) { errors.put("jmxPort", ""); } if (errors.isEmpty()) { boolean needRestart = false; if (!serverName.equals(server.getServerInfo().getXMPPDomain())) { server.getServerInfo().setHostname(serverName); needRestart = true; } connectionManager.setPort(ConnectionType.SOCKET_C2S, false, port); connectionManager.enable(ConnectionType.SOCKET_C2S, true, sslEnabled); connectionManager.setPort(ConnectionType.SOCKET_C2S, true, sslPort); connectionManager.setPort(ConnectionType.COMPONENT, false, componentPort); connectionManager.setPort(ConnectionType.SOCKET_S2S, false, serverPort); connectionManager.setPort(ConnectionType.SOCKET_S2S, true, serverSslPort); if (!String.valueOf(embeddedPort).equals(JiveGlobals.getXMLProperty("adminConsole.port"))) { JiveGlobals.setXMLProperty("adminConsole.port", String.valueOf(embeddedPort)); needRestart = true; } if (!String.valueOf(embeddedSecurePort).equals(JiveGlobals.getXMLProperty("adminConsole.securePort"))) { JiveGlobals.setXMLProperty("adminConsole.securePort", String.valueOf(embeddedSecurePort)); needRestart = true; } JMXManager.setEnabled(jmxEnabled); JMXManager.setSecure(jmxSecure); JMXManager.setPort(jmxPort); // Log the event webManager.logEvent("edit server properties", "serverName = "+serverName+"\nport = "+port+"\nsslPort = "+sslPort+"\ncomponentPort = "+componentPort+"\nserverPort = "+serverPort+"\nserverSslPort = "+serverSslPort+"\nembeddedPort = "+embeddedPort+"\nembeddedSecurePort = "+embeddedSecurePort); if (needRestart) { response.sendRedirect("server-props.jsp?success=true&restart=true"); } else { response.sendRedirect("server-props.jsp?success=true"); } return; } } else { serverName = server.getServerInfo().getHostname(); sslEnabled = connectionManager.isEnabled(ConnectionType.SOCKET_C2S, true); port = connectionManager.getPort(ConnectionType.SOCKET_C2S, false); sslPort = connectionManager.getPort(ConnectionType.SOCKET_C2S, true); componentPort = connectionManager.getPort(ConnectionType.COMPONENT, false); serverPort = connectionManager.getPort(ConnectionType.SOCKET_S2S, false); serverSslPort = connectionManager.getPort(ConnectionType.SOCKET_S2S, true); try { embeddedPort = Integer.parseInt(JiveGlobals.getXMLProperty("adminConsole.port")); } catch (Exception ignored) { } try { embeddedSecurePort = Integer.parseInt(JiveGlobals.getXMLProperty("adminConsole.securePort")); } catch (Exception ignored) { } jmxEnabled = JMXManager.isEnabled(); jmxSecure = JMXManager.isSecure(); jmxPort = JMXManager.getPort(); } %> <fmt:message key="server.props.title"/>

<% if (ParamUtils.getBooleanParameter(request, "success")) { pageContext.setAttribute("restart", ParamUtils.getBooleanParameter(request, "restart")); %> ). . <% } %>
<% if (XMPPServer.getInstance().isStandAlone()){ %> <% } %>
<% if (errors.containsKey("serverName")) { %>
. <% } %>
" size="5" maxlength="5"> <% if (errors.containsKey("serverPort")) { %>
. <% } %>
" size="5" maxlength="5"> <% if (errors.containsKey("serverSslPort")) { %>
. <% } %>
" size="5" maxlength="5"> <% if (errors.containsKey("componentPort")) { %>
. <% } %>
" size="5" maxlength="5"> <% if (errors.containsKey("port")) { %>
. <% } else if (errors.containsKey("portsEqual")) { %>
<% } %>
id="SSL01">
id="SSL02">
" size="5" maxlength="5"> <% if (errors.containsKey("sslPort")) { %>
. <% } %>
" size="5" maxlength="5"> <% if (errors.containsKey("embeddedPort")) { %>
. <% } else if (errors.containsKey("embeddedPortsEqual")) { %>
<% } %>
" size="5" maxlength="5"> <% if (errors.containsKey("embeddedSecurePort")) { %>
. <% } %>
id="JMX01">
id="JMX02">
id="JMX03">
id="JMX04">
" size="5" maxlength="5"> <% if (errors.containsKey("jmxPort")) { %>
. <% } %>
"> "> ">