Lines Matching refs:pneg_ctxt

736 static void build_preauth_ctxt(struct smb2_preauth_neg_context *pneg_ctxt,  in build_preauth_ctxt()  argument
739 pneg_ctxt->ContextType = SMB2_PREAUTH_INTEGRITY_CAPABILITIES; in build_preauth_ctxt()
740 pneg_ctxt->DataLength = cpu_to_le16(38); in build_preauth_ctxt()
741 pneg_ctxt->HashAlgorithmCount = cpu_to_le16(1); in build_preauth_ctxt()
742 pneg_ctxt->Reserved = cpu_to_le32(0); in build_preauth_ctxt()
743 pneg_ctxt->SaltLength = cpu_to_le16(SMB311_SALT_SIZE); in build_preauth_ctxt()
744 get_random_bytes(pneg_ctxt->Salt, SMB311_SALT_SIZE); in build_preauth_ctxt()
745 pneg_ctxt->HashAlgorithms = hash_id; in build_preauth_ctxt()
748 static void build_encrypt_ctxt(struct smb2_encryption_neg_context *pneg_ctxt, in build_encrypt_ctxt() argument
751 pneg_ctxt->ContextType = SMB2_ENCRYPTION_CAPABILITIES; in build_encrypt_ctxt()
752 pneg_ctxt->DataLength = cpu_to_le16(4); in build_encrypt_ctxt()
753 pneg_ctxt->Reserved = cpu_to_le32(0); in build_encrypt_ctxt()
754 pneg_ctxt->CipherCount = cpu_to_le16(1); in build_encrypt_ctxt()
755 pneg_ctxt->Ciphers[0] = cipher_type; in build_encrypt_ctxt()
758 static void build_compression_ctxt(struct smb2_compression_capabilities_context *pneg_ctxt, in build_compression_ctxt() argument
761 pneg_ctxt->ContextType = SMB2_COMPRESSION_CAPABILITIES; in build_compression_ctxt()
762 pneg_ctxt->DataLength = in build_compression_ctxt()
765 pneg_ctxt->Reserved = cpu_to_le32(0); in build_compression_ctxt()
766 pneg_ctxt->CompressionAlgorithmCount = cpu_to_le16(1); in build_compression_ctxt()
767 pneg_ctxt->Flags = cpu_to_le32(0); in build_compression_ctxt()
768 pneg_ctxt->CompressionAlgorithms[0] = comp_algo; in build_compression_ctxt()
771 static void build_sign_cap_ctxt(struct smb2_signing_capabilities *pneg_ctxt, in build_sign_cap_ctxt() argument
774 pneg_ctxt->ContextType = SMB2_SIGNING_CAPABILITIES; in build_sign_cap_ctxt()
775 pneg_ctxt->DataLength = in build_sign_cap_ctxt()
778 pneg_ctxt->Reserved = cpu_to_le32(0); in build_sign_cap_ctxt()
779 pneg_ctxt->SigningAlgorithmCount = cpu_to_le16(1); in build_sign_cap_ctxt()
780 pneg_ctxt->SigningAlgorithms[0] = sign_algo; in build_sign_cap_ctxt()
783 static void build_posix_ctxt(struct smb2_posix_neg_context *pneg_ctxt) in build_posix_ctxt() argument
785 pneg_ctxt->ContextType = SMB2_POSIX_EXTENSIONS_AVAILABLE; in build_posix_ctxt()
786 pneg_ctxt->DataLength = cpu_to_le16(POSIX_CTXT_DATA_LEN); in build_posix_ctxt()
788 pneg_ctxt->Name[0] = 0x93; in build_posix_ctxt()
789 pneg_ctxt->Name[1] = 0xAD; in build_posix_ctxt()
790 pneg_ctxt->Name[2] = 0x25; in build_posix_ctxt()
791 pneg_ctxt->Name[3] = 0x50; in build_posix_ctxt()
792 pneg_ctxt->Name[4] = 0x9C; in build_posix_ctxt()
793 pneg_ctxt->Name[5] = 0xB4; in build_posix_ctxt()
794 pneg_ctxt->Name[6] = 0x11; in build_posix_ctxt()
795 pneg_ctxt->Name[7] = 0xE7; in build_posix_ctxt()
796 pneg_ctxt->Name[8] = 0xB4; in build_posix_ctxt()
797 pneg_ctxt->Name[9] = 0x23; in build_posix_ctxt()
798 pneg_ctxt->Name[10] = 0x83; in build_posix_ctxt()
799 pneg_ctxt->Name[11] = 0xDE; in build_posix_ctxt()
800 pneg_ctxt->Name[12] = 0x96; in build_posix_ctxt()
801 pneg_ctxt->Name[13] = 0x8B; in build_posix_ctxt()
802 pneg_ctxt->Name[14] = 0xCD; in build_posix_ctxt()
803 pneg_ctxt->Name[15] = 0x7C; in build_posix_ctxt()
810 char *pneg_ctxt = (char *)rsp + in assemble_neg_contexts() local
817 build_preauth_ctxt((struct smb2_preauth_neg_context *)pneg_ctxt, in assemble_neg_contexts()
823 pneg_ctxt += round_up(sizeof(struct smb2_preauth_neg_context), 8); in assemble_neg_contexts()
829 build_encrypt_ctxt((struct smb2_encryption_neg_context *)pneg_ctxt, in assemble_neg_contexts()
834 pneg_ctxt += in assemble_neg_contexts()
844 build_compression_ctxt((struct smb2_compression_capabilities_context *)pneg_ctxt, in assemble_neg_contexts()
849 pneg_ctxt += round_up(sizeof(struct smb2_compression_capabilities_context) + 2, in assemble_neg_contexts()
857 build_posix_ctxt((struct smb2_posix_neg_context *)pneg_ctxt); in assemble_neg_contexts()
861 pneg_ctxt += round_up(sizeof(struct smb2_posix_neg_context), 8); in assemble_neg_contexts()
868 build_sign_cap_ctxt((struct smb2_signing_capabilities *)pneg_ctxt, in assemble_neg_contexts()
878 struct smb2_preauth_neg_context *pneg_ctxt) in decode_preauth_ctxt() argument
882 if (pneg_ctxt->HashAlgorithms == SMB2_PREAUTH_INTEGRITY_SHA512) { in decode_preauth_ctxt()
892 struct smb2_encryption_neg_context *pneg_ctxt, in decode_encrypt_ctxt() argument
895 int cph_cnt = le16_to_cpu(pneg_ctxt->CipherCount); in decode_encrypt_ctxt()
910 if (pneg_ctxt->Ciphers[i] == SMB2_ENCRYPTION_AES128_GCM || in decode_encrypt_ctxt()
911 pneg_ctxt->Ciphers[i] == SMB2_ENCRYPTION_AES128_CCM || in decode_encrypt_ctxt()
912 pneg_ctxt->Ciphers[i] == SMB2_ENCRYPTION_AES256_CCM || in decode_encrypt_ctxt()
913 pneg_ctxt->Ciphers[i] == SMB2_ENCRYPTION_AES256_GCM) { in decode_encrypt_ctxt()
915 pneg_ctxt->Ciphers[i]); in decode_encrypt_ctxt()
916 conn->cipher_type = pneg_ctxt->Ciphers[i]; in decode_encrypt_ctxt()
942 struct smb2_compression_capabilities_context *pneg_ctxt) in decode_compress_ctxt() argument
948 struct smb2_signing_capabilities *pneg_ctxt, in decode_sign_cap_ctxt() argument
951 int sign_algo_cnt = le16_to_cpu(pneg_ctxt->SigningAlgorithmCount); in decode_sign_cap_ctxt()
963 if (pneg_ctxt->SigningAlgorithms[i] == SIGNING_ALG_HMAC_SHA256_LE || in decode_sign_cap_ctxt()
964 pneg_ctxt->SigningAlgorithms[i] == SIGNING_ALG_AES_CMAC_LE) { in decode_sign_cap_ctxt()
966 pneg_ctxt->SigningAlgorithms[i]); in decode_sign_cap_ctxt()
969 pneg_ctxt->SigningAlgorithms[i]; in decode_sign_cap_ctxt()