/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. */ package org.apache.sshd.server.x11; import java.io.IOException; import java.util.concurrent.TimeUnit; import org.apache.sshd.common.Closeable; import org.apache.sshd.common.FactoryManager; import org.apache.sshd.common.io.IoHandler; import org.apache.sshd.common.util.net.SshdSocketAddress; /** * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a> */ public interface X11ForwardSupport extends Closeable, IoHandler { /** * Configuration value on the {@link FactoryManager} to control the * channel open timeout. If not specified then {@value #DEFAULT_CHANNEL_OPEN_TIMEOUT} * value is used */ String CHANNEL_OPEN_TIMEOUT_PROP = "x11-fwd-open-timeout"; long DEFAULT_CHANNEL_OPEN_TIMEOUT = TimeUnit.SECONDS.toMillis(30L); /** * Configuration value to control from which X11 display number to start * looking for a free value. If not specified, then {@value #DEFAULT_X11_DISPLAY_OFFSET} * is used */ String X11_DISPLAY_OFFSET = "x11-fwd-display-offset"; int DEFAULT_X11_DISPLAY_OFFSET = 10; /** * Configuration value to control up to which (but not including) X11 display number * to look or a free value. If not specified, then {@value #DEFAULT_X11_MAX_DISPLAYS} * is used */ String X11_MAX_DISPLAYS = "x11-fwd-max-display"; int DEFAULT_X11_MAX_DISPLAYS = 1000; /** * Configuration value to control the base port number for the X11 display * number socket binding. If not specified then {@value #DEFAULT_X11_BASE_PORT} * value is used */ String X11_BASE_PORT = "x11-fwd-base-port"; int DEFAULT_X11_BASE_PORT = 6000; /** * Configuration value to control the host used to bind to for the X11 display * when looking for a free port. If not specified, then {@value #DEFAULT_X11_BIND_HOST} * is used */ String X11_BIND_HOST = "x11-fwd-bind-host"; String DEFAULT_X11_BIND_HOST = SshdSocketAddress.LOCALHOST_IP; /** * Key for the user DISPLAY variable */ String ENV_DISPLAY = "DISPLAY"; /** * "xauth" command name */ String XAUTH_COMMAND = System.getProperty("sshd.XAUTH_COMMAND", "xauth"); String createDisplay( boolean singleConnection, String authenticationProtocol, String authenticationCookie, int screen) throws IOException; }