2020-09-04 03:37:03 |
Rafael David Tinoco |
bug |
|
|
added bug |
2020-09-04 03:37:10 |
Rafael David Tinoco |
isc-dhcp (Ubuntu): status |
New |
Triaged |
|
2020-09-04 03:37:17 |
Rafael David Tinoco |
nominated for series |
|
Ubuntu Focal |
|
2020-09-04 03:37:17 |
Rafael David Tinoco |
bug task added |
|
isc-dhcp (Ubuntu Focal) |
|
2020-09-04 03:37:17 |
Rafael David Tinoco |
nominated for series |
|
Ubuntu Groovy |
|
2020-09-04 03:37:17 |
Rafael David Tinoco |
bug task added |
|
isc-dhcp (Ubuntu Groovy) |
|
2020-09-04 03:37:17 |
Rafael David Tinoco |
nominated for series |
|
Ubuntu Bionic |
|
2020-09-04 03:37:17 |
Rafael David Tinoco |
bug task added |
|
isc-dhcp (Ubuntu Bionic) |
|
2020-09-04 03:37:22 |
Rafael David Tinoco |
isc-dhcp (Ubuntu Focal): status |
New |
Confirmed |
|
2020-09-04 03:37:23 |
Rafael David Tinoco |
isc-dhcp (Ubuntu Bionic): status |
New |
Triaged |
|
2020-09-04 03:37:26 |
Rafael David Tinoco |
bug task deleted |
isc-dhcp (Ubuntu Groovy) |
|
|
2020-09-04 03:37:40 |
Rafael David Tinoco |
bug |
|
|
added subscriber Ubuntu Server |
2020-09-04 03:37:50 |
Rafael David Tinoco |
tags |
|
server-next |
|
2020-09-04 03:38:14 |
Rafael David Tinoco |
tags |
server-next |
bitesize server-next |
|
2020-10-25 05:09:47 |
Steve Matos |
bug |
|
|
added subscriber Steve Matos |
2021-02-25 14:50:28 |
Utkarsh Gupta |
isc-dhcp (Ubuntu): status |
Triaged |
Fix Released |
|
2021-02-25 14:52:32 |
Utkarsh Gupta |
nominated for series |
|
Ubuntu Groovy |
|
2021-02-25 14:52:32 |
Utkarsh Gupta |
bug task added |
|
isc-dhcp (Ubuntu Groovy) |
|
2021-02-25 14:52:46 |
Utkarsh Gupta |
isc-dhcp (Ubuntu Groovy): status |
New |
Fix Released |
|
2021-02-26 10:34:14 |
Utkarsh Gupta |
isc-dhcp (Ubuntu): status |
Fix Released |
Confirmed |
|
2021-02-26 14:05:32 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~utkarsh/ubuntu/+source/isc-dhcp/+git/isc-dhcp/+merge/398790 |
|
2021-02-26 14:15:03 |
Utkarsh Gupta |
isc-dhcp (Ubuntu Bionic): status |
Triaged |
Confirmed |
|
2021-02-26 15:17:43 |
Utkarsh Gupta |
isc-dhcp (Ubuntu Groovy): status |
Fix Released |
Confirmed |
|
2021-02-26 15:18:31 |
Utkarsh Gupta |
isc-dhcp (Ubuntu): status |
Confirmed |
In Progress |
|
2021-02-26 15:19:02 |
Utkarsh Gupta |
isc-dhcp (Ubuntu): assignee |
|
Utkarsh Gupta (utkarsh) |
|
2021-02-26 15:19:06 |
Utkarsh Gupta |
isc-dhcp (Ubuntu Bionic): assignee |
|
Utkarsh Gupta (utkarsh) |
|
2021-02-26 15:19:08 |
Utkarsh Gupta |
isc-dhcp (Ubuntu Focal): assignee |
|
Utkarsh Gupta (utkarsh) |
|
2021-02-26 15:19:10 |
Utkarsh Gupta |
isc-dhcp (Ubuntu Groovy): assignee |
|
Utkarsh Gupta (utkarsh) |
|
2021-02-26 20:40:31 |
Utkarsh Gupta |
isc-dhcp (Ubuntu): status |
In Progress |
Fix Released |
|
2021-03-09 15:54:00 |
Utkarsh Gupta |
description |
When checking isc-dhcp-server unit file I saw isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This has only been working because cmdline sets -4 and subnet declaration in dhcpd.conf file makes dhcp-server to bind to the correct interfaces, as it looks like. |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce, simply install isc-dhcp-server via apt.
Now, if you see the /etc/default/isc-dhcp-server file, it sets 2 variables, namely, INTERFACESv4 and INTERFACESv6. However, if you check the respective services file, that is, /lib/systemd/system/isc-dhcp-server.service and /lib/systemd/system/isc-dhcp-server6.service, it is still using the INTERFACES variable.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround this bug and so the usual upgrade could break some of their old configuration. |
|
2021-03-09 15:56:10 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~utkarsh/ubuntu/+source/isc-dhcp/+git/isc-dhcp/+merge/399363 |
|
2021-03-09 18:59:56 |
Utkarsh Gupta |
description |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce, simply install isc-dhcp-server via apt.
Now, if you see the /etc/default/isc-dhcp-server file, it sets 2 variables, namely, INTERFACESv4 and INTERFACESv6. However, if you check the respective services file, that is, /lib/systemd/system/isc-dhcp-server.service and /lib/systemd/system/isc-dhcp-server6.service, it is still using the INTERFACES variable.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround this bug and so the usual upgrade could break some of their old configuration. |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This causes the service to listen on all interfaces, which is what the user might not want. In case the user wants to use *only* IPv6 and not IPv4, this could maybe lead to problems as what the user intended to do and what the outcome turns out because of this bug could be really different.
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce, simply install isc-dhcp-server via apt.
Now, if you see the /etc/default/isc-dhcp-server file, it sets 2 variables, namely, INTERFACESv4 and INTERFACESv6. However, if you check the respective services file, that is, /lib/systemd/system/isc-dhcp-server.service and /lib/systemd/system/isc-dhcp-server6.service, it is still using the INTERFACES variable.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround this bug and so the usual upgrade could break some of their old configuration. |
|
2021-03-09 19:01:12 |
Utkarsh Gupta |
description |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This causes the service to listen on all interfaces, which is what the user might not want. In case the user wants to use *only* IPv6 and not IPv4, this could maybe lead to problems as what the user intended to do and what the outcome turns out because of this bug could be really different.
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce, simply install isc-dhcp-server via apt.
Now, if you see the /etc/default/isc-dhcp-server file, it sets 2 variables, namely, INTERFACESv4 and INTERFACESv6. However, if you check the respective services file, that is, /lib/systemd/system/isc-dhcp-server.service and /lib/systemd/system/isc-dhcp-server6.service, it is still using the INTERFACES variable.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround this bug and so the usual upgrade could break some of their old configuration. |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This causes the service to listen on all interfaces, which is what the user might not want. In case the user wants to use *only* IPv6 and not IPv4, this could maybe lead to problems as what the user intended to do could be really different from what the outcome turns out to be (because of this bug).
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce, simply install isc-dhcp-server via apt.
Now, if you see the /etc/default/isc-dhcp-server file, it sets 2 variables, namely, INTERFACESv4 and INTERFACESv6. However, if you check the respective services file, that is, /lib/systemd/system/isc-dhcp-server.service and /lib/systemd/system/isc-dhcp-server6.service, it is still using the INTERFACES variable.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround this bug and so the usual upgrade could break some of their old configuration. |
|
2021-03-09 19:02:29 |
Utkarsh Gupta |
description |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This causes the service to listen on all interfaces, which is what the user might not want. In case the user wants to use *only* IPv6 and not IPv4, this could maybe lead to problems as what the user intended to do could be really different from what the outcome turns out to be (because of this bug).
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce, simply install isc-dhcp-server via apt.
Now, if you see the /etc/default/isc-dhcp-server file, it sets 2 variables, namely, INTERFACESv4 and INTERFACESv6. However, if you check the respective services file, that is, /lib/systemd/system/isc-dhcp-server.service and /lib/systemd/system/isc-dhcp-server6.service, it is still using the INTERFACES variable.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround this bug and so the usual upgrade could break some of their old configuration. |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This causes the service to listen on all interfaces, which is what the user might not want. In case the user wants to use *only* IPv6 and not IPv4, this could maybe lead to problems as what the user intended to do could be really different from what the outcome turns out to be (because of this bug).
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce, simply install isc-dhcp-server via apt.
Now, if you see the /etc/default/isc-dhcp-server file, it sets 2 variables, namely, INTERFACESv4 and INTERFACESv6. However, if you check the respective services file, that is, /lib/systemd/system/isc-dhcp-server.service and /lib/systemd/system/isc-dhcp-server6.service, it is still using the INTERFACES variable.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround for this bug and so the usual upgrade could break some of their old configuration(s). |
|
2021-03-10 05:27:40 |
Utkarsh Gupta |
description |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This causes the service to listen on all interfaces, which is what the user might not want. In case the user wants to use *only* IPv6 and not IPv4, this could maybe lead to problems as what the user intended to do could be really different from what the outcome turns out to be (because of this bug).
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce, simply install isc-dhcp-server via apt.
Now, if you see the /etc/default/isc-dhcp-server file, it sets 2 variables, namely, INTERFACESv4 and INTERFACESv6. However, if you check the respective services file, that is, /lib/systemd/system/isc-dhcp-server.service and /lib/systemd/system/isc-dhcp-server6.service, it is still using the INTERFACES variable.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround for this bug and so the usual upgrade could break some of their old configuration(s). |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This causes the service to listen on all interfaces, which is what the user might not want. In case the user wants to use *only* IPv6 and not IPv4, this could maybe lead to problems as what the user intended to do could be really different from what the outcome turns out to be (because of this bug).
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce this bug, simply do the following:
$ lxc launch ubuntu-daily:focal isc-dhcp-lp1894172-focal
$ lxc shell isc-dhcp-lp1894172-focal
# apt update && apt install isc-dhcp-server -y
# grep "INTERFACES" /etc/default/isc-dhcp-server
INTERFACESv4=""
INTERFACESv6=""
grep "INTERFACES" /lib/systemd/system/isc-dhcp-server.service
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
# grep "INTERFACES" /lib/systemd/system/isc-dhcp-server6.service
exec dhcpd -user dhcpd -group dhcpd -f -6 -pf /run/dhcp-server/dhcpd6.pid -cf $CONFIG_FILE $INTERFACES'
With this, it is clearly visible that even though /lib/systemd/system/isc-dhcp-server{,6}.service file uses $INTERFACES variable but the /etc/default/isc-dhcp-server defines 2 different variables, INTERFACESv4 and INTERFACESv6.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround for this bug and so the usual upgrade could break some of their old configuration(s). |
|
2021-03-10 05:28:22 |
Utkarsh Gupta |
description |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This causes the service to listen on all interfaces, which is what the user might not want. In case the user wants to use *only* IPv6 and not IPv4, this could maybe lead to problems as what the user intended to do could be really different from what the outcome turns out to be (because of this bug).
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce this bug, simply do the following:
$ lxc launch ubuntu-daily:focal isc-dhcp-lp1894172-focal
$ lxc shell isc-dhcp-lp1894172-focal
# apt update && apt install isc-dhcp-server -y
# grep "INTERFACES" /etc/default/isc-dhcp-server
INTERFACESv4=""
INTERFACESv6=""
grep "INTERFACES" /lib/systemd/system/isc-dhcp-server.service
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
# grep "INTERFACES" /lib/systemd/system/isc-dhcp-server6.service
exec dhcpd -user dhcpd -group dhcpd -f -6 -pf /run/dhcp-server/dhcpd6.pid -cf $CONFIG_FILE $INTERFACES'
With this, it is clearly visible that even though /lib/systemd/system/isc-dhcp-server{,6}.service file uses $INTERFACES variable but the /etc/default/isc-dhcp-server defines 2 different variables, INTERFACESv4 and INTERFACESv6.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround for this bug and so the usual upgrade could break some of their old configuration(s). |
[Impact]
When checking isc-dhcp-server unit file it was seen that isc-dhcp-server is being started by:
ConditionPathExists=/etc/default/isc-dhcp-server
ConditionPathExists=|/etc/ltsp/dhcpd.conf
ConditionPathExists=|/etc/dhcp/dhcpd.conf
[Service]
EnvironmentFile=/etc/default/isc-dhcp-server
RuntimeDirectory=dhcp-server
# The leases files need to be root:dhcpd even when dropping privileges
ExecStart=/bin/sh -ec '\
CONFIG_FILE=/etc/dhcp/dhcpd.conf; \
if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; \
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases; \
chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases; \
chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases; \
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
But the /etc/default/isc-dhcp-server file sets $INTERFACESv4 and $INTERFACESv6.
This causes the service to listen on all interfaces, which is what the user might not want. In case the user wants to use *only* IPv6 and not IPv4, this could maybe lead to problems as what the user intended to do could be really different from what the outcome turns out to be (because of this bug).
The previous upload(er) forgot to mention (and split) the INTERFACES variable to v4 and v6 and as a result, it has been this way for so long.
The SRU would split the variables into respective names, thereby making sure that what /etc/default/isc-dhcp-serve sets, is available in the respective service file.
[Test Plan]
To reproduce this bug, simply do the following:
$ lxc launch ubuntu-daily:focal isc-dhcp-lp1894172-focal
$ lxc shell isc-dhcp-lp1894172-focal
# apt update && apt install isc-dhcp-server -y
# grep "INTERFACES" /etc/default/isc-dhcp-server
INTERFACESv4=""
INTERFACESv6=""
grep "INTERFACES" /lib/systemd/system/isc-dhcp-server.service
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES'
# grep "INTERFACES" /lib/systemd/system/isc-dhcp-server6.service
exec dhcpd -user dhcpd -group dhcpd -f -6 -pf /run/dhcp-server/dhcpd6.pid -cf $CONFIG_FILE $INTERFACES'
With this, it is clearly visible that even though /lib/systemd/system/isc-dhcp-server{,6}.service file uses the INTERFACES variable but the /etc/default/isc-dhcp-server defines 2 different variables, INTERFACESv4 and INTERFACESv6.
After the SRU is performed, the respective services files should use INTERFACESv4 and INTERFACESv6 variable, instead of just INTERFACES.
To ensure smooth upgrade of this package, we'd check if the user hasn't manually set a INTERFACESv{4,6} variable to workaround this bug. If they have, then we simply check and make sure, we use the correct variable.
[Where problems could occur]
The problem could occur if the user has manually set some different workaround for this bug and so the usual upgrade could break some of their old configuration(s). |
|
2021-03-10 14:30:48 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~utkarsh/ubuntu/+source/isc-dhcp/+git/isc-dhcp/+merge/399438 |
|
2021-03-10 14:39:03 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~utkarsh/ubuntu/+source/isc-dhcp/+git/isc-dhcp/+merge/399440 |
|
2021-03-10 15:14:18 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~utkarsh/ubuntu/+source/isc-dhcp/+git/isc-dhcp/+merge/399442 |
|
2021-03-11 13:09:52 |
Łukasz Zemczak |
isc-dhcp (Ubuntu Groovy): status |
Confirmed |
Fix Committed |
|
2021-03-11 13:09:53 |
Łukasz Zemczak |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2021-03-11 13:09:56 |
Łukasz Zemczak |
bug |
|
|
added subscriber SRU Verification |
2021-03-11 13:09:58 |
Łukasz Zemczak |
tags |
bitesize server-next |
bitesize server-next verification-needed verification-needed-groovy |
|
2021-03-11 13:12:10 |
Łukasz Zemczak |
isc-dhcp (Ubuntu Focal): status |
Confirmed |
Fix Committed |
|
2021-03-11 13:12:15 |
Łukasz Zemczak |
tags |
bitesize server-next verification-needed verification-needed-groovy |
bitesize server-next verification-needed verification-needed-focal verification-needed-groovy |
|
2021-03-11 13:25:09 |
Łukasz Zemczak |
isc-dhcp (Ubuntu Bionic): status |
Confirmed |
Fix Committed |
|
2021-03-11 13:25:13 |
Łukasz Zemczak |
tags |
bitesize server-next verification-needed verification-needed-focal verification-needed-groovy |
bitesize server-next verification-needed verification-needed-bionic verification-needed-focal verification-needed-groovy |
|
2021-03-19 13:04:56 |
Utkarsh Gupta |
tags |
bitesize server-next verification-needed verification-needed-bionic verification-needed-focal verification-needed-groovy |
bitesize server-next verification-done verification-done-bionic verification-done-focal verification-done-groovy |
|
2021-03-23 18:51:55 |
Launchpad Janitor |
isc-dhcp (Ubuntu Groovy): status |
Fix Committed |
Fix Released |
|
2021-03-23 18:51:59 |
Brian Murray |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2021-03-23 18:52:39 |
Launchpad Janitor |
isc-dhcp (Ubuntu Focal): status |
Fix Committed |
Fix Released |
|
2021-03-23 18:52:58 |
Launchpad Janitor |
isc-dhcp (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|