#include <stdio.h>
#include <stdint.h>
#include <stddef.h>
#include <libgen.h>
#include "blob.h"
#include "list.h"
#include "blobmsg_json.h"
Go to the source code of this file.
|
enum | cert_attr { CERT_ATTR_SIGNATURE
, CERT_ATTR_PAYLOAD
, CERT_ATTR_MAX
} |
|
enum | cert_cont_attr { CERT_CT_ATTR_PAYLOAD
, CERT_CT_ATTR_MAX
} |
|
enum | cert_payload_attr {
CERT_PL_ATTR_CERTTYPE
, CERT_PL_ATTR_CERTID
, CERT_PL_ATTR_VALIDFROMTIME
, CERT_PL_ATTR_EXPIRETIME
,
CERT_PL_ATTR_PUBKEY
, CERT_PL_ATTR_KEY_FINGERPRINT
, CERT_PL_ATTR_MAX
} |
|
enum | certtype_id { CERTTYPE_UNSPEC
, CERTTYPE_AUTH
, CERTTYPE_REVOKE
} |
|
◆ CERT_BUF_LEN
#define CERT_BUF_LEN 4096 |
◆ cert_attr
Enumerator |
---|
CERT_ATTR_SIGNATURE | |
CERT_ATTR_PAYLOAD | |
CERT_ATTR_MAX | |
Definition at line 27 of file test-blob-parse.c.
◆ cert_cont_attr
Enumerator |
---|
CERT_CT_ATTR_PAYLOAD | |
CERT_CT_ATTR_MAX | |
Definition at line 38 of file test-blob-parse.c.
◆ cert_payload_attr
Enumerator |
---|
CERT_PL_ATTR_CERTTYPE | |
CERT_PL_ATTR_CERTID | |
CERT_PL_ATTR_VALIDFROMTIME | |
CERT_PL_ATTR_EXPIRETIME | |
CERT_PL_ATTR_PUBKEY | |
CERT_PL_ATTR_KEY_FINGERPRINT | |
CERT_PL_ATTR_MAX | |
Definition at line 43 of file test-blob-parse.c.
@ CERT_PL_ATTR_KEY_FINGERPRINT
@ CERT_PL_ATTR_EXPIRETIME
@ CERT_PL_ATTR_VALIDFROMTIME
◆ certtype_id
Enumerator |
---|
CERTTYPE_UNSPEC | |
CERTTYPE_AUTH | |
CERTTYPE_REVOKE | |
Definition at line 53 of file test-blob-parse.c.
◆ cert_dump()
static int cert_dump |
( |
const char * |
certfile | ) |
|
|
static |
Definition at line 155 of file test-blob-parse.c.
159 unsigned int count = 0;
162 fprintf(stderr,
"cannot parse cert %s\n", basename((
char *) certfile));
167 fprintf(stdout,
"=== CHAIN ELEMENT %02u ===\n", ++count);
#define list_for_each_entry(p, h, field)
struct blob_attr * cert[CERT_ATTR_MAX]
static void cert_dump_blob(struct blob_attr *cert[CERT_ATTR_MAX])
static int cert_load(const char *certfile, struct list_head *chain)
◆ cert_dump_blob()
static void cert_dump_blob |
( |
struct blob_attr * |
cert[CERT_ATTR_MAX] | ) |
|
|
static |
Definition at line 128 of file test-blob-parse.c.
141 fprintf(stdout,
"signature:\n---\n%s---\n", (
char *)
blob_data(v));
148 fprintf(stdout,
"payload:\n---\n%s\n---\n", json);
static void * blob_data(const struct blob_attr *attr)
static char * blobmsg_format_json_indent(struct blob_attr *attr, bool list, int indent)
static const struct blob_attr_info cert_policy[CERT_ATTR_MAX]
◆ cert_load()
static int cert_load |
( |
const char * |
certfile, |
|
|
struct list_head * |
chain |
|
) |
| |
|
static |
Definition at line 65 of file test-blob-parse.c.
72 int ret = 0, pret = 0;
75 f = fopen(certfile,
"r");
89 ret = ferror(f) || !feof(f);
113 cobj = calloc(1,
sizeof(*cobj));
int blob_parse_untrusted(struct blob_attr *attr, size_t attr_len, struct blob_attr **data, const struct blob_attr_info *info, int max)
struct blob_attr * blob_memdup(struct blob_attr *attr)
static size_t blob_pad_len(const struct blob_attr *attr)
static struct blob_attr * blob_next(const struct blob_attr *attr)
static void list_add_tail(struct list_head *_new, struct list_head *head)
FILE(GLOB test_cases "test-*.c") MACRO(ADD_FUZZER_TEST name) ADD_EXECUTABLE($
◆ main()
int main |
( |
int |
argc, |
|
|
char * |
argv[] |
|
) |
| |
Definition at line 174 of file test-blob-parse.c.
177 fprintf(stderr,
"Usage: %s <cert.ucert>\n", argv[0]);
static int cert_dump(const char *certfile)
◆ cert_policy