Comment: | Rename OFHash to OFCryptoHash
OFHash is too generic, as this protocol is for cryptographic hashes. It |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
951f530aeee0b50ebb6f45826f276ede |
User & Date: | js on 2016-07-24 00:06:30 |
Other Links: | manifest | tags |
2016-07-24
| ||
02:10 | Add OFHMAC check-in: 4722527b97 user: js tags: trunk | |
00:06 | Rename OFHash to OFCryptoHash check-in: 951f530aee user: js tags: trunk | |
2016-07-18
| ||
19:57 | runtime/exception.m: Minor style fix check-in: 691ce6ea29 user: js tags: trunk | |
Modified ObjFW.xcodeproj/project.pbxproj from [c16f6c90d1] to [9bd8fdcc32].
︙ | ︙ | |||
166 167 168 169 170 171 172 | 4B3B0799166978780044E634 /* OFMapTable.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B3B0797166978780044E634 /* OFMapTable.m */; }; 4B3D238B1337FC0D00DD29B8 /* OFApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B175C1E116D130B003C99CB /* OFApplication.m */; }; 4B3D238C1337FC0D00DD29B8 /* OFArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B67995B1099E7C50041064A /* OFArray.m */; }; 4B3D238D1337FC0D00DD29B8 /* OFAutoreleasePool.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B67995D1099E7C50041064A /* OFAutoreleasePool.m */; }; 4B3D238E1337FC0D00DD29B8 /* OFBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD86D811237A6C600ED9912 /* OFBlock.m */; }; 4B3D238F1337FC0D00DD29B8 /* OFConstantString.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE5F0D812DF4225005C7A0C /* OFConstantString.m */; }; 4B3D23901337FC0D00DD29B8 /* OFDataArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799611099E7C50041064A /* OFDataArray.m */; }; | | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | 4B3B0799166978780044E634 /* OFMapTable.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B3B0797166978780044E634 /* OFMapTable.m */; }; 4B3D238B1337FC0D00DD29B8 /* OFApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B175C1E116D130B003C99CB /* OFApplication.m */; }; 4B3D238C1337FC0D00DD29B8 /* OFArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B67995B1099E7C50041064A /* OFArray.m */; }; 4B3D238D1337FC0D00DD29B8 /* OFAutoreleasePool.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B67995D1099E7C50041064A /* OFAutoreleasePool.m */; }; 4B3D238E1337FC0D00DD29B8 /* OFBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD86D811237A6C600ED9912 /* OFBlock.m */; }; 4B3D238F1337FC0D00DD29B8 /* OFConstantString.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE5F0D812DF4225005C7A0C /* OFConstantString.m */; }; 4B3D23901337FC0D00DD29B8 /* OFDataArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799611099E7C50041064A /* OFDataArray.m */; }; 4B3D23911337FC0D00DD29B8 /* OFDataArray+CryptoHashing.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE17ADA12FD746D002CEB0B /* OFDataArray+CryptoHashing.m */; }; 4B3D23921337FC0D00DD29B8 /* OFDate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE5F0DA12DF4225005C7A0C /* OFDate.m */; }; 4B3D23931337FC0D00DD29B8 /* OFDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799631099E7C50041064A /* OFDictionary.m */; }; 4B3D23941337FC0D00DD29B8 /* OFEnumerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B0108CA10EB8C9300631877 /* OFEnumerator.m */; }; 4B3D23961337FC0D00DD29B8 /* OFFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799671099E7C50041064A /* OFFile.m */; }; 4B3D23981337FC0D00DD29B8 /* OFHTTPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B99251012E0780000215DBE /* OFHTTPRequest.m */; }; 4B3D23991337FC0D00DD29B8 /* OFList.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B67996D1099E7C50041064A /* OFList.m */; }; 4B3D239A1337FC0D00DD29B8 /* OFMD5Hash.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1BCC311C9663F0025511F /* OFMD5Hash.m */; }; 4B3D239B1337FC0D00DD29B8 /* OFMutableArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799701099E7C50041064A /* OFMutableArray.m */; }; 4B3D239C1337FC0D00DD29B8 /* OFMutableDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799721099E7C50041064A /* OFMutableDictionary.m */; }; 4B3D239D1337FC0D00DD29B8 /* OFMutableString.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799741099E7C50041064A /* OFMutableString.m */; }; 4B3D239E1337FC0D00DD29B8 /* OFNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799761099E7C50041064A /* OFNumber.m */; }; 4B3D239F1337FC0D00DD29B8 /* OFObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799781099E7C50041064A /* OFObject.m */; }; 4B3D23A01337FC0D00DD29B8 /* OFPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B67997A1099E7C50041064A /* OFPlugin.m */; }; 4B3D23A11337FC0D00DD29B8 /* OFSeekableStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B981CDF116F71DD00294DB7 /* OFSeekableStream.m */; }; 4B3D23A21337FC0D00DD29B8 /* OFSHA1Hash.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1BCC511C9663F0025511F /* OFSHA1Hash.m */; }; 4B3D23A31337FC0D00DD29B8 /* OFStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B67997E1099E7C50041064A /* OFStream.m */; }; 4B3D23A51337FC0D00DD29B8 /* OFStreamSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BAF5F4A123460C900F4E111 /* OFStreamSocket.m */; }; 4B3D23A61337FC0D00DD29B8 /* OFString.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799801099E7C50041064A /* OFString.m */; }; 4B3D23A71337FC0D00DD29B8 /* OFString+CryptoHashing.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1BCC711C9663F0025511F /* OFString+CryptoHashing.m */; }; 4B3D23A81337FC0D00DD29B8 /* OFString+URLEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1BCC911C9663F0025511F /* OFString+URLEncoding.m */; }; 4B3D23A91337FC0D00DD29B8 /* OFString+XMLEscaping.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1BCCB11C9663F0025511F /* OFString+XMLEscaping.m */; }; 4B3D23AA1337FC0D00DD29B8 /* OFString+XMLUnescaping.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1BCCD11C9663F0025511F /* OFString+XMLUnescaping.m */; }; 4B3D23AB1337FC0D00DD29B8 /* OFTCPSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799821099E7C50041064A /* OFTCPSocket.m */; }; 4B3D23AC1337FC0D00DD29B8 /* OFThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6799841099E7C50041064A /* OFThread.m */; }; 4B3D23AD1337FC0D00DD29B8 /* OFURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B4A61F312DF5EA20048F3F2 /* OFURL.m */; }; 4B3D23AE1337FC0D00DD29B8 /* OFXMLAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1BCCF11C9663F0025511F /* OFXMLAttribute.m */; }; |
︙ | ︙ | |||
208 209 210 211 212 213 214 | 4B3D23BC1337FC8300DD29B8 /* OFApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B175C1D116D130B003C99CB /* OFApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23BD1337FC8300DD29B8 /* OFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B67995A1099E7C50041064A /* OFArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23BE1337FC8300DD29B8 /* OFAutoreleasePool.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B67995C1099E7C50041064A /* OFAutoreleasePool.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23BF1337FC8300DD29B8 /* OFBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD86D801237A6C600ED9912 /* OFBlock.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C01337FC8300DD29B8 /* OFCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BAF5F46123460C900F4E111 /* OFCollection.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C11337FC8300DD29B8 /* OFConstantString.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE5F0D712DF4225005C7A0C /* OFConstantString.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C21337FC8300DD29B8 /* OFDataArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799601099E7C50041064A /* OFDataArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; | | | | | 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | 4B3D23BC1337FC8300DD29B8 /* OFApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B175C1D116D130B003C99CB /* OFApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23BD1337FC8300DD29B8 /* OFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B67995A1099E7C50041064A /* OFArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23BE1337FC8300DD29B8 /* OFAutoreleasePool.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B67995C1099E7C50041064A /* OFAutoreleasePool.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23BF1337FC8300DD29B8 /* OFBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD86D801237A6C600ED9912 /* OFBlock.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C01337FC8300DD29B8 /* OFCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BAF5F46123460C900F4E111 /* OFCollection.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C11337FC8300DD29B8 /* OFConstantString.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE5F0D712DF4225005C7A0C /* OFConstantString.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C21337FC8300DD29B8 /* OFDataArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799601099E7C50041064A /* OFDataArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C31337FC8300DD29B8 /* OFDataArray+CryptoHashing.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE17AD912FD746D002CEB0B /* OFDataArray+CryptoHashing.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C41337FC8300DD29B8 /* OFDate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE5F0D912DF4225005C7A0C /* OFDate.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C51337FCB000DD29B8 /* OFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799621099E7C50041064A /* OFDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C61337FCB000DD29B8 /* OFEnumerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B0108C910EB8C9300631877 /* OFEnumerator.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C81337FCB000DD29B8 /* OFFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799661099E7C50041064A /* OFFile.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23C91337FCB000DD29B8 /* OFCryptoHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF1BCC011C9663F0025511F /* OFCryptoHash.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23CA1337FCB000DD29B8 /* OFHTTPRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B99250F12E0780000215DBE /* OFHTTPRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23CB1337FCB000DD29B8 /* OFList.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B67996C1099E7C50041064A /* OFList.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23CC1337FCB000DD29B8 /* OFMD5Hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF1BCC211C9663F0025511F /* OFMD5Hash.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23CD1337FCB000DD29B8 /* OFMutableArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B67996F1099E7C50041064A /* OFMutableArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23CE1337FCB000DD29B8 /* OFMutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799711099E7C50041064A /* OFMutableDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23CF1337FCB000DD29B8 /* OFMutableString.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799731099E7C50041064A /* OFMutableString.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23D01337FCB000DD29B8 /* OFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799751099E7C50041064A /* OFNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23D11337FCB000DD29B8 /* OFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799771099E7C50041064A /* OFObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23D21337FCB000DD29B8 /* OFPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799791099E7C50041064A /* OFPlugin.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23D31337FCB000DD29B8 /* OFSeekableStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B981CDE116F71DD00294DB7 /* OFSeekableStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23D41337FCB000DD29B8 /* OFSHA1Hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF1BCC411C9663F0025511F /* OFSHA1Hash.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23D51337FCB000DD29B8 /* OFStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B67997D1099E7C50041064A /* OFStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23D71337FCB000DD29B8 /* OFStreamSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BAF5F49123460C900F4E111 /* OFStreamSocket.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23D81337FCB000DD29B8 /* OFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B67997F1099E7C50041064A /* OFString.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23D91337FCB000DD29B8 /* OFString+CryptoHashing.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF1BCC611C9663F0025511F /* OFString+CryptoHashing.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23DA1337FCB000DD29B8 /* OFString+URLEncoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF1BCC811C9663F0025511F /* OFString+URLEncoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23DB1337FCB000DD29B8 /* OFString+XMLEscaping.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF1BCCA11C9663F0025511F /* OFString+XMLEscaping.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23DC1337FCB000DD29B8 /* OFString+XMLUnescaping.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF1BCCC11C9663F0025511F /* OFString+XMLUnescaping.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23DD1337FCB000DD29B8 /* OFTCPSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799811099E7C50041064A /* OFTCPSocket.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23DE1337FCB000DD29B8 /* OFThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6799831099E7C50041064A /* OFThread.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23DF1337FCB000DD29B8 /* OFURL.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B4A61F212DF5EA20048F3F2 /* OFURL.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B3D23E01337FCB000DD29B8 /* OFXMLAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF1BCCE11C9663F0025511F /* OFXMLAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
︙ | ︙ | |||
973 974 975 976 977 978 979 | 4BD77FDC176E4BC40031C497 /* OFUnboundPrefixException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFUnboundPrefixException.h; path = src/exceptions/OFUnboundPrefixException.h; sourceTree = "<group>"; }; 4BD77FDD176E4BC40031C497 /* OFUnboundPrefixException.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFUnboundPrefixException.m; path = src/exceptions/OFUnboundPrefixException.m; sourceTree = "<group>"; }; 4BD86D801237A6C600ED9912 /* OFBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFBlock.h; path = src/OFBlock.h; sourceTree = SOURCE_ROOT; }; 4BD86D811237A6C600ED9912 /* OFBlock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFBlock.m; path = src/OFBlock.m; sourceTree = SOURCE_ROOT; }; 4BD98C011338140B0048DD5B /* objfw-defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "objfw-defs.h"; path = "src/objfw-defs.h"; sourceTree = SOURCE_ROOT; }; 4BDF37B41338055600F9A81A /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = SOURCE_ROOT; }; 4BE17AD812FD744C002CEB0B /* foundation-compat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "foundation-compat.m"; path = "src/foundation-compat.m"; sourceTree = SOURCE_ROOT; }; | | | | | | | 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 | 4BD77FDC176E4BC40031C497 /* OFUnboundPrefixException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFUnboundPrefixException.h; path = src/exceptions/OFUnboundPrefixException.h; sourceTree = "<group>"; }; 4BD77FDD176E4BC40031C497 /* OFUnboundPrefixException.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFUnboundPrefixException.m; path = src/exceptions/OFUnboundPrefixException.m; sourceTree = "<group>"; }; 4BD86D801237A6C600ED9912 /* OFBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFBlock.h; path = src/OFBlock.h; sourceTree = SOURCE_ROOT; }; 4BD86D811237A6C600ED9912 /* OFBlock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFBlock.m; path = src/OFBlock.m; sourceTree = SOURCE_ROOT; }; 4BD98C011338140B0048DD5B /* objfw-defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "objfw-defs.h"; path = "src/objfw-defs.h"; sourceTree = SOURCE_ROOT; }; 4BDF37B41338055600F9A81A /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = SOURCE_ROOT; }; 4BE17AD812FD744C002CEB0B /* foundation-compat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "foundation-compat.m"; path = "src/foundation-compat.m"; sourceTree = SOURCE_ROOT; }; 4BE17AD912FD746D002CEB0B /* OFDataArray+CryptoHashing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "OFDataArray+CryptoHashing.h"; path = "src/OFDataArray+CryptoHashing.h"; sourceTree = SOURCE_ROOT; }; 4BE17ADA12FD746D002CEB0B /* OFDataArray+CryptoHashing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "OFDataArray+CryptoHashing.m"; path = "src/OFDataArray+CryptoHashing.m"; sourceTree = SOURCE_ROOT; }; 4BE52D1F17B990B4005958D1 /* OFZIPArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFZIPArchive.h; path = src/OFZIPArchive.h; sourceTree = "<group>"; }; 4BE52D2017B990B4005958D1 /* OFZIPArchive.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFZIPArchive.m; path = src/OFZIPArchive.m; sourceTree = "<group>"; }; 4BE52D2317B990DA005958D1 /* OFChecksumFailedException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFChecksumFailedException.h; path = src/exceptions/OFChecksumFailedException.h; sourceTree = "<group>"; }; 4BE52D2417B990DA005958D1 /* OFChecksumFailedException.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFChecksumFailedException.m; path = src/exceptions/OFChecksumFailedException.m; sourceTree = "<group>"; }; 4BE5F0D712DF4225005C7A0C /* OFConstantString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFConstantString.h; path = src/OFConstantString.h; sourceTree = SOURCE_ROOT; }; 4BE5F0D812DF4225005C7A0C /* OFConstantString.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFConstantString.m; path = src/OFConstantString.m; sourceTree = SOURCE_ROOT; }; 4BE5F0D912DF4225005C7A0C /* OFDate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFDate.h; path = src/OFDate.h; sourceTree = SOURCE_ROOT; }; 4BE5F0DA12DF4225005C7A0C /* OFDate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFDate.m; path = src/OFDate.m; sourceTree = SOURCE_ROOT; }; 4BE5F0E412DF4259005C7A0C /* OFBlockTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFBlockTests.m; path = tests/OFBlockTests.m; sourceTree = SOURCE_ROOT; }; 4BE5F0E512DF4259005C7A0C /* OFDateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFDateTests.m; path = tests/OFDateTests.m; sourceTree = SOURCE_ROOT; }; 4BEAF52519A8107500B61868 /* module.map */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; name = module.map; path = misc/module.map; sourceTree = SOURCE_ROOT; }; 4BEC83B719B7CB7100E4BB08 /* OFRIPEMD160Hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFRIPEMD160Hash.h; path = src/OFRIPEMD160Hash.h; sourceTree = "<group>"; }; 4BEC83B819B7CB7100E4BB08 /* OFRIPEMD160Hash.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFRIPEMD160Hash.m; path = src/OFRIPEMD160Hash.m; sourceTree = "<group>"; }; 4BEC83BB19B7CBDE00E4BB08 /* OFRIPEMD160HashTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFRIPEMD160HashTests.m; path = tests/OFRIPEMD160HashTests.m; sourceTree = "<group>"; }; 4BF0749512DFAFCA00A4ADD1 /* OFURLTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFURLTests.m; path = tests/OFURLTests.m; sourceTree = SOURCE_ROOT; }; 4BF171B11C9499F300F5B47B /* OFStdIOStream+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "OFStdIOStream+Private.h"; path = "src/OFStdIOStream+Private.h"; sourceTree = "<group>"; }; 4BF1BCBF11C9663F0025511F /* objfw-defs.h.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "objfw-defs.h.in"; path = "src/objfw-defs.h.in"; sourceTree = "<group>"; }; 4BF1BCC011C9663F0025511F /* OFCryptoHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFCryptoHash.h; path = src/OFCryptoHash.h; sourceTree = "<group>"; }; 4BF1BCC211C9663F0025511F /* OFMD5Hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFMD5Hash.h; path = src/OFMD5Hash.h; sourceTree = "<group>"; }; 4BF1BCC311C9663F0025511F /* OFMD5Hash.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFMD5Hash.m; path = src/OFMD5Hash.m; sourceTree = "<group>"; }; 4BF1BCC411C9663F0025511F /* OFSHA1Hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFSHA1Hash.h; path = src/OFSHA1Hash.h; sourceTree = "<group>"; }; 4BF1BCC511C9663F0025511F /* OFSHA1Hash.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OFSHA1Hash.m; path = src/OFSHA1Hash.m; sourceTree = "<group>"; }; 4BF1BCC611C9663F0025511F /* OFString+CryptoHashing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "OFString+CryptoHashing.h"; path = "src/OFString+CryptoHashing.h"; sourceTree = "<group>"; }; 4BF1BCC711C9663F0025511F /* OFString+CryptoHashing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "OFString+CryptoHashing.m"; path = "src/OFString+CryptoHashing.m"; sourceTree = "<group>"; }; 4BF1BCC811C9663F0025511F /* OFString+URLEncoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "OFString+URLEncoding.h"; path = "src/OFString+URLEncoding.h"; sourceTree = "<group>"; }; 4BF1BCC911C9663F0025511F /* OFString+URLEncoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "OFString+URLEncoding.m"; path = "src/OFString+URLEncoding.m"; sourceTree = "<group>"; }; 4BF1BCCA11C9663F0025511F /* OFString+XMLEscaping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "OFString+XMLEscaping.h"; path = "src/OFString+XMLEscaping.h"; sourceTree = "<group>"; }; 4BF1BCCB11C9663F0025511F /* OFString+XMLEscaping.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "OFString+XMLEscaping.m"; path = "src/OFString+XMLEscaping.m"; sourceTree = "<group>"; }; 4BF1BCCC11C9663F0025511F /* OFString+XMLUnescaping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "OFString+XMLUnescaping.h"; path = "src/OFString+XMLUnescaping.h"; sourceTree = "<group>"; }; 4BF1BCCD11C9663F0025511F /* OFString+XMLUnescaping.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "OFString+XMLUnescaping.m"; path = "src/OFString+XMLUnescaping.m"; sourceTree = "<group>"; }; 4BF1BCCE11C9663F0025511F /* OFXMLAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OFXMLAttribute.h; path = src/OFXMLAttribute.h; sourceTree = "<group>"; }; |
︙ | ︙ | |||
1317 1318 1319 1320 1321 1322 1323 1324 1325 | 4B6743F8163C395900EB1E59 /* OFCondition.m */, 4BE5F0D712DF4225005C7A0C /* OFConstantString.h */, 4BE5F0D812DF4225005C7A0C /* OFConstantString.m */, 4B45355113DCFE1E0037AB4D /* OFCountedSet.h */, 4B45355213DCFE1E0037AB4D /* OFCountedSet.m */, 4BA85BC4140ECCE800E91D51 /* OFCountedSet_hashtable.h */, 4BA85BC5140ECCE800E91D51 /* OFCountedSet_hashtable.m */, 4B6799601099E7C50041064A /* OFDataArray.h */, 4B6799611099E7C50041064A /* OFDataArray.m */, | > | | < | 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 | 4B6743F8163C395900EB1E59 /* OFCondition.m */, 4BE5F0D712DF4225005C7A0C /* OFConstantString.h */, 4BE5F0D812DF4225005C7A0C /* OFConstantString.m */, 4B45355113DCFE1E0037AB4D /* OFCountedSet.h */, 4B45355213DCFE1E0037AB4D /* OFCountedSet.m */, 4BA85BC4140ECCE800E91D51 /* OFCountedSet_hashtable.h */, 4BA85BC5140ECCE800E91D51 /* OFCountedSet_hashtable.m */, 4BF1BCC011C9663F0025511F /* OFCryptoHash.h */, 4B6799601099E7C50041064A /* OFDataArray.h */, 4B6799611099E7C50041064A /* OFDataArray.m */, 4BE17AD912FD746D002CEB0B /* OFDataArray+CryptoHashing.h */, 4BE17ADA12FD746D002CEB0B /* OFDataArray+CryptoHashing.m */, 4B879A89177231F000EBCEA4 /* OFDataArray+MessagePackValue.h */, 4B879A8A177231F000EBCEA4 /* OFDataArray+MessagePackValue.m */, 4BE5F0D912DF4225005C7A0C /* OFDate.h */, 4BE5F0DA12DF4225005C7A0C /* OFDate.m */, 4BC1761F1D04963000C32718 /* OFDeflate64Stream.h */, 4BC176201D04963000C32718 /* OFDeflate64Stream.m */, 4BC176211D04963000C32718 /* OFDeflateStream.h */, 4BC176221D04963000C32718 /* OFDeflateStream.m */, 4B6799621099E7C50041064A /* OFDictionary.h */, 4B6799631099E7C50041064A /* OFDictionary.m */, 4B2B3E75140D430500EC2F7C /* OFDictionary_hashtable.h */, 4B2B3E76140D430500EC2F7C /* OFDictionary_hashtable.m */, 4B0108C910EB8C9300631877 /* OFEnumerator.h */, 4B0108CA10EB8C9300631877 /* OFEnumerator.m */, 4B6799661099E7C50041064A /* OFFile.h */, 4B6799671099E7C50041064A /* OFFile.m */, 4B2C72881B888B6900717583 /* OFFileManager.h */, 4B2C72891B888B6900717583 /* OFFileManager.m */, 4BD1125E1CCB739A0076FDB9 /* OFGZIPStream.h */, 4BD1125F1CCB739A0076FDB9 /* OFGZIPStream.m */, 4BB4B53F16775FF4002A2DCE /* OFHTTPClient.h */, 4BB4B54016775FF4002A2DCE /* OFHTTPClient.m */, 4B99250F12E0780000215DBE /* OFHTTPRequest.h */, 4B99251012E0780000215DBE /* OFHTTPRequest.m */, 4B7161AB17A6FC7600B74970 /* OFHTTPResponse.h */, 4B7161AC17A6FC7600B74970 /* OFHTTPResponse.m */, 4BB4B54116775FF4002A2DCE /* OFHTTPServer.h */, |
︙ | ︙ | |||
1457 1458 1459 1460 1461 1462 1463 | 4B67997D1099E7C50041064A /* OFStream.h */, 4B67997E1099E7C50041064A /* OFStream.m */, 4B6C8AD217BD5C2E00B194F2 /* OFStream+Private.h */, 4BAF5F49123460C900F4E111 /* OFStreamSocket.h */, 4BAF5F4A123460C900F4E111 /* OFStreamSocket.m */, 4B67997F1099E7C50041064A /* OFString.h */, 4B6799801099E7C50041064A /* OFString.m */, | | | | 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 | 4B67997D1099E7C50041064A /* OFStream.h */, 4B67997E1099E7C50041064A /* OFStream.m */, 4B6C8AD217BD5C2E00B194F2 /* OFStream+Private.h */, 4BAF5F49123460C900F4E111 /* OFStreamSocket.h */, 4BAF5F4A123460C900F4E111 /* OFStreamSocket.m */, 4B67997F1099E7C50041064A /* OFString.h */, 4B6799801099E7C50041064A /* OFString.m */, 4BF1BCC611C9663F0025511F /* OFString+CryptoHashing.h */, 4BF1BCC711C9663F0025511F /* OFString+CryptoHashing.m */, 4B5CF8F614940BD2007AA324 /* OFString+JSONValue.h */, 4B5CF8F714940BD2007AA324 /* OFString+JSONValue.m */, 4BB25E84139C388A00F574EA /* OFString+Serialization.h */, 4BB25E85139C388A00F574EA /* OFString+Serialization.m */, 4BF1BCC811C9663F0025511F /* OFString+URLEncoding.h */, 4BF1BCC911C9663F0025511F /* OFString+URLEncoding.m */, 4BF1BCCA11C9663F0025511F /* OFString+XMLEscaping.h */, |
︙ | ︙ | |||
1681 1682 1683 1684 1685 1686 1687 1688 | 4B3D23BE1337FC8300DD29B8 /* OFAutoreleasePool.h in Headers */, 4BF48CE118A95F83000E8D04 /* OFBigDataArray.h in Headers */, 4B3D23BF1337FC8300DD29B8 /* OFBlock.h in Headers */, 4B3D23C01337FC8300DD29B8 /* OFCollection.h in Headers */, 4B674400163C395900EB1E59 /* OFCondition.h in Headers */, 4B3D23C11337FC8300DD29B8 /* OFConstantString.h in Headers */, 4B45355313DCFE1E0037AB4D /* OFCountedSet.h in Headers */, 4B3D23C21337FC8300DD29B8 /* OFDataArray.h in Headers */, | > | < | 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 | 4B3D23BE1337FC8300DD29B8 /* OFAutoreleasePool.h in Headers */, 4BF48CE118A95F83000E8D04 /* OFBigDataArray.h in Headers */, 4B3D23BF1337FC8300DD29B8 /* OFBlock.h in Headers */, 4B3D23C01337FC8300DD29B8 /* OFCollection.h in Headers */, 4B674400163C395900EB1E59 /* OFCondition.h in Headers */, 4B3D23C11337FC8300DD29B8 /* OFConstantString.h in Headers */, 4B45355313DCFE1E0037AB4D /* OFCountedSet.h in Headers */, 4B3D23C91337FCB000DD29B8 /* OFCryptoHash.h in Headers */, 4B3D23C21337FC8300DD29B8 /* OFDataArray.h in Headers */, 4B3D23C31337FC8300DD29B8 /* OFDataArray+CryptoHashing.h in Headers */, 4B879A8C177231F000EBCEA4 /* OFDataArray+MessagePackValue.h in Headers */, 4B3D23C41337FC8300DD29B8 /* OFDate.h in Headers */, 4BC1762D1D04963000C32718 /* OFDeflateStream.h in Headers */, 4BC1762B1D04963000C32718 /* OFDeflate64Stream.h in Headers */, 4B3D23C51337FCB000DD29B8 /* OFDictionary.h in Headers */, 4B3D23C61337FCB000DD29B8 /* OFEnumerator.h in Headers */, 4B17FF74133A2AAB003E6DCD /* OFException.h in Headers */, 4B3D23C81337FCB000DD29B8 /* OFFile.h in Headers */, 4B2C728C1B888B8700717583 /* OFFileManager.h in Headers */, 4BD112621CCB73A90076FDB9 /* OFGZIPStream.h in Headers */, 4BB4B54416775FF4002A2DCE /* OFHTTPClient.h in Headers */, 4B3D23CA1337FCB000DD29B8 /* OFHTTPRequest.h in Headers */, 4B7161AD17A6FC7600B74970 /* OFHTTPResponse.h in Headers */, 4BB4B54616775FF4002A2DCE /* OFHTTPServer.h in Headers */, 4B06855318B2AD3800FC731A /* OFINICategory.h in Headers */, 4B5B02BE18B288A400CE6AE4 /* OFINIFile.h in Headers */, 4BA49D9013DB113B00381CDB /* OFIntrospection.h in Headers */, |
︙ | ︙ | |||
1742 1743 1744 1745 1746 1747 1748 | 4B6025A119B76A5C00694BCC /* OFSHA384Or512Hash.h in Headers */, 4B6025A319B76A5C00694BCC /* OFSHA512Hash.h in Headers */, 4B141BA415FCDF74000C21A8 /* OFSortedList.h in Headers */, 4B0256E4172B60400062B5F1 /* OFStdIOStream.h in Headers */, 4B3D23D51337FCB000DD29B8 /* OFStream.h in Headers */, 4B3D23D71337FCB000DD29B8 /* OFStreamSocket.h in Headers */, 4B3D23D81337FCB000DD29B8 /* OFString.h in Headers */, | | | 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 | 4B6025A119B76A5C00694BCC /* OFSHA384Or512Hash.h in Headers */, 4B6025A319B76A5C00694BCC /* OFSHA512Hash.h in Headers */, 4B141BA415FCDF74000C21A8 /* OFSortedList.h in Headers */, 4B0256E4172B60400062B5F1 /* OFStdIOStream.h in Headers */, 4B3D23D51337FCB000DD29B8 /* OFStream.h in Headers */, 4B3D23D71337FCB000DD29B8 /* OFStreamSocket.h in Headers */, 4B3D23D81337FCB000DD29B8 /* OFString.h in Headers */, 4B3D23D91337FCB000DD29B8 /* OFString+CryptoHashing.h in Headers */, 4B5CF8F914940BD2007AA324 /* OFString+JSONValue.h in Headers */, 4BB25E8A139C388A00F574EA /* OFString+Serialization.h in Headers */, 4B3D23DA1337FCB000DD29B8 /* OFString+URLEncoding.h in Headers */, 4B3D23DB1337FCB000DD29B8 /* OFString+XMLEscaping.h in Headers */, 4B3D23DC1337FCB000DD29B8 /* OFString+XMLUnescaping.h in Headers */, 4B745BA5168B25E600A6C20E /* OFSystemInfo.h in Headers */, 4BC176321D04963000C32718 /* OFTarArchive.h in Headers */, |
︙ | ︙ | |||
2072 2073 2074 2075 2076 2077 2078 | 4BF48CE218A95F83000E8D04 /* OFBigDataArray.m in Sources */, 4B3D238E1337FC0D00DD29B8 /* OFBlock.m in Sources */, 4B674401163C395900EB1E59 /* OFCondition.m in Sources */, 4B3D238F1337FC0D00DD29B8 /* OFConstantString.m in Sources */, 4B45355413DCFE1E0037AB4D /* OFCountedSet.m in Sources */, 4BA85BCB140ECCE800E91D51 /* OFCountedSet_hashtable.m in Sources */, 4B3D23901337FC0D00DD29B8 /* OFDataArray.m in Sources */, | | | 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 | 4BF48CE218A95F83000E8D04 /* OFBigDataArray.m in Sources */, 4B3D238E1337FC0D00DD29B8 /* OFBlock.m in Sources */, 4B674401163C395900EB1E59 /* OFCondition.m in Sources */, 4B3D238F1337FC0D00DD29B8 /* OFConstantString.m in Sources */, 4B45355413DCFE1E0037AB4D /* OFCountedSet.m in Sources */, 4BA85BCB140ECCE800E91D51 /* OFCountedSet_hashtable.m in Sources */, 4B3D23901337FC0D00DD29B8 /* OFDataArray.m in Sources */, 4B3D23911337FC0D00DD29B8 /* OFDataArray+CryptoHashing.m in Sources */, 4B879A8D177231F000EBCEA4 /* OFDataArray+MessagePackValue.m in Sources */, 4B3D23921337FC0D00DD29B8 /* OFDate.m in Sources */, 4BC1762C1D04963000C32718 /* OFDeflate64Stream.m in Sources */, 4BC1762E1D04963000C32718 /* OFDeflateStream.m in Sources */, 4B3D23931337FC0D00DD29B8 /* OFDictionary.m in Sources */, 4B2B3E80140D430500EC2F7C /* OFDictionary_hashtable.m in Sources */, 4B3D23941337FC0D00DD29B8 /* OFEnumerator.m in Sources */, |
︙ | ︙ | |||
2134 2135 2136 2137 2138 2139 2140 | 4B6025A219B76A5C00694BCC /* OFSHA384Or512Hash.m in Sources */, 4B6025A419B76A5C00694BCC /* OFSHA512Hash.m in Sources */, 4B141BA515FCDF74000C21A8 /* OFSortedList.m in Sources */, 4B0256E5172B60400062B5F1 /* OFStdIOStream.m in Sources */, 4B3D23A31337FC0D00DD29B8 /* OFStream.m in Sources */, 4B3D23A51337FC0D00DD29B8 /* OFStreamSocket.m in Sources */, 4B3D23A61337FC0D00DD29B8 /* OFString.m in Sources */, | | | 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 | 4B6025A219B76A5C00694BCC /* OFSHA384Or512Hash.m in Sources */, 4B6025A419B76A5C00694BCC /* OFSHA512Hash.m in Sources */, 4B141BA515FCDF74000C21A8 /* OFSortedList.m in Sources */, 4B0256E5172B60400062B5F1 /* OFStdIOStream.m in Sources */, 4B3D23A31337FC0D00DD29B8 /* OFStream.m in Sources */, 4B3D23A51337FC0D00DD29B8 /* OFStreamSocket.m in Sources */, 4B3D23A61337FC0D00DD29B8 /* OFString.m in Sources */, 4B3D23A71337FC0D00DD29B8 /* OFString+CryptoHashing.m in Sources */, 4B5CF8FA14940BD2007AA324 /* OFString+JSONValue.m in Sources */, 4BB25E8B139C388A00F574EA /* OFString+Serialization.m in Sources */, 4B3D23A81337FC0D00DD29B8 /* OFString+URLEncoding.m in Sources */, 4B3D23A91337FC0D00DD29B8 /* OFString+XMLEscaping.m in Sources */, 4B3D23AA1337FC0D00DD29B8 /* OFString+XMLUnescaping.m in Sources */, 4B552555147AA5DB0003BF47 /* OFString_UTF8.m in Sources */, 4B745BA6168B25E600A6C20E /* OFSystemInfo.m in Sources */, |
︙ | ︙ |
Modified src/Makefile from [9a38cd4575] to [a2cbc017c1].
︙ | ︙ | |||
14 15 16 17 18 19 20 | OFArray_subarray.m \ OFAutoreleasePool.m \ OFBigDataArray.m \ OFBlock.m \ OFConstantString.m \ OFCountedSet.m \ OFDataArray.m \ | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | OFArray_subarray.m \ OFAutoreleasePool.m \ OFBigDataArray.m \ OFBlock.m \ OFConstantString.m \ OFCountedSet.m \ OFDataArray.m \ OFDataArray+CryptoHashing.m \ OFDataArray+MessagePackValue.m \ OFDate.m \ OFDeflateStream.m \ OFDeflate64Stream.m \ OFDictionary.m \ OFEnumerator.m \ OFGZIPStream.m \ |
︙ | ︙ | |||
54 55 56 57 58 59 60 | OFSHA384Or512Hash.m \ OFSHA512Hash.m \ OFSortedList.m \ OFStdIOStream.m \ ${OFSTDIOSTREAM_WIN32CONSOLE_M} \ OFStream.m \ OFString.m \ | | | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | OFSHA384Or512Hash.m \ OFSHA512Hash.m \ OFSortedList.m \ OFStdIOStream.m \ ${OFSTDIOSTREAM_WIN32CONSOLE_M} \ OFStream.m \ OFString.m \ OFString+CryptoHashing.m \ OFString+JSONValue.m \ OFString+Serialization.m \ OFString+URLEncoding.m \ OFString+XMLEscaping.m \ OFString+XMLUnescaping.m \ OFSystemInfo.m \ OFTarArchive.m \ |
︙ | ︙ | |||
111 112 113 114 115 116 117 | OFMutex.m \ OFRecursiveMutex.m \ OFThreadPool.m \ threading.m INCLUDES := ${SRCS:.m=.h} \ OFCollection.h \ | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | OFMutex.m \ OFRecursiveMutex.m \ OFThreadPool.m \ threading.m INCLUDES := ${SRCS:.m=.h} \ OFCollection.h \ OFCryptoHash.h \ OFJSONRepresentation.h \ OFKeyValueCoding.h \ OFLocking.h \ OFMessagePackRepresentation.h \ OFSerialization.h \ OFTLSSocket.h \ ObjFW.h \ |
︙ | ︙ |
Added src/OFCryptoHash.h version [86d6230316].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFObject.h" OF_ASSUME_NONNULL_BEGIN /*! * @protocol OFCryptoHash OFCryptoHash.h ObjFW/OFCryptoHash.h * * @brief A protocol for classes providing cryptographic hash functions. */ @protocol OFCryptoHash <OFObject> /*! * A boolean whether the hash has already been calculated. */ @property (readonly, getter=isCalculated) bool calculated; /*! * @brief Creates a new cryptographic hash. * * @return A new autoreleased OFCryptoHash */ + (instancetype)cryptoHash; /*! * @brief Returns the digest size of the cryptographic hash, in bytes. * * @return The digest size of the cryptographic hash, in bytes */ + (size_t)digestSize; /*! * @brief Returns the block size of the cryptographic hash, in bytes. * * @return The block size of the cryptographic hash, in bytes */ + (size_t)blockSize; /*! * @brief Adds a buffer to the cryptographic hash to be calculated. * * @param buffer The buffer which should be included into the calculation * @param length The length of the buffer */ - (void)updateWithBuffer: (const void*)buffer length: (size_t)length; /*! * @brief Returns a buffer containing the cryptographic hash. * * The size of the buffer depends on the hash used. The buffer is part of the * receiver's memory pool. * * @return A buffer containing the hash */ - (const uint8_t*)digest OF_RETURNS_INNER_POINTER; /*! * @brief Resets all state so that a new hash can be calculated. * * @warning This invalidates any pointer previously returned by @ref digest. If * you are still interested in the previous digest, you need to memcpy * it yourself before calling @ref reset! */ - (void)reset; @end OF_ASSUME_NONNULL_END |
Added src/OFDataArray+CryptoHashing.h version [325a4866db].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFDataArray.h" OF_ASSUME_NONNULL_BEGIN @class OFString; #ifdef __cplusplus extern "C" { #endif extern int _OFDataArray_CryptoHashing_reference; #ifdef __cplusplus } #endif @interface OFDataArray (CryptoHashing) /*! * @brief Returns the MD5 hash of the data array as an autoreleased OFString. * * @return The MD5 hash of the data array as an autoreleased OFString */ - (OFString*)MD5Hash; /*! * @brief Returns the RIPEMD-160 hash of the data array as an autoreleased * OFString. * * @return The RIPEMD-160 hash of the data array as an autoreleased OFString */ - (OFString*)RIPEMD160Hash; /*! * @brief Returns the SHA-1 hash of the data array as an autoreleased OFString. * * @return The SHA-1 hash of the data array as an autoreleased OFString */ - (OFString*)SHA1Hash; /*! * @brief Returns the SHA-224 hash of the data array as an autoreleased * OFString. * * @return The SHA-224 hash of the data array as an autoreleased OFString */ - (OFString*)SHA224Hash; /*! * @brief Returns the SHA-256 hash of the data array as an autoreleased * OFString. * * @return The SHA-256 hash of the data array as an autoreleased OFString */ - (OFString*)SHA256Hash; /*! * @brief Returns the SHA-384 hash of the data array as an autoreleased * OFString. * * @return The SHA-384 hash of the data array as an autoreleased OFString */ - (OFString*)SHA384Hash; /*! * @brief Returns the SHA-512 hash of the data array as an autoreleased * OFString. * * @return The SHA-512 hash of the data array as an autoreleased OFString */ - (OFString*)SHA512Hash; @end OF_ASSUME_NONNULL_END |
Added src/OFDataArray+CryptoHashing.m version [c62437f34e].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #import "OFDataArray.h" #import "OFString.h" #import "OFCryptoHash.h" #import "OFMD5Hash.h" #import "OFRIPEMD160Hash.h" #import "OFSHA1Hash.h" #import "OFSHA224Hash.h" #import "OFSHA256Hash.h" #import "OFSHA384Hash.h" #import "OFSHA512Hash.h" int _OFDataArray_CryptoHashing_reference; @implementation OFDataArray (Hashing) - (OFString*)OF_cryptoHashWithClass: (Class <OFCryptoHash>)class { void *pool = objc_autoreleasePoolPush(); id <OFCryptoHash> hash = [class cryptoHash]; size_t digestSize = [class digestSize]; const uint8_t *digest; char cString[digestSize * 2]; [hash updateWithBuffer: _items length: _count * _itemSize]; digest = [hash digest]; for (size_t i = 0; i < digestSize; i++) { uint8_t high, low; high = digest[i] >> 4; low = digest[i] & 0x0F; cString[i * 2] = (high > 9 ? high - 10 + 'a' : high + '0'); cString[i * 2 + 1] = (low > 9 ? low - 10 + 'a' : low + '0'); } objc_autoreleasePoolPop(pool); return [OFString stringWithCString: cString encoding: OF_STRING_ENCODING_ASCII length: digestSize * 2]; } - (OFString*)MD5Hash { return [self OF_cryptoHashWithClass: [OFMD5Hash class]]; } - (OFString*)RIPEMD160Hash { return [self OF_cryptoHashWithClass: [OFRIPEMD160Hash class]]; } - (OFString*)SHA1Hash { return [self OF_cryptoHashWithClass: [OFSHA1Hash class]]; } - (OFString*)SHA224Hash { return [self OF_cryptoHashWithClass: [OFSHA224Hash class]]; } - (OFString*)SHA256Hash { return [self OF_cryptoHashWithClass: [OFSHA256Hash class]]; } - (OFString*)SHA384Hash { return [self OF_cryptoHashWithClass: [OFSHA384Hash class]]; } - (OFString*)SHA512Hash { return [self OF_cryptoHashWithClass: [OFSHA512Hash class]]; } @end |
Deleted src/OFDataArray+Hashing.h version [b4891dc7e9].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted src/OFDataArray+Hashing.m version [155e7ea0e4].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Modified src/OFDataArray.h from [134bfc8e3c] to [77b4882e58].
︙ | ︙ | |||
318 319 320 321 322 323 324 | */ - (void)writeToFile: (OFString*)path; #endif @end OF_ASSUME_NONNULL_END | | | 318 319 320 321 322 323 324 325 326 | */ - (void)writeToFile: (OFString*)path; #endif @end OF_ASSUME_NONNULL_END #import "OFDataArray+CryptoHashing.h" #import "OFDataArray+MessagePackValue.h" |
Modified src/OFDataArray.m from [7efebe508a] to [bd7b819877].
︙ | ︙ | |||
49 50 51 52 53 54 55 56 | #import "base64.h" /* References for static linking */ void _references_to_categories_of_OFDataArray(void) { _OFDataArray_MessagePackValue_reference = 1; | > < | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | #import "base64.h" /* References for static linking */ void _references_to_categories_of_OFDataArray(void) { _OFDataArray_CryptoHashing_reference = 1; _OFDataArray_MessagePackValue_reference = 1; } @implementation OFDataArray @synthesize itemSize = _itemSize; + (instancetype)dataArray { |
︙ | ︙ |
Deleted src/OFHash.h version [360d51ea54].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Modified src/OFMD5Hash.h from [e1256fb017] to [6e1b8b2c3a].
︙ | ︙ | |||
10 11 12 13 14 15 16 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ | | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFCryptoHash.h" OF_ASSUME_NONNULL_BEGIN /*! * @class OFMD5Hash OFMD5Hash.h ObjFW/OFMD5Hash.h * * @brief A class which provides functions to create an MD5 hash. */ @interface OFMD5Hash: OFObject <OFCryptoHash> { uint32_t _state[4]; uint64_t _bits; union { uint8_t bytes[64]; uint32_t words[16]; } _buffer; |
︙ | ︙ |
Modified src/OFMD5Hash.m from [5a22333932] to [c7952ff29f].
︙ | ︙ | |||
121 122 123 124 125 126 127 | } + (size_t)blockSize { return 64; } | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | } + (size_t)blockSize { return 64; } + (instancetype)cryptoHash { return [[[self alloc] init] autorelease]; } - init { self = [super init]; |
︙ | ︙ | |||
150 151 152 153 154 155 156 | - (void)updateWithBuffer: (const void*)buffer_ length: (size_t)length { const uint8_t *buffer = buffer_; if (_calculated) @throw [OFHashAlreadyCalculatedException | | | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | - (void)updateWithBuffer: (const void*)buffer_ length: (size_t)length { const uint8_t *buffer = buffer_; if (_calculated) @throw [OFHashAlreadyCalculatedException exceptionWithObject: self]; _bits += (length * 8); while (length > 0) { size_t min = 64 - _bufferLength; if (min > length) |
︙ | ︙ |
Modified src/OFRIPEMD160Hash.h from [00a11d6b22] to [26cbce8286].
︙ | ︙ | |||
10 11 12 13 14 15 16 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ | | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFCryptoHash.h" OF_ASSUME_NONNULL_BEGIN /*! * @class OFRIPEMD160Hash OFRIPEMD160Hash.h ObjFW/OFRIPEMD160Hash.h * * @brief A class which provides functions to create a RIPEMD-160 hash. */ @interface OFRIPEMD160Hash: OFObject <OFCryptoHash> { uint32_t _state[5]; uint64_t _bits; union { uint8_t bytes[64]; uint32_t words[16]; } _buffer; |
︙ | ︙ |
Modified src/OFRIPEMD160Hash.m from [fbdb761c67] to [93d7f36836].
︙ | ︙ | |||
135 136 137 138 139 140 141 | } + (size_t)blockSize { return 64; } | | | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | } + (size_t)blockSize { return 64; } + (instancetype)cryptoHash { return [[[self alloc] init] autorelease]; } - init { self = [super init]; |
︙ | ︙ | |||
165 166 167 168 169 170 171 | - (void)updateWithBuffer: (const void*)buffer_ length: (size_t)length { const uint8_t *buffer = buffer_; if (_calculated) @throw [OFHashAlreadyCalculatedException | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | - (void)updateWithBuffer: (const void*)buffer_ length: (size_t)length { const uint8_t *buffer = buffer_; if (_calculated) @throw [OFHashAlreadyCalculatedException exceptionWithObject: self]; _bits += (length * 8); while (length > 0) { size_t min = 64 - _bufferLength; if (min > length) |
︙ | ︙ |
Modified src/OFSHA1Hash.h from [7db19f54a8] to [bd1fe8cbf1].
︙ | ︙ | |||
10 11 12 13 14 15 16 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ | | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFCryptoHash.h" OF_ASSUME_NONNULL_BEGIN /*! * @class OFSHA1Hash OFSHA1Hash.h ObjFW/OFSHA1Hash.h * * @brief A class which provides functions to create an SHA-1 hash. */ @interface OFSHA1Hash: OFObject <OFCryptoHash> { uint32_t _state[5]; uint64_t _bits; union { uint8_t bytes[64]; uint32_t words[80]; } _buffer; |
︙ | ︙ |
Modified src/OFSHA1Hash.m from [bdf798905f] to [85d354ed73].
︙ | ︙ | |||
95 96 97 98 99 100 101 | } + (size_t)blockSize { return 64; } | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | } + (size_t)blockSize { return 64; } + (instancetype)cryptoHash { return [[[self alloc] init] autorelease]; } - init { self = [super init]; |
︙ | ︙ | |||
125 126 127 128 129 130 131 | - (void)updateWithBuffer: (const void*)buffer_ length: (size_t)length { const uint8_t *buffer = buffer_; if (_calculated) @throw [OFHashAlreadyCalculatedException | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | - (void)updateWithBuffer: (const void*)buffer_ length: (size_t)length { const uint8_t *buffer = buffer_; if (_calculated) @throw [OFHashAlreadyCalculatedException exceptionWithObject: self]; _bits += (length * 8); while (length > 0) { size_t min = 64 - _bufferLength; if (min > length) |
︙ | ︙ |
Modified src/OFSHA224Or256Hash.h from [29c76a9638] to [f6372245cc].
︙ | ︙ | |||
10 11 12 13 14 15 16 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ | | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFCryptoHash.h" OF_ASSUME_NONNULL_BEGIN /*! * @class OFSHA224Or256Hash OFSHA224Or256Hash.h ObjFW/OFSHA224Or256Hash.h * * @brief A base class for SHA-224 and SHA-256. */ @interface OFSHA224Or256Hash: OFObject <OFCryptoHash> { uint32_t _state[8]; uint64_t _bits; union { uint8_t bytes[64]; uint32_t words[64]; } _buffer; |
︙ | ︙ |
Modified src/OFSHA224Or256Hash.m from [6ab18f2a4c] to [6b2637992f].
︙ | ︙ | |||
12 13 14 15 16 17 18 19 20 21 22 23 24 25 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <string.h> #import "OFSHA224Or256Hash.h" #import "OFHashAlreadyCalculatedException.h" static const uint32_t table[] = { | > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <stdlib.h> #include <string.h> #import "OFSHA224Or256Hash.h" #import "OFHashAlreadyCalculatedException.h" static const uint32_t table[] = { |
︙ | ︙ | |||
116 117 118 119 120 121 122 | } + (size_t)blockSize { return 64; } | | > > > > > > | > > > > | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | } + (size_t)blockSize { return 64; } + (instancetype)cryptoHash { return [[[self alloc] init] autorelease]; } - init { self = [super init]; @try { if ([self class] == [OFSHA224Or256Hash class]) { [self doesNotRecognizeSelector: _cmd]; abort(); } [self OF_resetState]; } @catch (id e) { [self release]; @throw e; } return self; } - (void)updateWithBuffer: (const void*)buffer_ length: (size_t)length { const uint8_t *buffer = buffer_; if (_calculated) @throw [OFHashAlreadyCalculatedException exceptionWithObject: self]; _bits += (length * 8); while (length > 0) { size_t min = 64 - _bufferLength; if (min > length) |
︙ | ︙ |
Modified src/OFSHA384Or512Hash.h from [f3c6e027c1] to [7857c565bc].
︙ | ︙ | |||
10 11 12 13 14 15 16 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ | | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFCryptoHash.h" OF_ASSUME_NONNULL_BEGIN /*! * @class OFSHA384Or512Hash OFSHA384Or512Hash.h ObjFW/OFSHA384Or512Hash.h * * @brief A base class for SHA-384 and SHA-512. */ @interface OFSHA384Or512Hash: OFObject <OFCryptoHash> { uint64_t _state[8]; uint64_t _bits[2]; union { uint8_t bytes[128]; uint64_t words[80]; } _buffer; |
︙ | ︙ |
Modified src/OFSHA384Or512Hash.m from [e332bfebbc] to [43577ec262].
︙ | ︙ | |||
12 13 14 15 16 17 18 19 20 21 22 23 24 25 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <string.h> #import "OFSHA384Or512Hash.h" #import "OFHashAlreadyCalculatedException.h" static const uint64_t table[] = { | > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <stdlib.h> #include <string.h> #import "OFSHA384Or512Hash.h" #import "OFHashAlreadyCalculatedException.h" static const uint64_t table[] = { |
︙ | ︙ | |||
127 128 129 130 131 132 133 | } + (size_t)blockSize { return 128; } | | > > > > > > | > > > > | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | } + (size_t)blockSize { return 128; } + (instancetype)cryptoHash { return [[[self alloc] init] autorelease]; } - init { self = [super init]; @try { if ([self class] == [OFSHA384Or512Hash class]) { [self doesNotRecognizeSelector: _cmd]; abort(); } [self OF_resetState]; } @catch (id e) { [self release]; @throw e; } return self; } - (void)updateWithBuffer: (const void*)buffer_ length: (size_t)length { const uint8_t *buffer = buffer_; if (_calculated) @throw [OFHashAlreadyCalculatedException exceptionWithObject: self]; if (UINT64_MAX - _bits[0] < (length * 8)) _bits[1]++; _bits[0] += (length * 8); while (length > 0) { size_t min = 128 - _bufferLength; |
︙ | ︙ |
Added src/OFString+CryptoHashing.h version [bdbd026aa6].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFString.h" OF_ASSUME_NONNULL_BEGIN #ifdef __cplusplus extern "C" { #endif extern int _OFString_CryptoHashing_reference; #ifdef __cplusplus } #endif @interface OFString (CryptoHashing) /*! * @brief Returns the MD5 hash of the string as an autoreleased OFString. * * @return The MD5 hash of the string as an autoreleased OFString */ - (OFString*)MD5Hash; /*! * @brief Returns the RIPEMD-160 hash of the string as an autoreleased OFString. * * @return The RIPEMD-160 hash of the string as an autoreleased OFString */ - (OFString*)RIPEMD160Hash; /*! * @brief Returns the SHA-1 hash of the string as an autoreleased OFString. * * @return The SHA-1 hash of the string as an autoreleased OFString */ - (OFString*)SHA1Hash; /*! * @brief Returns the SHA-224 hash of the string as an autoreleased OFString. * * @return The SHA-224 hash of the string as an autoreleased OFString */ - (OFString*)SHA224Hash; /*! * @brief Returns the SHA-256 hash of the string as an autoreleased OFString. * * @return The SHA-256 hash of the string as an autoreleased OFString */ - (OFString*)SHA256Hash; /*! * @brief Returns the SHA-384 hash of the string as an autoreleased OFString. * * @return The SHA-384 hash of the string as an autoreleased OFString */ - (OFString*)SHA384Hash; /*! * @brief Returns the SHA-512 hash of the string as an autoreleased OFString. * * @return The SHA-512 hash of the string as an autoreleased OFString */ - (OFString*)SHA512Hash; @end OF_ASSUME_NONNULL_END |
Added src/OFString+CryptoHashing.m version [73f20bd87d].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #import "OFString.h" #import "OFCryptoHash.h" #import "OFMD5Hash.h" #import "OFRIPEMD160Hash.h" #import "OFSHA1Hash.h" #import "OFSHA224Hash.h" #import "OFSHA256Hash.h" #import "OFSHA384Hash.h" #import "OFSHA512Hash.h" int _OFString_CryptoHashing_reference; @implementation OFString (CryptoHashing) - (OFString*)OF_cryptoHashWithClass: (Class <OFCryptoHash>)class { void *pool = objc_autoreleasePoolPush(); id <OFCryptoHash> hash = [class cryptoHash]; size_t digestSize = [class digestSize]; const uint8_t *digest; char cString[digestSize * 2]; [hash updateWithBuffer: [self UTF8String] length: [self UTF8StringLength]]; digest = [hash digest]; for (size_t i = 0; i < digestSize; i++) { uint8_t high, low; high = digest[i] >> 4; low = digest[i] & 0x0F; cString[i * 2] = (high > 9 ? high - 10 + 'a' : high + '0'); cString[i * 2 + 1] = (low > 9 ? low - 10 + 'a' : low + '0'); } objc_autoreleasePoolPop(pool); return [OFString stringWithCString: cString encoding: OF_STRING_ENCODING_ASCII length: digestSize * 2]; } - (OFString*)MD5Hash { return [self OF_cryptoHashWithClass: [OFMD5Hash class]]; } - (OFString*)RIPEMD160Hash { return [self OF_cryptoHashWithClass: [OFRIPEMD160Hash class]]; } - (OFString*)SHA1Hash { return [self OF_cryptoHashWithClass: [OFSHA1Hash class]]; } - (OFString*)SHA224Hash { return [self OF_cryptoHashWithClass: [OFSHA224Hash class]]; } - (OFString*)SHA256Hash { return [self OF_cryptoHashWithClass: [OFSHA256Hash class]]; } - (OFString*)SHA384Hash { return [self OF_cryptoHashWithClass: [OFSHA384Hash class]]; } - (OFString*)SHA512Hash { return [self OF_cryptoHashWithClass: [OFSHA512Hash class]]; } @end |
Deleted src/OFString+Hashing.h version [c5a8c9c233].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted src/OFString+Hashing.m version [0bdccbd7c3].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Modified src/OFString.h from [f7188a0160] to [ac066f58da].
︙ | ︙ | |||
1122 1123 1124 1125 1126 1127 1128 | } #endif OF_ASSUME_NONNULL_END #import "OFConstantString.h" #import "OFMutableString.h" | | | 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 | } #endif OF_ASSUME_NONNULL_END #import "OFConstantString.h" #import "OFMutableString.h" #import "OFString+CryptoHashing.h" #import "OFString+JSONValue.h" #import "OFString+Serialization.h" #import "OFString+URLEncoding.h" #import "OFString+XMLEscaping.h" #import "OFString+XMLUnescaping.h" #ifndef NSINTEGER_DEFINED |
︙ | ︙ |
Modified src/OFString.m from [e8667bc529] to [4050f6aba6].
︙ | ︙ | |||
84 85 86 87 88 89 90 | extern bool of_unicode_to_codepage_437(const of_unichar_t*, uint8_t*, size_t, bool); /* References for static linking */ void _references_to_categories_of_OFString(void) { | | | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | extern bool of_unicode_to_codepage_437(const of_unichar_t*, uint8_t*, size_t, bool); /* References for static linking */ void _references_to_categories_of_OFString(void) { _OFString_CryptoHashing_reference = 1; _OFString_JSONValue_reference = 1; _OFString_Serialization_reference = 1; _OFString_URLEncoding_reference = 1; _OFString_XMLEscaping_reference = 1; _OFString_XMLUnescaping_reference = 1; } |
︙ | ︙ |
Modified src/ObjFW.h from [746f3ea57f] to [8a14324578].
︙ | ︙ | |||
71 72 73 74 75 76 77 | # import "OFHTTPServer.h" #endif #ifdef OF_HAVE_PROCESSES # import "OFProcess.h" #endif | | | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | # import "OFHTTPServer.h" #endif #ifdef OF_HAVE_PROCESSES # import "OFProcess.h" #endif #import "OFCryptoHash.h" #import "OFMD5Hash.h" #import "OFRIPEMD160Hash.h" #import "OFSHA1Hash.h" #import "OFSHA224Hash.h" #import "OFSHA256Hash.h" #import "OFSHA384Hash.h" #import "OFSHA512Hash.h" |
︙ | ︙ |
Modified src/exceptions/OFHashAlreadyCalculatedException.h from [c9c0b590d5] to [1b273530dc].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" | | | | | | | | | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #import "OFCryptoHash.h" /*! * @class OFHashAlreadyCalculatedException \ * OFHashAlreadyCalculatedException.h \ * ObjFW/OFHashAlreadyCalculatedException.h * * @brief An exception indicating that the hash has already been calculated. */ @interface OFHashAlreadyCalculatedException: OFException { id <OFCryptoHash> _object; } /*! * The hash which has already been calculated. */ @property (readonly, retain) id <OFCryptoHash> object; /*! * @brief Creates a new, autoreleased hash already calculated exception. * * @param object The hash which has already been calculated * @return A new, autoreleased hash already calculated exception */ + (instancetype)exceptionWithObject: (id <OFCryptoHash>)object; /*! * @brief Initializes an already allocated hash already calculated exception. * * @param object The hash which has already been calculated * @return An initialized hash already calculated exception */ - initWithObject: (id <OFCryptoHash>)object; @end |
Modified src/exceptions/OFHashAlreadyCalculatedException.m from [8b0f535fb4] to [1a0c97097c].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #include "config.h" #import "OFHashAlreadyCalculatedException.h" #import "OFString.h" @implementation OFHashAlreadyCalculatedException | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #include "config.h" #import "OFHashAlreadyCalculatedException.h" #import "OFString.h" @implementation OFHashAlreadyCalculatedException @synthesize object = _object; + (instancetype)exceptionWithObject: (id <OFCryptoHash>)object { return [[[self alloc] initWithObject: object] autorelease]; } - init { OF_INVALID_INIT_METHOD } - initWithObject: (id <OFCryptoHash>)object { self = [super init]; _object = [object retain]; return self; } - (void)dealloc { [_object release]; [super dealloc]; } - (OFString*)description { return [OFString stringWithFormat: @"The hash of type %@ has already been calculated and thus no new " @"data can be added!", [_object class]]; } @end |
Modified tests/OFMD5HashTests.m from [fd0f6f25b5] to [d66f994271].
︙ | ︙ | |||
36 37 38 39 40 41 42 | - (void)MD5HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFMD5Hash *md5; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | - (void)MD5HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFMD5Hash *md5; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; TEST(@"+[cryptoHash]", (md5 = [OFMD5Hash cryptoHash])) while (![f isAtEndOfStream]) { char buf[64]; size_t len = [f readIntoBuffer: buf length: 64]; [md5 updateWithBuffer: buf length: len]; |
︙ | ︙ |
Modified tests/OFRIPEMD160HashTests.m from [a0fe2730da] to [77ab460e7a].
︙ | ︙ | |||
37 38 39 40 41 42 43 | - (void)RIPEMD160HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFRIPEMD160Hash *rmd160; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | - (void)RIPEMD160HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFRIPEMD160Hash *rmd160; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; TEST(@"+[cryptoHash]", (rmd160 = [OFRIPEMD160Hash cryptoHash])) while (![f isAtEndOfStream]) { char buf[64]; size_t len = [f readIntoBuffer: buf length: 64]; [rmd160 updateWithBuffer: buf length: len]; |
︙ | ︙ |
Modified tests/OFSHA1HashTests.m from [bf86cfa1fb] to [283cdacad0].
︙ | ︙ | |||
37 38 39 40 41 42 43 | - (void)SHA1HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA1Hash *sha1; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | - (void)SHA1HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA1Hash *sha1; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; TEST(@"+[cryptoHash]", (sha1 = [OFSHA1Hash cryptoHash])) while (![f isAtEndOfStream]) { char buf[64]; size_t len = [f readIntoBuffer: buf length: 64]; [sha1 updateWithBuffer: buf length: len]; |
︙ | ︙ |
Modified tests/OFSHA224HashTests.m from [059069e79f] to [c912281416].
︙ | ︙ | |||
37 38 39 40 41 42 43 | - (void)SHA224HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA224Hash *sha224; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | - (void)SHA224HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA224Hash *sha224; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; TEST(@"+[cryptoHash]", (sha224 = [OFSHA224Hash cryptoHash])) while (![f isAtEndOfStream]) { char buf[64]; size_t len = [f readIntoBuffer: buf length: 64]; [sha224 updateWithBuffer: buf length: len]; |
︙ | ︙ |
Modified tests/OFSHA256HashTests.m from [816172ebe5] to [fa3f9610d1].
︙ | ︙ | |||
37 38 39 40 41 42 43 | - (void)SHA256HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA256Hash *sha256; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | - (void)SHA256HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA256Hash *sha256; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; TEST(@"+[cryptoHash]", (sha256 = [OFSHA256Hash cryptoHash])) while (![f isAtEndOfStream]) { char buf[64]; size_t len = [f readIntoBuffer: buf length: 64]; [sha256 updateWithBuffer: buf length: len]; |
︙ | ︙ |
Modified tests/OFSHA384HashTests.m from [81b008a562] to [d990425313].
︙ | ︙ | |||
38 39 40 41 42 43 44 | - (void)SHA384HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA384Hash *sha384; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; | | | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | - (void)SHA384HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA384Hash *sha384; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; TEST(@"+[cryptoHash]", (sha384 = [OFSHA384Hash cryptoHash])) while (![f isAtEndOfStream]) { char buf[128]; size_t len = [f readIntoBuffer: buf length: 128]; [sha384 updateWithBuffer: buf length: len]; |
︙ | ︙ |
Modified tests/OFSHA512HashTests.m from [c4011105cf] to [d5695d5fe1].
︙ | ︙ | |||
39 40 41 42 43 44 45 | - (void)SHA512HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA512Hash *sha512; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | - (void)SHA512HashTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; OFSHA512Hash *sha512; OFFile *f = [OFFile fileWithPath: @"testfile.bin" mode: @"rb"]; TEST(@"+[cryptoHash]", (sha512 = [OFSHA512Hash cryptoHash])) while (![f isAtEndOfStream]) { char buf[128]; size_t len = [f readIntoBuffer: buf length: 128]; [sha512 updateWithBuffer: buf length: len]; |
︙ | ︙ |
Modified utils/ofhash/OFHash.m from [db4af5bb82] to [14d7516824].
︙ | ︙ | |||
43 44 45 46 47 48 49 | @"Usage: %@ [md5|rmd160|sha1|sha224|sha256|sha384|sha512] " @"file1 [file2 ...]\n", [OFApplication programName]]; [OFApplication terminateWithStatus: 1]; } | | | | | | | | | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | @"Usage: %@ [md5|rmd160|sha1|sha224|sha256|sha384|sha512] " @"file1 [file2 ...]\n", [OFApplication programName]]; [OFApplication terminateWithStatus: 1]; } static id <OFCryptoHash> hashForName(OFString *name) { if ([name isEqual: @"md5"]) return [OFMD5Hash cryptoHash]; else if ([name isEqual: @"rmd160"] || [name isEqual: @"ripemd160"]) return [OFRIPEMD160Hash cryptoHash]; else if ([name isEqual: @"sha1"]) return [OFSHA1Hash cryptoHash]; else if ([name isEqual: @"sha224"]) return [OFSHA224Hash cryptoHash]; else if ([name isEqual: @"sha256"]) return [OFSHA256Hash cryptoHash]; else if ([name isEqual: @"sha384"]) return [OFSHA384Hash cryptoHash]; else if ([name isEqual: @"sha512"]) return [OFSHA512Hash cryptoHash]; return nil; } @implementation OFHash - (void)applicationDidFinishLaunching { OFArray OF_GENERIC(OFString*) *arguments = [OFApplication arguments]; id <OFCryptoHash> hash; bool first = true; int exitStatus = 0; if ([arguments count] < 2) help(); if ((hash = hashForName([arguments firstObject])) == nil) |
︙ | ︙ |