Bug 61019 - Depreciation of NameVirtualHosts breaks -D DUMP_VHOSTS
Summary: Depreciation of NameVirtualHosts breaks -D DUMP_VHOSTS
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Core (show other bugs)
Version: 2.4.7
Hardware: All All
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-21 10:35 UTC by Simon Bazley
Modified: 2017-04-21 10:36 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Bazley 2017-04-21 10:35:11 UTC
See http://stackoverflow.com/questions/43539682/apachectl-t-d-dump-vhosts-not-showing-aliases

server/vhost.c : dump_a_vhost() contains a section to nicely present information about NameVirtualHosts including ports, vhosts and aliases.  It also includes a simple if (ic->names == NULL) section to output something basic, which doesn't include the extra information (so nothing about aliases), if there are no NameVirtualHosts.  

Since 2.4 NameVirtualHosts are depreciated, and so only the basic section of the function is called when seeking to dump VHOSTS.  

As an aside, in code where NameVirtualHosts are no longer allowed, is the code that dumps NameVirtualHosts surplus to requirements anyway?  

I think it worth noting that whatever the output is, it should be consistent, so it can be parsed by scripts.  The simple output and the complex output, are quite different.  

I suggest the complex output be rewritten to handle the brave new world without NameVirtualHosts, otherwise a new method needs finding to get vhost aliases on the output.  

I've marked this as 2.4.7 as that's the version of apache I'm running, but I'm looking at the trunk codebase, so presumably this applies to everything post the depreciation of NameVirtualHosts (I assume >=2.4.0)
Comment 1 Simon Bazley 2017-04-21 10:36:15 UTC
I didn't make clear that dump_a_vhost() is called for each host when apachectl -t -D DUMP_VHOSTS is called