@@ -67,7 +67,11 @@ static Channel getChannel(String type, Session session) {
6767 ret = new ChannelForwardedTCPIP ();
6868 }
6969 if (type .equals ("sftp" )) {
70- ret = new ChannelSftp ();
70+ ChannelSftp sftp = new ChannelSftp ();
71+ boolean useWriteFlushWorkaround =
72+ session .getConfig ("use_sftp_write_flush_workaround" ).equals ("yes" );
73+ sftp .setUseWriteFlushWorkaround (useWriteFlushWorkaround );
74+ ret = sftp ;
7175 }
7276 if (type .equals ("subsystem" )) {
7377 ret = new ChannelSubsystem ();
@@ -204,6 +208,11 @@ public void setExtOutputStream(OutputStream out, boolean dontclose) {
204208 }
205209
206210 public InputStream getInputStream () throws IOException {
211+ Session _session = this .session ;
212+ if (_session != null && isConnected () && _session .getLogger ().isEnabled (Logger .WARN )) {
213+ _session .getLogger ().log (Logger .WARN , "getInputStream() should be called before connect()" );
214+ }
215+
207216 int max_input_buffer_size = 32 * 1024 ;
208217 try {
209218 max_input_buffer_size = Integer .parseInt (getSession ().getConfig ("max_input_buffer_size" ));
@@ -217,6 +226,12 @@ public InputStream getInputStream() throws IOException {
217226 }
218227
219228 public InputStream getExtInputStream () throws IOException {
229+ Session _session = this .session ;
230+ if (_session != null && isConnected () && _session .getLogger ().isEnabled (Logger .WARN )) {
231+ _session .getLogger ().log (Logger .WARN ,
232+ "getExtInputStream() should be called before connect()" );
233+ }
234+
220235 int max_input_buffer_size = 32 * 1024 ;
221236 try {
222237 max_input_buffer_size = Integer .parseInt (getSession ().getConfig ("max_input_buffer_size" ));
0 commit comments