Skip to content

Commit

Permalink
v2.2.3 (#3)
Browse files Browse the repository at this point in the history
* Block deprecated hash algorithms (#1)

* Default hash algorithm SHA-1 -> SHA-256

* Display deprecated hash algorithms

* Force to change hash algorithm if deprecated

* Force to change cipher algorithm if deprecated (#2)

* Update README.md

* v2.2.3
  • Loading branch information
maurizuki authored May 22, 2021
1 parent e12563e commit 500b4eb
Show file tree
Hide file tree
Showing 24 changed files with 3,690 additions and 15,804 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ O2 is open source software, released under the [Mozilla Public License Version 2

## Change log

### Version 2.2.3
- Deprecated cipher and hash algorithms: the cipher algorithms Blowfish, DES, Ice, Thin Ice, Misty1, RC2, RC4, TEA and the hash algorithms MD5 and SHA-1 have been deprecated due to evidences of their lack of security. It's still possible to open files encrypted using the deprecated algorithms, but it's no longer possible to save files encrypted with them.

### Version 2.2.2
- Main window, fields view: added the menu item "Show passwords" to the context menu.
- Developed with Embarcadero® Delphi 10.3.
Expand Down
Binary file modified setup/ReadMe.rtf
Binary file not shown.
18 changes: 17 additions & 1 deletion src/Library/uO2Defs.pas
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,17 @@ interface
ocTwofish = TO2Cipher($13);
ocDefault = ocBlowfish;

DeprecatedCiphers: set of TO2Cipher = [
ocBlowfish,
ocDES,
ocIce,
ocThinIce,
ocMisty1,
ocRC2,
ocRC4,
ocTEA
];

{ Supported hash algorithms IDs }

ohNone = TO2Hash($00);
Expand All @@ -76,7 +87,12 @@ interface
ohSHA384 = TO2Hash($08);
ohSHA512 = TO2Hash($09);
ohTiger = TO2Hash($0A);
ohDefault = ohSHA1;
ohDefault = ohSHA256;

DeprecatedHashes: set of TO2Hash = [
ohMD5,
ohSHA1
];

procedure GetCipherValues(Proc: TGetStrProc);
function CipherToIdent(Cipher: Longint; var Ident: string): Boolean;
Expand Down
20 changes: 10 additions & 10 deletions src/O2/ENU/o2_DRC.rc
Original file line number Diff line number Diff line change
Expand Up @@ -886,34 +886,34 @@ BEGIN
uGlobal_SEventNext60days, L"Next 60 days"
uGlobal_SCipherRijndael, L"Rijndael (AES)"
uGlobal_SCipherSerpent, L"Serpent"
uGlobal_SCipherTEA, L"TEA"
uGlobal_SCipherTEA, L"TEA [deprecated]"
uGlobal_SCipherTwofish, L"Twofish"
uGlobal_SHashNone, L"(none)"
uGlobal_SHashHaval, L"Haval"
uGlobal_SHashMD4, L"MD4"
uGlobal_SHashMD5, L"MD5"
uGlobal_SHashMD5, L"MD5 [deprecated]"
uGlobal_SHashRipeMD128, L"RipeMD-128"
uGlobal_SHashSHA1, L"SHA-1"
uGlobal_SHashSHA1, L"SHA-1 [deprecated]"
uGlobal_SHashSHA256, L"SHA-256"
uGlobal_SHashSHA384, L"SHA-384"
uGlobal_SHashSHA512, L"SHA-512"
uGlobal_SHashTiger, L"Tiger"
uGlobal_SRuleHyperLink, L"Internet link"
uGlobal_SRuleEmail, L"E-mail address"
uGlobal_SCipherNone, L"(none)"
uGlobal_SCipherBlowfish, L"Blowfish"
uGlobal_SCipherBlowfish, L"Blowfish [deprecated]"
uGlobal_SCipherCast128, L"Cast-128"
uGlobal_SCipherCast256, L"Cast-256"
uGlobal_SCipherDES, L"DES"
uGlobal_SCipherDES, L"DES [deprecated]"
uGlobal_SCipher3DES, L"3DES"
uGlobal_SCipherIce, L"Ice"
uGlobal_SCipherThinIce, L"Thin Ice"
uGlobal_SCipherIce, L"Ice [deprecated]"
uGlobal_SCipherThinIce, L"Thin Ice [deprecated]"
uGlobal_SCipherIce2, L"Ice 2"
uGlobal_SCipherIDEA, L"IDEA"
uGlobal_SCipherMARS, L"MARS"
uGlobal_SCipherMisty1, L"Misty1"
uGlobal_SCipherRC2, L"RC2"
uGlobal_SCipherRC4, L"RC4"
uGlobal_SCipherMisty1, L"Misty1 [deprecated]"
uGlobal_SCipherRC2, L"RC2 [deprecated]"
uGlobal_SCipherRC4, L"RC4 [deprecated]"
uGlobal_SCipherRC5, L"RC5"
uGlobal_SCipherRC6, L"RC6"
uGlobal_SReplaceTagDlgTitle, L"Replace tag"
Expand Down
96 changes: 83 additions & 13 deletions src/O2/ENU/o2_DRC.rcn
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
<header>
<prop-group name="ITEHeaderProp">
<prop prop-type="Version">9.0</prop>
<prop prop-type="SelfDateTime">44291.3947685185</prop>
<prop prop-type="OrigDateTime">44291.3947453704</prop>
<prop prop-type="XlatDateTime">41181.4386111111</prop>
<prop prop-type="SelfDateTime">44338.6383796296</prop>
<prop prop-type="OrigDateTime">0</prop>
<prop prop-type="XlatDateTime">44335.8028703704</prop>
<prop prop-type="Translated">829</prop>
<prop prop-type="UnTranslated">0</prop>
</prop-group>
Expand Down Expand Up @@ -161,11 +161,18 @@
</prop-group>
</trans-unit>
<trans-unit id="uGlobal_SCipherRC4" resname="uGlobal_SCipherRC4">
<source>"RC4"</source>
<source>"RC4 [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"RC4"</source>
<target>"RC4"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44338.5511777315</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SCipherRC5" resname="uGlobal_SCipherRC5">
<source>"RC5"</source>
Expand Down Expand Up @@ -196,11 +203,18 @@
</prop-group>
</trans-unit>
<trans-unit id="uGlobal_SCipherTEA" resname="uGlobal_SCipherTEA">
<source>"TEA"</source>
<source>"TEA [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"TEA"</source>
<target>"TEA"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44338.5511706829</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SCipherTwofish" resname="uGlobal_SCipherTwofish">
<source>"Twofish"</source>
Expand All @@ -224,11 +238,18 @@
</prop-group>
</trans-unit>
<trans-unit id="uGlobal_SHashMD5" resname="uGlobal_SHashMD5">
<source>"MD5"</source>
<source>"MD5 [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"MD5"</source>
<target>"MD5"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44331.4812978472</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SHashRipeMD128" resname="uGlobal_SHashRipeMD128">
<source>"RipeMD-128"</source>
Expand All @@ -238,11 +259,18 @@
</prop-group>
</trans-unit>
<trans-unit id="uGlobal_SHashSHA1" resname="uGlobal_SHashSHA1">
<source>"SHA-1"</source>
<source>"SHA-1 [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"SHA-1"</source>
<target>"SHA-1"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44331.4813045255</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SHashSHA256" resname="uGlobal_SHashSHA256">
<source>"SHA-256"</source>
Expand Down Expand Up @@ -301,11 +329,18 @@
</prop-group>
</trans-unit>
<trans-unit id="uGlobal_SCipherBlowfish" resname="uGlobal_SCipherBlowfish">
<source>"Blowfish"</source>
<source>"Blowfish [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"Blowfish"</source>
<target>"Blowfish"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44338.5511777199</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SCipherCast128" resname="uGlobal_SCipherCast128">
<source>"Cast-128"</source>
Expand All @@ -322,11 +357,18 @@
</prop-group>
</trans-unit>
<trans-unit id="uGlobal_SCipherDES" resname="uGlobal_SCipherDES">
<source>"DES"</source>
<source>"DES [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"DES"</source>
<target>"DES"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44338.5511777199</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SCipher3DES" resname="uGlobal_SCipher3DES">
<source>"3DES"</source>
Expand All @@ -336,18 +378,32 @@
</prop-group>
</trans-unit>
<trans-unit id="uGlobal_SCipherIce" resname="uGlobal_SCipherIce">
<source>"Ice"</source>
<source>"Ice [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"Ice"</source>
<target>"Ice"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44338.5511777199</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SCipherThinIce" resname="uGlobal_SCipherThinIce">
<source>"Thin Ice"</source>
<source>"Thin Ice [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"Thin Ice"</source>
<target>"Thin Ice"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44338.5511777199</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SCipherIce2" resname="uGlobal_SCipherIce2">
<source>"Ice 2"</source>
Expand All @@ -371,18 +427,32 @@
</prop-group>
</trans-unit>
<trans-unit id="uGlobal_SCipherMisty1" resname="uGlobal_SCipherMisty1">
<source>"Misty1"</source>
<source>"Misty1 [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"Misty1"</source>
<target>"Misty1"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44338.5511777315</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SCipherRC2" resname="uGlobal_SCipherRC2">
<source>"RC2"</source>
<source>"RC2 [deprecated]"</source>
<prop-group name="ITEFieldProp">
<prop prop-type="Created">40178.744837419</prop>
<prop prop-type="Status">1</prop>
</prop-group>
<alt-trans>
<source>"RC2"</source>
<target>"RC2"</target>
<prop-group name="ITEFieldProp">
<prop prop-type="Modified">44338.5511777315</prop>
</prop-group>
</alt-trans>
</trans-unit>
<trans-unit id="uGlobal_SOpenFileFilter" resname="uGlobal_SOpenFileFilter">
<source>"O2 file|*.o2|Any file|*.*"</source>
Expand Down
Binary file modified src/O2/ENU/o2_DRC.res
Binary file not shown.
12 changes: 12 additions & 0 deletions src/O2/ENU/uMain.dfm
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,10 @@ object MainForm: TMainForm
object tsNotes: TTabSheet
Caption = 'Notes'
ImageIndex = 1
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object Notes: TMemo
AlignWithMargins = True
Left = 3
Expand All @@ -172,6 +176,10 @@ object MainForm: TMainForm
object tsRelations: TTabSheet
Caption = 'Relations'
ImageIndex = 2
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object RelationsView: TListView
AlignWithMargins = True
Left = 3
Expand Down Expand Up @@ -207,6 +215,10 @@ object MainForm: TMainForm
object tsRules: TTabSheet
Caption = 'Rules'
ImageIndex = 3
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object RulesView: TListView
AlignWithMargins = True
Left = 3
Expand Down
Loading

0 comments on commit 500b4eb

Please sign in to comment.