This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
The CEAC has reviewed this requirement and an considers it a bug that should be fixed.
Background: The COMMON Europe Advisory Council (CEAC) members have a broad range of experience in working with small and medium-sized IBM i customers. CEAC has a crucial role in working with IBM i development to help assess the value and impact of individual RFEs on the broader IBM i community and has therefore reviewed your RFE.
To find out how CEAC help to shape the future of IBM i, see CEAC @ ibm.biz/BdYSYj and the article "The Five Hottest IBM i RFEs Of The Quarter" at ibm.biz/BdYSZT
Sabine Jordan + Sara Andres – CEAC Program Manager, IBM
As a subscriber to this IDEA, now that it will become a defect, how would I get informed that a PTF is made available?
The proposed fix is that if Host is set, it will be honored. The port will still be used from the specified URL.
Please open a ticket through support.
Closing this Idea now, since the change will be provided through the support process.
Db2 for i development team
IBM Power Systems Development
Thank you for your feedback.
Documentation:
Yes, the documentation states that "By default only the Host and User-Agent HTTP headers are set...". This is misleading. The use of the word "default" implies that the values can be overridden. This is not the case. Instead, both the "default" values and the user-supplied custom values are sent. As mentioned, having duplicate header fields for Host and (I assume) user-Agent causes a security issue.
If these header fields cannot be overridden, the documentation should clear state that these header values are always added to each request and, for security reasons, cannot be overridden.
Retrieval of Host Name:
As for retrieval of the host name, you mention that one "should be able to extract the Host value from the URL supplied for the HTTP request". The URL provided for the HTTP request is the for the remote host I am connecting with; not the local IBM i host. For example:
The above SQL statement will retrieve book information about "The Lord of the Rings". Obviously, the URL contains the remote server's host name, "openlibrary.org". This does not tell me what the Host value supplied in the HTTP request would be.
I must be missing something in your response. Can you let me know what URL I am supposed to interrogate to get the value of the Host header field that is "defaulted" by the HTTP functions?
It sounds like you want to pass a Host value that is different than the host name in the URL. This is not possible with our implementation.
The documentation today that describes the headers option is here.
https://www.ibm.com/docs/en/i/7.5?topic=functions-http-get-http-get-blob
It says
By default, only the Host and User-Agent HTTP header are set for all requests. The Host is set using the host information in the URL.
You should be able to extract the Host value from the URL supplied for the HTTP request. While IBM could provide a new function to get the host name from the URL, this is an enhancement that would not get ranked as a high value request which might not get delivered for many years. Recognizing this, we would recommend that you write your own substring-based function to extract the host name from the URL.
Db2 for i development team
IBM Power Systems Development