ObjFW  History of src/OFSecureData.m of 3865cc56952edc9d

History of file src/OFSecureData.m at check-in 3865cc56952edc9d

2024-05-09
10:21
Use unsigned long for bit sets

This should be more efficient on some architectures.

As a nice side effect, this is also what Linux does in some userspace
APIs, so after this change, these macros can be used for this as well
(and Linux interestingly does not provide similar macros in the
userspace headers). file: [d0c4634748] check-in: [96f946d7ad] user: js, branch: trunk, size: 15198 [annotate] [blame] [check-ins using] [diff]

2024-04-03
02:16
Change license to LGPLv3 only file: [5df33e3bf5] check-in: [7413a728a7] user: js, branch: trunk, size: 15153 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [d28acd1a78] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 14945 [annotate] [blame] [check-ins using] [diff]
2023-08-07
20:59
Make GCC happy again file: [21abf2b09b] check-in: [5f9d8d958b] user: js, branch: trunk, size: 14945 [annotate] [blame] [check-ins using] [diff]
18:20
Make OFData a class cluster file: [a15fe6dfde] check-in: [91fa20d993] user: js, branch: trunk, size: 13395 [annotate] [blame] [check-ins using] [diff]
2023-04-10
19:22
Remove OFSerialization

While the idea sounds nice that the tag name is the class, this means the
serialization includes whether something is mutable or immutable. This means
doing as much as making something immutable changes the serialization, which
can then cause issues after being deserialized. file: [47b9727f66] check-in: [6ce0093f8d] user: js, branch: trunk, size: 14585 [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
Update copyright file: [6e16784ba9] check-in: [8939cbdb52] user: js, branch: trunk, size: 14750 [annotate] [blame] [check-ins using] [diff]
2022-11-24
00:21
Rename OFURI to OFIRI file: [f035278e38] check-in: [23272e6d43] user: js, branch: trunk, size: 14750 [annotate] [blame] [check-ins using] [diff]
2022-09-28
21:40
Rename OFUR{L -> I} in preparation for URI support file: [7420c1ca0e] check-in: [e7ab06503c] user: js, branch: trunk, size: 14750 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [ea6060539c] check-in: [1a86b8175b] user: js, branch: trunk, size: 14750 [annotate] [blame] [check-ins using] [diff]
2021-05-02
09:25
A few more missed renames file: [80f9f47dea] check-in: [19236ddfe7] user: js, branch: trunk, size: 14750 [annotate] [blame] [check-ins using] [diff]
2021-04-25
16:20
OFSecureData: Move chunkSize into #ifdef file: [850d3da4ab] check-in: [b648c7090f] user: js, branch: trunk, size: 14750 [annotate] [blame] [check-ins using] [diff]
11:05
A few last renames file: [7db7cba207] check-in: [27103855c2] user: js, branch: new-naming-convention, size: 14750 [annotate] [blame] [check-ins using] [diff]
2021-04-18
20:51
Rename everything in several smaller files file: [ffb9b9d2c6] check-in: [35de667566] user: js, branch: new-naming-convention, size: 14745 [annotate] [blame] [check-ins using] [diff]
15:55
Rename all functions in macros.h file: [971ad6d5d4] check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 14744 [annotate] [blame] [check-ins using] [diff]
2021-04-17
22:45
Rename of_(re)alloc and add OFFreeMemory file: [13d1d2603b] check-in: [498074dab9] user: js, branch: new-naming-convention, size: 14764 [annotate] [blame] [check-ins using] [diff]
15:45
of_tlskey_t -> OFTLSKey file: [4b08053bfb] check-in: [cc3a4a7b43] user: js, branch: new-naming-convention, size: 14690 [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [2689b5b4f2] check-in: [1b82d3bf4f] user: js, branch: trunk, size: 14741 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [3993fa04e8] check-in: [374e1a1bfa] user: js, branch: trunk, size: 14747 [annotate] [blame] [check-ins using] [diff]
2020-12-20
21:26
Return error instead of using errno for threading

errno is problematic for Amiga libraries and is also not thread-safe on
some systems, even though it should. file: [a977d1a98b] check-in: [5b37fbeb82] user: js, branch: trunk, size: 14836 [annotate] [blame] [check-ins using] [diff]

2020-11-29
00:59
of_bitset_*: Use CHAR_BIT instead of 8 file: [7de8ab3a25] check-in: [b46492384a] user: js, branch: trunk, size: 14753 [annotate] [blame] [check-ins using] [diff]
2020-11-14
12:23
Rename of_malloc and of_calloc

The new names should be more accurate. file: [960649af1d] check-in: [627511b032] user: js, branch: trunk, size: 14715 [annotate] [blame] [check-ins using] [diff]

2020-11-06
02:12
OFData: Make parameter order more consistent file: [8a522b1fcf] check-in: [9d74d1b74e] user: js, branch: trunk, size: 14705 [annotate] [blame] [check-ins using] [diff]
01:11
OF*Data: Avoid -[allocMemoryWithSize:] file: [3742a91d29] check-in: [1a70abc65d] user: js, branch: trunk, size: 14696 [annotate] [blame] [check-ins using] [diff]
2020-11-04
23:18
Remove of_free()

While it makes sense to wrap malloc and calloc to replace the error
checking with exceptions, it does not make sense to wrap free. file: [de9178b4e4] check-in: [3d8286feee] user: js, branch: trunk, size: 14705 [annotate] [blame] [check-ins using] [diff]

2020-10-25
23:55
OFSecureData: Fix memory leak on error file: [8eda9d8f37] check-in: [8be102635a] user: js, branch: trunk, size: 14726 [annotate] [blame] [check-ins using] [diff]
23:33
Add of_{malloc,calloc,realloc,free} file: [eaba88b9eb] check-in: [d0ae3bfd6c] user: js, branch: trunk, size: 14399 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [98976ad696] check-in: [c7f0229795] user: js, branch: trunk, size: 14701 [annotate] [blame] [check-ins using] [diff]
2019-12-27
21:43
OFSecureData: Fix #ifdefs file: [4f8dc33f67] check-in: [d5c4dedada] user: js, branch: trunk, size: 14698 [annotate] [blame] [check-ins using] [diff]
00:41
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. file: [800160da50] check-in: [e629dc83a9] user: js, branch: trunk, size: 14543 [annotate] [blame] [check-ins using] [diff]

2019-12-15
14:42
Make +[OFSecureData isSecure] per instance

The reason for this change is that whether non-swappable memory can be
allocated or not is something that changes over time, so calling
+[isSecure] always had a potential for a race. The only reliable way is
to allocate the memory and then report whether it's swappable or not.

It's also called -[isSwappable] now to be more precise. file: [0b2ff22574] check-in: [60caadeb5d] user: js, branch: trunk, size: 12950 [annotate] [blame] [check-ins using] [diff]

2019-10-20
13:15
Fix missing fast paths in -[isEqual:] file: [4b72bb7708] check-in: [9122facff6] user: js, branch: trunk, size: 13479 [annotate] [blame] [check-ins using] [diff]
2019-08-01
20:14
Split threading.[hm] into multiple files

This allows the runtime to only link against the parts it needs, without
pulling in unnecessary parts like thread spawning, TLS and conditions. file: [fa28a56f57] check-in: [5358e9ea6a] user: js, branch: trunk, size: 13442 [annotate] [blame] [check-ins using] [diff]

2019-03-08
00:35
Use dot syntax file: [e075377cde] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 13445 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [e8696d3e65] check-in: [0509d7a844] user: js, branch: trunk, size: 13255 [annotate] [blame] [check-ins using] [diff]
2018-11-04
20:11
OFSecureData: Add support for preallocating memory

This is useful to allocate secure memory before enabling a sandbox that
does not allow it anymore. file: [520efa2118] check-in: [0487a81ced] user: js, branch: trunk, size: 13249 [annotate] [blame] [check-ins using] [diff]

2018-06-24
19:53
OFSecureData: Add constant-time isEqual: file: [431c3bcd83] check-in: [68c8c02e80] user: js, branch: trunk, size: 10967 [annotate] [blame] [check-ins using] [diff]
2018-06-03
23:31
Add -[OFObject allocZeroedMemoryWithSize:(count:)] file: [1f55e2f307] check-in: [aacb5897a0] user: js, branch: trunk, size: 10592 [annotate] [blame] [check-ins using] [diff]
2018-04-08
20:28
+[OFSecureData isSecure]: Check for EPERM file: [8841787590] check-in: [75ec6edab2] user: js, branch: trunk, size: 10634 [annotate] [blame] [check-ins using] [diff]
13:37
OFSecureData: Add a memory allocator

This avoids having at last one page per OFSecureData and allows multiple
small OFSecureData sharing the same page, which is important on systems
where the number of pages that can be locked is very limited. file: [43dbd361d6] check-in: [0e45b7bb1c] user: js, branch: trunk, size: 10038 [annotate] [blame] [check-ins using] [diff]

2018-04-07
20:48
Add +[OFSecureData isSecure] file: [5b69d2d183] check-in: [edbb1ff5f4] user: js, branch: trunk, size: 5407 [annotate] [blame] [check-ins using] [diff]
20:05
OF*Hash: Make use of the new OFSecureData file: [6ea795ac32] check-in: [a5006f1d31] user: js, branch: trunk, size: 5276 [annotate] [blame] [check-ins using] [diff]
14:13
Added: Add OFSecureData file: [9dff65470c] check-in: [d4d9072480] user: js, branch: trunk, size: 5266 [annotate] [blame] [check-ins using]