Lines Matching refs:peer

48  * Allocate a new peer info structure an init it to default values.
51 * @param peer return an allocated peer, free with hx509_peer_info_free().
59 hx509_peer_info_alloc(hx509_context context, hx509_peer_info *peer)
61 *peer = calloc(1, sizeof(**peer));
62 if (*peer == NULL) {
71 free_cms_alg(hx509_peer_info peer)
73 if (peer->val) {
75 for (i = 0; i < peer->len; i++)
76 free_AlgorithmIdentifier(&peer->val[i]);
77 free(peer->val);
78 peer->val = NULL;
79 peer->len = 0;
84 * Free a peer info structure.
86 * @param peer peer info to be freed.
92 hx509_peer_info_free(hx509_peer_info peer)
94 if (peer == NULL)
96 if (peer->cert)
97 hx509_cert_free(peer->cert);
98 free_cms_alg(peer);
99 memset(peer, 0, sizeof(*peer));
100 free(peer);
104 * Set the certificate that remote peer is using.
106 * @param peer peer info to update
107 * @param cert cerificate of the remote peer.
115 hx509_peer_info_set_cert(hx509_peer_info peer,
118 if (peer->cert)
119 hx509_cert_free(peer->cert);
120 peer->cert = hx509_cert_ref(cert);
125 * Add an additional algorithm that the peer supports.
128 * @param peer the peer to set the new algorithms for
138 hx509_peer_info peer,
144 ptr = realloc(peer->val, sizeof(peer->val[0]) * (peer->len + 1));
149 peer->val = ptr;
150 ret = copy_AlgorithmIdentifier(val, &peer->val[peer->len]);
152 peer->len += 1;
159 * Set the algorithms that the peer supports.
162 * @param peer the peer to set the new algorithms for
173 hx509_peer_info peer,
179 free_cms_alg(peer);
181 peer->val = calloc(len, sizeof(*peer->val));
182 if (peer->val == NULL) {
183 peer->len = 0;
187 peer->len = len;
190 ret = copy_AlgorithmIdentifier(&val[i], &peer->val[i]);
193 free_cms_alg(peer);
207 hx509_peer_info_parse_smime(hx509_peer_info peer,
214 hx509_peer_info_unparse_smime(hx509_peer_info peer,
225 hx509_peer_info_parse(hx509_peer_info peer,
232 hx509_peer_info_unparse(hx509_peer_info peer,