Compare commits

...
Author SHA1 Message Date
Mounir IDRASSI fb12b635ed Update Readme.txt to include more accurate build instructions for Linux and MacOSX 2014-11-08 23:23:25 +01:00
Mounir IDRASSI d761e95133 MacOSX : increment MacOSX installer version to 1.0e 2014-11-08 23:23:22 +01:00
Mounir IDRASSI f7d783dda8 Adapt certain functions in the case of Windows bootloader in order to make its size as small as possible. 2014-11-08 23:23:19 +01:00
Mounir IDRASSI ccbc2cff0b Increment version to 1.0e for the next release 2014-11-08 23:23:17 +01:00
Mounir IDRASSI 809394d383 Include language xml files in the setup 2014-11-08 23:23:13 +01:00
Mounir IDRASSI 7c501359b3 Windows vulnerability fix: correct some integer overflow issues using the IntSafe library. Detected by the Open Crypto Audit project 2014-11-08 23:23:10 +01:00
Mounir IDRASSI f82e16f0a1 Windows vulnerability fix: correct checking device name to avoid possible bypass attack detected by the Open Crypto Audit project 2014-11-08 23:23:08 +01:00
Mounir IDRASSI 4fa4d6d227 Windows vulnerability fix: correct possible BSOD attack targeted towards GetWipePassCount() / WipeBuffer() found by the Open Crypto Audit Project. 2014-11-08 23:23:05 +01:00
Mounir IDRASSI e0efb36f33 Revert previous modification on boad-loader decompressor because it increased its size and it became impossible to include it with the SERPENT version of bootloader. The decompressor and the compressed bootloader are copied twice (original and backup) in the 63 first sectors of the hard drive (32K), thus the size limitation.
This reverts commit 154235d589222e3c31cda05aa53e73ab69a89a6e.
2014-11-08 23:23:02 +01:00
Mounir IDRASSI ef4355acf8 Windows vulnerability fix : make boot-loader decompressor more robust and secure by adding multiple checks and validation code. Note that we had to switch to the slow implementation of the function decode in order to keep the size of the decompressor code under 2K. 2014-11-08 23:22:59 +01:00
Mounir IDRASSI 5fcb262539 Windows vulnerability fix : clear sensitive data in Windows kernel driver by using burjn instead of memset 2014-11-08 23:22:57 +01:00
Mounir IDRASSI d6aa653648 Windows vulnerability fix : avoid kernel pointer disclosure through a call to TC_IOCTL_GET_SYSTEM_DRIVE_DUMP_CONFIG but restricting this call to Kernel Mode. 2014-11-08 23:22:54 +01:00
Mounir IDRASSI 6de2c143b9 Windows : Specify "IDRIX" in signtool for the subject of the code signing certificate. 2014-11-08 23:22:51 +01:00
Mounir IDRASSI 9083f95db0 Remove driver version test that is non application to VeraCrypt and that was wrongly inherited from TrueCrypt. 2014-11-08 23:22:49 +01:00
Mounir IDRASSI 03cf7cc566 Correctly handle dialogs from previous versions that used 'TRUE' instead of 'VERA' as a value for GWLP_USERDATA. 2014-11-08 23:22:46 +01:00
Mounir IDRASSI f158df394e Windows : correct bug in construction of Format.exe path that prevented the new volume wizard to launch. 2014-11-08 23:22:43 +01:00
59 changed files with 330 additions and 108 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="ar" name="العربية" en-name="Arabic" version="0.1.0" translators="Ahmad Gharbeia, Khaled Hosny" /> <language langid="ar" name="العربية" en-name="Arabic" version="0.1.0" translators="Ahmad Gharbeia, Khaled Hosny" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="be" name="Беларуская" en-name="Belarusian" version="0.1.0" translators="Aleg Azarousky" /> <language langid="be" name="Беларуская" en-name="Belarusian" version="0.1.0" translators="Aleg Azarousky" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="bg" name="Български" en-name="Bulgarian" version="0.1.0" translators="Lachezar Gorchev" /> <language langid="bg" name="Български" en-name="Bulgarian" version="0.1.0" translators="Lachezar Gorchev" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="ca" name="Català" en-name="Catalan" version="0.1.0" translators="CESICAT, Centre de Seguretat de la Informació de Catalunya" /> <language langid="ca" name="Català" en-name="Catalan" version="0.1.0" translators="CESICAT, Centre de Seguretat de la Informació de Catalunya" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="cs" name="Čeština" en-name="Czech" version="1.0.0" translators="Vítek Moser" /> <language langid="cs" name="Čeština" en-name="Czech" version="1.0.0" translators="Vítek Moser" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="da" name="Dansk" en-name="Danish" version="0.1.0" translators="Lasse Bond" /> <language langid="da" name="Dansk" en-name="Danish" version="0.1.0" translators="Lasse Bond" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="de" name="Deutsch" en-name="German" version="1.0.1" translators="Harry Haller, Alexander Schorg, Simon Frankenberger, David Arndt" /> <language langid="de" name="Deutsch" en-name="German" version="1.0.1" translators="Harry Haller, Alexander Schorg, Simon Frankenberger, David Arndt" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="el" name="Ελληνικά" en-name="Greek" version="0.1.0" translators="Βασίλης Κοσμίδης" /> <language langid="el" name="Ελληνικά" en-name="Greek" version="0.1.0" translators="Βασίλης Κοσμίδης" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="es" name="Español" en-name="Spanish" version="1.0.0" translators="Juan Antonio Auñón Ochando" /> <language langid="es" name="Español" en-name="Spanish" version="1.0.0" translators="Juan Antonio Auñón Ochando" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="et" name="Eesti" en-name="Estonian" version="0.1.0" translators="Maiko Mõtsar" /> <language langid="et" name="Eesti" en-name="Estonian" version="0.1.0" translators="Maiko Mõtsar" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="eu" name="Euskara" en-name="Basque" version="1.0.0" translators="Ander Genua" /> <language langid="eu" name="Euskara" en-name="Basque" version="1.0.0" translators="Ander Genua" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="fa" name="فارسي" en-name="Persian" version="0.1.0" translators="Ali Bitazar, Rodabeh Sarmadi" /> <language langid="fa" name="فارسي" en-name="Persian" version="0.1.0" translators="Ali Bitazar, Rodabeh Sarmadi" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="fi" name="Suomi" en-name="Finnish" version="0.1.0" translators="Matti Ruhanen" /> <language langid="fi" name="Suomi" en-name="Finnish" version="0.1.0" translators="Matti Ruhanen" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="fr" name="Français" en-name="French" version="0.2.0" translators="Stéphane S., Olivier M." /> <language langid="fr" name="Français" en-name="French" version="0.2.0" translators="Stéphane S., Olivier M." />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="hu" name="Magyar" en-name="Hungarian" version="0.1.0" translators="Nyul Balazs" /> <language langid="hu" name="Magyar" en-name="Hungarian" version="0.1.0" translators="Nyul Balazs" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="id" name="Bahasa Indonesia" en-name="Indonesian" version="0.1.0" translators="Tajuddin N. F." /> <language langid="id" name="Bahasa Indonesia" en-name="Indonesian" version="0.1.0" translators="Tajuddin N. F." />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="it" name="Italiano" en-name="Italian" version="1.0.1" translators="Maurizio Ballo, Consiglio Gaetano" /> <language langid="it" name="Italiano" en-name="Italian" version="1.0.1" translators="Maurizio Ballo, Consiglio Gaetano" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="ja" name="日本語" en-name="Japanese" version="1.0.0" translators="OGOSHI Masayuki" /> <language langid="ja" name="日本語" en-name="Japanese" version="1.0.0" translators="OGOSHI Masayuki" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="ka" name="ქართული" en-name="Georgian" version="0.1.0" translators="Kakha Lomiashvili" /> <language langid="ka" name="ქართული" en-name="Georgian" version="0.1.0" translators="Kakha Lomiashvili" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="ko" name="한국어" en-name="Korean" version="0.1.0" translators="Kim Young" /> <language langid="ko" name="한국어" en-name="Korean" version="0.1.0" translators="Kim Young" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="lv" name="Latviešu" en-name="Latvian" version="0.1.0" translators="Edmunds Melkers" /> <language langid="lv" name="Latviešu" en-name="Latvian" version="0.1.0" translators="Edmunds Melkers" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="my" name="မြန်မာ" en-name="Burmese" version="1.0.0" translators="Zaw Myo Htet" /> <language langid="my" name="မြန်မာ" en-name="Burmese" version="1.0.0" translators="Zaw Myo Htet" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="nl" name="Nederlands" en-name="Dutch" version="0.1.0" translators="Jan van der Wal" /> <language langid="nl" name="Nederlands" en-name="Dutch" version="0.1.0" translators="Jan van der Wal" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="nn" name="Norsk Nynorsk" en-name="Norwegian (Nynorsk)" version="0.1.0" translators="Kjell Rune Helland" /> <language langid="nn" name="Norsk Nynorsk" en-name="Norwegian (Nynorsk)" version="0.1.0" translators="Kjell Rune Helland" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="pl" name="Polski" en-name="Polish" version="1.0.0" translators="Mirek Druchowicz, Janusz Zamecki, Sobiesław Antolak, Begina Felicysym" /> <language langid="pl" name="Polski" en-name="Polish" version="1.0.0" translators="Mirek Druchowicz, Janusz Zamecki, Sobiesław Antolak, Begina Felicysym" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="pt-br" name="Português-Brasil" en-name="Portuguese (Brazil)" version="0.1.0" translators="Thiago C. L. Mendes, Lecidio S. Alencar , Lucas C. Ferreira" /> <language langid="pt-br" name="Português-Brasil" en-name="Portuguese (Brazil)" version="0.1.0" translators="Thiago C. L. Mendes, Lecidio S. Alencar , Lucas C. Ferreira" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="ru" name="Русский" en-name="Russian" version="1.0.0" translators="Dmitry Yerokhin" /> <language langid="ru" name="Русский" en-name="Russian" version="1.0.0" translators="Dmitry Yerokhin" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="sk" name="Slovenčina" en-name="Slovak" version="0.1.0" translators="Kamil David" /> <language langid="sk" name="Slovenčina" en-name="Slovak" version="0.1.0" translators="Kamil David" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="sl" name="Slovenščina" en-name="Slovenian" version="0.1.0" translators="Erik David Salam" /> <language langid="sl" name="Slovenščina" en-name="Slovenian" version="0.1.0" translators="Erik David Salam" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="sv" name="Svenska" en-name="Swedish" version="1.0.0" translators="Peter Runesson" /> <language langid="sv" name="Svenska" en-name="Swedish" version="1.0.0" translators="Peter Runesson" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="tr" name="Türkçe" en-name="Turkish" version="0.1.0" translators="Ali İskender Turan, Zeynel Abidin Öztürk" /> <language langid="tr" name="Türkçe" en-name="Turkish" version="0.1.0" translators="Ali İskender Turan, Zeynel Abidin Öztürk" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="uk" name="Українська" en-name="Ukrainian" version="1.0.0" translators="Kravchuk Olexandr, Babchuk Volodymyr" /> <language langid="uk" name="Українська" en-name="Ukrainian" version="1.0.0" translators="Kravchuk Olexandr, Babchuk Volodymyr" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="uz" name="Ўзбекча" en-name="Uzbek (Cyrillic)" version="0.1.0" translators="Abdurauf Azizov, Dmitry Yerokhin" /> <language langid="uz" name="Ўзбекча" en-name="Uzbek (Cyrillic)" version="0.1.0" translators="Abdurauf Azizov, Dmitry Yerokhin" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="vi" name="Tiếng Việt" en-name="Vietnamese" version="0.1.0" translators="Nguyễn Kim Huy" /> <language langid="vi" name="Tiếng Việt" en-name="Vietnamese" version="0.1.0" translators="Nguyễn Kim Huy" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="zh-cn" name="简体中文" en-name="Chinese (Simplified)" version="1.0.0" translators="Barney Li" /> <language langid="zh-cn" name="简体中文" en-name="Chinese (Simplified)" version="1.0.0" translators="Barney Li" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="zh-hk" name="繁體中文" en-name="Chinese (Hong Kong)" version="0.1.0" translators="PUN Chi Ho" /> <language langid="zh-hk" name="繁體中文" en-name="Chinese (Hong Kong)" version="0.1.0" translators="PUN Chi Ho" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VeraCrypt> <VeraCrypt>
<localization prog-version="1.0d"> <localization prog-version="1.0e">
<!-- Languages --> <!-- Languages -->
<language langid="zh-tw" name="繁體中文" en-name="Chinese (Taiwan)" version="0.1.0" translators="Barney Li, Simon Ma, ChangMing Hsu" /> <language langid="zh-tw" name="繁體中文" en-name="Chinese (Taiwan)" version="0.1.0" translators="Barney Li, Simon Ma, ChangMing Hsu" />
<!-- Fonts --> <!-- Fonts -->
+1 -1
View File
@@ -2064,7 +2064,7 @@ namespace VeraCrypt
{ {
BootEncryptionStatus encStatus = GetStatus(); BootEncryptionStatus encStatus = GetStatus();
if (encStatus.SetupInProgress) if (encStatus.SetupInProgress || (wipePassCount <= 0))
throw ParameterIncorrect (SRC_POS); throw ParameterIncorrect (SRC_POS);
SystemDriveConfiguration config = GetSystemDriveConfiguration (); SystemDriveConfiguration config = GetSystemDriveConfiguration ();
+32 -3
View File
@@ -275,28 +275,47 @@ Cipher *CipherGet (int id)
return NULL; return NULL;
} }
const char *CipherGetName (int cipherId) #ifndef TC_WINDOWS_BOOT
const
#endif
char *CipherGetName (int cipherId)
{ {
#ifdef TC_WINDOWS_BOOT
return CipherGet (cipherId) -> Name;
#else
Cipher* pCipher = CipherGet (cipherId); Cipher* pCipher = CipherGet (cipherId);
return pCipher? pCipher -> Name : ""; return pCipher? pCipher -> Name : "";
#endif
} }
int CipherGetBlockSize (int cipherId) int CipherGetBlockSize (int cipherId)
{ {
#ifdef TC_WINDOWS_BOOT
return CipherGet (cipherId) -> BlockSize;
#else
Cipher* pCipher = CipherGet (cipherId); Cipher* pCipher = CipherGet (cipherId);
return pCipher? pCipher -> BlockSize : 0; return pCipher? pCipher -> BlockSize : 0;
#endif
} }
int CipherGetKeySize (int cipherId) int CipherGetKeySize (int cipherId)
{ {
#ifdef TC_WINDOWS_BOOT
return CipherGet (cipherId) -> KeySize;
#else
Cipher* pCipher = CipherGet (cipherId); Cipher* pCipher = CipherGet (cipherId);
return pCipher? pCipher -> KeySize : 0; return pCipher? pCipher -> KeySize : 0;
#endif
} }
int CipherGetKeyScheduleSize (int cipherId) int CipherGetKeyScheduleSize (int cipherId)
{ {
#ifdef TC_WINDOWS_BOOT
return CipherGet (cipherId) -> KeyScheduleSize;
#else
Cipher* pCipher = CipherGet (cipherId); Cipher* pCipher = CipherGet (cipherId);
return pCipher? pCipher -> KeyScheduleSize : 0; return pCipher? pCipher -> KeyScheduleSize : 0;
#endif
} }
#ifndef TC_WINDOWS_BOOT #ifndef TC_WINDOWS_BOOT
@@ -619,18 +638,28 @@ int HashGetIdByName (char *name)
return 0; return 0;
} }
#ifndef TC_WINDOWS_BOOT
const char *HashGetName (int hashId) const
#endif
char *HashGetName (int hashId)
{ {
#ifdef TC_WINDOWS_BOOT
return HashGet(hashId) -> Name;
#else
Hash* pHash = HashGet(hashId); Hash* pHash = HashGet(hashId);
return pHash? pHash -> Name : ""; return pHash? pHash -> Name : "";
#endif
} }
BOOL HashIsDeprecated (int hashId) BOOL HashIsDeprecated (int hashId)
{ {
#ifdef TC_WINDOWS_BOOT
return HashGet(hashId) -> Deprecated;
#else
Hash* pHash = HashGet(hashId); Hash* pHash = HashGet(hashId);
return pHash? pHash -> Deprecated : FALSE; return pHash? pHash -> Deprecated : FALSE;
#endif
} }
+10 -2
View File
@@ -250,7 +250,11 @@ int CipherGetBlockSize (int cipher);
int CipherGetKeySize (int cipher); int CipherGetKeySize (int cipher);
int CipherGetKeyScheduleSize (int cipher); int CipherGetKeyScheduleSize (int cipher);
BOOL CipherSupportsIntraDataUnitParallelization (int cipher); BOOL CipherSupportsIntraDataUnitParallelization (int cipher);
const char * CipherGetName (int cipher);
#ifndef TC_WINDOWS_BOOT
const
#endif
char * CipherGetName (int cipher);
int CipherInit (int cipher, unsigned char *key, unsigned char *ks); int CipherInit (int cipher, unsigned char *key, unsigned char *ks);
int EAInit (int ea, unsigned char *key, unsigned char *ks); int EAInit (int ea, unsigned char *key, unsigned char *ks);
@@ -283,7 +287,11 @@ int EAGetPreviousCipher (int ea, int previousCipherId);
int EAIsFormatEnabled (int ea); int EAIsFormatEnabled (int ea);
BOOL EAIsModeSupported (int ea, int testedMode); BOOL EAIsModeSupported (int ea, int testedMode);
const char *HashGetName (int hash_algo_id);
#ifndef TC_WINDOWS_BOOT
const
#endif
char *HashGetName (int hash_algo_id);
BOOL HashIsDeprecated (int hashId); BOOL HashIsDeprecated (int hashId);
int GetMaxPkcs5OutSize (void); int GetMaxPkcs5OutSize (void);
+4 -5
View File
@@ -8414,7 +8414,8 @@ void HandleDriveNotReadyError ()
BOOL CALLBACK CloseTCWindowsEnum (HWND hwnd, LPARAM lParam) BOOL CALLBACK CloseTCWindowsEnum (HWND hwnd, LPARAM lParam)
{ {
if (GetWindowLongPtr (hwnd, GWLP_USERDATA) == (LONG_PTR) 'VERA') LONG_PTR userDataVal = GetWindowLongPtr (hwnd, GWLP_USERDATA);
if ((userDataVal == (LONG_PTR) 'VERA') || (userDataVal == (LONG_PTR) 'TRUE')) // Prior to 1.0e, 'TRUE' was used for VeraCrypt dialogs
{ {
char name[1024] = { 0 }; char name[1024] = { 0 };
GetWindowText (hwnd, name, sizeof (name) - 1); GetWindowText (hwnd, name, sizeof (name) - 1);
@@ -8422,9 +8423,6 @@ BOOL CALLBACK CloseTCWindowsEnum (HWND hwnd, LPARAM lParam)
{ {
PostMessage (hwnd, TC_APPMSG_CLOSE_BKG_TASK, 0, 0); PostMessage (hwnd, TC_APPMSG_CLOSE_BKG_TASK, 0, 0);
if (DriverVersion < 0x0430)
PostMessage (hwnd, WM_ENDSESSION, 0, 0);
PostMessage (hwnd, WM_CLOSE, 0, 0); PostMessage (hwnd, WM_CLOSE, 0, 0);
if (lParam != 0) if (lParam != 0)
@@ -8439,7 +8437,8 @@ BOOL CALLBACK FindTCWindowEnum (HWND hwnd, LPARAM lParam)
if (*(HWND *)lParam == hwnd) if (*(HWND *)lParam == hwnd)
return TRUE; return TRUE;
if (GetWindowLongPtr (hwnd, GWLP_USERDATA) == (LONG_PTR) 'VERA') LONG_PTR userDataVal = GetWindowLongPtr (hwnd, GWLP_USERDATA);
if ((userDataVal == (LONG_PTR) 'VERA') || (userDataVal == (LONG_PTR) 'TRUE')) // Prior to 1.0e, 'TRUE' was used for VeraCrypt dialogs
{ {
char name[32] = { 0 }; char name[32] = { 0 };
GetWindowText (hwnd, name, sizeof (name) - 1); GetWindowText (hwnd, name, sizeof (name) - 1);
+7
View File
@@ -143,6 +143,13 @@ int ChangePwd (const char *lpszVolume, Password *oldPassword, Password *newPassw
if (oldPassword->Length == 0 || newPassword->Length == 0) return -1; if (oldPassword->Length == 0 || newPassword->Length == 0) return -1;
if (wipePassCount <= 0)
{
nStatus = ERR_PARAMETER_INCORRECT;
handleError (hwndDlg, nStatus);
return nStatus;
}
if (!lpszVolume) if (!lpszVolume)
{ {
nStatus = ERR_OUTOFMEMORY; nStatus = ERR_OUTOFMEMORY;
+4 -4
View File
@@ -15,15 +15,15 @@
#define TC_APP_NAME "VeraCrypt" #define TC_APP_NAME "VeraCrypt"
// Version displayed to user // Version displayed to user
#define VERSION_STRING "1.0d" #define VERSION_STRING "1.0e"
// Version number to compare against driver // Version number to compare against driver
#define VERSION_NUM 0x010d #define VERSION_NUM 0x010e
// Release date // Release date
#define TC_STR_RELEASE_DATE "June 3, 2014" #define TC_STR_RELEASE_DATE "August 26, 2014"
#define TC_RELEASE_DATE_YEAR 2014 #define TC_RELEASE_DATE_YEAR 2014
#define TC_RELEASE_DATE_MONTH 06 #define TC_RELEASE_DATE_MONTH 8
#define BYTES_PER_KB 1024LL #define BYTES_PER_KB 1024LL
#define BYTES_PER_MB 1048576LL #define BYTES_PER_MB 1048576LL
+8 -5
View File
@@ -157,12 +157,9 @@ int GetWipePassCount (WipeAlgorithmId algorithm)
case TC_WIPE_256: case TC_WIPE_256:
return 256; return 256;
default:
TC_THROW_FATAL_EXCEPTION;
} }
return 0; // Prevent compiler warnings return -1; // Prevent compiler warnings
} }
@@ -183,8 +180,14 @@ BOOL WipeBuffer (WipeAlgorithmId algorithm, byte randChars[TC_WIPE_RAND_CHAR_COU
case TC_WIPE_35_GUTMANN: case TC_WIPE_35_GUTMANN:
return Wipe35Gutmann (pass, buffer, size); return Wipe35Gutmann (pass, buffer, size);
/* we will never reach here because all calls to WipeBuffer are preceeded
* by a call to GetWipePassCount that already checks the same algorithm
* parameters and in case of unsupported value an error is returned before
* calling WipeBuffer
*/
/*
default: default:
TC_THROW_FATAL_EXCEPTION; TC_THROW_FATAL_EXCEPTION;*/
} }
return FALSE; // Prevent compiler warnings return FALSE; // Prevent compiler warnings
+2
View File
@@ -140,7 +140,9 @@ void RMD160Final(unsigned char *digest, RMD160_CTX *ctx)
if (digest) { if (digest) {
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
PUT_32BIT_LE(digest + i * 4, ctx->state[i]); PUT_32BIT_LE(digest + i * 4, ctx->state[i]);
#ifndef TC_WINDOWS_BOOT
burn (ctx, sizeof(*ctx)); burn (ctx, sizeof(*ctx));
#endif
} }
} }
+18 -4
View File
@@ -323,7 +323,7 @@ static NTSTATUS MountDrive (DriveFilterExtension *Extension, Password *password,
if (mappedCryptoInfo) if (mappedCryptoInfo)
{ {
Dump ("Wiping memory %x %d\n", cryptoInfoAddress.LowPart, BootArgs.CryptoInfoLength); Dump ("Wiping memory %x %d\n", cryptoInfoAddress.LowPart, BootArgs.CryptoInfoLength);
memset (mappedCryptoInfo, 0, BootArgs.CryptoInfoLength); burn (mappedCryptoInfo, BootArgs.CryptoInfoLength);
MmUnmapIoSpace (mappedCryptoInfo, BootArgs.CryptoInfoLength); MmUnmapIoSpace (mappedCryptoInfo, BootArgs.CryptoInfoLength);
} }
} }
@@ -1320,7 +1320,14 @@ static VOID SetupThreadProc (PVOID threadArg)
if (SetupRequest.WipeAlgorithm != TC_WIPE_NONE) if (SetupRequest.WipeAlgorithm != TC_WIPE_NONE)
{ {
byte wipePass; byte wipePass;
for (wipePass = 1; wipePass <= GetWipePassCount (SetupRequest.WipeAlgorithm); ++wipePass) int wipePassCount = GetWipePassCount (SetupRequest.WipeAlgorithm);
if (wipePassCount <= 0)
{
SetupResult = STATUS_INVALID_PARAMETER;
goto err;
}
for (wipePass = 1; wipePass <= wipePassCount; ++wipePass)
{ {
if (!WipeBuffer (SetupRequest.WipeAlgorithm, wipeRandChars, wipePass, wipeBuffer, setupBlockSize)) if (!WipeBuffer (SetupRequest.WipeAlgorithm, wipeRandChars, wipePass, wipeBuffer, setupBlockSize))
{ {
@@ -1692,7 +1699,7 @@ static VOID DecoySystemWipeThreadProc (PVOID threadArg)
byte *wipeBuffer = NULL; byte *wipeBuffer = NULL;
byte *wipeRandBuffer = NULL; byte *wipeRandBuffer = NULL;
byte wipeRandChars[TC_WIPE_RAND_CHAR_COUNT]; byte wipeRandChars[TC_WIPE_RAND_CHAR_COUNT];
int wipePass; int wipePass, wipePassCount;
int ea = Extension->Queue.CryptoInfo->ea; int ea = Extension->Queue.CryptoInfo->ea;
KIRQL irql; KIRQL irql;
@@ -1755,7 +1762,14 @@ static VOID DecoySystemWipeThreadProc (PVOID threadArg)
if (offset.QuadPart > Extension->ConfiguredEncryptedAreaEnd) if (offset.QuadPart > Extension->ConfiguredEncryptedAreaEnd)
break; break;
for (wipePass = 1; wipePass <= GetWipePassCount (WipeDecoyRequest.WipeAlgorithm); ++wipePass) wipePassCount = GetWipePassCount (WipeDecoyRequest.WipeAlgorithm);
if (wipePassCount <= 0)
{
DecoySystemWipeResult = STATUS_INVALID_PARAMETER;
goto err;
}
for (wipePass = 1; wipePass <= wipePassCount; ++wipePass)
{ {
if (!WipeBuffer (WipeDecoyRequest.WipeAlgorithm, wipeRandChars, wipePass, wipeBuffer, wipeBlockSize)) if (!WipeBuffer (WipeDecoyRequest.WipeAlgorithm, wipeRandChars, wipePass, wipeBuffer, wipeBlockSize))
{ {
+4 -4
View File
@@ -27,8 +27,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,4,0 FILEVERSION 1,0,5,0
PRODUCTVERSION 1,0,4,0 PRODUCTVERSION 1,0,5,0
FILEFLAGSMASK 0x17L FILEFLAGSMASK 0x17L
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@@ -45,11 +45,11 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "IDRIX" VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt Driver" VALUE "FileDescription", "VeraCrypt Driver"
VALUE "FileVersion", "1.13" VALUE "FileVersion", "1.14"
VALUE "LegalTrademarks", "VeraCrypt" VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "veracrypt.sys" VALUE "OriginalFilename", "veracrypt.sys"
VALUE "ProductName", "VeraCrypt" VALUE "ProductName", "VeraCrypt"
VALUE "ProductVersion", "1.0d" VALUE "ProductVersion", "1.0e"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
+27 -4
View File
@@ -13,6 +13,7 @@
#include "EncryptedIoQueue.h" #include "EncryptedIoQueue.h"
#include "EncryptionThreadPool.h" #include "EncryptionThreadPool.h"
#include "Volumes.h" #include "Volumes.h"
#include <IntSafe.h>
static void AcquireBufferPoolMutex (EncryptedIoQueue *queue) static void AcquireBufferPoolMutex (EncryptedIoQueue *queue)
@@ -492,6 +493,8 @@ static VOID MainThreadProc (PVOID threadArg)
EncryptedIoRequest *request; EncryptedIoRequest *request;
uint64 intersectStart; uint64 intersectStart;
uint32 intersectLength; uint32 intersectLength;
ULONGLONG addResult;
HRESULT hResult;
if (IsEncryptionThreadPoolRunning()) if (IsEncryptionThreadPoolRunning())
KeSetPriorityThread (KeGetCurrentThread(), LOW_REALTIME_PRIORITY); KeSetPriorityThread (KeGetCurrentThread(), LOW_REALTIME_PRIORITY);
@@ -561,8 +564,15 @@ static VOID MainThreadProc (PVOID threadArg)
&& (item->OriginalOffset.QuadPart & (ENCRYPTION_DATA_UNIT_SIZE - 1)) != 0) && (item->OriginalOffset.QuadPart & (ENCRYPTION_DATA_UNIT_SIZE - 1)) != 0)
{ {
byte *buffer; byte *buffer;
ULONG alignedLength = item->OriginalLength + ENCRYPTION_DATA_UNIT_SIZE; ULONG alignedLength;
LARGE_INTEGER alignedOffset; LARGE_INTEGER alignedOffset;
hResult = ULongAdd(item->OriginalLength, ENCRYPTION_DATA_UNIT_SIZE, &alignedLength);
if (hResult != S_OK)
{
CompleteOriginalIrp (item, STATUS_INVALID_PARAMETER, 0);
continue;
}
alignedOffset.QuadPart = item->OriginalOffset.QuadPart & ~((LONGLONG) ENCRYPTION_DATA_UNIT_SIZE - 1); alignedOffset.QuadPart = item->OriginalOffset.QuadPart & ~((LONGLONG) ENCRYPTION_DATA_UNIT_SIZE - 1);
buffer = TCalloc (alignedLength); buffer = TCalloc (alignedLength);
@@ -608,7 +618,12 @@ static VOID MainThreadProc (PVOID threadArg)
if (item->OriginalLength == 0 if (item->OriginalLength == 0
|| (item->OriginalLength & (ENCRYPTION_DATA_UNIT_SIZE - 1)) != 0 || (item->OriginalLength & (ENCRYPTION_DATA_UNIT_SIZE - 1)) != 0
|| (item->OriginalOffset.QuadPart & (ENCRYPTION_DATA_UNIT_SIZE - 1)) != 0 || (item->OriginalOffset.QuadPart & (ENCRYPTION_DATA_UNIT_SIZE - 1)) != 0
|| (!queue->IsFilterDevice && item->OriginalOffset.QuadPart + item->OriginalLength > queue->VirtualDeviceLength)) || ( !queue->IsFilterDevice &&
( (S_OK != ULongLongAdd(item->OriginalOffset.QuadPart, item->OriginalLength, &addResult))
|| (addResult > (ULONGLONG) queue->VirtualDeviceLength)
)
)
)
{ {
CompleteOriginalIrp (item, STATUS_INVALID_PARAMETER, 0); CompleteOriginalIrp (item, STATUS_INVALID_PARAMETER, 0);
continue; continue;
@@ -622,9 +637,17 @@ static VOID MainThreadProc (PVOID threadArg)
{ {
// Adjust the offset for host file or device // Adjust the offset for host file or device
if (queue->CryptoInfo->hiddenVolume) if (queue->CryptoInfo->hiddenVolume)
item->OriginalOffset.QuadPart += queue->CryptoInfo->hiddenVolumeOffset; hResult = ULongLongAdd(item->OriginalOffset.QuadPart, queue->CryptoInfo->hiddenVolumeOffset, &addResult);
else else
item->OriginalOffset.QuadPart += queue->CryptoInfo->volDataAreaOffset; hResult = ULongLongAdd(item->OriginalOffset.QuadPart, queue->CryptoInfo->volDataAreaOffset, &addResult);
if (hResult != S_OK)
{
CompleteOriginalIrp (item, STATUS_INVALID_PARAMETER, 0);
continue;
}
else
item->OriginalOffset.QuadPart = addResult;
// Hidden volume protection // Hidden volume protection
if (item->Write && queue->CryptoInfo->bProtectHiddenVolume) if (item->Write && queue->CryptoInfo->bProtectHiddenVolume)
+33 -4
View File
@@ -34,6 +34,7 @@
#include <ntddvol.h> #include <ntddvol.h>
#include <Ntstrsafe.h> #include <Ntstrsafe.h>
#include <Intsafe.h>
/* Init section, which is thrown away as soon as DriverEntry returns */ /* Init section, which is thrown away as soon as DriverEntry returns */
#pragma alloc_text(INIT,DriverEntry) #pragma alloc_text(INIT,DriverEntry)
@@ -704,10 +705,20 @@ NTSTATUS ProcessVolumeDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION
case IOCTL_DISK_VERIFY: case IOCTL_DISK_VERIFY:
if (ValidateIOBufferSize (Irp, sizeof (VERIFY_INFORMATION), ValidateInput)) if (ValidateIOBufferSize (Irp, sizeof (VERIFY_INFORMATION), ValidateInput))
{ {
HRESULT hResult;
ULONGLONG ullStartingOffset, ullNewOffset, ullEndOffset;
PVERIFY_INFORMATION pVerifyInformation; PVERIFY_INFORMATION pVerifyInformation;
pVerifyInformation = (PVERIFY_INFORMATION) Irp->AssociatedIrp.SystemBuffer; pVerifyInformation = (PVERIFY_INFORMATION) Irp->AssociatedIrp.SystemBuffer;
if (pVerifyInformation->StartingOffset.QuadPart + pVerifyInformation->Length > Extension->DiskLength) ullStartingOffset = (ULONGLONG) pVerifyInformation->StartingOffset.QuadPart;
hResult = ULongLongAdd(ullStartingOffset,
(ULONGLONG) Extension->cryptoInfo->hiddenVolume ? Extension->cryptoInfo->hiddenVolumeOffset : Extension->cryptoInfo->volDataAreaOffset,
&ullNewOffset);
if (hResult != S_OK)
Irp->IoStatus.Status = STATUS_INVALID_PARAMETER;
else if (S_OK != ULongLongAdd(ullNewOffset, (ULONGLONG) pVerifyInformation->Length, &ullEndOffset))
Irp->IoStatus.Status = STATUS_INVALID_PARAMETER;
else if (ullEndOffset > (ULONGLONG) Extension->DiskLength)
Irp->IoStatus.Status = STATUS_INVALID_PARAMETER; Irp->IoStatus.Status = STATUS_INVALID_PARAMETER;
else else
{ {
@@ -721,7 +732,7 @@ NTSTATUS ProcessVolumeDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION
else else
{ {
LARGE_INTEGER offset = pVerifyInformation->StartingOffset; LARGE_INTEGER offset = pVerifyInformation->StartingOffset;
offset.QuadPart += Extension->cryptoInfo->hiddenVolume ? Extension->cryptoInfo->hiddenVolumeOffset : Extension->cryptoInfo->volDataAreaOffset; offset.QuadPart = ullNewOffset;
Irp->IoStatus.Status = ZwReadFile (Extension->hDeviceFile, NULL, NULL, NULL, &ioStatus, buffer, pVerifyInformation->Length, &offset, NULL); Irp->IoStatus.Status = ZwReadFile (Extension->hDeviceFile, NULL, NULL, NULL, &ioStatus, buffer, pVerifyInformation->Length, &offset, NULL);
TCfree (buffer); TCfree (buffer);
@@ -1504,7 +1515,9 @@ NTSTATUS ProcessMainDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION Ex
break; break;
case TC_IOCTL_GET_SYSTEM_DRIVE_DUMP_CONFIG: case TC_IOCTL_GET_SYSTEM_DRIVE_DUMP_CONFIG:
if (ValidateIOBufferSize (Irp, sizeof (GetSystemDriveDumpConfigRequest), ValidateOutput)) if ( (ValidateIOBufferSize (Irp, sizeof (GetSystemDriveDumpConfigRequest), ValidateOutput))
&& (Irp->RequestorMode == KernelMode)
)
{ {
GetSystemDriveDumpConfigRequest *request = (GetSystemDriveDumpConfigRequest *) Irp->AssociatedIrp.SystemBuffer; GetSystemDriveDumpConfigRequest *request = (GetSystemDriveDumpConfigRequest *) Irp->AssociatedIrp.SystemBuffer;
@@ -1732,6 +1745,22 @@ void TCSleep (int milliSeconds)
TCfree (timer); TCfree (timer);
} }
BOOL IsDeviceName(wchar_t wszVolume[TC_MAX_PATH])
{
if ( (wszVolume[0] == '\\')
&& (wszVolume[1] == 'D' || wszVolume[1] == 'd')
&& (wszVolume[2] == 'E' || wszVolume[2] == 'e')
&& (wszVolume[3] == 'V' || wszVolume[3] == 'v')
&& (wszVolume[4] == 'I' || wszVolume[4] == 'i')
&& (wszVolume[5] == 'C' || wszVolume[5] == 'c')
&& (wszVolume[6] == 'E' || wszVolume[6] == 'e')
)
{
return TRUE;
}
else
return FALSE;
}
/* VolumeThreadProc does all the work of processing IRP's, and dispatching them /* VolumeThreadProc does all the work of processing IRP's, and dispatching them
to either the ReadWrite function or the DeviceControl function */ to either the ReadWrite function or the DeviceControl function */
@@ -1747,7 +1776,7 @@ VOID VolumeThreadProc (PVOID Context)
Dump ("Mount THREAD OPENING VOLUME BEGIN\n"); Dump ("Mount THREAD OPENING VOLUME BEGIN\n");
if (memcmp (pThreadBlock->mount->wszVolume, WIDE ("\\Device"), 14) != 0) if ( !IsDeviceName (pThreadBlock->mount->wszVolume))
{ {
RtlStringCbCopyW (pThreadBlock->wszMountVolume, sizeof(pThreadBlock->wszMountVolume),WIDE ("\\??\\")); RtlStringCbCopyW (pThreadBlock->wszMountVolume, sizeof(pThreadBlock->wszMountVolume),WIDE ("\\??\\"));
RtlStringCbCatW (pThreadBlock->wszMountVolume, sizeof(pThreadBlock->wszMountVolume),pThreadBlock->mount->wszVolume); RtlStringCbCatW (pThreadBlock->wszMountVolume, sizeof(pThreadBlock->wszMountVolume),pThreadBlock->mount->wszVolume);
+4 -4
View File
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,4,0 FILEVERSION 1,0,5,0
PRODUCTVERSION 1,0,4,0 PRODUCTVERSION 1,0,5,0
FILEFLAGSMASK 0x17L FILEFLAGSMASK 0x17L
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@@ -46,11 +46,11 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "IDRIX" VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt Format" VALUE "FileDescription", "VeraCrypt Format"
VALUE "FileVersion", "1.0d" VALUE "FileVersion", "1.0e"
VALUE "LegalTrademarks", "VeraCrypt" VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCrypt Format.exe" VALUE "OriginalFilename", "VeraCrypt Format.exe"
VALUE "ProductName", "VeraCrypt" VALUE "ProductName", "VeraCrypt"
VALUE "ProductVersion", "1.0d" VALUE "ProductVersion", "1.0e"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
+9 -1
View File
@@ -861,10 +861,18 @@ inplace_enc_read:
if (wipeAlgorithm != TC_WIPE_NONE) if (wipeAlgorithm != TC_WIPE_NONE)
{ {
byte wipePass; byte wipePass;
int wipePassCount = GetWipePassCount (wipeAlgorithm);
if (wipePassCount <= 0)
{
SetLastError (ERROR_INVALID_PARAMETER);
nStatus = ERR_PARAMETER_INCORRECT;
goto closing_seq;
}
offset.QuadPart = masterCryptoInfo->EncryptedAreaStart.Value - workChunkSize; offset.QuadPart = masterCryptoInfo->EncryptedAreaStart.Value - workChunkSize;
for (wipePass = 1; wipePass <= GetWipePassCount (wipeAlgorithm); ++wipePass) for (wipePass = 1; wipePass <= wipePassCount; ++wipePass)
{ {
if (!WipeBuffer (wipeAlgorithm, wipeRandChars, wipePass, wipeBuffer, workChunkSize)) if (!WipeBuffer (wipeAlgorithm, wipeRandChars, wipePass, wipeBuffer, workChunkSize))
{ {
+2 -1
View File
@@ -377,7 +377,8 @@ static void localcleanup (void)
static BOOL CALLBACK BroadcastSysEncCfgUpdateCallb (HWND hwnd, LPARAM lParam) static BOOL CALLBACK BroadcastSysEncCfgUpdateCallb (HWND hwnd, LPARAM lParam)
{ {
if (GetWindowLongPtr (hwnd, GWLP_USERDATA) == (LONG_PTR) 'VERA') LONG_PTR userDataVal = GetWindowLongPtr (hwnd, GWLP_USERDATA);
if ((userDataVal == (LONG_PTR) 'VERA') || (userDataVal == (LONG_PTR) 'TRUE')) // Prior to 1.0e, 'TRUE' was used for VeraCrypt dialogs
{ {
char name[1024] = { 0 }; char name[1024] = { 0 };
GetWindowText (hwnd, name, sizeof (name) - 1); GetWindowText (hwnd, name, sizeof (name) - 1);
+1 -1
View File
@@ -952,7 +952,7 @@ static void LaunchVolCreationWizard (HWND hwndDlg, const char *arg)
ZeroMemory (&si, sizeof (si)); ZeroMemory (&si, sizeof (si));
*tmp = 0; *tmp = 0;
StringCbCopyA (t, sizeof(t), "\\VeraCrypt Format.exe\""); StringCbCatA (t, sizeof(t), "\\VeraCrypt Format.exe\"");
if (!FileExists(t)) if (!FileExists(t))
Error ("VOL_CREATION_WIZARD_NOT_FOUND"); // Display a user-friendly error message and advise what to do Error ("VOL_CREATION_WIZARD_NOT_FOUND"); // Display a user-friendly error message and advise what to do
+4 -4
View File
@@ -423,8 +423,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,4,0 FILEVERSION 1,0,5,0
PRODUCTVERSION 1,0,4,0 PRODUCTVERSION 1,0,5,0
FILEFLAGSMASK 0x17L FILEFLAGSMASK 0x17L
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@@ -441,11 +441,11 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "IDRIX" VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt" VALUE "FileDescription", "VeraCrypt"
VALUE "FileVersion", "1.0d" VALUE "FileVersion", "1.0e"
VALUE "LegalTrademarks", "VeraCrypt" VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCrypt.exe" VALUE "OriginalFilename", "VeraCrypt.exe"
VALUE "ProductName", "VeraCrypt" VALUE "ProductName", "VeraCrypt"
VALUE "ProductVersion", "1.0d" VALUE "ProductVersion", "1.0e"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
+31 -10
View File
@@ -25,6 +25,7 @@ I. Windows
II. Linux and Mac OS X II. Linux and Mac OS X
Requirements for Building VeraCrypt for Linux and Mac OS X Requirements for Building VeraCrypt for Linux and Mac OS X
Instructions for Building VeraCrypt for Linux and Mac OS X Instructions for Building VeraCrypt for Linux and Mac OS X
Mac OS X specifics
III. FreeBSD and OpenSolaris III. FreeBSD and OpenSolaris
@@ -122,14 +123,14 @@ Requirements for Building VeraCrypt for Linux and Mac OS X:
- Apple Xcode (Mac OS X only) - Apple Xcode (Mac OS X only)
- NASM assembler 2.08 or compatible (x86/x64 architecture only) - NASM assembler 2.08 or compatible (x86/x64 architecture only)
- pkg-config - pkg-config
- wxWidgets 2.8 shared library and header files installed or - wxWidgets 3.0 shared library and header files installed or
wxWidgets 2.8 library source code (available at http://www.wxwidgets.org) wxWidgets 3.0 library source code (available at http://www.wxwidgets.org)
- FUSE library and header files (available at http://fuse.sourceforge.net - FUSE library and header files (available at http://fuse.sourceforge.net
and http://code.google.com/p/macfuse) and https://osxfuse.github.io/)
- RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki) 2.20 - RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki) 2.20
header files (available at ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20) header files (available at ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20).
located in a standard include path or in a directory defined by the They are already included in the source tree under the directory PKCS11 but
environment variable 'PKCS11_INC'. it is possible to override it using the environment variable 'PKCS11_INC'.
Instructions for Building VeraCrypt for Linux and Mac OS X: Instructions for Building VeraCrypt for Linux and Mac OS X:
@@ -141,7 +142,7 @@ Instructions for Building VeraCrypt for Linux and Mac OS X:
command to configure the wxWidgets static library for VeraCrypt and to command to configure the wxWidgets static library for VeraCrypt and to
build it: build it:
$ make WX_ROOT=/usr/src/wxWidgets wxbuild $ make WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild
The variable WX_ROOT must point to the location of the source code of the The variable WX_ROOT must point to the location of the source code of the
wxWidgets library. Output files will be placed in the './wxrelease/' wxWidgets library. Output files will be placed in the './wxrelease/'
@@ -162,16 +163,36 @@ By default, a universal executable supporting both graphical and text user
interface is built. To build a console-only executable, which requires no GUI interface is built. To build a console-only executable, which requires no GUI
library, use the 'NOGUI' parameter: library, use the 'NOGUI' parameter:
$ make NOGUI=1 WX_ROOT=/usr/src/wxWidgets wxbuild $ make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild
$ make NOGUI=1 WXSTATIC=1 $ make NOGUI=1 WXSTATIC=1
Mac OS X specifics:
-----------------------------------------------------------
Under MacOSX, the SDK for OSX 10.7 is used by default. To use another version
of the SDK (e.i. 10.6), you can export the environment variable VC_OSX_TARGET :
$ export VC_OSX_TARGET=10.6
Before building under MacOSX, pkg-config must be installed if not yet available.
Get it from http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz and
compile using the following commands :
$ ./configure --with-internal-glib
$ make
$ sudo make install
After making sure pkg-config is available, download and install OSXFuse from
https://osxfuse.github.io/ (MacFUSE compatibility layer must selected)
III. FreeBSD and OpenSolaris III. FreeBSD and OpenSolaris
============================ ============================
Support status for FreeBSD: http://www.truecrypt.org/misc/freebsd FreeBSD and OpenSolaris are not yet supported.
Support status for OpenSolaris: http://www.truecrypt.org/misc/opensolaris
+3 -3
View File
@@ -493,7 +493,7 @@
<key>OVERWRITE_PERMISSIONS</key> <key>OVERWRITE_PERMISSIONS</key>
<false/> <false/>
<key>VERSION</key> <key>VERSION</key>
<string>1.0d</string> <string>1.0e</string>
</dict> </dict>
<key>UUID</key> <key>UUID</key>
<string>B14381D9-EC5F-43E4-B971-82AB3D132A64</string> <string>B14381D9-EC5F-43E4-B971-82AB3D132A64</string>
@@ -513,7 +513,7 @@
ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp
dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u
dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD
b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjEyNjUuMjEiPgo8c3R5bGUg b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjExMzguNTEiPgo8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5 dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5
Pgo8L2JvZHk+CjwvaHRtbD4K Pgo8L2JvZHk+CjwvaHRtbD4K
</data> </data>
@@ -1049,7 +1049,7 @@ Merci de ré-installer OSXFUSE et de cocher l'option de compatibilité MacFUSE d
</dict> </dict>
</array> </array>
<key>NAME</key> <key>NAME</key>
<string>VeraCrypt 1.0d</string> <string>VeraCrypt 1.0e</string>
</dict> </dict>
</dict> </dict>
<key>SHARED_GLOBAL_DATA</key> <key>SHARED_GLOBAL_DATA</key>
+76 -2
View File
@@ -26,7 +26,44 @@ static char *szFiles[]=
"Averacrypt.sys", "Averacrypt.sys",
"Averacrypt-x64.sys", "Averacrypt-x64.sys",
"Dveracrypt.sys", "Dveracrypt.sys",
"AVeraCrypt Setup.exe" "AVeraCrypt Setup.exe",
"ALanguage.ar.xml",
"ALanguage.be.xml",
"ALanguage.bg.xml",
"ALanguage.ca.xml",
"ALanguage.cs.xml",
"ALanguage.da.xml",
"ALanguage.de.xml",
"ALanguage.el.xml",
"ALanguage.es.xml",
"ALanguage.et.xml",
"ALanguage.eu.xml",
"ALanguage.fa.xml",
"ALanguage.fi.xml",
"ALanguage.fr.xml",
"ALanguage.hu.xml",
"ALanguage.id.xml",
"ALanguage.it.xml",
"ALanguage.ja.xml",
"ALanguage.ka.xml",
"ALanguage.ko.xml",
"ALanguage.lv.xml",
"ALanguage.my.xml",
"ALanguage.nl.xml",
"ALanguage.nn.xml",
"ALanguage.pl.xml",
"ALanguage.pt-br.xml",
"ALanguage.ru.xml",
"ALanguage.sk.xml",
"ALanguage.sl.xml",
"ALanguage.sv.xml",
"ALanguage.tr.xml",
"ALanguage.uk.xml",
"ALanguage.uz.xml",
"ALanguage.vi.xml",
"ALanguage.zh-cn.xml",
"ALanguage.zh-hk.xml",
"ALanguage.zh-tw.xml"
}; };
// Specifies what files are included in self-extracting packages (no other files will be packaged or extracted). // Specifies what files are included in self-extracting packages (no other files will be packaged or extracted).
@@ -37,7 +74,44 @@ static char *szCompressedFiles[]=
"VeraCrypt.exe", "VeraCrypt.exe",
"VeraCrypt Format.exe", "VeraCrypt Format.exe",
"veracrypt.sys", "veracrypt.sys",
"veracrypt-x64.sys" "veracrypt-x64.sys",
"Language.ar.xml",
"Language.be.xml",
"Language.bg.xml",
"Language.ca.xml",
"Language.cs.xml",
"Language.da.xml",
"Language.de.xml",
"Language.el.xml",
"Language.es.xml",
"Language.et.xml",
"Language.eu.xml",
"Language.fa.xml",
"Language.fi.xml",
"Language.fr.xml",
"Language.hu.xml",
"Language.id.xml",
"Language.it.xml",
"Language.ja.xml",
"Language.ka.xml",
"Language.ko.xml",
"Language.lv.xml",
"Language.my.xml",
"Language.nl.xml",
"Language.nn.xml",
"Language.pl.xml",
"Language.pt-br.xml",
"Language.ru.xml",
"Language.sk.xml",
"Language.sl.xml",
"Language.sv.xml",
"Language.tr.xml",
"Language.uk.xml",
"Language.uz.xml",
"Language.vi.xml",
"Language.zh-cn.xml",
"Language.zh-hk.xml",
"Language.zh-tw.xml"
}; };
#define FILENAME_64BIT_DRIVER "veracrypt-x64.sys" #define FILENAME_64BIT_DRIVER "veracrypt-x64.sys"
+4 -4
View File
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,4,0 FILEVERSION 1,0,5,0
PRODUCTVERSION 1,0,4,0 PRODUCTVERSION 1,0,5,0
FILEFLAGSMASK 0x17L FILEFLAGSMASK 0x17L
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@@ -46,11 +46,11 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "IDRIX" VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt Setup" VALUE "FileDescription", "VeraCrypt Setup"
VALUE "FileVersion", "1.0d" VALUE "FileVersion", "1.0e"
VALUE "LegalTrademarks", "VeraCrypt" VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCrypt Setup.exe" VALUE "OriginalFilename", "VeraCrypt Setup.exe"
VALUE "ProductName", "VeraCrypt" VALUE "ProductName", "VeraCrypt"
VALUE "ProductVersion", "1.0d" VALUE "ProductVersion", "1.0e"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
+9 -5
View File
@@ -1,17 +1,21 @@
PATH=%PATH%;%DDK%\bin\x86 PATH=%PATH%;%DDK%\bin\x86
signtool sign /v /a /ac thawte_Primary_MS_Cross_Cert.cer /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\veracrypt.sys" signtool sign /v /a /n IDRIX /ac thawte_Primary_MS_Cross_Cert.cer /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\veracrypt.sys"
signtool sign /v /a /ac thawte_Primary_MS_Cross_Cert.cer /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\veracrypt-x64.sys" signtool sign /v /a /n IDRIX /ac thawte_Primary_MS_Cross_Cert.cer /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\veracrypt-x64.sys"
signtool sign /v /a /ac Thawt_CodeSigning_CA.crt /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\VeraCrypt.exe" signtool sign /v /a /n IDRIX /ac Thawt_CodeSigning_CA.crt /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\VeraCrypt.exe"
signtool sign /v /a /ac Thawt_CodeSigning_CA.crt /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\VeraCrypt Format.exe" signtool sign /v /a /n IDRIX /ac Thawt_CodeSigning_CA.crt /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\VeraCrypt Format.exe"
cd "..\Release\Setup Files\" cd "..\Release\Setup Files\"
copy /V /Y ..\..\..\Translations\*.xml .
"VeraCrypt Setup.exe" /p "VeraCrypt Setup.exe" /p
del *.xml
cd "..\..\Signing" cd "..\..\Signing"
signtool sign /v /a /ac Thawt_CodeSigning_CA.crt /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\VeraCrypt Setup 1.0d.exe" signtool sign /v /a /n IDRIX /ac Thawt_CodeSigning_CA.crt /t http://timestamp.verisign.com/scripts/timestamp.dll "..\Release\Setup Files\VeraCrypt Setup 1.0e.exe"
pause pause