PushCertificateParser: throw PackProtocolException in more cases
This is the subclass of IOException already thrown by BaseReceivePack#recvCommands when encountering an invalid value on the wire. That's what PushCertificateParser is doing too, so use the same subclass. Change-Id: I1d323909ffe70757ea56e511556080695b1a0c11
This commit is contained in:
parent
8d0cedf2ec
commit
48c35edfd2
|
@ -54,6 +54,7 @@
|
|||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.eclipse.jgit.errors.PackProtocolException;
|
||||
import org.eclipse.jgit.internal.JGitText;
|
||||
import org.eclipse.jgit.lib.PersonIdent;
|
||||
import org.eclipse.jgit.lib.Repository;
|
||||
|
@ -183,7 +184,7 @@ private static String parseHeader(PacketLineIn pckIn, String header)
|
|||
if (s.length() <= header.length()
|
||||
|| !s.startsWith(header)
|
||||
|| s.charAt(header.length()) != ' ') {
|
||||
throw new IOException(MessageFormat.format(
|
||||
throw new PackProtocolException(MessageFormat.format(
|
||||
JGitText.get().pushCertificateInvalidHeader, header));
|
||||
}
|
||||
return s.substring(header.length() + 1);
|
||||
|
@ -214,13 +215,13 @@ public void receiveHeader(PacketLineIn pckIn, boolean stateless)
|
|||
try {
|
||||
version = parseHeader(pckIn, VERSION);
|
||||
if (!version.equals(VERSION_0_1)) {
|
||||
throw new IOException(MessageFormat.format(
|
||||
throw new PackProtocolException(MessageFormat.format(
|
||||
JGitText.get().pushCertificateInvalidFieldValue, VERSION, version));
|
||||
}
|
||||
String pusherStr = parseHeader(pckIn, PUSHER);
|
||||
pusher = RawParseUtils.parsePersonIdent(pusherStr);
|
||||
if (pusher == null) {
|
||||
throw new IOException(MessageFormat.format(
|
||||
throw new PackProtocolException(MessageFormat.format(
|
||||
JGitText.get().pushCertificateInvalidFieldValue,
|
||||
PUSHER, pusherStr));
|
||||
}
|
||||
|
@ -228,11 +229,11 @@ public void receiveHeader(PacketLineIn pckIn, boolean stateless)
|
|||
receivedNonce = parseHeader(pckIn, NONCE);
|
||||
// An empty line.
|
||||
if (!pckIn.readString().isEmpty()) {
|
||||
throw new IOException(
|
||||
throw new PackProtocolException(
|
||||
JGitText.get().pushCertificateInvalidHeader);
|
||||
}
|
||||
} catch (EOFException eof) {
|
||||
throw new IOException(
|
||||
throw new PackProtocolException(
|
||||
JGitText.get().pushCertificateInvalidHeader, eof);
|
||||
}
|
||||
nonceStatus = nonceGenerator != null
|
||||
|
@ -264,10 +265,11 @@ public void receiveSignature(PacketLineIn pckIn) throws IOException {
|
|||
}
|
||||
signature = sig.toString();
|
||||
if (!pckIn.readStringRaw().equals(END_CERT)) {
|
||||
throw new IOException(JGitText.get().pushCertificateInvalidSignature);
|
||||
throw new PackProtocolException(
|
||||
JGitText.get().pushCertificateInvalidSignature);
|
||||
}
|
||||
} catch (EOFException eof) {
|
||||
throw new IOException(
|
||||
throw new PackProtocolException(
|
||||
JGitText.get().pushCertificateInvalidSignature, eof);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue