[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-08-28 Thread Andreas Hasenack
Bionic verification. Starting with the packages that show the bug:

ubuntu@bionic-apache-1750356:~$ apt-cache policy apache2
apache2:
  Installed: 2.4.29-1ubuntu4.2
  Candidate: 2.4.29-1ubuntu4.2
  Version table:
 *** 2.4.29-1ubuntu4.2 500
500 http://br.archive.ubuntu.com/ubuntu bionic-updates/main amd64 
Packages
100 /var/lib/dpkg/status


status shows the expected error:
(...)
Aug 28 17:20:37 bionic-apache-1750356 systemd[1]: Starting The Apache HTTP 
Server...
Aug 28 17:20:37 bionic-apache-1750356 apachectl[2040]: AH00526: Syntax error on 
line 24 of /etc/apache2/sites-enabled/000-default.conf:
Aug 28 17:20:37 bionic-apache-1750356 apachectl[2040]: BalancerMember worker 
hostname (xx-xx--x-x.xx--x.x-xxx.xxx.x.) 
too long
Aug 28 17:20:37 bionic-apache-1750356 apachectl[2040]: Action 'start' failed.


Upgrading to the packages in proposed:
ubuntu@bionic-apache-1750356:~$ apt-cache policy apache2
apache2:
  Installed: 2.4.29-1ubuntu4.3
  Candidate: 2.4.29-1ubuntu4.3
  Version table:
 *** 2.4.29-1ubuntu4.3 500
500 http://br.archive.ubuntu.com/ubuntu bionic-proposed/main amd64 
Packages
100 /var/lib/dpkg/status
 2.4.29-1ubuntu4.2 500
500 http://br.archive.ubuntu.com/ubuntu bionic-updates/main amd64 
Packages

Service is running right after the upgrade:
ubuntu@bionic-apache-1750356:~$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: 
enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
   └─apache2-systemd.conf
   Active: active (running) since Tue 2018-08-28 17:22:31 UTC; 25s ago
 Main PID: 2847 (apache2)
Tasks: 54 (limit: 4915)
   CGroup: /system.slice/apache2.service
   ├─2847 /usr/sbin/apache2 -k start
   ├─2849 /usr/sbin/apache2 -k start
   └─2850 /usr/sbin/apache2 -k start

Aug 28 17:22:31 bionic-apache-1750356 systemd[1]: Starting The Apache HTTP 
Server...
Aug 28 17:22:31 bionic-apache-1750356 systemd[1]: Started The Apache HTTP 
Server.


Accessing the balancer url triggers the expected error:
ubuntu@bionic-apache-1750356:~$ wget http://localhost/foo
--2018-08-28 17:23:34--  http://localhost/foo
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 502 Proxy Error
2018-08-28 17:23:35 ERROR 502: Proxy Error.

And the logs confirm that the server tried to reach the balancer member:
ubuntu@bionic-apache-1750356:~$ tail /var/log/apache2/error.log -n 1
[Tue Aug 28 17:23:35.277191 2018] [proxy:error] [pid 2850:tid 139871414892288] 
[client 127.0.0.1:49520] AH00898: DNS lookup failure for: 
xx-xx--x-x.xx--x.x-xxx.xxx.x. returned by 
/foo


Verification complete and successfull for bionic.

** Description changed:

  [Impact]
  
  If the BalancerMember directive contains a URL with a hostname longer
  than X characters, apache2 will fail to start with the following error:
  
  BalancerMember worker hostname (65.character.host.name) too long
  
  RFC1035 allows for longer hostnames, and apache upstream has this fix
  already.
  
  [Test Case]
  
  * Install the packages:
- sudo apt install apache
+ sudo apt install apache2
  
  * Edit /etc/apache2/sites-available/000-default.conf and add the following 
block inside the VirtualHost block:
    
  BalancerMember 
"http://xx-xx--x-x.xx--x.x-xxx.xxx.x.:90/";
  BalancerMember 
"http://xx-xx--x-x.xx--x.x-xxx.xxx.x.:91/";
    
    ProxyRequests Off
    
  Order deny,allow
  Allow from all
    
    RewriteEngine On
    RewriteRule ^/foo balancer://test/foo [P,L]
  
  * Enable the necessary apache modules:
  sudo a2enmod proxy_balancer proxy lbmethod_byrequests proxy_http rewrite
  
  * Restart apache2, which will fail:
  sudo systemctl restart apache2
  
  * Run the status action and expect an error like this:
  sudo systemctl status apache2.service
  ...
  Jun 27 18:31:16 bionic-apache-1750356 apachectl[2218]: BalancerMember worker 
hostname (xx-xx--x-x.xx--x.x-xxx.xxx.x.) 
too long
  
  * Update the apache2 packages to the ones available in proposed. As part of 
the upgrade, apache2 will be restarted again, and in this time it will work. 
Confirm with systemctl status apache2 that there are no errors this time:
  sudo systemctl status apache2
  
  * Try to access http://localhost/foo to trigger the load balancer
  configuration. It will trigger a DNS error as we don't have an entry for
  the BalancerMember hostname, but it shows that the configuration worked:
  
  ubuntu@bionic-apache-1750356:~$ wget http://localhost/foo
  --2018-06-27 18:39:58--  http://localhost/foo
  Resolving localhost (localhost)... 127.0.0.1
  Connecting to localhost (localhost)|127.0.0.1|:80... connected.
  HTTP request s

[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-08-06 Thread Andreas Hasenack
Graham, is this something you can easily test? You sounded like you have
a deployment where this bug happens.

If not, I can do the verification, it would just be more reassuring if
someone other than who prepared the SRU could verify it.

-- 
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1750356

Title:
  Apache2: BalancerMember worker hostname (65.character.host.name) too
  long

To manage notifications about this bug go to:
https://bugs.launchpad.net/apache2/+bug/1750356/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs


[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-06-27 Thread Andreas Hasenack
** Description changed:

  [Impact]
  
  If the BalancerMember directive contains a URL with a hostname longer
  than X characters, apache2 will fail to start with the following error:
  
  BalancerMember worker hostname (65.character.host.name) too long
  
  RFC1035 allows for longer hostnames, and apache upstream has this fix
  already.
  
  [Test Case]
  
  * Install the packages:
  sudo apt install apache
  
  * Edit /etc/apache2/sites-available/000-default.conf and add the following 
block inside the VirtualHost block:
    
  BalancerMember 
"http://xx-xx--x-x.xx--x.x-xxx.xxx.x.:90/";
  BalancerMember 
"http://xx-xx--x-x.xx--x.x-xxx.xxx.x.:91/";
    
    ProxyRequests Off
    
  Order deny,allow
  Allow from all
    
    RewriteEngine On
    RewriteRule ^/foo balancer://test/foo [P,L]
  
  * Enable the necessary apache modules:
  sudo a2enmod proxy_balancer proxy lbmethod_byrequests proxy_http rewrite
  
  * Restart apache2, which will fail:
  sudo systemctl restart apache2
  
  * Run the status action and expect an error like this:
  sudo systemctl status apache2.service
  ...
  Jun 27 18:31:16 bionic-apache-1750356 apachectl[2218]: BalancerMember worker 
hostname (xx-xx--x-x.xx--x.x-xxx.xxx.x.) 
too long
  
  * Update the apache2 packages to the ones available in proposed. As part of 
the upgrade, apache2 will be restarted again, and in this time it will work. 
Confirm with systemctl status apache2 that there are no errors this time:
  sudo systemctl status apache2
  
  * Try to access http://localhost/foo to trigger the load balancer
  configuration. It will trigger a DNS error as we don't have an entry for
  the BalancerMember hostname, but it shows that the configuration worked:
  
  ubuntu@bionic-apache-1750356:~$ wget http://localhost/foo
  --2018-06-27 18:39:58--  http://localhost/foo
  Resolving localhost (localhost)... 127.0.0.1
  Connecting to localhost (localhost)|127.0.0.1|:80... connected.
  HTTP request sent, awaiting response... 502 Proxy Error
  2018-06-27 18:39:58 ERROR 502: Proxy Error.
  
  ubuntu@bionic-apache-1750356:~$ tail /var/log/apache2/error.log  -n 1
  [Wed Jun 27 18:39:58.732097 2018] [proxy:error] [pid 3628:tid 
139981565716224] [client 127.0.0.1:42508] AH00898: DNS lookup failure for: 
xx-xx--x-x.xx--x.x-xxx.xxx.x. returned by 
/foo
  
  [Regression Potential]
- 
-  * discussion of how regressions are most likely to manifest as a result
- of this change.
- 
-  * It is assumed that any SRU candidate patch is well-tested before
-    upload and has a low overall risk of regression, but it's important
-    to make the effort to think about what ''could'' happen in the
-    event of a regression.
- 
-  * This both shows the SRU team that the risks have been considered,
-    and provides guidance to testers in regression-testing the SRU.
+ This change is twofold: it allows for longer hostnames, and apache won't fail 
to start anymore if that length is exceeded. In the latter case, however, the 
hostname is truncated. With that in mind, here are some scenarios:
+ - hostnames larger than 65 characters but less than 255: before apache2 would 
fail to start, now it works.
+ - hostname larger than 255 characters. Before apache would fail to start; 
now, it starts but truncates that hostname, logging a warning. The 
configuration is likely to not work due to the truncation, which will lead to 
DNS errors. If the admin was only relying on (re)start errors to become aware 
of configuration problems, he/she might miss this until it's too late. But at 
least the log will be clear about what happened.
+ - third party modules that use apache's mod_proxy structure might not be 
aware of the new hostname_ex member which can hold the longer string, since we 
didn't update the MODULE_MAGIC_NUMBER_MINOR number with this patchset, and will 
probably remain exhibiting the problem described in this bug.
  
  [Other Info]
+ The security team's regression test suite for apache2 
(http://launchpad.net/qa-regression-testing) was run with the test packages 
from the PPA at 
https://launchpad.net/~ahasenack/+archive/ubuntu/apache-balance-member-hostname-1750356/+packages
 and passed: https://pastebin.ubuntu.com/p/nZ6GGHXgwQ/
  
-  * Anything else you think is useful to include
-  * Anticipate questions from users, SRU, +1 maintenance, security teams and 
the Technical Board
-  * and address these questions in advance
  
  == Original Description ==
  
  If the BalancerMember directive contains a URL with a hostname longer
  than X characters, we fail as follows:
  
  BalancerMember worker hostname (65.character.host.name) too long
  
  The size of the hostname needs to be raised so it is RFC1035 compliant.
  
  Bug fixed upstream at
  https://bz.apache.org/bugzilla/show_bug.cgi?id=62085, patches backported
  to v2.4.30:
  
  http://svn.apache.o

[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-06-27 Thread Andreas Hasenack
** Description changed:

  [Impact]
  
-  * An explanation of the effects of the bug on users and
+  * An explanation of the effects of the bug on users and
  
-  * justification for backporting the fix to the stable release.
+  * justification for backporting the fix to the stable release.
  
-  * In addition, it is helpful, but not required, to include an
-explanation of how the upload fixes this bug.
+  * In addition, it is helpful, but not required, to include an
+    explanation of how the upload fixes this bug.
  
  [Test Case]
  
-  * detailed instructions how to reproduce the bug
+ * Install the packages:
+ sudo apt install apache
  
-  * these should allow someone who is not familiar with the affected
-package to reproduce the bug and verify that the updated package fixes
-the problem.
+ * Edit /etc/apache2/sites-available/000-default.conf and add the following 
block inside the VirtualHost block:
+   
+ BalancerMember 
"http://xx-xx--x-x.xx--x.x-xxx.xxx.x.:90/";
+ BalancerMember 
"http://xx-xx--x-x.xx--x.x-xxx.xxx.x.:91/";
+   
+   ProxyRequests Off
+   
+ Order deny,allow
+ Allow from all
+   
+   RewriteEngine On
+   RewriteRule ^/foo balancer://test/foo [P,L]
+ 
+ * Enable the necessary apache modules:
+ sudo a2enmod proxy_balancer proxy lbmethod_byrequests proxy_http rewrite
+ 
+ * Restart apache2, which will fail:
+ sudo systemctl restart apache2
+ 
+ * Run the status action and expect an error like this:
+ sudo systemctl status apache2.service
+ ...
+ Jun 27 18:31:16 bionic-apache-1750356 apachectl[2218]: BalancerMember worker 
hostname (xx-xx--x-x.xx--x.x-xxx.xxx.x.) 
too long
+ 
+ * Update the apache2 packages to the ones available in proposed. As part of 
the upgrade, apache2 will be restarted again, and in this time it will work. 
Confirm with systemctl status apache2 that there are no errors this time:
+ sudo systemctl status apache2
+ 
+ * Try to access http://localhost/foo to trigger the load balancer
+ configuration. It will trigger a DNS error as we don't have an entry for
+ the BalancerMember hostname, but it shows that the configuration worked:
+ 
+ ubuntu@bionic-apache-1750356:~$ wget http://localhost/foo
+ --2018-06-27 18:39:58--  http://localhost/foo
+ Resolving localhost (localhost)... 127.0.0.1
+ Connecting to localhost (localhost)|127.0.0.1|:80... connected.
+ HTTP request sent, awaiting response... 502 Proxy Error
+ 2018-06-27 18:39:58 ERROR 502: Proxy Error.
+ 
+ ubuntu@bionic-apache-1750356:~$ tail /var/log/apache2/error.log  -n 1
+ [Wed Jun 27 18:39:58.732097 2018] [proxy:error] [pid 3628:tid 
139981565716224] [client 127.0.0.1:42508] AH00898: DNS lookup failure for: 
xx-xx--x-x.xx--x.x-xxx.xxx.x. returned by 
/foo
+ 
  
  [Regression Potential]
  
-  * discussion of how regressions are most likely to manifest as a result
+  * discussion of how regressions are most likely to manifest as a result
  of this change.
  
-  * It is assumed that any SRU candidate patch is well-tested before
-upload and has a low overall risk of regression, but it's important
-to make the effort to think about what ''could'' happen in the
-event of a regression.
+  * It is assumed that any SRU candidate patch is well-tested before
+    upload and has a low overall risk of regression, but it's important
+    to make the effort to think about what ''could'' happen in the
+    event of a regression.
  
-  * This both shows the SRU team that the risks have been considered,
-and provides guidance to testers in regression-testing the SRU.
+  * This both shows the SRU team that the risks have been considered,
+    and provides guidance to testers in regression-testing the SRU.
  
  [Other Info]
-  
-  * Anything else you think is useful to include
-  * Anticipate questions from users, SRU, +1 maintenance, security teams and 
the Technical Board
-  * and address these questions in advance
+ 
+  * Anything else you think is useful to include
+  * Anticipate questions from users, SRU, +1 maintenance, security teams and 
the Technical Board
+  * and address these questions in advance
  
  == Original Description ==
  
  If the BalancerMember directive contains a URL with a hostname longer
  than X characters, we fail as follows:
  
  BalancerMember worker hostname (65.character.host.name) too long
  
  The size of the hostname needs to be raised so it is RFC1035 compliant.
  
  Bug fixed upstream at
  https://bz.apache.org/bugzilla/show_bug.cgi?id=62085, patches backported
  to v2.4.30:
  
  http://svn.apache.org/r1824455
  http://svn.apache.org/r1824504
  
  (Both patches required, first is extended by second).

** Description changed:

  [Impact]
  
-  * An explanation of the effects of the bug on users and
+ If the BalancerMember directive contains a URL with a hostname longer
+ than X characters, apache2 will fail t

[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-06-27 Thread Andreas Hasenack
** Description changed:

+ [Impact]
+ 
+  * An explanation of the effects of the bug on users and
+ 
+  * justification for backporting the fix to the stable release.
+ 
+  * In addition, it is helpful, but not required, to include an
+explanation of how the upload fixes this bug.
+ 
+ [Test Case]
+ 
+  * detailed instructions how to reproduce the bug
+ 
+  * these should allow someone who is not familiar with the affected
+package to reproduce the bug and verify that the updated package fixes
+the problem.
+ 
+ [Regression Potential]
+ 
+  * discussion of how regressions are most likely to manifest as a result
+ of this change.
+ 
+  * It is assumed that any SRU candidate patch is well-tested before
+upload and has a low overall risk of regression, but it's important
+to make the effort to think about what ''could'' happen in the
+event of a regression.
+ 
+  * This both shows the SRU team that the risks have been considered,
+and provides guidance to testers in regression-testing the SRU.
+ 
+ [Other Info]
+  
+  * Anything else you think is useful to include
+  * Anticipate questions from users, SRU, +1 maintenance, security teams and 
the Technical Board
+  * and address these questions in advance
+ 
+ == Original Description ==
+ 
  If the BalancerMember directive contains a URL with a hostname longer
  than X characters, we fail as follows:
  
  BalancerMember worker hostname (65.character.host.name) too long
  
  The size of the hostname needs to be raised so it is RFC1035 compliant.
  
  Bug fixed upstream at
  https://bz.apache.org/bugzilla/show_bug.cgi?id=62085, patches backported
  to v2.4.30:
  
  http://svn.apache.org/r1824455
  http://svn.apache.org/r1824504
  
  (Both patches required, first is extended by second).

-- 
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1750356

Title:
  Apache2: BalancerMember worker hostname (65.character.host.name) too
  long

To manage notifications about this bug go to:
https://bugs.launchpad.net/apache2/+bug/1750356/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs


[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-06-27 Thread Andreas Hasenack
I prepared test packages here:
https://launchpad.net/~ahasenack/+archive/ubuntu/apache-balance-member-
hostname-1750356/+packages

will propose a branch soon for bionic.

** Changed in: apache2 (Ubuntu Bionic)
 Assignee: (unassigned) => Andreas Hasenack (ahasenack)

** Changed in: apache2 (Ubuntu Bionic)
   Status: Triaged => In Progress

** Changed in: apache2 (Ubuntu Bionic)
   Importance: Undecided => Low

-- 
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1750356

Title:
  Apache2: BalancerMember worker hostname (65.character.host.name) too
  long

To manage notifications about this bug go to:
https://bugs.launchpad.net/apache2/+bug/1750356/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs


[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-06-27 Thread Andreas Hasenack
I'm inclined to not change it, because 75 implies everything between 68
and 75, and 69 was probably used for something else. And it's a
sequential number.

-- 
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1750356

Title:
  Apache2: BalancerMember worker hostname (65.character.host.name) too
  long

To manage notifications about this bug go to:
https://bugs.launchpad.net/apache2/+bug/1750356/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs


[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-06-27 Thread Andreas Hasenack
Hm, what should happen with this hunk of the patch?

--- 2.4.x/include/ap_mmn.h  2018/02/16 14:58:32 1824503
+++ 2.4.x/include/ap_mmn.h  2018/02/16 15:04:41 1824504
@@ -517,7 +518,7 @@
 #ifndef MODULE_MAGIC_NUMBER_MAJOR
 #define MODULE_MAGIC_NUMBER_MAJOR 20120211
 #endif
-#define MODULE_MAGIC_NUMBER_MINOR 74  /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 75  /* 0...n */

 /**
  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a


Apache in bionic (2.4.29) has MODULE_MAGIC_NUMBER_MINOR set to 68

-- 
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1750356

Title:
  Apache2: BalancerMember worker hostname (65.character.host.name) too
  long

To manage notifications about this bug go to:
https://bugs.launchpad.net/apache2/+bug/1750356/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs


[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-06-27 Thread Andreas Hasenack
** Bug watch added: bz.apache.org/bugzilla/ #62085
   https://bz.apache.org/bugzilla/show_bug.cgi?id=62085

** Also affects: apache2 via
   https://bz.apache.org/bugzilla/show_bug.cgi?id=62085
   Importance: Unknown
   Status: Unknown

-- 
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1750356

Title:
  Apache2: BalancerMember worker hostname (65.character.host.name) too
  long

To manage notifications about this bug go to:
https://bugs.launchpad.net/apache2/+bug/1750356/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs


[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long

2018-06-27 Thread Andreas Hasenack
Confirmed broken in bionic, and working in cosmic.

** Also affects: apache2 (Ubuntu Bionic)
   Importance: Undecided
   Status: New

** Changed in: apache2 (Ubuntu Bionic)
   Status: New => Triaged

** Changed in: apache2 (Ubuntu)
   Status: Triaged => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1750356

Title:
  Apache2: BalancerMember worker hostname (65.character.host.name) too
  long

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1750356/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs