ObjFW  History of src/OFSHA1Hash.m of 0b441e52d6269942

History of the file that is called src/OFSHA1Hash.m at check-in 0b441e52d6269942

2024-04-03
02:16
[caff9753e0] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 5785) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[64db3263c1] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 5577) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[47f6baacf9] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 5577) [annotate] [blame] [check-ins using] [diff]
2022-03-25
10:22
[6da836d4ff] part of check-in [82801897d3] OFCryptographicHash: Add -[calculate]

Before, -[digest] would do the final calculation, however, this would
mean a property modifies state, which is bad. (check-in: [82801897d3] user: js, branch: trunk, size: 5577) [annotate] [blame] [check-ins using] [diff]

2022-02-12
07:46
[8fbe25b6ab] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 5397) [annotate] [blame] [check-ins using] [diff]
2021-04-25
11:05
[477f4216b9] part of check-in [27103855c2] A few last renames (check-in: [27103855c2] user: js, branch: new-naming-convention, size: 5397) [annotate] [blame] [check-ins using] [diff]
2021-04-18
15:55
[4bf8d775e7] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 5373) [annotate] [blame] [check-ins using] [diff]
2021-04-07
21:14
[79fab1d90f] part of check-in [2969086342] Rename OFCryptoHash -> OFCryptographicHash (check-in: [2969086342] user: js, branch: trunk, size: 5393) [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
[6dc47e8d09] part of check-in [1b82d3bf4f] *.m: Fold methods into one line where it fits (check-in: [1b82d3bf4f] user: js, branch: trunk, size: 5399) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[dc358c1aca] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 5403) [annotate] [blame] [check-ins using] [diff]
2020-06-28
15:03
[cfb97974cb] part of check-in [b6cb3addd0] Use OF_DIRECT(_MEMBERS) where appropriate (check-in: [b6cb3addd0] user: js, branch: trunk, size: 5492) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[744ef1090a] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 5474) [annotate] [blame] [check-ins using] [diff]
2019-12-27
00:41
[3d6aedc638] part of check-in [e629dc83a9] OFSecureData: Add allowsSwappableMemory property

With this property, it's possible to specify whether the memory should
be protected from swapping or not. This makes it easier for e.g. the
crypto hash classes: They can now just always use OFSecureData without
wasting unswappable memory if it's not needed. (check-in: [e629dc83a9] user: js, branch: trunk, size: 5471) [annotate] [blame] [check-ins using] [diff]

2019-03-12
22:10
[0aa83b56cc] part of check-in [320d638a21] OFCryptoHash: Add property for digest / block size (check-in: [320d638a21] user: js, branch: trunk, size: 5042) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[15c7c9a7a5] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 4887) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[6f8e28171c] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 4877) [annotate] [blame] [check-ins using] [diff]
2018-04-07
20:05
[d4e11eaa57] part of check-in [a5006f1d31] OF*Hash: Make use of the new OFSecureData (check-in: [a5006f1d31] user: js, branch: trunk, size: 4871) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[a46dde114c] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 4218) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[f22e843ed9] part of check-in [2f4e0df8be] Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 4195) [annotate] [blame] [check-ins using] [diff]

2017-05-21
21:28
[cd2db0fc50] part of check-in [6b77a5dd8b] Prefix private methods with of_ instead of OF_

This matches Apple's style. (check-in: [6b77a5dd8b] user: js, branch: trunk, size: 4177) [annotate] [blame] [check-ins using] [diff]

2017-05-07
20:10
[766775fc8c] part of check-in [4af49a13c3] Small code style change

Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 4123) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[4360879e92] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 4119) [annotate] [blame] [check-ins using] [diff]

2016-07-24
20:05
[57c3220269] part of check-in [096dd743b5] OF*Hash: Call [self reset] in -[dealloc] (check-in: [096dd743b5] user: js, branch: trunk, size: 4113) [annotate] [blame] [check-ins using] [diff]
18:54
[32e9d453f3] part of check-in [b1cd76a8cd] OFCryptoHash: Conform to OFCopying (check-in: [b1cd76a8cd] user: js, branch: trunk, size: 4058) [annotate] [blame] [check-ins using] [diff]
12:14
[e1d7855925] part of check-in [19f7dc67af] -[OFCryptoHash digest]: uint8_t -> unsigned char

While in practice they are usually the same, the C standard says that
only char does not have any alignment requirements. As (u)int*_t is
defined to be an integer type of the specified size, it does not mean
(u)int8_t needs to be char. (check-in: [19f7dc67af] user: js, branch: trunk, size: 3790) [annotate] [blame] [check-ins using] [diff]

00:06
[85d354ed73] part of check-in [951f530aee] Rename OFHash to OFCryptoHash

OFHash is too generic, as this protocol is for cryptographic hashes. It
also solves the ambiguity of the +[hash] method (which is now
+[cryptoHash]), which conflicted with -[hash] on the class itself,
resulting in classes conforming to OFHash not being able to be used as a
key in an OFDictionary. (check-in: [951f530aee] user: js, branch: trunk, size: 3784) [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
[bdf798905f] part of check-in [e0b9167693] Make use of C99-style for loops (check-in: [e0b9167693] user: js, branch: trunk, size: 3776) [annotate] [blame] [check-ins using] [diff]
2016-01-05
22:00
[7ce937b30f] part of check-in [d3158d091f] (u)int_fast*_t -> (u)int*_t

(U)INT_FAST*_MAX is broken on Android, which makes (u)int_fast*_t
dangerous to use while it does not provide any real speed benefit. (check-in: [d3158d091f] user: js, branch: trunk, size: 3781) [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
[230d7339f1] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 3804) [annotate] [blame] [check-ins using] [diff]

00:41
[0458f2aa13] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 3796) [annotate] [blame] [check-ins using] [diff]

2015-11-29
11:43
[7f1c25fede] part of check-in [48980f2297] Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). (check-in: [48980f2297] user: js, branch: trunk, size: 3792) [annotate] [blame] [check-ins using] [diff]

2015-02-01
00:47
[b45fb37713] part of check-in [7c27db9fe0] Add -[OFHash reset]

This is useful to calculate many hashes without allocating new objects. (check-in: [7c27db9fe0] user: js, branch: trunk, size: 3800) [annotate] [blame] [check-ins using] [diff]

2015-01-31
11:46
[bb076bbf91] part of check-in [c56b388459] OF{MD5,RIPEMD160,SHA*}Hash: Small optimization (check-in: [c56b388459] user: js, branch: trunk, size: 3615) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[00541f23b8] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 3582) [annotate] [blame] [check-ins using] [diff]
2014-09-01
10:47
[20f00e8f54] part of check-in [23dc2c7ff8] OF{MD5,SHA1}Hash: Zero _buffer when done

This way, possibly sensitive information is discarded from memory as
soon as possible. (check-in: [23dc2c7ff8] user: js, branch: trunk, size: 3576) [annotate] [blame] [check-ins using] [diff]

2014-08-31
17:59
[61d6c59846] part of check-in [d310aeee30] Rewrite OFSHA1Hash

The old one was based on a public domain implementation, which is
optimized for old compilers and quite unreadable. The new one is written
from scratch and designed to be readable and to exploit optimizations of
modern compilers. (check-in: [d310aeee30] user: js, branch: trunk, size: 3537) [annotate] [blame] [check-ins using] [diff]

2014-06-21
21:43
[8ad65dbc27] part of check-in [13ee56edf3] Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. (check-in: [13ee56edf3] user: js, branch: trunk, size: 5408) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[c9601948c4] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 5428) [annotate] [blame] [check-ins using] [diff]
2013-12-08
17:43
[4f0ad14fda] part of check-in [75f2aa5096] Clean up OFHash and the Hashing categories. (check-in: [75f2aa5096] user: js, branch: trunk, size: 5422) [annotate] [blame] [check-ins using] [diff]
2013-06-22
12:12
[0b7be48688] part of check-in [3d16a30f41] Rework exceptions.

This mostly removes the argument for the class in which the exception
occurred. As backtraces were recently added for all platforms, the
passed class does not give any extra information on where the exception
occurred anymore.

This also removes a few other arguments which were not too helpful. In
the past, the idea was to pass as many arguments as possible so that it
is easier to find the origin of the exception. However, as backtraces
are a much better way to find the origin, those are not useful anymore
and just make the exception more cumbersome to use. The rule is now to
only pass arguments that might help in recovering from the exception or
provide information that is otherwise not easily accessible. (check-in: [3d16a30f41] user: js, branch: trunk, size: 5433) [annotate] [blame] [check-ins using] [diff]

2013-03-04
17:20
[fbdf78c69a] part of check-in [c5ef582958] Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. (check-in: [c5ef582958] user: js, branch: trunk, size: 5459) [annotate] [blame] [check-ins using] [diff]

2013-02-18
23:05
[264141bf82] part of check-in [9b2d255a3d] Make OFHash a protocol. (check-in: [9b2d255a3d] user: js, branch: trunk, size: 5458) [annotate] [blame] [check-ins using] [diff]
2013-02-12
18:22
[25afa6488f] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 5342) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[1e025da8be] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 5320) [annotate] [blame] [check-ins using] [diff]
2012-07-12
01:28
[88920d7f76] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 5314) [annotate] [blame] [check-ins using] [diff]
2012-07-03
20:16
[6e4ec96cf9] part of check-in [c1060114f6] OFHash: Take void* and unify convenience methods. (check-in: [c1060114f6] user: js, branch: trunk, size: 5305) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[533a6ceae9] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 5364) [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
[8c5830ca8e] part of check-in [e1e7ffa903] Exceptions are now autoreleased.

This is safe as an "exception loop" can't happen, since if allocating
an exception fails, it throws an OFAllocFailedException which is
preallocated and can always be thrown.

So, the worst case would be that an autorelease of an exception fails,
triggering an OFOutOfMemoryException for which there is no memory,
resulting in an OFAllocFailedException to be thrown. (check-in: [e1e7ffa903] user: js, branch: trunk, size: 5358) [annotate] [blame] [check-ins using] [diff]

2011-09-19
12:34
[d50a626d64] part of check-in [d43eb177bc] BOOL naming conventions. (check-in: [d43eb177bc] user: js, branch: trunk, size: 5349) [annotate] [blame] [check-ins using] [diff]
2011-04-22
20:19
[595fab433e] part of check-in [e76a7f52c1] More style improvements. (check-in: [e76a7f52c1] user: js, branch: trunk, size: 5355) [annotate] [blame] [check-ins using] [diff]
2011-03-25
03:14
[c68eae11dd] part of check-in [9d883d2ff6] Pass the hash for OFHashAlreadyCalculatedExceptions. (check-in: [9d883d2ff6] user: js, branch: trunk, size: 5331) [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
[e9824a1431] part of check-in [cda44767f4] Get rid of OFExceptions.h. (check-in: [cda44767f4] user: js, branch: trunk, size: 5311) [annotate] [blame] [check-ins using] [diff]
2011-03-11
16:44
[76bf5a4c3b] part of check-in [1d7ed6556d] Use a union instead of casting pointers in OF{MD5,SHA1}Hash. (check-in: [1d7ed6556d] user: js, branch: trunk, size: 5289) [annotate] [blame] [check-ins using] [diff]
2011-02-17
19:56
[ba33b42a53] part of check-in [275744ecd3] Add +[digestSize] and +[blockSize] to OFHash. (check-in: [275744ecd3] user: js, branch: trunk, size: 5360) [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
[b9d1ebe958] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 5285) [annotate] [blame] [check-ins using] [diff]
2010-12-10
11:21
[bd32bdceed] part of check-in [fada60d54c] Documentation fixes. (check-in: [fada60d54c] user: js, branch: trunk, size: 5029) [annotate] [blame] [check-ins using] [diff]
2010-10-24
13:30
[67e6e5137b] part of check-in [1d19a5586b] Always write abbreviations uppercase in method names. (check-in: [1d19a5586b] user: js, branch: trunk, size: 5061) [annotate] [blame] [check-ins using] [diff]
13:15
[0f9a7bf269] part of check-in [b6a39dd3d1] Rename a few methods returning BOOL. (check-in: [b6a39dd3d1] user: js, branch: trunk, size: 5061) [annotate] [blame] [check-ins using] [diff]
2010-06-12
20:47
Added: [20af66d343] part of check-in [67917b918a] Move a few classes and categories so they have their own files. (check-in: [67917b918a] user: js, branch: trunk, size: 5055) [annotate] [blame] [check-ins using]