Skip to content

Commit

Permalink
Revert "HDFS-17575. SaslDataTransferClient should use SaslParticipant…
Browse files Browse the repository at this point in the history
… to create messages. (#6933)"

This reverts commit 7638b47.
  • Loading branch information
szetszwo committed Jul 21, 2024
1 parent 1577f57 commit e48cd0e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@
import org.apache.hadoop.security.token.SecretManager;
import org.apache.hadoop.security.token.Token;
import org.apache.hadoop.util.Lists;
import org.apache.hadoop.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand All @@ -85,8 +84,6 @@ public class SaslDataTransferClient {
private static final Logger LOG = LoggerFactory.getLogger(
SaslDataTransferClient.class);

private static final byte[] EMPTY_BYTE_ARRAY = {};

private final Configuration conf;
private final AtomicBoolean fallbackToSimpleAuth;
private final SaslPropertiesResolver saslPropsResolver;
Expand Down Expand Up @@ -522,29 +519,25 @@ private IOStreamPair doSaslHandshake(InetAddress addr,
// In which case there will be no encrypted secret sent from NN.
BlockTokenIdentifier blockTokenIdentifier =
accessToken.decodeIdentifier();
final byte[] first = sasl.evaluateChallengeOrResponse(EMPTY_BYTE_ARRAY);
if (LOG.isDebugEnabled()) {
LOG.info("first: {}", first == null ? null : first.length == 0 ? "<empty>"
: StringUtils.byteToHexString(first));
}
if (blockTokenIdentifier != null) {
byte[] handshakeSecret =
accessToken.decodeIdentifier().getHandshakeMsg();
if (handshakeSecret == null || handshakeSecret.length == 0) {
LOG.debug("Handshake secret is null, "
+ "sending without handshake secret.");
sendSaslMessage(out, first);
sendSaslMessage(out, new byte[0]);
} else {
LOG.debug("Sending handshake secret.");
BlockTokenIdentifier identifier = new BlockTokenIdentifier();
identifier.readFields(new DataInputStream(
new ByteArrayInputStream(accessToken.getIdentifier())));
String bpid = identifier.getBlockPoolId();
sendSaslMessageHandshakeSecret(out, first, handshakeSecret, bpid);
sendSaslMessageHandshakeSecret(out, new byte[0],
handshakeSecret, bpid);
}
} else {
LOG.debug("Block token id is null, sending without handshake secret.");
sendSaslMessage(out, first);
sendSaslMessage(out, new byte[0]);
}

// step 1
Expand Down Expand Up @@ -572,7 +565,6 @@ private IOStreamPair doSaslHandshake(InetAddress addr,
cipherOptions.add(option);
}
}
LOG.debug("{}: cipherOptions={}", sasl, cipherOptions);
sendSaslMessageAndNegotiationCipherOptions(out, localResponse,
cipherOptions);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.Map;
import java.util.Objects;
import javax.security.auth.callback.CallbackHandler;
import javax.security.sasl.Sasl;
import javax.security.sasl.SaslClient;
Expand Down Expand Up @@ -111,7 +110,7 @@ public static SaslParticipant createClientSaslParticipant(String userName,
* @param saslServer to wrap
*/
private SaslParticipant(SaslServer saslServer) {
this.saslServer = Objects.requireNonNull(saslServer, "saslServer == null");
this.saslServer = saslServer;
this.saslClient = null;
}

Expand All @@ -122,7 +121,7 @@ private SaslParticipant(SaslServer saslServer) {
*/
private SaslParticipant(SaslClient saslClient) {
this.saslServer = null;
this.saslClient = Objects.requireNonNull(saslClient, "saslClient == null");
this.saslClient = saslClient;
}

/**
Expand Down Expand Up @@ -229,9 +228,4 @@ public IOStreamPair createStreamPair(DataOutputStream out,
new SaslOutputStream(out, saslServer));
}
}

@Override
public String toString() {
return "Sasl" + (saslServer != null? "Server" : "Client");
}
}

0 comments on commit e48cd0e

Please sign in to comment.