Overview
| Comment: | messagePackValue -> objectByParsingMessagePack |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
6cfa8f5c7e81c1047c49fa0d13289ef9 |
| User & Date: | js on 2020-08-13 21:12:03 |
| Other Links: | manifest | tags |
Context
|
2020-08-13
| ||
| 22:29 | OFData: ASN1DERValue -> objectByParsingASN1DER (check-in: e479cef7b3 user: js tags: trunk) | |
| 21:12 | messagePackValue -> objectByParsingMessagePack (check-in: 6cfa8f5c7e user: js tags: trunk) | |
| 21:07 | OFString: Rename JSONValue to objectByParsingJSON (check-in: 8611f48f42 user: js tags: trunk) | |
Changes
Modified src/Makefile from [f2c0d6b35c] to [563644dd94].
| ︙ | ︙ | |||
27 28 29 30 31 32 33 |
OFCharacterSet.m \
OFColor.m \
OFConstantString.m \
OFCountedSet.m \
OFData.m \
OFData+ASN1DERValue.m \
OFData+CryptoHashing.m \
| | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
OFCharacterSet.m \
OFColor.m \
OFConstantString.m \
OFCountedSet.m \
OFData.m \
OFData+ASN1DERValue.m \
OFData+CryptoHashing.m \
OFData+MessagePackParsing.m \
OFDate.m \
OFDictionary.m \
OFEnumerator.m \
OFFileManager.m \
OFGZIPStream.m \
OFHMAC.m \
OFInflate64Stream.m \
|
| ︙ | ︙ |
Renamed and modified src/OFData+MessagePackValue.h [2409c49524] to src/OFData+MessagePackParsing.h [6f2988f9a2].
| ︙ | ︙ | |||
18 19 20 21 22 23 24 |
#import "OFData.h"
OF_ASSUME_NONNULL_BEGIN
#ifdef __cplusplus
extern "C" {
#endif
| | | | | | 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 |
#import "OFData.h"
OF_ASSUME_NONNULL_BEGIN
#ifdef __cplusplus
extern "C" {
#endif
extern int _OFData_MessagePackParsing_reference;
#ifdef __cplusplus
}
#endif
@interface OFData (MessagePackParsing)
/*!
* @brief The data interpreted as MessagePack representation and parsed as an
* object.
*/
@property (readonly, nonatomic) id objectByParsingMessagePack;
/*!
* @brief Parses the MessagePack representation and returns it as an object.
*
* @param depthLimit The maximum depth the parser should accept (defaults to 32
* if not specified, 0 means no limit (insecure!))
* @return The MessagePack representation as an object
*/
- (id)objectByParsingMessagePackWithDepthLimit: (size_t)depthLimit;
@end
OF_ASSUME_NONNULL_END
|
Renamed and modified src/OFData+MessagePackValue.m [caaaf51219] to src/OFData+MessagePackParsing.m [91d033cd37].
| ︙ | ︙ | |||
15 16 17 18 19 20 21 | * file. */ #include "config.h" #include <string.h> | | | | 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 |
* file.
*/
#include "config.h"
#include <string.h>
#import "OFData+MessagePackParsing.h"
#import "OFArray.h"
#import "OFDate.h"
#import "OFDictionary.h"
#import "OFMessagePackExtension.h"
#import "OFNull.h"
#import "OFNumber.h"
#import "OFString.h"
#import "OFInvalidArgumentException.h"
#import "OFInvalidFormatException.h"
#import "OFOutOfRangeException.h"
#import "OFTruncatedDataException.h"
int _OFData_MessagePackParsing_reference;
static size_t parseObject(const unsigned char *buffer, size_t length,
id *object, size_t depthLimit);
static uint16_t
readUInt16(const unsigned char *buffer)
{
|
| ︙ | ︙ | |||
538 539 540 541 542 543 544 | return parseTable(buffer + 5, length - 5, object, readUInt32(buffer + 1), depthLimit) + 5; default: @throw [OFInvalidFormatException exception]; } } | | | | | | 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 |
return parseTable(buffer + 5, length - 5, object,
readUInt32(buffer + 1), depthLimit) + 5;
default:
@throw [OFInvalidFormatException exception];
}
}
@implementation OFData (MessagePackParsing)
- (id)objectByParsingMessagePack
{
return [self objectByParsingMessagePackWithDepthLimit: 32];
}
- (id)objectByParsingMessagePackWithDepthLimit: (size_t)depthLimit
{
void *pool = objc_autoreleasePoolPush();
size_t count = self.count;
id object;
if (self.itemSize != 1)
@throw [OFInvalidArgumentException exception];
|
| ︙ | ︙ |
Modified src/OFData.h from [28777ad7ed] to [410727d761].
| ︙ | ︙ | |||
325 326 327 328 329 330 331 | @end OF_ASSUME_NONNULL_END #import "OFMutableData.h" #import "OFData+ASN1DERValue.h" #import "OFData+CryptoHashing.h" | | | 325 326 327 328 329 330 331 332 | @end OF_ASSUME_NONNULL_END #import "OFMutableData.h" #import "OFData+ASN1DERValue.h" #import "OFData+CryptoHashing.h" #import "OFData+MessagePackParsing.h" |
Modified src/OFData.m from [1f025529e1] to [40564fad69].
| ︙ | ︙ | |||
46 47 48 49 50 51 52 |
/* References for static linking */
void
_references_to_categories_of_OFData(void)
{
_OFData_ASN1DERValue_reference = 1;
_OFData_CryptoHashing_reference = 1;
| | | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
/* References for static linking */
void
_references_to_categories_of_OFData(void)
{
_OFData_ASN1DERValue_reference = 1;
_OFData_CryptoHashing_reference = 1;
_OFData_MessagePackParsing_reference = 1;
}
@implementation OFData
@synthesize itemSize = _itemSize;
+ (instancetype)dataWithItems: (const void *)items
count: (size_t)count
|
| ︙ | ︙ |