mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-04-28 16:17:38 -07:00
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
202 lines
7.4 KiB
Diff
202 lines
7.4 KiB
Diff
diff -ur j2ssh-0.2.9/src/com/sshtools/j2ssh/io/ByteArrayReader.java j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/io/ByteArrayReader.java
|
|
--- j2ssh-0.2.9/src/com/sshtools/j2ssh/io/ByteArrayReader.java 2007-04-28 21:02:54.000000000 +0200
|
|
+++ j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/io/ByteArrayReader.java 2008-01-18 19:27:38.000000000 +0100
|
|
@@ -118,7 +118,13 @@
|
|
byte[] chars = new byte[(int) len];
|
|
System.arraycopy(data, start + 4, chars, 0, len);
|
|
|
|
- return new String(chars);
|
|
+ try {
|
|
+ return new String(chars, "UTF-8");
|
|
+ }
|
|
+ catch(java.io.UnsupportedEncodingException e) {
|
|
+ // This should never happen, UTF-8 is necessarily supported.
|
|
+ return new String(chars);
|
|
+ }
|
|
}
|
|
|
|
/**
|
|
@@ -163,6 +169,12 @@
|
|
byte[] raw = new byte[(int) len];
|
|
read(raw);
|
|
|
|
- return new String(raw);
|
|
+ try {
|
|
+ return new String(raw, "UTF-8");
|
|
+ }
|
|
+ catch(java.io.UnsupportedEncodingException e) {
|
|
+ // This should never happen, UTF-8 is necessarily supported.
|
|
+ return new String(raw);
|
|
+ }
|
|
}
|
|
}
|
|
diff -ur j2ssh-0.2.9/src/com/sshtools/j2ssh/io/ByteArrayWriter.java j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/io/ByteArrayWriter.java
|
|
--- j2ssh-0.2.9/src/com/sshtools/j2ssh/io/ByteArrayWriter.java 2007-04-29 10:54:48.000000000 +0200
|
|
+++ j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/io/ByteArrayWriter.java 2008-01-18 19:30:36.000000000 +0100
|
|
@@ -190,15 +190,15 @@
|
|
if (str == null) {
|
|
writeInt(0);
|
|
} else {
|
|
- /*
|
|
- writeInt(str.length());
|
|
- // don't use US-ASCII by default!
|
|
- write(str.getBytes());
|
|
- */
|
|
- // patch as of version 0.2.9
|
|
- // for UTF-8 length of string is not necessarily
|
|
- // equal to number of bytes
|
|
- byte[] strBytes = str.getBytes();
|
|
+ byte[] strBytes;
|
|
+ try {
|
|
+ strBytes = str.getBytes("UTF-8");
|
|
+ }
|
|
+ catch(java.io.UnsupportedEncodingException e) {
|
|
+ // This should never happen, UTF-8 is necessarily supported.
|
|
+ strBytes = str.getBytes();
|
|
+ }
|
|
+
|
|
writeInt(strBytes.length);
|
|
write(strBytes);
|
|
}
|
|
diff -ur j2ssh-0.2.9/src/com/sshtools/j2ssh/sftp/SftpFileInputStream.java j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/sftp/SftpFileInputStream.java
|
|
--- j2ssh-0.2.9/src/com/sshtools/j2ssh/sftp/SftpFileInputStream.java 2007-04-28 21:02:54.000000000 +0200
|
|
+++ j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/sftp/SftpFileInputStream.java 2008-01-18 19:26:58.000000000 +0100
|
|
@@ -38,7 +38,7 @@
|
|
*/
|
|
public class SftpFileInputStream extends InputStream {
|
|
SftpFile file;
|
|
- UnsignedInteger64 position = new UnsignedInteger64("0");
|
|
+ UnsignedInteger64 position;
|
|
|
|
/**
|
|
* Creates a new SftpFileInputStream object.
|
|
@@ -48,16 +48,47 @@
|
|
* @throws IOException
|
|
*/
|
|
public SftpFileInputStream(SftpFile file) throws IOException {
|
|
+ this(file, 0);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Creates a new SftpFileInputStream object and sets the file offset to the specified position.
|
|
+ *
|
|
+ * @param file
|
|
+ * @param position the initial file offset, must be >=0
|
|
+ *
|
|
+ * @throws IOException
|
|
+ */
|
|
+ public SftpFileInputStream(SftpFile file, long position) throws IOException {
|
|
if (file.getHandle() == null) {
|
|
throw new IOException("The file does not have a valid handle!");
|
|
}
|
|
-
|
|
+
|
|
if (file.getSFTPSubsystem() == null) {
|
|
- throw new IOException(
|
|
- "The file is not attached to an SFTP subsystem!");
|
|
+ throw new IOException("The file is not attached to an SFTP subsystem!");
|
|
}
|
|
-
|
|
+
|
|
this.file = file;
|
|
+ this.position = new UnsignedInteger64(""+position);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Returns the current offset within the file.
|
|
+ *
|
|
+ * @return the current offset within the file
|
|
+ */
|
|
+ public long getPosition() {
|
|
+ return position.longValue();
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Sets the current file offset to the given position.
|
|
+ * Subsequent calls to read methods will start reading data at this position.
|
|
+ *
|
|
+ * @param position the new offset, must be >=0
|
|
+ */
|
|
+ public void setPosition(long position) {
|
|
+ this.position = new UnsignedInteger64(""+position);
|
|
}
|
|
|
|
/**
|
|
diff -ur j2ssh-0.2.9/src/com/sshtools/j2ssh/sftp/SftpFileOutputStream.java j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/sftp/SftpFileOutputStream.java
|
|
--- j2ssh-0.2.9/src/com/sshtools/j2ssh/sftp/SftpFileOutputStream.java 2007-04-28 21:02:54.000000000 +0200
|
|
+++ j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/sftp/SftpFileOutputStream.java 2008-01-18 19:08:55.000000000 +0100
|
|
@@ -38,7 +38,7 @@
|
|
*/
|
|
public class SftpFileOutputStream extends OutputStream {
|
|
SftpFile file;
|
|
- UnsignedInteger64 position = new UnsignedInteger64("0");
|
|
+ UnsignedInteger64 position;
|
|
|
|
/**
|
|
* Creates a new SftpFileOutputStream object.
|
|
@@ -48,6 +48,18 @@
|
|
* @throws IOException
|
|
*/
|
|
public SftpFileOutputStream(SftpFile file) throws IOException {
|
|
+ this(file, 0);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Creates a new SftpFileOutputStream object and sets the file offset to the specified position.
|
|
+ *
|
|
+ * @param file
|
|
+ * @param position the initial file offset, must be >=0
|
|
+ *
|
|
+ * @throws IOException
|
|
+ */
|
|
+ public SftpFileOutputStream(SftpFile file, long position) throws IOException {
|
|
if (file.getHandle() == null) {
|
|
throw new IOException("The file does not have a valid handle!");
|
|
}
|
|
@@ -58,6 +70,7 @@
|
|
}
|
|
|
|
this.file = file;
|
|
+ this.position = new UnsignedInteger64(""+position);
|
|
}
|
|
|
|
/**
|
|
diff -ur j2ssh-0.2.9/src/com/sshtools/j2ssh/sftp/SftpSubsystemClient.java j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/sftp/SftpSubsystemClient.java
|
|
--- j2ssh-0.2.9/src/com/sshtools/j2ssh/sftp/SftpSubsystemClient.java 2007-04-28 21:02:54.000000000 +0200
|
|
+++ j2ssh-0.2.9_patched/src/com/sshtools/j2ssh/sftp/SftpSubsystemClient.java 2008-01-21 17:48:06.000000000 +0100
|
|
@@ -231,16 +231,28 @@
|
|
}
|
|
|
|
/**
|
|
+ * Creates the directory with the specified path. The default permissions for the directory are 0755 ("rwxr-xr-x").
|
|
*
|
|
+ * @param path the path to the directory to create
|
|
+ * @throws IOException if an error occurs
|
|
+ */
|
|
+ public synchronized void makeDirectory(String path) throws IOException {
|
|
+ makeDirectory(path, 0755); // default to 755 octal (493 decimal): "rwxr-xr-x"
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Creates the directory with the specified path and file permissions.
|
|
*
|
|
- * @param path
|
|
- *
|
|
- * @throws IOException
|
|
+ * @param path the path to the directory to create
|
|
+ * @param permissions the file permissions of the new directory
|
|
+ * @throws IOException if an error occurs
|
|
*/
|
|
- public synchronized void makeDirectory(String path)
|
|
- throws IOException {
|
|
+ public synchronized void makeDirectory(String path, int permissions) throws IOException {
|
|
UnsignedInteger32 requestId = nextRequestId();
|
|
- SshFxpMkdir msg = new SshFxpMkdir(requestId, path, new FileAttributes());
|
|
+ FileAttributes attrs = new FileAttributes();
|
|
+ attrs.setPermissions(new UnsignedInteger32(permissions));
|
|
+
|
|
+ SshFxpMkdir msg = new SshFxpMkdir(requestId, path, attrs);
|
|
sendMessage(msg);
|
|
getOKRequestStatus(requestId);
|
|
}
|