[JBoss JIRA] (JBOSGI-780) ManifestBuilder does not work on windows if line has 511 bytes
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-780?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov resolved JBOSGI-780.
-----------------------------------
Fix Version/s: JBossOSGI 2.3.1
Resolution: Done
> ManifestBuilder does not work on windows if line has 511 bytes
> --------------------------------------------------------------
>
> Key: JBOSGI-780
> URL: https://issues.jboss.org/browse/JBOSGI-780
> Project: JBoss OSGi
> Issue Type: Bug
> Components: other
> Environment: windows
> Reporter: Martin Basovnik
> Assignee: Arcadiy Ivanov
> Fix For: JBossOSGI 2.3.1
>
>
> Lines on Windows OS end with {{CRLF}} ({{\r\n}}). Method [{{org.jboss.osgi.metadata.ManifestBuilder.getManifest()}}|https://github.com/jbosgi/jbosgi-metadata/blob/master/src/main/java/org/jboss/osgi/metadata/ManifestBuilder.java#L93] does not count with this fact. If {{bytes.length == 511}} then a line will have 513 bytes and method {{Manifest#read}} will throw {{IOException}} and the building of the manifest will fail.
> Reason:
> The following line will crop byte {{\n}}:
> {code:java}
> byte[] lbuf = new byte[512];
> attr.read(fis, lbuf);
> {code}
> and then the following condition will fail because the value of {{lbuf\[--len\]}} expression is {{'\r'}}.
> {code:java}
> if (lbuf[--len] != '\n') {
> throw new IOException("manifest line too long");
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 9 months
[JBoss JIRA] (JBOSGI-780) ManifestBuilder does not work on windows if line has 511 bytes
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-780?page=com.atlassian.jira.plugin... ]
Work on JBOSGI-780 stopped by Arcadiy Ivanov.
---------------------------------------------
> ManifestBuilder does not work on windows if line has 511 bytes
> --------------------------------------------------------------
>
> Key: JBOSGI-780
> URL: https://issues.jboss.org/browse/JBOSGI-780
> Project: JBoss OSGi
> Issue Type: Bug
> Components: other
> Environment: windows
> Reporter: Martin Basovnik
> Assignee: Arcadiy Ivanov
>
> Lines on Windows OS end with {{CRLF}} ({{\r\n}}). Method [{{org.jboss.osgi.metadata.ManifestBuilder.getManifest()}}|https://github.com/jbosgi/jbosgi-metadata/blob/master/src/main/java/org/jboss/osgi/metadata/ManifestBuilder.java#L93] does not count with this fact. If {{bytes.length == 511}} then a line will have 513 bytes and method {{Manifest#read}} will throw {{IOException}} and the building of the manifest will fail.
> Reason:
> The following line will crop byte {{\n}}:
> {code:java}
> byte[] lbuf = new byte[512];
> attr.read(fis, lbuf);
> {code}
> and then the following condition will fail because the value of {{lbuf\[--len\]}} expression is {{'\r'}}.
> {code:java}
> if (lbuf[--len] != '\n') {
> throw new IOException("manifest line too long");
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 9 months
[JBoss JIRA] (JBOSGI-780) ManifestBuilder does not work on windows if line has 511 bytes
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-780?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov updated JBOSGI-780:
----------------------------------
Git Pull Request: https://github.com/jbosgi/jbosgi-metadata/pull/4
> ManifestBuilder does not work on windows if line has 511 bytes
> --------------------------------------------------------------
>
> Key: JBOSGI-780
> URL: https://issues.jboss.org/browse/JBOSGI-780
> Project: JBoss OSGi
> Issue Type: Bug
> Components: other
> Environment: windows
> Reporter: Martin Basovnik
> Assignee: Arcadiy Ivanov
>
> Lines on Windows OS end with {{CRLF}} ({{\r\n}}). Method [{{org.jboss.osgi.metadata.ManifestBuilder.getManifest()}}|https://github.com/jbosgi/jbosgi-metadata/blob/master/src/main/java/org/jboss/osgi/metadata/ManifestBuilder.java#L93] does not count with this fact. If {{bytes.length == 511}} then a line will have 513 bytes and method {{Manifest#read}} will throw {{IOException}} and the building of the manifest will fail.
> Reason:
> The following line will crop byte {{\n}}:
> {code:java}
> byte[] lbuf = new byte[512];
> attr.read(fis, lbuf);
> {code}
> and then the following condition will fail because the value of {{lbuf\[--len\]}} expression is {{'\r'}}.
> {code:java}
> if (lbuf[--len] != '\n') {
> throw new IOException("manifest line too long");
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 9 months
[JBoss JIRA] (JBOSGI-780) ManifestBuilder does not work on windows if line has 511 bytes
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-780?page=com.atlassian.jira.plugin... ]
Work on JBOSGI-780 started by Arcadiy Ivanov.
---------------------------------------------
> ManifestBuilder does not work on windows if line has 511 bytes
> --------------------------------------------------------------
>
> Key: JBOSGI-780
> URL: https://issues.jboss.org/browse/JBOSGI-780
> Project: JBoss OSGi
> Issue Type: Bug
> Components: other
> Environment: windows
> Reporter: Martin Basovnik
> Assignee: Arcadiy Ivanov
>
> Lines on Windows OS end with {{CRLF}} ({{\r\n}}). Method [{{org.jboss.osgi.metadata.ManifestBuilder.getManifest()}}|https://github.com/jbosgi/jbosgi-metadata/blob/master/src/main/java/org/jboss/osgi/metadata/ManifestBuilder.java#L93] does not count with this fact. If {{bytes.length == 511}} then a line will have 513 bytes and method {{Manifest#read}} will throw {{IOException}} and the building of the manifest will fail.
> Reason:
> The following line will crop byte {{\n}}:
> {code:java}
> byte[] lbuf = new byte[512];
> attr.read(fis, lbuf);
> {code}
> and then the following condition will fail because the value of {{lbuf\[--len\]}} expression is {{'\r'}}.
> {code:java}
> if (lbuf[--len] != '\n') {
> throw new IOException("manifest line too long");
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 9 months
[JBoss JIRA] (JBOSGI-780) ManifestBuilder does not work on windows if line has 511 bytes
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-780?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov reassigned JBOSGI-780:
-------------------------------------
Assignee: Arcadiy Ivanov
> ManifestBuilder does not work on windows if line has 511 bytes
> --------------------------------------------------------------
>
> Key: JBOSGI-780
> URL: https://issues.jboss.org/browse/JBOSGI-780
> Project: JBoss OSGi
> Issue Type: Bug
> Components: other
> Environment: windows
> Reporter: Martin Basovnik
> Assignee: Arcadiy Ivanov
>
> Lines on Windows OS end with {{CRLF}} ({{\r\n}}). Method [{{org.jboss.osgi.metadata.ManifestBuilder.getManifest()}}|https://github.com/jbosgi/jbosgi-metadata/blob/master/src/main/java/org/jboss/osgi/metadata/ManifestBuilder.java#L93] does not count with this fact. If {{bytes.length == 511}} then a line will have 513 bytes and method {{Manifest#read}} will throw {{IOException}} and the building of the manifest will fail.
> Reason:
> The following line will crop byte {{\n}}:
> {code:java}
> byte[] lbuf = new byte[512];
> attr.read(fis, lbuf);
> {code}
> and then the following condition will fail because the value of {{lbuf\[--len\]}} expression is {{'\r'}}.
> {code:java}
> if (lbuf[--len] != '\n') {
> throw new IOException("manifest line too long");
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 9 months