Details
Description
In method processOneRpc(Bytebuffer buf) in RpcServer.java (branch-1), ServerRpcConnection.java (branch-2, master), if connectionHeadRead is set to false, the method authorizeConnection() will be invoked whatever the boolean authorize is true or false.
if (!authorizeConnection()) { // Throw FatalConnectionException wrapping ACE so client does right thing and closes // down the connection instead of trying to read non-existent retun. throw new AccessDeniedException("Connection from " + this + " for service " + connectionHeader.getServiceName() + " is unauthorized for user: " + ugi); }
In method authorizeConnection()
if (ugi != null && ugi.getRealUser() != null && (authMethod != AuthMethod.DIGEST)) { ProxyUsers.authorize(ugi, this.getHostAddress(), conf); }
ProxyUsers.authorize() will raise AuthorizationException.