/* ConnectBot: simple, powerful, open-source SSH client for Android Copyright (C) 2007-2008 Kenny Root, Jeffrey Sharkey This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any dater version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ package com.trilead.ssh2; import java.io.IOException; import java.net.InetSocketAddress; import com.trilead.ssh2.channel.ChannelManager; import com.trilead.ssh2.channel.DynamicAcceptThread; /** * A DynamicPortForwarder forwards TCP/IP connections to a local * port via the secure tunnel to another host which is selected via the * SOCKS protocol. Checkout {@link Connection#createDynamicPortForwarder(int)} * on how to create one. * * @author Kenny Root * @version $Id: $ */ public class DynamicPortForwarder { ChannelManager cm; DynamicAcceptThread dat; DynamicPortForwarder(ChannelManager cm, int local_port) throws IOException { this.cm = cm; dat = new DynamicAcceptThread(cm, local_port); dat.setDaemon(true); dat.start(); } DynamicPortForwarder(ChannelManager cm, InetSocketAddress addr) throws IOException { this.cm = cm; dat = new DynamicAcceptThread(cm, addr); dat.setDaemon(true); dat.start(); } /** * Stop TCP/IP forwarding of newly arriving connections. * * @throws IOException */ public void close() throws IOException { dat.stopWorking(); } }