version 1.74, 2012/10/01 13:59:51 |
version 1.75, 2013/01/08 18:49:04 |
|
|
enc->enabled = buffer_get_int(&b); |
enc->enabled = buffer_get_int(&b); |
enc->block_size = buffer_get_int(&b); |
enc->block_size = buffer_get_int(&b); |
enc->key = buffer_get_string(&b, &enc->key_len); |
enc->key = buffer_get_string(&b, &enc->key_len); |
enc->iv = buffer_get_string(&b, &len); |
enc->iv = buffer_get_string(&b, &enc->iv_len); |
if (len != enc->block_size) |
|
fatal("%s: bad ivlen: expected %u != %u", __func__, |
|
enc->block_size, len); |
|
|
|
if (enc->name == NULL || cipher_by_name(enc->name) != enc->cipher) |
if (enc->name == NULL || cipher_by_name(enc->name) != enc->cipher) |
fatal("%s: bad cipher name %s or pointer %p", __func__, |
fatal("%s: bad cipher name %s or pointer %p", __func__, |
enc->name, enc->cipher); |
enc->name, enc->cipher); |
|
|
/* Mac structure */ |
/* Mac structure */ |
mac->name = buffer_get_string(&b, NULL); |
if (cipher_authlen(enc->cipher) == 0) { |
if (mac->name == NULL || mac_setup(mac, mac->name) == -1) |
mac->name = buffer_get_string(&b, NULL); |
fatal("%s: can not setup mac %s", __func__, mac->name); |
if (mac->name == NULL || mac_setup(mac, mac->name) == -1) |
mac->enabled = buffer_get_int(&b); |
fatal("%s: can not setup mac %s", __func__, mac->name); |
mac->key = buffer_get_string(&b, &len); |
mac->enabled = buffer_get_int(&b); |
if (len > mac->key_len) |
mac->key = buffer_get_string(&b, &len); |
fatal("%s: bad mac key length: %u > %d", __func__, len, |
if (len > mac->key_len) |
mac->key_len); |
fatal("%s: bad mac key length: %u > %d", __func__, len, |
mac->key_len = len; |
mac->key_len); |
|
mac->key_len = len; |
|
} |
|
|
/* Comp structure */ |
/* Comp structure */ |
comp->type = buffer_get_int(&b); |
comp->type = buffer_get_int(&b); |
|
|
buffer_put_int(&b, enc->enabled); |
buffer_put_int(&b, enc->enabled); |
buffer_put_int(&b, enc->block_size); |
buffer_put_int(&b, enc->block_size); |
buffer_put_string(&b, enc->key, enc->key_len); |
buffer_put_string(&b, enc->key, enc->key_len); |
packet_get_keyiv(mode, enc->iv, enc->block_size); |
packet_get_keyiv(mode, enc->iv, enc->iv_len); |
buffer_put_string(&b, enc->iv, enc->block_size); |
buffer_put_string(&b, enc->iv, enc->iv_len); |
|
|
/* Mac structure */ |
/* Mac structure */ |
buffer_put_cstring(&b, mac->name); |
if (cipher_authlen(enc->cipher) == 0) { |
buffer_put_int(&b, mac->enabled); |
buffer_put_cstring(&b, mac->name); |
buffer_put_string(&b, mac->key, mac->key_len); |
buffer_put_int(&b, mac->enabled); |
|
buffer_put_string(&b, mac->key, mac->key_len); |
|
} |
|
|
/* Comp structure */ |
/* Comp structure */ |
buffer_put_int(&b, comp->type); |
buffer_put_int(&b, comp->type); |