}
indyn = (const uint8_t *)req->in.vector[i+2].iov_base;
+ for (c=0; protocol == PROTOCOL_NONE && c < dialect_count; c++) {
+ if (lp_maxprotocol() < PROTOCOL_SMB2_24) {
+ break;
+ }
+ if (lp_minprotocol() > PROTOCOL_SMB2_24) {
+ break;
+ }
+
+ dialect = SVAL(indyn, c*2);
+ if (dialect == SMB2_DIALECT_REVISION_224) {
+ protocol = PROTOCOL_SMB2_24;
+ break;
+ }
+ }
+
+ for (c=0; protocol == PROTOCOL_NONE && c < dialect_count; c++) {
+ if (lp_maxprotocol() < PROTOCOL_SMB2_22) {
+ break;
+ }
+ if (lp_minprotocol() > PROTOCOL_SMB2_22) {
+ break;
+ }
+
+ dialect = SVAL(indyn, c*2);
+ if (dialect == SMB2_DIALECT_REVISION_222) {
+ protocol = PROTOCOL_SMB2_22;
+ break;
+ }
+ }
+
for (c=0; protocol == PROTOCOL_NONE && c < dialect_count; c++) {
if (lp_maxprotocol() < PROTOCOL_SMB2_10) {
break;
}
security_mode = SMB2_NEGOTIATE_SIGNING_ENABLED;
- if (lp_server_signing() == Required) {
+ if (lp_server_signing() == SMB_SIGNING_REQUIRED) {
security_mode |= SMB2_NEGOTIATE_SIGNING_REQUIRED;
}