Skip to content

Commit 661a03e

Browse files
committed
removed C code from this pr
1 parent 321c9bc commit 661a03e

3 files changed

Lines changed: 0 additions & 295 deletions

File tree

c/tests/test_core.c

Lines changed: 0 additions & 167 deletions
Original file line numberDiff line numberDiff line change
@@ -96,172 +96,6 @@ set_u64_le(uint8_t *dest, uint64_t value)
9696
dest[7] = (uint8_t) ((value >> 56) & 0xFF);
9797
}
9898

99-
static void
100-
test_json_struct_metadata_get_blob(void)
101-
{
102-
int ret;
103-
char metadata[128];
104-
char *json;
105-
tsk_size_t json_buffer_length;
106-
char *blob;
107-
tsk_size_t blob_length;
108-
uint8_t *bytes;
109-
tsk_size_t metadata_length;
110-
size_t header_length;
111-
size_t json_length;
112-
size_t padding_length;
113-
size_t payload_length;
114-
size_t total_length;
115-
char json_payload[] = "{\"a\":1}";
116-
uint8_t binary_payload[] = { 0x01, 0x02, 0x03, 0x04 };
117-
uint8_t empty_payload[] = { 0 };
118-
119-
bytes = (uint8_t *) metadata;
120-
header_length = 4 + 1 + 8 + 8;
121-
json_length = strlen(json_payload);
122-
padding_length = (8 - ((header_length + json_length) & 0x07)) % 8;
123-
payload_length = sizeof(binary_payload);
124-
total_length = header_length + json_length + padding_length + payload_length;
125-
CU_ASSERT_FATAL(total_length <= sizeof(metadata));
126-
memset(metadata, 0, sizeof(metadata));
127-
bytes[0] = 'J';
128-
bytes[1] = 'B';
129-
bytes[2] = 'L';
130-
bytes[3] = 'B';
131-
bytes[4] = 1;
132-
set_u64_le(bytes + 5, (uint64_t) json_length);
133-
set_u64_le(bytes + 13, (uint64_t) payload_length);
134-
memcpy(bytes + header_length, json_payload, json_length);
135-
memset(bytes + header_length + json_length, 0, padding_length);
136-
memcpy(bytes + header_length + json_length + padding_length, binary_payload,
137-
payload_length);
138-
metadata_length = (tsk_size_t) total_length;
139-
ret = tsk_json_struct_metadata_get_blob(
140-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
141-
CU_ASSERT_EQUAL(ret, 0);
142-
CU_ASSERT_PTR_EQUAL(json, (char *) bytes + header_length);
143-
CU_ASSERT_EQUAL(json + json_buffer_length + padding_length, blob);
144-
CU_ASSERT_EQUAL(json_buffer_length, (tsk_size_t) json_length);
145-
if (json_length > 0) {
146-
CU_ASSERT_EQUAL(memcmp(json, json_payload, json_length), 0);
147-
}
148-
CU_ASSERT_PTR_EQUAL(blob, bytes + header_length + json_length + padding_length);
149-
CU_ASSERT_EQUAL(blob_length, (tsk_size_t) payload_length);
150-
CU_ASSERT_EQUAL(memcmp(blob, binary_payload, payload_length), 0);
151-
CU_ASSERT((tsk_size_t) (blob - json) < json_buffer_length + 8);
152-
153-
payload_length = 0;
154-
total_length = header_length + json_length + padding_length + payload_length;
155-
CU_ASSERT_FATAL(total_length <= sizeof(metadata));
156-
set_u64_le(bytes + 13, (uint64_t) payload_length);
157-
metadata_length = (tsk_size_t) total_length;
158-
ret = tsk_json_struct_metadata_get_blob(
159-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
160-
CU_ASSERT_EQUAL(ret, 0);
161-
CU_ASSERT_EQUAL(json + json_buffer_length + padding_length, blob);
162-
CU_ASSERT_PTR_EQUAL(json, (char *) bytes + header_length);
163-
CU_ASSERT_EQUAL(json_buffer_length, (tsk_size_t) json_length);
164-
CU_ASSERT_EQUAL(blob_length, (tsk_size_t) payload_length);
165-
CU_ASSERT_PTR_EQUAL(blob, bytes + header_length + json_length + padding_length);
166-
CU_ASSERT((tsk_size_t) (blob - json) < json_buffer_length + 8);
167-
168-
json_length = 0;
169-
payload_length = sizeof(empty_payload);
170-
padding_length = (8 - ((header_length + json_length) & 0x07)) % 8;
171-
total_length = header_length + json_length + padding_length + payload_length;
172-
CU_ASSERT_FATAL(total_length <= sizeof(metadata));
173-
set_u64_le(bytes + 5, (uint64_t) json_length);
174-
set_u64_le(bytes + 13, (uint64_t) payload_length);
175-
memset(bytes + header_length + json_length, 0, padding_length);
176-
memcpy(bytes + header_length + json_length + padding_length, empty_payload,
177-
payload_length);
178-
metadata_length = (tsk_size_t) total_length;
179-
ret = tsk_json_struct_metadata_get_blob(
180-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
181-
CU_ASSERT_EQUAL(ret, 0);
182-
CU_ASSERT_PTR_EQUAL(json, (char *) bytes + header_length);
183-
CU_ASSERT_EQUAL(json_buffer_length, (tsk_size_t) json_length);
184-
CU_ASSERT_EQUAL(blob_length, (tsk_size_t) payload_length);
185-
CU_ASSERT_PTR_EQUAL(blob, bytes + header_length + json_length + padding_length);
186-
CU_ASSERT_EQUAL(memcmp(blob, empty_payload, payload_length), 0);
187-
CU_ASSERT((tsk_size_t) (blob - json) < json_buffer_length + 8);
188-
189-
blob = NULL;
190-
blob_length = 0;
191-
json = NULL;
192-
json_length = 0;
193-
metadata_length = header_length - 1;
194-
ret = tsk_json_struct_metadata_get_blob(
195-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
196-
CU_ASSERT_EQUAL(ret, TSK_ERR_JSON_STRUCT_METADATA_TRUNCATED);
197-
198-
metadata_length = (tsk_size_t) total_length;
199-
bytes[0] = 'X';
200-
ret = tsk_json_struct_metadata_get_blob(
201-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
202-
CU_ASSERT_EQUAL(ret, TSK_ERR_JSON_STRUCT_METADATA_BAD_MAGIC);
203-
bytes[0] = 'J';
204-
205-
bytes[4] = 2;
206-
ret = tsk_json_struct_metadata_get_blob(
207-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
208-
CU_ASSERT_EQUAL(ret, TSK_ERR_JSON_STRUCT_METADATA_BAD_VERSION);
209-
bytes[4] = 1;
210-
211-
set_u64_le(bytes + 5, (uint64_t) json_length + 9);
212-
ret = tsk_json_struct_metadata_get_blob(
213-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
214-
CU_ASSERT_EQUAL(ret, TSK_ERR_JSON_STRUCT_METADATA_UNEXPECTED_SIZE);
215-
set_u64_le(bytes + 5, (uint64_t) json_length);
216-
217-
bytes[header_length + 1] = 1;
218-
ret = tsk_json_struct_metadata_get_blob(
219-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
220-
CU_ASSERT_EQUAL(ret, TSK_ERR_JSON_STRUCT_METADATA_NONZERO_PADDING);
221-
bytes[header_length + 1] = 0;
222-
223-
metadata_length = (tsk_size_t) (header_length - 1);
224-
ret = tsk_json_struct_metadata_get_blob(
225-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
226-
CU_ASSERT_EQUAL(ret, TSK_ERR_JSON_STRUCT_METADATA_TRUNCATED);
227-
228-
ret = tsk_json_struct_metadata_get_blob(
229-
NULL, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
230-
CU_ASSERT_EQUAL(ret, TSK_ERR_BAD_PARAM_VALUE);
231-
ret = tsk_json_struct_metadata_get_blob(
232-
metadata, metadata_length, NULL, &json_buffer_length, &blob, &blob_length);
233-
CU_ASSERT_EQUAL(ret, TSK_ERR_BAD_PARAM_VALUE);
234-
ret = tsk_json_struct_metadata_get_blob(
235-
metadata, metadata_length, &json, NULL, &blob, &blob_length);
236-
CU_ASSERT_EQUAL(ret, TSK_ERR_BAD_PARAM_VALUE);
237-
ret = tsk_json_struct_metadata_get_blob(
238-
metadata, metadata_length, &json, &json_buffer_length, NULL, &blob_length);
239-
CU_ASSERT_EQUAL(ret, TSK_ERR_BAD_PARAM_VALUE);
240-
ret = tsk_json_struct_metadata_get_blob(
241-
metadata, metadata_length, &json, &json_buffer_length, &blob, NULL);
242-
CU_ASSERT_EQUAL(ret, TSK_ERR_BAD_PARAM_VALUE);
243-
244-
memset(metadata, 0, sizeof(metadata));
245-
bytes[0] = 'J';
246-
bytes[1] = 'B';
247-
bytes[2] = 'L';
248-
bytes[3] = 'B';
249-
bytes[4] = 1;
250-
metadata_length = (tsk_size_t) header_length;
251-
252-
set_u64_le(bytes + 5, UINT64_MAX - (uint64_t) header_length + 1);
253-
set_u64_le(bytes + 13, 0);
254-
ret = tsk_json_struct_metadata_get_blob(
255-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
256-
CU_ASSERT_EQUAL(ret, TSK_ERR_JSON_STRUCT_METADATA_INVALID_LENGTH);
257-
258-
set_u64_le(bytes + 5, 8);
259-
set_u64_le(bytes + 13, UINT64_MAX - (uint64_t) (header_length + 8) + 1);
260-
ret = tsk_json_struct_metadata_get_blob(
261-
metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length);
262-
CU_ASSERT_EQUAL(ret, TSK_ERR_JSON_STRUCT_METADATA_INVALID_LENGTH);
263-
}
264-
26599
static void
266100
test_double_round(void)
267101
{
@@ -832,7 +666,6 @@ main(int argc, char **argv)
832666
{ "test_strerror", test_strerror },
833667
{ "test_strerror_kastore", test_strerror_kastore },
834668
{ "test_generate_uuid", test_generate_uuid },
835-
{ "test_json_struct_metadata_get_blob", test_json_struct_metadata_get_blob },
836669
{ "test_double_round", test_double_round },
837670
{ "test_blkalloc", test_blkalloc },
838671
{ "test_unknown_time", test_unknown_time },

c/tskit/core.c

Lines changed: 0 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -141,80 +141,6 @@ tsk_generate_uuid(char *dest, int TSK_UNUSED(flags))
141141
return ret;
142142
}
143143

144-
int
145-
tsk_json_struct_metadata_get_blob(char *metadata, tsk_size_t metadata_length,
146-
char **json, tsk_size_t *json_length, char **blob, tsk_size_t *blob_length)
147-
{
148-
int ret;
149-
uint8_t version;
150-
uint64_t json_length_u64;
151-
uint64_t binary_length_u64;
152-
uint64_t header_and_json_length;
153-
uint64_t padding_length;
154-
uint64_t header_and_json_and_padding_length;
155-
uint64_t total_length;
156-
uint8_t *bytes;
157-
char *json_start;
158-
char *padding_start;
159-
char *blob_start;
160-
161-
if (metadata == NULL || json == NULL || json_length == NULL || blob == NULL
162-
|| blob_length == NULL) {
163-
ret = tsk_trace_error(TSK_ERR_BAD_PARAM_VALUE);
164-
goto out;
165-
}
166-
bytes = (uint8_t *) metadata;
167-
if (metadata_length < TSK_JSON_BINARY_HEADER_SIZE) {
168-
ret = tsk_trace_error(TSK_ERR_JSON_STRUCT_METADATA_TRUNCATED);
169-
goto out;
170-
}
171-
if (memcmp(bytes, _tsk_json_binary_magic, sizeof(_tsk_json_binary_magic)) != 0) {
172-
ret = tsk_trace_error(TSK_ERR_JSON_STRUCT_METADATA_BAD_MAGIC);
173-
goto out;
174-
}
175-
version = bytes[4];
176-
if (version != 1) {
177-
ret = tsk_trace_error(TSK_ERR_JSON_STRUCT_METADATA_BAD_VERSION);
178-
goto out;
179-
}
180-
json_length_u64 = tsk_load_u64_le(bytes + 5);
181-
binary_length_u64 = tsk_load_u64_le(bytes + 13);
182-
if (json_length_u64 > UINT64_MAX - (uint64_t) TSK_JSON_BINARY_HEADER_SIZE) {
183-
ret = tsk_trace_error(TSK_ERR_JSON_STRUCT_METADATA_INVALID_LENGTH);
184-
goto out;
185-
}
186-
header_and_json_length = (uint64_t) TSK_JSON_BINARY_HEADER_SIZE + json_length_u64;
187-
padding_length = (8 - (header_and_json_length & 0x07)) % 8;
188-
header_and_json_and_padding_length = header_and_json_length + padding_length;
189-
if (binary_length_u64 > UINT64_MAX - header_and_json_and_padding_length) {
190-
ret = tsk_trace_error(TSK_ERR_JSON_STRUCT_METADATA_INVALID_LENGTH);
191-
goto out;
192-
}
193-
total_length = header_and_json_and_padding_length + binary_length_u64;
194-
if ((uint64_t) metadata_length != total_length) {
195-
ret = tsk_trace_error(TSK_ERR_JSON_STRUCT_METADATA_UNEXPECTED_SIZE);
196-
goto out;
197-
}
198-
padding_start = (char *) bytes + TSK_JSON_BINARY_HEADER_SIZE + json_length_u64;
199-
for (uint64_t padding_index = 0; padding_index < padding_length; ++padding_index) {
200-
// require padding bytes to be zero, for a bit more safety
201-
if (*(padding_start + padding_index) != (char) 0) {
202-
ret = tsk_trace_error(TSK_ERR_JSON_STRUCT_METADATA_NONZERO_PADDING);
203-
goto out;
204-
}
205-
}
206-
json_start = (char *) bytes + TSK_JSON_BINARY_HEADER_SIZE;
207-
blob_start = (char *) bytes + TSK_JSON_BINARY_HEADER_SIZE + json_length_u64
208-
+ padding_length;
209-
*json = json_start;
210-
*json_length = (tsk_size_t) json_length_u64;
211-
*blob = blob_start;
212-
*blob_length = (tsk_size_t) binary_length_u64;
213-
ret = 0;
214-
out:
215-
return ret;
216-
}
217-
218144
static const char *
219145
tsk_strerror_internal(int err)
220146
{
@@ -282,30 +208,6 @@ tsk_strerror_internal(int err)
282208
ret = "An incompatible type for a column was found in the file. "
283209
"(TSK_ERR_BAD_COLUMN_TYPE)";
284210
break;
285-
case TSK_ERR_JSON_STRUCT_METADATA_BAD_MAGIC:
286-
ret = "JSON binary struct metadata does not begin with the expected "
287-
"magic bytes. (TSK_ERR_JSON_STRUCT_METADATA_BAD_MAGIC)";
288-
break;
289-
case TSK_ERR_JSON_STRUCT_METADATA_TRUNCATED:
290-
ret = "JSON binary struct metadata is shorter than the expected size. "
291-
"(TSK_ERR_JSON_STRUCT_METADATA_TRUNCATED)";
292-
break;
293-
case TSK_ERR_JSON_STRUCT_METADATA_INVALID_LENGTH:
294-
ret = "A length field in the JSON binary struct metadata header is invalid. "
295-
"(TSK_ERR_JSON_STRUCT_METADATA_INVALID_LENGTH)";
296-
break;
297-
case TSK_ERR_JSON_STRUCT_METADATA_BAD_VERSION:
298-
ret = "JSON binary struct metadata uses an unsupported version number. "
299-
"(TSK_ERR_JSON_STRUCT_METADATA_BAD_VERSION)";
300-
break;
301-
case TSK_ERR_JSON_STRUCT_METADATA_UNEXPECTED_SIZE:
302-
ret = "JSON binary struct metadata is not equal to the expected size. "
303-
"(TSK_ERR_JSON_STRUCT_METADATA_UNEXPECTED_SIZE)";
304-
break;
305-
case TSK_ERR_JSON_STRUCT_METADATA_NONZERO_PADDING:
306-
ret = "JSON binary struct metadata has non-zero padding bytes between the "
307-
"JSON and struct. (TSK_ERR_JSON_STRUCT_METADATA_NONZERO_PADDING)";
308-
break;
309211

310212
/* Out of bounds errors */
311213
case TSK_ERR_BAD_OFFSET:

c/tskit/core.h

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -309,36 +309,6 @@ not found in the file.
309309
An unsupported type was provided for a column in the file.
310310
*/
311311
#define TSK_ERR_BAD_COLUMN_TYPE -105
312-
313-
/**
314-
The JSON binary struct metadata does not begin with the expected magic bytes.
315-
*/
316-
#define TSK_ERR_JSON_STRUCT_METADATA_BAD_MAGIC -106
317-
318-
/**
319-
The JSON binary struct metadata is shorter than the expected size.
320-
*/
321-
#define TSK_ERR_JSON_STRUCT_METADATA_TRUNCATED -107
322-
323-
/**
324-
A length field in the JSON binary struct metadata header is invalid.
325-
*/
326-
#define TSK_ERR_JSON_STRUCT_METADATA_INVALID_LENGTH -108
327-
328-
/**
329-
The JSON binary struct metadata uses an unsupported version number.
330-
*/
331-
#define TSK_ERR_JSON_STRUCT_METADATA_BAD_VERSION -109
332-
333-
/**
334-
The JSON binary struct metadata is not equal to the expected size.
335-
*/
336-
#define TSK_ERR_JSON_STRUCT_METADATA_UNEXPECTED_SIZE -110
337-
338-
/**
339-
The JSON binary struct metadata padding bytes are not zeroed.
340-
*/
341-
#define TSK_ERR_JSON_STRUCT_METADATA_NONZERO_PADDING -111
342312
/** @} */
343313

344314
/**

0 commit comments

Comments
 (0)