Mercurial > 510Connectbot
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; |