mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged V2.1 to HEAD
6418: Allow getLayeringInfo on deleted nodes. 6419: fixes for submitting of deleted directories and regenerate renditions related fixes. 6420: Added installs to build 6421: Build fix for sdk 6423: WCM-710 - Submit All feature reintroducted to WCM My Modified Files views 6424: OpenOffice connection is now tested on bootstrap. 6425: AWC-1446 - Space Selector would show spaces you do not have access to 6426: WCM-699 - Staging area user assets 6427: Rollback exceptions now explicitly handled by RetryingTransactionHelper to extract the cause of the exception. 6428: Fix for AWC-1340 6429: Fixed transaction boundaries for full index recovery components 6433: AR-1660 - SMB and SMB2 signature check git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6732 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -266,6 +266,25 @@ public class SMBSrvPacket
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the SMB packet has an SMB2 signature.
|
||||
*
|
||||
* @return boolean True if the packet has an SMB2 signature, else false.
|
||||
*/
|
||||
public final boolean isSMB2()
|
||||
{
|
||||
|
||||
// Check for the SMB2 signature block
|
||||
|
||||
if (m_smbbuf[SIGNATURE] == (byte) 0xFE && m_smbbuf[SIGNATURE + 1] == 'S' && m_smbbuf[SIGNATURE + 2] == 'M'
|
||||
&& m_smbbuf[SIGNATURE + 3] == 'B')
|
||||
return true;
|
||||
|
||||
// Not an SMB2 packet
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear the data byte count
|
||||
*/
|
||||
|
@@ -1321,6 +1321,35 @@ public class SMBSrvSession extends SrvSession implements Runnable
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check the packet signature if we are in an SMB state
|
||||
|
||||
if ( m_state > SMBSrvSessionState.NBSESSREQ)
|
||||
{
|
||||
// Check for an SMB2 packet signature
|
||||
|
||||
if ( m_smbPkt.isSMB2())
|
||||
{
|
||||
// Debug
|
||||
|
||||
if ( logger.isDebugEnabled() && hasDebug(DBG_PKTTYPE))
|
||||
logger.debug("SMB2 request received, ignoring");
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check the packet signature
|
||||
|
||||
if ( m_smbPkt.checkPacketSignature() == false)
|
||||
{
|
||||
// Debug
|
||||
|
||||
if ( logger.isDebugEnabled() && hasDebug(DBG_PKTTYPE))
|
||||
logger.debug("Invalid SMB packet signature received, packet ignored");
|
||||
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Store the received data length
|
||||
|
||||
m_smbPkt.setReceivedLength(m_rxlen);
|
||||
|
Reference in New Issue
Block a user