Windows Driver: change inherited TrueCrypt constants in kernel objects tags by VeraCrypt specific values. These are used in crash dumps analysis and during debugging.
Windows: correct lock issue in RandgetBytes by releasing critical section in case of error.
Implement function RandgetBytesFull that enables generating random bytes of any length.
Windows: Implement specifying the size of the generated keyfiles and also letting VeraCrypt choose random size values.
Correct XML syntax for symbols '<' and '>'
Update license text to show VeraCrypt name while maintaining the TrueCrypt license.
Linux/MacOSX: Implement generating more than one keyfile, specifying the size of the generated keyfiles and letting VeraCrypt choose random size values.
Windows: always display random gathering dialog when UserEnrichRandomPool is called instead of once per application run. This is implemented through the call SetRandomPoolEnrichedByUserStatus(FALSE) at the begining of sensitive operations instead of changing UserEnrichRandomPool because in the same call there can be many calls to UserEnrichRandomPool which can result in displaying the dialog many times.
Linux/macOSX: always display random gathering dialog/interface before performing sensitive operations that needs good quality random.