mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 11:25:41 +00:00
2003-12-23 Krzysztof Oledzki <oleq@ans.pl>
* bgp_network.c: drop privs on error cases (from [quagga-dev 438])
This commit is contained in:
parent
9f1b6db9b5
commit
10d60ad1ca
@ -1,3 +1,7 @@
|
|||||||
|
2003-12-23 Krzysztof Oledzki <oleq@ans.pl>
|
||||||
|
|
||||||
|
* bgp_network.c: drop privs on error cases
|
||||||
|
|
||||||
2003-08-11 kunihiro <kunihiro@zebra.org
|
2003-08-11 kunihiro <kunihiro@zebra.org
|
||||||
|
|
||||||
* bgp_route{,map}.c: Extend 'set ip next-hop' in route-maps with
|
* bgp_route{,map}.c: Extend 'set ip next-hop' in route-maps with
|
||||||
|
@ -279,7 +279,7 @@ bgp_getsockname (struct peer *peer)
|
|||||||
int
|
int
|
||||||
bgp_socket (struct bgp *bgp, unsigned short port)
|
bgp_socket (struct bgp *bgp, unsigned short port)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret, en;
|
||||||
struct addrinfo req;
|
struct addrinfo req;
|
||||||
struct addrinfo *ainfo;
|
struct addrinfo *ainfo;
|
||||||
struct addrinfo *ainfo_save;
|
struct addrinfo *ainfo_save;
|
||||||
@ -322,16 +322,17 @@ bgp_socket (struct bgp *bgp, unsigned short port)
|
|||||||
zlog_err ("bgp_socket: could not raise privs");
|
zlog_err ("bgp_socket: could not raise privs");
|
||||||
|
|
||||||
ret = bind (sock, ainfo->ai_addr, ainfo->ai_addrlen);
|
ret = bind (sock, ainfo->ai_addr, ainfo->ai_addrlen);
|
||||||
|
en = errno;
|
||||||
|
if (bgpd_privs.change (ZPRIVS_LOWER) )
|
||||||
|
zlog_err ("bgp_bind_address: could not lower privs");
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
zlog_err ("bind: %s", strerror (errno));
|
zlog_err ("bind: %s", strerror (en));
|
||||||
close (sock);
|
close(sock);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bgpd_privs.change (ZPRIVS_LOWER) )
|
|
||||||
zlog_err ("bgp_bind_address: could not lower privs");
|
|
||||||
|
|
||||||
ret = listen (sock, 3);
|
ret = listen (sock, 3);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
@ -381,16 +382,18 @@ bgp_socket (struct bgp *bgp, unsigned short port)
|
|||||||
zlog_err ("bgp_socket: could not raise privs");
|
zlog_err ("bgp_socket: could not raise privs");
|
||||||
|
|
||||||
ret = bind (sock, (struct sockaddr *) &sin, socklen);
|
ret = bind (sock, (struct sockaddr *) &sin, socklen);
|
||||||
|
en = errno;
|
||||||
|
|
||||||
|
if (bgpd_privs.change (ZPRIVS_LOWER) )
|
||||||
|
zlog_err ("bgp_socket: could not lower privs");
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
zlog_err ("bind: %s", strerror (errno));
|
zlog_err ("bind: %s", strerror (en));
|
||||||
close (sock);
|
close (sock);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bgpd_privs.change (ZPRIVS_LOWER) )
|
|
||||||
zlog_err ("bgp_socket: could not lower privs");
|
|
||||||
|
|
||||||
ret = listen (sock, 3);
|
ret = listen (sock, 3);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user