package DBProxy.MySQL.Protocol;
import java.util.ArrayList;
public class SSLRequest extends Packet {
public long capabilityFlags = Flags.CLIENT_PROTOCOL_41;
public long maxPacketSize = 0;
public long characterSet = 0;
public void setCapabilityFlag(long flag) {
this.capabilityFlags |= flag;
}
public void removeCapabilityFlag(long flag) {
this.capabilityFlags &= ~flag;
}
public void toggleCapabilityFlag(long flag) {
this.capabilityFlags ^= flag;
}
public boolean hasCapabilityFlag(long flag) {
return ((this.capabilityFlags & flag) == flag);
}
public ArrayList<byte[]> getPayload() {
ArrayList<byte[]> payload = new ArrayList<byte[]>();
payload.add( Proto.build_fixed_int(4, this.capabilityFlags));
payload.add( Proto.build_fixed_int(4, this.maxPacketSize));
payload.add( Proto.build_fixed_int(1, this.characterSet));
payload.add( Proto.build_filler(23));
return payload;
}
public static HandshakeResponse loadFromPacket(byte[] packet) {
HandshakeResponse obj = new HandshakeResponse();
Proto proto = new Proto(packet, 3);
obj.capabilityFlags = proto.get_fixed_int(4);
obj.maxPacketSize = proto.get_fixed_int(4);
obj.characterSet = proto.get_fixed_int(1);
proto.get_filler(23);
return obj;
}
}