Activity log for bug #1894172

Date Who What changed Old value New value Message
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