Author: toad
Date: 2006-01-26 00:45:42 +0000 (Thu, 26 Jan 2006)
New Revision: 7933
Modified:
trunk/freenet/src/freenet/node/TextModeClientInterface.java
trunk/freenet/src/freenet/node/Version.java
Log:
384:
Filter escape codes in TMCI.GET: and also limit GET: output to 32kB.
Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-01-26
00:18:57 UTC (rev 7932)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-01-26
00:45:42 UTC (rev 7933)
@@ -150,9 +150,24 @@
FetchResult result = client.fetch(uri);
ClientMetadata cm = result.getMetadata();
System.out.println("Content MIME type:
"+cm.getMIMEType());
+ Bucket data = result.asBucket();
+ // FIXME limit it above
+ if(data.size() > 32*1024) {
+ System.err.println("Data is more than
32K: "+data.size());
+ return;
+ }
+ byte[] dataBytes =
BucketTools.toByteArray(data);
+ boolean evil = false;
+ for(int i=0;i<dataBytes.length;i++) {
+ // Look for escape codes
+ if(dataBytes[i] < 32) evil = true;
+ }
+ if(evil) {
+ System.err.println("Data may contain
escape codes which could cause the terminal to run arbitrary commands! Save it
to a file if you must with GETFILE:");
+ return;
+ }
System.out.println("Data:\n");
- Bucket data = result.asBucket();
- BucketTools.copyTo(data, System.out,
Long.MAX_VALUE);
+ System.out.println(new String(dataBytes));
System.out.println();
} catch (FetchException e) {
System.out.println("Error: "+e.getMessage());
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-01-26 00:18:57 UTC (rev
7932)
+++ trunk/freenet/src/freenet/node/Version.java 2006-01-26 00:45:42 UTC (rev
7933)
@@ -20,7 +20,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- public static final int buildNumber = 383;
+ public static final int buildNumber = 384;
/** Oldest build of Fred we will talk to */
public static final int lastGoodBuild = 381;