本文整理汇总了Java中org.apache.sshd.common.PropertyResolverUtils类的典型用法代码示例。如果您正苦于以下问题:Java PropertyResolverUtils类的具体用法?Java PropertyResolverUtils怎么用?Java PropertyResolverUtils使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
PropertyResolverUtils类属于org.apache.sshd.common包,在下文中一共展示了PropertyResolverUtils类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testClientWithHeartBeat
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Test
public void testClientWithHeartBeat() throws Exception {
SshClient client = setupTestClient();
PropertyResolverUtils.updateProperty(client, ClientFactoryManager.HEARTBEAT_INTERVAL, HEARTBEAT);
client.start();
try (ClientSession session = client.connect(getCurrentTestName(), TEST_LOCALHOST, port).verify(7L, TimeUnit.SECONDS).getSession()) {
session.addPasswordIdentity(getCurrentTestName());
session.auth().verify(5L, TimeUnit.SECONDS);
try (ClientChannel channel = session.createChannel(Channel.CHANNEL_SHELL)) {
Collection<ClientChannelEvent> result =
channel.waitFor(EnumSet.of(ClientChannelEvent.CLOSED), WAIT);
assertTrue("Wrong channel state: " + result, result.contains(ClientChannelEvent.TIMEOUT));
}
} finally {
client.stop();
}
}
示例2: setUp
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
sshd = setupTestServer();
PropertyResolverUtils.updateProperty(sshd, ServerFactoryManager.WELCOME_BANNER, WELCOME);
sshd.start();
port = sshd.getPort();
}
示例3: setUp
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
sshd = setupTestServer();
PropertyResolverUtils.updateProperty(sshd, FactoryManager.IDLE_TIMEOUT, TIMEOUT);
sshd.setShellFactory(new TestEchoShellFactory());
sshd.start();
port = sshd.getPort();
}
示例4: setUp
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
protected void setUp(long bytesLimit, long timeLimit, long packetsLimit) throws Exception {
sshd = setupTestServer();
if (bytesLimit > 0L) {
PropertyResolverUtils.updateProperty(sshd, FactoryManager.REKEY_BYTES_LIMIT, bytesLimit);
}
if (timeLimit > 0L) {
PropertyResolverUtils.updateProperty(sshd, FactoryManager.REKEY_TIME_LIMIT, timeLimit);
}
if (packetsLimit > 0L) {
PropertyResolverUtils.updateProperty(sshd, FactoryManager.REKEY_PACKETS_LIMIT, packetsLimit);
}
sshd.start();
port = sshd.getPort();
}
示例5: testFailAuthenticationWithWaitFor
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Test
public void testFailAuthenticationWithWaitFor() throws Exception {
final int maxAllowedAuths = 10;
PropertyResolverUtils.updateProperty(sshd, ServerAuthenticationManager.MAX_AUTH_REQUESTS, maxAllowedAuths);
sshd.start();
client.setServiceFactories(Arrays.asList(
new ClientUserAuthServiceOld.Factory(),
ClientConnectionServiceFactory.INSTANCE
));
client.start();
try (ClientSession s = client.connect(getCurrentTestName(), TEST_LOCALHOST, sshd.getPort()).verify(7L, TimeUnit.SECONDS).getSession()) {
int nbTrials = 0;
Collection<ClientSession.ClientSessionEvent> res = Collections.emptySet();
Collection<ClientSession.ClientSessionEvent> mask =
EnumSet.of(ClientSession.ClientSessionEvent.CLOSED, ClientSession.ClientSessionEvent.WAIT_AUTH);
while (!res.contains(ClientSession.ClientSessionEvent.CLOSED)) {
nbTrials++;
s.getService(ClientUserAuthServiceOld.class)
.auth(new org.apache.sshd.deprecated.UserAuthPassword(s, "ssh-connection", "buggy"));
res = s.waitFor(mask, TimeUnit.SECONDS.toMillis(5L));
assertFalse("Timeout signalled", res.contains(ClientSession.ClientSessionEvent.TIMEOUT));
}
assertTrue("Number trials (" + nbTrials + ") below min.=" + maxAllowedAuths, nbTrials > maxAllowedAuths);
} finally {
client.stop();
}
}
示例6: testFailAuthenticationWithFuture
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Test
public void testFailAuthenticationWithFuture() throws Exception {
final int maxAllowedAuths = 10;
PropertyResolverUtils.updateProperty(sshd, ServerAuthenticationManager.MAX_AUTH_REQUESTS, maxAllowedAuths);
sshd.start();
client.setServiceFactories(Arrays.asList(
new ClientUserAuthServiceOld.Factory(),
ClientConnectionServiceFactory.INSTANCE
));
client.start();
try (ClientSession s = client.connect(getCurrentTestName(), TEST_LOCALHOST, sshd.getPort()).verify(7L, TimeUnit.SECONDS).getSession()) {
int nbTrials = 0;
AuthFuture authFuture;
do {
nbTrials++;
assertTrue("Number of trials below max.", nbTrials < 100);
authFuture = s.getService(ClientUserAuthServiceOld.class)
.auth(new org.apache.sshd.deprecated.UserAuthPassword(s, "ssh-connection", "buggy"));
assertTrue("Authentication wait failed", authFuture.await(5L, TimeUnit.SECONDS));
assertTrue("Authentication not done", authFuture.isDone());
assertFalse("Authentication unexpectedly successful", authFuture.isSuccess());
} while (authFuture.getException() == null);
Throwable t = authFuture.getException();
assertNotNull("Missing auth future exception", t);
assertTrue("Number trials (" + nbTrials + ") below min.=" + maxAllowedAuths, nbTrials > maxAllowedAuths);
} finally {
client.stop();
}
}
示例7: testAuthenticationTimeout
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Test
public void testAuthenticationTimeout() throws Exception {
final long testAuthTimeout = TimeUnit.SECONDS.toMillis(5L);
PropertyResolverUtils.updateProperty(sshd, FactoryManager.AUTH_TIMEOUT, testAuthTimeout);
sshd.start();
client.start();
try (ClientSession s = client.connect(getCurrentTestName(), TEST_LOCALHOST, sshd.getPort()).verify(7L, TimeUnit.SECONDS).getSession()) {
Collection<ClientSession.ClientSessionEvent> res = s.waitFor(EnumSet.of(ClientSession.ClientSessionEvent.CLOSED), 2L * testAuthTimeout);
assertTrue("Session should be closed: " + res,
res.containsAll(EnumSet.of(ClientSession.ClientSessionEvent.CLOSED, ClientSession.ClientSessionEvent.WAIT_AUTH)));
} finally {
client.stop();
}
}
示例8: setUp
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
sshd = setupTestServer();
PropertyResolverUtils.updateProperty(sshd, ServerFactoryManager.AUTH_METHODS, UserAuthPublicKeyFactory.NAME);
sshd.setPublickeyAuthenticator(new PublickeyAuthenticator() {
@SuppressWarnings("synthetic-access")
@Override
public boolean authenticate(String username, PublicKey key, ServerSession session) {
return delegate.authenticate(username, key, session);
}
});
sshd.start();
port = sshd.getPort();
}
示例9: createNativeSession
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
protected ClientSession createNativeSession() throws Exception {
client = setupTestClient();
PropertyResolverUtils.updateProperty(client, FactoryManager.WINDOW_SIZE, 2048);
PropertyResolverUtils.updateProperty(client, FactoryManager.MAX_PACKET_SIZE, 256);
client.setTcpipForwardingFilter(AcceptAllForwardingFilter.INSTANCE);
client.start();
ClientSession session = client.connect(getCurrentTestName(), TEST_LOCALHOST, sshPort).verify(7L, TimeUnit.SECONDS).getSession();
session.addPasswordIdentity(getCurrentTestName());
session.auth().verify(11L, TimeUnit.SECONDS);
return session;
}
示例10: AsyncUserAuthService
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
public AsyncUserAuthService(Session s) throws SshException {
ValidateUtils.checkTrue(s instanceof ServerSession, "Server side service used on client side");
if (s.isAuthenticated()) {
throw new SshException("Session already authenticated");
}
serverSession = (ServerSession) s;
maxAuthRequests = PropertyResolverUtils.getIntProperty(s, ServerAuthenticationManager.MAX_AUTH_REQUESTS, ServerAuthenticationManager.DEFAULT_MAX_AUTH_REQUESTS);
List<NamedFactory<UserAuth>> factories = ValidateUtils.checkNotNullAndNotEmpty(
serverSession.getUserAuthFactories(), "No user auth factories for %s", s);
userAuthFactories = new ArrayList<>(factories);
// Get authentication methods
authMethods = new ArrayList<>();
String mths = PropertyResolverUtils.getString(s, ServerFactoryManager.AUTH_METHODS);
if (GenericUtils.isEmpty(mths)) {
for (NamedFactory<UserAuth> uaf : factories) {
authMethods.add(new ArrayList<>(Collections.singletonList(uaf.getName())));
}
} else {
if (log.isDebugEnabled()) {
log.debug("ServerUserAuthService({}) using configured methods={}", s, mths);
}
for (String mthl : mths.split("\\s")) {
authMethods.add(new ArrayList<>(Arrays.asList(GenericUtils.split(mthl, ','))));
}
}
// Verify all required methods are supported
for (List<String> l : authMethods) {
for (String m : l) {
NamedFactory<UserAuth> factory = NamedResource.Utils.findByName(m, String.CASE_INSENSITIVE_ORDER, userAuthFactories);
if (factory == null) {
throw new SshException("Configured method is not supported: " + m);
}
}
}
if (log.isDebugEnabled()) {
log.debug("ServerUserAuthService({}) authorized authentication methods: {}",
s, NamedResource.Utils.getNames(userAuthFactories));
}
}
示例11: testWindowConsumptionWithInvertedStreams
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Test
public void testWindowConsumptionWithInvertedStreams() throws Exception {
sshd.setShellFactory(new AsyncEchoShellFactory());
PropertyResolverUtils.updateProperty(sshd, FactoryManager.WINDOW_SIZE, 1024);
PropertyResolverUtils.updateProperty(client, FactoryManager.WINDOW_SIZE, 1024);
client.start();
try (ClientSession session = client.connect(getCurrentTestName(), TEST_LOCALHOST, port).verify(7L, TimeUnit.SECONDS).getSession()) {
session.addPasswordIdentity(getCurrentTestName());
session.auth().verify(5L, TimeUnit.SECONDS);
try (ChannelShell channel = session.createShellChannel()) {
channel.open().verify(5L, TimeUnit.SECONDS);
try (Channel serverChannel = sshd.getActiveSessions().iterator().next().getService(ServerConnectionService.class).getChannels().iterator().next()) {
Window clientLocal = channel.getLocalWindow();
Window clientRemote = channel.getRemoteWindow();
Window serverLocal = serverChannel.getLocalWindow();
Window serverRemote = serverChannel.getRemoteWindow();
final String message = "0123456789";
final int nbMessages = 500;
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(channel.getInvertedIn()));
BufferedReader reader = new BufferedReader(new InputStreamReader(channel.getInvertedOut()))) {
for (int i = 0; i < nbMessages; i++) {
writer.write(message);
writer.write("\n");
writer.flush();
waitForWindowNotEquals(clientLocal, serverRemote, "client local", "server remote", TimeUnit.SECONDS.toMillis(3L));
String line = reader.readLine();
assertEquals("Mismatched message at line #" + i, message, line);
waitForWindowEquals(clientLocal, serverRemote, "client local", "server remote", TimeUnit.SECONDS.toMillis(3L));
waitForWindowEquals(clientRemote, serverLocal, "client remote", "server local", TimeUnit.SECONDS.toMillis(3L));
}
}
}
}
} finally {
client.stop();
}
}
示例12: testWindowConsumptionWithDirectStreams
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Test
public void testWindowConsumptionWithDirectStreams() throws Exception {
sshd.setShellFactory(new AsyncEchoShellFactory());
PropertyResolverUtils.updateProperty(sshd, FactoryManager.WINDOW_SIZE, 1024);
PropertyResolverUtils.updateProperty(client, FactoryManager.WINDOW_SIZE, 1024);
client.start();
try (ClientSession session = client.connect(getCurrentTestName(), TEST_LOCALHOST, port).verify(7L, TimeUnit.SECONDS).getSession()) {
session.addPasswordIdentity(getCurrentTestName());
session.auth().verify(5L, TimeUnit.SECONDS);
try (ChannelShell channel = session.createShellChannel();
PipedInputStream inPis = new PipedInputStream();
PipedOutputStream inPos = new PipedOutputStream(inPis);
PipedInputStream outPis = new PipedInputStream();
PipedOutputStream outPos = new PipedOutputStream(outPis)) {
channel.setIn(inPis);
channel.setOut(outPos);
channel.open().verify(7L, TimeUnit.SECONDS);
try (Channel serverChannel = sshd.getActiveSessions().iterator().next().getService(ServerConnectionService.class).getChannels().iterator().next()) {
Window clientLocal = channel.getLocalWindow();
Window clientRemote = channel.getRemoteWindow();
Window serverLocal = serverChannel.getLocalWindow();
Window serverRemote = serverChannel.getRemoteWindow();
final String message = "0123456789";
final int nbMessages = 500;
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(inPos));
BufferedReader reader = new BufferedReader(new InputStreamReader(outPis))) {
for (int i = 0; i < nbMessages; i++) {
writer.write(message);
writer.write('\n');
writer.flush();
waitForWindowEquals(clientLocal, serverRemote, "client local", "server remote", TimeUnit.SECONDS.toMillis(3L));
String line = reader.readLine();
assertEquals("Mismatched message at line #" + i, message, line);
waitForWindowEquals(clientLocal, serverRemote, "client local", "server remote", TimeUnit.SECONDS.toMillis(3L));
waitForWindowEquals(clientRemote, serverLocal, "client remote", "server local", TimeUnit.SECONDS.toMillis(3L));
}
}
}
}
} finally {
client.stop();
}
}
示例13: testWindowConsumptionWithAsyncStreams
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Test
public void testWindowConsumptionWithAsyncStreams() throws Exception {
sshd.setShellFactory(new AsyncEchoShellFactory());
PropertyResolverUtils.updateProperty(sshd, FactoryManager.WINDOW_SIZE, 1024);
PropertyResolverUtils.updateProperty(client, FactoryManager.WINDOW_SIZE, 1024);
client.start();
try (ClientSession session = client.connect(getCurrentTestName(), TEST_LOCALHOST, port).verify(7L, TimeUnit.SECONDS).getSession()) {
session.addPasswordIdentity(getCurrentTestName());
session.auth().verify(5L, TimeUnit.SECONDS);
try (ChannelShell channel = session.createShellChannel()) {
channel.setStreaming(ClientChannel.Streaming.Async);
channel.open().verify(5L, TimeUnit.SECONDS);
try (Channel serverChannel = sshd.getActiveSessions().iterator().next().getService(ServerConnectionService.class).getChannels().iterator().next()) {
Window clientLocal = channel.getLocalWindow();
Window clientRemote = channel.getRemoteWindow();
Window serverLocal = serverChannel.getLocalWindow();
Window serverRemote = serverChannel.getRemoteWindow();
final String message = "0123456789\n";
final byte[] bytes = message.getBytes(StandardCharsets.UTF_8);
final int nbMessages = 500;
IoOutputStream output = channel.getAsyncIn();
IoInputStream input = channel.getAsyncOut();
for (int i = 0; i < nbMessages; i++) {
Buffer buffer = new ByteArrayBuffer(bytes);
output.write(buffer).verify(5L, TimeUnit.SECONDS);
waitForWindowNotEquals(clientLocal, serverRemote, "client local", "server remote", TimeUnit.SECONDS.toMillis(3L));
Buffer buf = new ByteArrayBuffer(16);
IoReadFuture future = input.read(buf);
future.verify(5L, TimeUnit.SECONDS);
assertEquals("Mismatched available data at line #" + i, message.length(), buf.available());
assertEquals("Mismatched data at line #" + i, message, new String(buf.array(), buf.rpos(), buf.available()));
waitForWindowEquals(clientLocal, serverRemote, "client local", "server remote", TimeUnit.SECONDS.toMillis(3L));
waitForWindowEquals(clientRemote, serverLocal, "client remote", "server local", TimeUnit.SECONDS.toMillis(3L));
}
}
}
} finally {
client.stop();
}
}
示例14: setUp
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
sshd = setupTestServer();
PropertyResolverUtils.updateProperty(sshd, FactoryManager.WINDOW_SIZE, 2048);
PropertyResolverUtils.updateProperty(sshd, FactoryManager.MAX_PACKET_SIZE, 256);
sshd.setTcpipForwardingFilter(AcceptAllForwardingFilter.INSTANCE);
sshd.start();
if (!requestsQ.isEmpty()) {
requestsQ.clear();
}
final TcpipForwarderFactory factory = ValidateUtils.checkNotNull(sshd.getTcpipForwarderFactory(), "No TcpipForwarderFactory");
sshd.setTcpipForwarderFactory(new TcpipForwarderFactory() {
private final Class<?>[] interfaces = {TcpipForwarder.class};
private final Map<String, String> method2req = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER) {
private static final long serialVersionUID = 1L; // we're not serializing it...
{
put("localPortForwardingRequested", TcpipForwardHandler.REQUEST);
put("localPortForwardingCancelled", CancelTcpipForwardHandler.REQUEST);
}
};
@Override
public TcpipForwarder create(ConnectionService service) {
Thread thread = Thread.currentThread();
ClassLoader cl = thread.getContextClassLoader();
final TcpipForwarder forwarder = factory.create(service);
return (TcpipForwarder) Proxy.newProxyInstance(cl, interfaces, new InvocationHandler() {
@SuppressWarnings("synthetic-access")
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Object result = method.invoke(forwarder, args);
String name = method.getName();
String request = method2req.get(name);
if (GenericUtils.length(request) > 0) {
if (requestsQ.offer(request)) {
log.info("Signal " + request);
} else {
log.error("Failed to offer request=" + request);
}
}
return result;
}
});
}
});
sshPort = sshd.getPort();
NioSocketAcceptor acceptor = new NioSocketAcceptor();
acceptor.setHandler(new IoHandlerAdapter() {
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
IoBuffer recv = (IoBuffer) message;
IoBuffer sent = IoBuffer.allocate(recv.remaining());
sent.put(recv);
sent.flip();
session.write(sent);
}
});
acceptor.setReuseAddress(true);
acceptor.bind(new InetSocketAddress(0));
echoPort = acceptor.getLocalAddress().getPort();
this.acceptor = acceptor;
}
示例15: runClient
import org.apache.sshd.common.PropertyResolverUtils; //导入依赖的package包/类
@SuppressWarnings("checkstyle:nestedtrydepth")
protected void runClient(String msg) throws Exception {
try (SshClient client = setupTestClient()) {
PropertyResolverUtils.updateProperty(client, FactoryManager.MAX_PACKET_SIZE, 1024 * 16);
PropertyResolverUtils.updateProperty(client, FactoryManager.WINDOW_SIZE, 1024 * 8);
client.setKeyExchangeFactories(Arrays.asList(
ClientBuilder.DH2KEX.transform(BuiltinDHFactories.dhg1)));
client.setCipherFactories(Arrays.<NamedFactory<Cipher>>asList(BuiltinCiphers.blowfishcbc));
client.start();
try (ClientSession session = client.connect(getCurrentTestName(), TEST_LOCALHOST, port).verify(7L, TimeUnit.SECONDS).getSession()) {
session.addPasswordIdentity(getCurrentTestName());
session.auth().verify(5L, TimeUnit.SECONDS);
try (ByteArrayOutputStream out = new ByteArrayOutputStream();
ByteArrayOutputStream err = new ByteArrayOutputStream();
ClientChannel channel = session.createChannel(Channel.CHANNEL_SHELL)) {
channel.setOut(out);
channel.setErr(err);
try {
channel.open().verify(9L, TimeUnit.SECONDS);
try (OutputStream pipedIn = channel.getInvertedIn()) {
msg += "\nexit\n";
pipedIn.write(msg.getBytes(StandardCharsets.UTF_8));
pipedIn.flush();
}
Collection<ClientChannelEvent> result =
channel.waitFor(EnumSet.of(ClientChannelEvent.CLOSED), TimeUnit.SECONDS.toMillis(15L));
assertFalse("Timeout while waiting for channel closure", result.contains(ClientChannelEvent.TIMEOUT));
} finally {
channel.close(false);
}
assertArrayEquals("Mismatched message data", msg.getBytes(StandardCharsets.UTF_8), out.toByteArray());
}
} finally {
client.stop();
}
}
}