comparison src/ch/ethz/ssh2/channel/ChannelManager.java @ 289:d2ee20d9dff1 ganymed

start conversion from trilead to ganymed
author Carl Byington <carl@five-ten-sg.com>
date Fri, 18 Jul 2014 20:17:53 -0700
parents 5824a1475be4
children 9ae4ed7bb523
comparison
equal deleted inserted replaced
288:5824a1475be4 289:d2ee20d9dff1
10 import java.util.ArrayList; 10 import java.util.ArrayList;
11 import java.util.HashMap; 11 import java.util.HashMap;
12 import java.util.List; 12 import java.util.List;
13 import java.util.Map; 13 import java.util.Map;
14 14
15 import ch.ethz.ssh2.AuthAgentCallback;
15 import ch.ethz.ssh2.ChannelCondition; 16 import ch.ethz.ssh2.ChannelCondition;
16 import ch.ethz.ssh2.PacketFormatException; 17 import ch.ethz.ssh2.PacketFormatException;
17 import ch.ethz.ssh2.PacketTypeException; 18 import ch.ethz.ssh2.PacketTypeException;
18 import ch.ethz.ssh2.PtySettings; 19 import ch.ethz.ssh2.PtySettings;
19 import ch.ethz.ssh2.ServerConnectionCallback; 20 import ch.ethz.ssh2.ServerConnectionCallback;
464 465
465 /** 466 /**
466 * @param agent 467 * @param agent
467 * @throws IOException 468 * @throws IOException
468 */ 469 */
469 public boolean requestChannelAgentForwarding(Channel c, AuthAgentCallback authAgent) throws IOException { 470 public void requestChannelAgentForwarding(Channel c, AuthAgentCallback authAgent) throws IOException {
470 synchronized (this) { 471 synchronized (this) {
471 if (this.authAgent != null) 472 if (this.authAgent != null)
472 throw new IllegalStateException("Auth agent already exists"); 473 throw new IllegalStateException("Auth agent already exists");
473 474
474 this.authAgent = authAgent; 475 this.authAgent = authAgent;
479 } 480 }
480 481
481 log.debug("Requesting agent forwarding"); 482 log.debug("Requesting agent forwarding");
482 483
483 PacketChannelAuthAgentReq aar = new PacketChannelAuthAgentReq(c.remoteID); 484 PacketChannelAuthAgentReq aar = new PacketChannelAuthAgentReq(c.remoteID);
484 tm.sendMessage(aar.getPayload()); 485 synchronized(c.channelSendLock) {
485 486 if (c.closeMessageSent) {
486 if (waitForChannelRequestResult(c) == false) { 487 throw c.getReasonClosed();
488 }
489 tm.sendMessage(aar.getPayload());
490 }
491
492 try {
493 waitForChannelSuccessOrFailure(c);
494 }
495 catch(IOException e) {
487 authAgent = null; 496 authAgent = null;
488 return false; 497 return false;
489 } 498 }
490 499
491 return true; 500 return true;