diff --git a/apps/sam/java/src/net/i2p/sam/SAMv3StreamSession.java b/apps/sam/java/src/net/i2p/sam/SAMv3StreamSession.java index 544635aae59e7a18406b676e4c7f2f9b0efc05f5..b5d613d189989383badd8cb906c02f09cadfd288 100644 --- a/apps/sam/java/src/net/i2p/sam/SAMv3StreamSession.java +++ b/apps/sam/java/src/net/i2p/sam/SAMv3StreamSession.java @@ -97,6 +97,22 @@ class SAMv3StreamSession extends SAMStreamSession implements SAMv3Handler.Sessi I2PSocketOptions opts = socketMgr.buildOptions(props); if (props.getProperty(I2PSocketOptions.PROP_CONNECT_TIMEOUT) == null) opts.setConnectTimeout(60 * 1000); + String fromPort = props.getProperty("FROM_PORT"); + if (fromPort != null) { + try { + opts.setLocalPort(Integer.parseInt(fromPort)); + } catch (NumberFormatException nfe) { + throw new I2PException("Bad port " + fromPort); + } + } + String toPort = props.getProperty("TO_PORT"); + if (toPort != null) { + try { + opts.setPort(Integer.parseInt(toPort)); + } catch (NumberFormatException nfe) { + throw new I2PException("Bad port " + toPort); + } + } if (_log.shouldLog(Log.DEBUG)) _log.debug("Connecting new I2PSocket...");