Coverage Report

Created: 2026-09-12 06:55

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/openssl41/providers/implementations/kdfs/srtpkdf.inc
Line
Count
Source
1
/*
2
 * Copyright 2026 The OpenSSL Project Authors. All Rights Reserved.
3
 *
4
 * Licensed under the Apache License 2.0 (the \"License\").  You may not use
5
 * this file except in compliance with the License.  You can obtain a copy
6
 * in the file LICENSE in the source distribution or at
7
 * https://www.openssl.org/source/license.html
8
 */
9
10
11
12
/* Machine generated by util/perl/OpenSSL/paramnames.pm */
13
#include <string.h>
14
#include <openssl/params.h>
15
#include <openssl/e_os2.h>
16
#include "internal/common.h"
17
#include "prov/proverr.h"
18
19
/* Machine generated */
20
#ifndef srtp_set_ctx_params_list
21
static ossl_unused const OSSL_PARAM srtp_set_ctx_params_list[] = {
22
    OSSL_PARAM_utf8_string(OSSL_KDF_PARAM_PROPERTIES, NULL, 0),
23
    OSSL_PARAM_utf8_string(OSSL_KDF_PARAM_CIPHER, NULL, 0),
24
    OSSL_PARAM_octet_string(OSSL_KDF_PARAM_KEY, NULL, 0),
25
    OSSL_PARAM_octet_string(OSSL_KDF_PARAM_SALT, NULL, 0),
26
    OSSL_PARAM_octet_string(OSSL_KDF_PARAM_SRTPKDF_INDEX, NULL, 0),
27
    OSSL_PARAM_uint32(OSSL_KDF_PARAM_SRTPKDF_KDR, NULL),
28
    OSSL_PARAM_uint32(OSSL_KDF_PARAM_LABEL, NULL),
29
    OSSL_PARAM_END
30
};
31
#endif
32
33
#ifndef srtp_set_ctx_params_st
34
struct srtp_set_ctx_params_st {
35
    OSSL_PARAM *cipher;
36
    OSSL_PARAM *index;
37
    OSSL_PARAM *kdr;
38
    OSSL_PARAM *key;
39
    OSSL_PARAM *label;
40
    OSSL_PARAM *propq;
41
    OSSL_PARAM *salt;
42
};
43
#endif
44
45
#ifndef srtp_set_ctx_params_decoder
46
static ossl_unused int srtp_set_ctx_params_decoder
47
    (const OSSL_PARAM *p, struct srtp_set_ctx_params_st *r)
48
74
{
49
74
    const char *s;
50
51
74
    memset(r, 0, sizeof(*r));
52
74
    if (p != NULL)
53
592
        for (; (s = p->key) != NULL; p++)
54
518
            switch(s[0]) {
55
0
            default:
56
0
                break;
57
74
            case 'c':
58
74
                if (ossl_likely(strcmp("ipher", s + 1) == 0)) {
59
                    /* OSSL_KDF_PARAM_CIPHER */
60
74
                    if (ossl_unlikely(r->cipher != NULL)) {
61
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
62
0
                                       "param %s is repeated", s);
63
0
                        return 0;
64
0
                    }
65
74
                    r->cipher = (OSSL_PARAM *)p;
66
74
                }
67
74
                break;
68
74
            case 'i':
69
74
                if (ossl_likely(strcmp("ndex", s + 1) == 0)) {
70
                    /* OSSL_KDF_PARAM_SRTPKDF_INDEX */
71
74
                    if (ossl_unlikely(r->index != NULL)) {
72
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
73
0
                                       "param %s is repeated", s);
74
0
                        return 0;
75
0
                    }
76
74
                    r->index = (OSSL_PARAM *)p;
77
74
                }
78
74
                break;
79
148
            case 'k':
80
148
                switch(s[1]) {
81
0
                default:
82
0
                    break;
83
74
                case 'd':
84
74
                    if (ossl_likely(strcmp("r", s + 2) == 0)) {
85
                        /* OSSL_KDF_PARAM_SRTPKDF_KDR */
86
74
                        if (ossl_unlikely(r->kdr != NULL)) {
87
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
88
0
                                           "param %s is repeated", s);
89
0
                            return 0;
90
0
                        }
91
74
                        r->kdr = (OSSL_PARAM *)p;
92
74
                    }
93
74
                    break;
94
74
                case 'e':
95
74
                    if (ossl_likely(strcmp("y", s + 2) == 0)) {
96
                        /* OSSL_KDF_PARAM_KEY */
97
74
                        if (ossl_unlikely(r->key != NULL)) {
98
0
                            ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
99
0
                                           "param %s is repeated", s);
100
0
                            return 0;
101
0
                        }
102
74
                        r->key = (OSSL_PARAM *)p;
103
74
                    }
104
148
                }
105
148
                break;
106
148
            case 'l':
107
74
                if (ossl_likely(strcmp("abel", s + 1) == 0)) {
108
                    /* OSSL_KDF_PARAM_LABEL */
109
74
                    if (ossl_unlikely(r->label != NULL)) {
110
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
111
0
                                       "param %s is repeated", s);
112
0
                        return 0;
113
0
                    }
114
74
                    r->label = (OSSL_PARAM *)p;
115
74
                }
116
74
                break;
117
74
            case 'p':
118
74
                if (ossl_likely(strcmp("roperties", s + 1) == 0)) {
119
                    /* OSSL_KDF_PARAM_PROPERTIES */
120
74
                    if (ossl_unlikely(r->propq != NULL)) {
121
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
122
0
                                       "param %s is repeated", s);
123
0
                        return 0;
124
0
                    }
125
74
                    r->propq = (OSSL_PARAM *)p;
126
74
                }
127
74
                break;
128
74
            case 's':
129
74
                if (ossl_likely(strcmp("alt", s + 1) == 0)) {
130
                    /* OSSL_KDF_PARAM_SALT */
131
74
                    if (ossl_unlikely(r->salt != NULL)) {
132
0
                        ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
133
0
                                       "param %s is repeated", s);
134
0
                        return 0;
135
0
                    }
136
74
                    r->salt = (OSSL_PARAM *)p;
137
74
                }
138
518
            }
139
74
    return 1;
140
74
}
141
#endif
142
/* End of machine generated */
143
144
/* Machine generated */
145
#ifndef srtp_get_ctx_params_list
146
static ossl_unused const OSSL_PARAM srtp_get_ctx_params_list[] = {
147
    OSSL_PARAM_size_t(OSSL_KDF_PARAM_SIZE, NULL),
148
    OSSL_PARAM_END
149
};
150
#endif
151
152
#ifndef srtp_get_ctx_params_st
153
struct srtp_get_ctx_params_st {
154
    OSSL_PARAM *size;
155
};
156
#endif
157
158
#ifndef srtp_get_ctx_params_decoder
159
static ossl_unused int srtp_get_ctx_params_decoder
160
    (const OSSL_PARAM *p, struct srtp_get_ctx_params_st *r)
161
0
{
162
0
    const char *s;
163
164
0
    memset(r, 0, sizeof(*r));
165
0
    if (p != NULL)
166
0
        for (; (s = p->key) != NULL; p++)
167
0
            if (ossl_likely(strcmp("size", s + 0) == 0)) {
168
                /* OSSL_KDF_PARAM_SIZE */
169
0
                if (ossl_unlikely(r->size != NULL)) {
170
0
                    ERR_raise_data(ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER,
171
0
                                   "param %s is repeated", s);
172
0
                    return 0;
173
0
                }
174
0
                r->size = (OSSL_PARAM *)p;
175
0
            }
176
0
    return 1;
177
0
}
178
#endif
179
/* End of machine generated */