java/code/src/com/redhat/rhn/taskomatic/task/repomd/CompressingDigestOutputWriter.java |
6 +-
java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java |
2
java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java |
21 ++++++----
java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java |
2
java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp |
2
java/code/webapp/WEB-INF/pages/rhnpackage/packagedetail.jsp |
8 +--
6 files changed, 24 insertions(+), 17 deletions(-)
New commits:
commit 0b9d56bce3eec96f11b6e6bad3a37bc396b6abde
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Dec 18 13:15:59 2009 +0100
sha256 changes for taskomatic
includes message digests fix
diff --git
a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/CompressingDigestOutputWriter.java
b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/CompressingDigestOutputWriter.java
index 1ee0db6..1055480 100644
---
a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/CompressingDigestOutputWriter.java
+++
b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/CompressingDigestOutputWriter.java
@@ -42,13 +42,13 @@ public class CompressingDigestOutputWriter extends OutputStream
implements
* @param stream The stream to compress
* @param checksumtype checksum type
*/
- public CompressingDigestOutputWriter(OutputStream stream, String checksumtype) {
+ public CompressingDigestOutputWriter(OutputStream stream, String checksumAlgo) {
try {
compressedDigestStream = new DigestOutputStream(stream,
- MessageDigest.getInstance(checksumtype));
+ MessageDigest.getInstance(checksumAlgo));
compressedStream = new GZIPOutputStream(compressedDigestStream);
uncompressedDigestStream = new DigestOutputStream(compressedStream,
- MessageDigest.getInstance(checksumtype));
+ MessageDigest.getInstance(checksumAlgo));
}
catch (NoSuchAlgorithmException nsae) {
// XXX fatal runtime exception
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
index 9594bd9..46160c3 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
@@ -183,7 +183,7 @@ public class PrimaryXmlWriter extends RepomdWriter {
handler.endElement("version");
attr.clear();
- attr.addAttribute("type", "md5");
+ attr.addAttribute("type", sanitize(pkgId, pkgDto.getChecksumType()));
attr.addAttribute("pkgid", "YES");
handler.startElement("checksum", attr);
handler.addCharacters(sanitize(pkgId, pkgDto.getChecksum()));
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
index 22c4f82..dab4af4 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
@@ -108,13 +108,19 @@ public class RepositoryWriter {
log.info("Checksum Type Value" + this.checksumtype);
+ // available digests: MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512
+ String checksum_algo = this.checksumtype;
+ if (checksum_algo.toUpperCase().startsWith("SHA")) {
+ checksum_algo = this.checksumtype.substring(0, 3) + "-" +
this.checksumtype.substring(3);
+ }
+
try {
primaryFile = new CompressingDigestOutputWriter(
- new FileOutputStream(prefix + PRIMARY_FILE), this.checksumtype);
+ new FileOutputStream(prefix + PRIMARY_FILE), checksum_algo);
filelistsFile = new CompressingDigestOutputWriter(
- new FileOutputStream(prefix + FILELISTS_FILE), this.checksumtype);
+ new FileOutputStream(prefix + FILELISTS_FILE), checksum_algo);
otherFile = new CompressingDigestOutputWriter(new FileOutputStream(
- prefix + OTHER_FILE), this.checksumtype);
+ prefix + OTHER_FILE), checksum_algo);
}
catch (IOException e) {
throw new RepomdRuntimeException(e);
@@ -181,9 +187,9 @@ public class RepositoryWriter {
'"');
log.info("Checksum Type Value for generate updateinfo" +
this.checksumtype);
RepomdIndexData updateinfoData = generateUpdateinfo(channel, prefix,
- this.checksumtype);
+ checksum_algo);
- RepomdIndexData groupsData = loadCompsFile(channel);
+ RepomdIndexData groupsData = loadCompsFile(channel, checksum_algo);
//Set the type so yum can read and perform checksum
primaryData.setType(this.checksumtype);
@@ -234,9 +240,10 @@ public class RepositoryWriter {
/**
*
* @param channel channel indo
+ * @param checksumAlgo checksum algorithm
* @return repomd index for given channel
*/
- private RepomdIndexData loadCompsFile(Channel channel) {
+ private RepomdIndexData loadCompsFile(Channel channel, String checksumAlgo) {
String relativeFilename;
String compsMount = Config.get().getString(ConfigDefaults.MOUNT_POINT);
@@ -262,7 +269,7 @@ public class RepositoryWriter {
DigestInputStream digestStream;
try {
digestStream = new DigestInputStream(stream, MessageDigest
- .getInstance(this.checksumtype));
+ .getInstance(checksumAlgo));
}
catch (NoSuchAlgorithmException nsae) {
throw new RepomdRuntimeException(nsae);
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java
b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java
index 572015c..966720e 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java
@@ -179,7 +179,7 @@ public class UpdateInfoWriter extends RepomdWriter {
pkg.getFilename()));
attr.clear();
- attr.addAttribute("type", "md5");
+ attr.addAttribute("type", sanitize(pkgId,
pkg.getChecksum().getChecksumType().getLabel()));
handler.startElement("sum", attr);
handler.addCharacters(sanitize(pkgId, pkg.getChecksum().getChecksum()));
handler.endElement("sum");
commit ee863d14a19b69d0f48ce26319d40e633229c909
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Thu Dec 17 12:15:03 2009 +0100
adding checksum type for rhn/errata/details/Packages.do page
diff --git a/java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp
b/java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp
index e558316..c09739b 100644
--- a/java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp
@@ -28,7 +28,7 @@
</c:if>
<c:forEach items="${current.packages}" var="pack">
- <tt>${pack.checksum}</tt>
+ <tt>${pack.checksumType}:${pack.checksum}</tt>
<a href="/rhn/software/packages/Details.do?pid=${pack.id}">
<c:out value="${pack.name}"/>
</a>
commit 53588c74b8008183156aed922fe8b433c6826aad
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Dec 11 16:57:52 2009 +0100
displaying checkum type on rhn/software/packages/Details.do page
diff --git a/java/code/webapp/WEB-INF/pages/rhnpackage/packagedetail.jsp
b/java/code/webapp/WEB-INF/pages/rhnpackage/packagedetail.jsp
index d4aa452..48bc1bc 100644
--- a/java/code/webapp/WEB-INF/pages/rhnpackage/packagedetail.jsp
+++ b/java/code/webapp/WEB-INF/pages/rhnpackage/packagedetail.jsp
@@ -68,10 +68,10 @@
</tr>
<tr>
- <th><bean:message key="package.jsp.md5sum"/>:</th>
- <td><c:out value="${pack.checksum}" /></td>
- </tr>
-
+ <th><c:out
value="${pack.checksum.checksumType.description}"/>:</th>
+ <td><c:out value="${pack.checksum.checksum}" /></td>
+ </tr>
+
<tr>
<th><bean:message key="package.jsp.path"/>:</th>
<td><c:out value="${pack.path}" /></td>