From 6f7f893c243dd915524f89f8b7dc319122d7be7f Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 8 Jul 2007 22:50:33 +0000 Subject: [PATCH] allow a digest in Stream darcs-hash:20070708225033-5007d-a757b5725305d335ef78660467655225db9d66f2.gz --- src/org/ibex/io/ByteBufInputStream.java | 4 ++++ src/org/ibex/io/Stream.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/org/ibex/io/ByteBufInputStream.java b/src/org/ibex/io/ByteBufInputStream.java index bede9d2..064b7bd 100644 --- a/src/org/ibex/io/ByteBufInputStream.java +++ b/src/org/ibex/io/ByteBufInputStream.java @@ -4,6 +4,7 @@ package org.ibex.io; import java.io.*; +import org.ibex.crypto.*; /** package-private class */ abstract class ByteBufInputStream extends InputStream { @@ -13,6 +14,7 @@ abstract class ByteBufInputStream extends InputStream { private byte[] buf = new byte[8192]; private int start = 0; private int end = 0; + public Digest digest = null; public ByteBufInputStream(InputStream is) { this.is = is; @@ -41,6 +43,8 @@ abstract class ByteBufInputStream extends InputStream { start = end = 0; continue; } + } else { + if (digest != null) digest.update(buf, 0, end); } } while(end==0); if (end == -1) { end = 0; return -1; } diff --git a/src/org/ibex/io/Stream.java b/src/org/ibex/io/Stream.java index ab52f8a..2cc2e14 100644 --- a/src/org/ibex/io/Stream.java +++ b/src/org/ibex/io/Stream.java @@ -9,6 +9,7 @@ import java.net.*; import java.util.*; import java.util.zip.*; import org.ibex.util.*; +import org.ibex.crypto.*; // Features: // - automatically flush writer before reading on linked read/write pairs @@ -55,6 +56,8 @@ public class Stream { public void setNewline(String s) { newLine = s; } public InputStream getInputStream() { return in; } + public void setInputDigest(Digest d) { in.bbis.digest = d; } + private static class Out extends BufferedOutputStream { private Writer writer = new OutputStreamWriter(this); public Out(OutputStream out) { super(out); } -- 1.7.10.4