|
|
@@ -53,10 +53,11 @@ |
|
|
|
*/ |
|
|
|
package org.apache.tools.ant.taskdefs; |
|
|
|
|
|
|
|
import java.io.DataInputStream; |
|
|
|
import java.io.BufferedReader; |
|
|
|
import java.io.File; |
|
|
|
import java.io.FileInputStream; |
|
|
|
import java.io.FileOutputStream; |
|
|
|
import java.io.InputStreamReader; |
|
|
|
import java.io.IOException; |
|
|
|
import java.security.DigestInputStream; |
|
|
|
import java.security.MessageDigest; |
|
|
@@ -377,15 +378,14 @@ public class Checksum extends MatchingTask implements Condition { |
|
|
|
if (existingFile.exists() && |
|
|
|
existingFile.length() == checksum.length()) { |
|
|
|
fis = new FileInputStream(existingFile); |
|
|
|
DataInputStream edis = new DataInputStream(fis); |
|
|
|
String suppliedChecksum = ""; |
|
|
|
if (edis.available() > 0) { |
|
|
|
suppliedChecksum = edis.readLine(); |
|
|
|
} |
|
|
|
InputStreamReader isr = new InputStreamReader(fis); |
|
|
|
BufferedReader br = new BufferedReader(isr); |
|
|
|
String suppliedChecksum = br.readLine(); |
|
|
|
fis.close(); |
|
|
|
fis = null; |
|
|
|
edis.close(); |
|
|
|
checksumMatches = |
|
|
|
br.close(); |
|
|
|
isr.close(); |
|
|
|
checksumMatches = |
|
|
|
checksum.equals(suppliedChecksum); |
|
|
|
} else { |
|
|
|
checksumMatches = false; |
|
|
@@ -394,6 +394,8 @@ public class Checksum extends MatchingTask implements Condition { |
|
|
|
File dest = (File) destination; |
|
|
|
fos = new FileOutputStream(dest); |
|
|
|
fos.write(checksum.getBytes()); |
|
|
|
fos.close(); |
|
|
|
fos = null; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|