0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-14 15:18:44 +00:00

fixup! tcp ao: key change works

This commit is contained in:
Katerina Kubecova 2024-02-23 10:19:34 +01:00
parent 8ba3396989
commit 82134476be
3 changed files with 6 additions and 6 deletions

View File

@ -2158,7 +2158,7 @@ int compare_aos(struct ao_key *a, struct ao_key *b)
{ {
if (a->local_id != b->local_id) if (a->local_id != b->local_id)
return 1; return 1;
if (a->remote_id != b->local_id) if (a->remote_id != b->remote_id)
return 1; return 1;
if (strcmp(a->cipher, b->cipher)) if (strcmp(a->cipher, b->cipher))
return 1; return 1;

View File

@ -257,13 +257,13 @@ ao_first_item:
ao_item: ao_item:
REMOTE ID expr ';' {log("remote id %i", $3); BGP_CFG->ao_key->remote_id = $3; } REMOTE ID expr ';' {log("remote id %i", $3); BGP_CFG->ao_key->remote_id = $3; }
| CIPHER text ';' { char *c = lp_alloc(BGP_CFG->ao_lp, strlen($2)+1); | CIPHER text ';' { char *c = lp_alloc(BGP_CFG->ao_lp, strlen($2));
memcpy(c, $2, strlen($2)+1); memcpy(c, $2, strlen($2));
BGP_CFG->ao_key->cipher = c; BGP_CFG->ao_key->cipher = c;
log("ciph[%s]", $2); } log("ciph[%s]", $2); }
| MASTER KEY text ';' { | MASTER KEY text ';' {
char *k = lp_alloc(BGP_CFG->ao_lp, strlen($3)+1); char *k = lp_alloc(BGP_CFG->ao_lp, strlen($3));
memcpy(k, $3, strlen($3)+1); memcpy(k, $3, strlen($3));
BGP_CFG->ao_key->master_key = k; BGP_CFG->ao_key->master_key = k;
log("key[%s]", BGP_CFG->ao_key->master_key);} log("key[%s]", BGP_CFG->ao_key->master_key);}
| DEPRECATED ';' { BGP_CFG->ao_key->required = -1; } | DEPRECATED ';' { BGP_CFG->ao_key->required = -1; }

View File

@ -244,7 +244,7 @@ int get_current_key_id(int sock_fd)
memset(&tmp, 0, sizeof(struct tcp_ao_info_opt_ext)); memset(&tmp, 0, sizeof(struct tcp_ao_info_opt_ext));
socklen_t len = sizeof(tmp); socklen_t len = sizeof(tmp);
if (getsockopt(sock_fd, IPPROTO_TCP, TCP_AO_INFO, &tmp, len)) if (getsockopt(sock_fd, IPPROTO_TCP, TCP_AO_INFO, &tmp, &len))
{ {
log("get current ao key failed %i", errno); log("get current ao key failed %i", errno);
return -1; return -1;