public override void start() { //throws JSchException{ try { PipedOutputStream pos = new PipedOutputStream(); io.setOutputStream(pos); PipedInputStream pis = new MyPipedInputStream(pos, 32 * 1024); io.setInputStream(pis); Request request = new RequestSftp(); request.request(session, this); /* * System.err.println("lmpsize: "+lmpsize); * System.err.println("lwsize: "+lwsize); * System.err.println("rmpsize: "+rmpsize); * System.err.println("rwsize: "+rwsize); */ buf = new Buffer(rmpsize); packet = new Packet(buf); int i = 0; int length; int type; byte[] str; // send SSH_FXP_INIT sendINIT(); // receive SSH_FXP_VERSION Header _header = new Header(); _header = ReadHeader(buf, _header); length = _header.length; if (length > MAX_MSG_LENGTH) { throw new SftpException(SSH_FX_FAILURE, "Received message is too long: " + length); } type = _header.type; // 2 -> SSH_FXP_VERSION ServerVersion = _header.rid; skip(length); //System.err.println("SFTP protocol server-version="+server_version); //System.Console.WriteLine("server_version="+server_version+", type="+type+", length="+length+", i="+i); // send SSH_FXP_REALPATH sendREALPATH("."); // receive SSH_FXP_NAME _header = ReadHeader(buf, _header); length = _header.length; type = _header.type; // 104 -> SSH_FXP_NAME buf.Rewind(); fill(buf.buffer, 0, length); i = buf.ReadInt(); // count //System.Console.WriteLine("type="+type+", length="+length+", i="+i); str = buf.ReadString(); // filename //System.Console.WriteLine("str.length="+str.Length); home = cwd = Encoding.UTF8.GetString(str); str = buf.ReadString(); // logname // SftpATTRS.getATTR(buf); // attrs lcwd = System.IO.Path.GetFullPath("."); } catch (Exception e) { //System.out.println(e); //System.Console.WriteLine(e); if (e is JSchException) { throw (JSchException)e; } throw new JSchException(e.ToString()); } }
public override void start() { //throws JSchException{ try { PipedOutputStream pos=new PipedOutputStream(); io.setOutputStream(pos); PipedInputStream pis=new MyPipedInputStream(pos, 32*1024); io.setInputStream(pis); Request request=new RequestSftp(); request.request(session, this); /* System.err.println("lmpsize: "+lmpsize); System.err.println("lwsize: "+lwsize); System.err.println("rmpsize: "+rmpsize); System.err.println("rwsize: "+rwsize); */ buf=new Buffer(rmpsize); packet=new Packet(buf); int i=0; int length; int type; byte[] str; // send SSH_FXP_INIT sendINIT(); // receive SSH_FXP_VERSION Header _header=new Header(); _header=header(buf, _header); length=_header.length; if(length > MAX_MSG_LENGTH) { throw new SftpException(SSH_FX_FAILURE, "Received message is too long: " + length); } type=_header.type; // 2 -> SSH_FXP_VERSION server_version=_header.rid; skip(length); //System.err.println("SFTP protocol server-version="+server_version); //System.Console.WriteLine("server_version="+server_version+", type="+type+", length="+length+", i="+i); // send SSH_FXP_REALPATH sendREALPATH(new String(".").getBytes()); // receive SSH_FXP_NAME _header=header(buf, _header); length=_header.length; type=_header.type; // 104 -> SSH_FXP_NAME buf.rewind(); fill(buf.buffer, 0, length); i=buf.getInt(); // count //System.Console.WriteLine("type="+type+", length="+length+", i="+i); str=buf.getString(); // filename //System.Console.WriteLine("str.length="+str.Length); home=cwd=new String(str); str=buf.getString(); // logname // SftpATTRS.getATTR(buf); // attrs lcwd=new File(".").getCanonicalPath(); } catch(Exception e) { //System.out.println(e); //System.Console.WriteLine(e); if(e is JSchException) throw (JSchException)e; throw new JSchException(e.toString()); } }
public override void start() { try { PipedOutputStream pos = new PipedOutputStream(); io.setOutputStream(pos); PipedInputStream pis = new MyPipedInputStream(pos, 32 * 1024); io.setInputStream(pis); Request request = new RequestSftp(); request.request(session, this); buf = new Buffer(rmpsize); packet = new Packet(buf); int i = 0; int length; int type; byte[] str; // send SSH_FXP_INIT sendINIT(); // receive SSH_FXP_VERSION Header _header = new Header(); _header = header(buf, _header); length = _header.length; if (length > MAX_MSG_LENGTH) { throw new SftpException(SSH_FX_FAILURE, "Received message is too long: " + length); } type = _header.type; // 2 -> SSH_FXP_VERSION server_version = _header.rid; skip(length); // send SSH_FXP_REALPATH sendREALPATH(".".GetBytes()); // receive SSH_FXP_NAME _header = header(buf, _header); length = _header.length; type = _header.type; // 104 -> SSH_FXP_NAME buf.rewind(); fill(buf.buffer, 0, length); i = buf.getInt(); // count str = buf.getString(); // filename home = cwd = new JavaString(str); str = buf.getString(); // logname lcwd = new File(".").getCanonicalPath(); } catch (Exception e) { if (e is JSchException) throw (JSchException)e; throw new JSchException(e); } }