HADOOP-9806. Merging r1509347 from trunk
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1509427 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
054dd3a029
commit
bc6a1d96eb
|
@ -36,6 +36,9 @@ Release 2.3.0 - UNRELEASED
|
|||
HADOOP-9582. Non-existent file to "hadoop fs -conf" doesn't throw error
|
||||
(Ashwin Shankar via jlowe)
|
||||
|
||||
HADOOP-9806 PortmapInterface should check if the procedure is out-of-range
|
||||
(brandonli)
|
||||
|
||||
Release 2.1.1-beta - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -45,6 +45,9 @@ public interface PortmapInterface {
|
|||
}
|
||||
|
||||
public static Procedure fromValue(int value) {
|
||||
if (value < 0 || value >= values().length) {
|
||||
return null;
|
||||
}
|
||||
return values()[value];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -131,29 +131,22 @@ public class RpcProgramPortmap extends RpcProgram implements PortmapInterface {
|
|||
@Override
|
||||
public XDR handleInternal(RpcCall rpcCall, XDR in, XDR out,
|
||||
InetAddress client, Channel channel) {
|
||||
Procedure procedure = Procedure.fromValue(rpcCall.getProcedure());
|
||||
final Procedure portmapProc = Procedure.fromValue(rpcCall.getProcedure());
|
||||
int xid = rpcCall.getXid();
|
||||
switch (procedure) {
|
||||
case PMAPPROC_NULL:
|
||||
if (portmapProc == Procedure.PMAPPROC_NULL) {
|
||||
out = nullOp(xid, in, out);
|
||||
break;
|
||||
case PMAPPROC_SET:
|
||||
} else if (portmapProc == Procedure.PMAPPROC_SET) {
|
||||
out = set(xid, in, out);
|
||||
break;
|
||||
case PMAPPROC_UNSET:
|
||||
} else if (portmapProc == Procedure.PMAPPROC_UNSET) {
|
||||
out = unset(xid, in, out);
|
||||
break;
|
||||
case PMAPPROC_DUMP:
|
||||
} else if (portmapProc == Procedure.PMAPPROC_DUMP) {
|
||||
out = dump(xid, in, out);
|
||||
break;
|
||||
case PMAPPROC_GETPORT:
|
||||
} else if (portmapProc == Procedure.PMAPPROC_GETPORT) {
|
||||
out = getport(xid, in, out);
|
||||
break;
|
||||
case PMAPPROC_GETVERSADDR:
|
||||
} else if (portmapProc == Procedure.PMAPPROC_GETVERSADDR) {
|
||||
out = getport(xid, in, out);
|
||||
break;
|
||||
default:
|
||||
LOG.info("PortmapHandler unknown rpc procedure=" + procedure);
|
||||
} else {
|
||||
LOG.info("PortmapHandler unknown rpc procedure=" + portmapProc);
|
||||
RpcAcceptedReply.voidReply(out, xid,
|
||||
RpcAcceptedReply.AcceptState.PROC_UNAVAIL);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue