}
/* copy bypass */
+#ifndef PROTOCOL_EXT
+ if (in->bypass_len) {
+ VERBOSE (cryptomod, WARNING, PRINTF ("not supproted by this protocol\n"));
+ }
+ out->bypass_len = 0
+#else
memcpy (out->bypass, in->bypass, in->bypass_len * sizeof (uint8_t));
out->bypass_len = in->bypass_len;
+#endif
/* scramble with iv */
for (int i = 0; i < in->data_len; i++) {
int cid = in->channel_id;
int kid = channels[cid] - 1;
if (kid >= 0) {
+ // FIXIT: not thread safe
uint8_t *key = keys[kid];
int klen = key_lengths[kid];
for (int i = 0; i < out->data_len; i++) {
int iv_len = sizeof (in->iv);
/* copy bypass */
+#ifndef PROTOCOL_EXT
+ if (in->bypass_len) {
+ VERBOSE (cryptomod, WARNING, PRINTF ("not supproted by this protocol\n"));
+ }
+ out->bypass_len = 0
+#else
memcpy (out->bypass, in->bypass, in->bypass_len * sizeof (uint8_t));
out->bypass_len = in->bypass_len;
+#endif
/* scramble with iv */
for (int i = 0; i < in->data_len; i++) {
int cid = in->channel_id;
int kid = channels[cid] - 1;
if (kid >= 0) {
+ // FIXIT: not thread safe
uint8_t *key = keys[kid];
int klen = key_lengths[kid];
for (int i = 0; i < out->data_len; i++) {
memcpy (keys[in->key_id], in->key, klen);
key_lengths[kid] = klen;
+#ifndef PROTOCOL_EXT
+ channels[kid] = kid + 1;
+#endif
+
out->status = ok_e;
return 0;
keys[kid] = NULL;
key_lengths[kid] = 0;
+#ifndef PROTOCOL_EXT
+ channels[kid] = 0;
+#endif
+
return 0;
}
for (int i = 0; i < NB_KEYS; i++) {
free (keys[i]);
+#ifndef PROTOCOL_EXT
+ channels[i] = 0;
+#endif
}
memset (keys, 0, NB_KEYS * sizeof (uint8_t *));
memset (key_lengths, 0, NB_KEYS * sizeof (int));
int i;
for (i = 0; i < MAX_MOREP_NUMBER; i++) {
+ // FIXIT: not thread safe
if (MOREP_list[i]->used == 0) {
+ MOREP_list[i]->used = 1;
break;
}
}
VERBOSE (morep, WARNING, PRINTF ("can't find avaliable morep descriptor\n"));
return -1;
}
- MOREP_list[i]->used = 1;
VERBOSE (morep, DEBUG, PRINTF ("find morep: %d\n", i));