[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

HTTPAPI 1.11pre5 beta available.



Sender: Scott Klement <sk@xxxxxxxxxxxxxxxx>

Hello people,

I need your help testing the bug fixes that I've added to HTTPAPI. I'd like to know that all of these issues are resolved prior to releasing version 1.11, and I'd like to get 1.11 out soon.

You can download the 1.11pre5 beta release at the following links:

SAVF: http://www.scottklement.com/httpapi/beta/1.11pre5/httpapi.savf
XML:  http://www.scottklement.com/httpapi/beta/1.11pre5/httpapi.xml
ZIP:  http://www.scottklement.com/httpapi/beta/1.11pre5/httpapi.zip

These are installed using the same instructions as the ones on the main http site ( http://www.scottklement.com/httpapi/ )

Here are the bugs that I've addressed in this pre-release, and the ones that I'd like you all to test:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bug report from Peter Sawatski:

I have to change the HTTP_TOASC value in CONFIG_H to work on a German System. Characters are improperly translated. I'd like this to be a variable I can change at runtime.

FIX: I've changed HTTPAPI to use CCSIDs for translation. By default, it'll assume that the web server speaks CCSID 819 and that your program uses the default CCSID for your job. You can override these settings at runtime using the HTTP_SetCCSIDs() API.

In CONFIG_H, I've made it possible to turn CCSID support off and use tables (the old behavior) instead. To switch between CCSIDs and Tables is a compile-time only option.

If you're using Table support (by changing CONFIG_H and re-compiling HTTPAPI) I've added a new HTTP_setTables() API to allow you to change the translation table at runtime.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bug Report from Erick Garske:


To make HTTPAPI compile cleanly on a V4R5 system, I had to change the args
for the %scan() BIF to be variables instead of hex literals.

I also had to remove the conditional compile statement in COMMSSLR4.

FIX: I changed the %scan()s to use character variables. I changed the conditional compiles to use normal conditions instead of the special *V5R1M0 values that seemed to be causing problems at V4R5. The CONFIGR4
program that's run during installation will check for the operating system
release, and set the conditions up appropriately.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bug Report from Eddie Smith:


Could the fields IP_TOS$ and IP_TTL$ not use the special $ character? It's
causing a compile error on European systems.

FIX: done.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bug Report from Christian Vitroler:


For European users, it'd be better to change HTTP_CODEPAGE to 1252 since that's what Windows uses and here in Europe we would like to have the Euro symbol, which is not part of ISO 8859-1.

FIX: I've changed the default for HTTP_CODEPAGE.  The value of this is now
changable at runtime with the HTTP_SetFileCCSID() API.

It should be noted that HTTPAPI does not translate the data that's received from the web server. It saves the binary data as-is to a stream file in the IFS (or sends it to a callback in your program if you're using the "raw" functions). This CCSID is only a number that gets set in the attributes of the file.

But, since this CCSID number may affect the way that programs interpret the data, this could very well fix the problem.

This value can be changed easily from a CL program with the CHGATR CL command if you ever need to change it after the download is complete.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bug Report from Christian Vitroler:


When doing a POST, HTTPAPI only waits for 0.5 second before timing out. This is preventing me from being able to make a successful POST. If I change the code to be 1 second, the POST succeeds.

FIX: Unfortunately, some servers send a "100 continue" response, and others do not. In order to accomodate both, HTTPAPI times out after a very short interval. That way, if it's not received, you won't have to wait a long time for a response.

To help you with your problem, I've made the timeout value something that can be changed at runtime. Call the http_set_100_timeout() API prior to performing the POST.

For example:
        http_set_100_timeout(1.0);

rc = http_url_post( . . . );
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bug Report from Christian Vitroler:


When trying to receive a file to the / ("root") directory of the IFS, I get an error saying that I don't have permission to the directory (but I do.) I've looked at the code, and it appears that there's a bug in the
dirname() routine where it returns an invalid directory name if root is specified.


FIX: I've eliminated the dirname() routine from HTTPAPI, and I've removed the access() checks. Now, the error will be reported by the OS/400 open() AP.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bug Report from Scott Klement:


People are having a hard time getting SSL to work, the configuration steps are too complicated.

FIX: I've made HTTPAPI work without the need to call https_init() and without a profile configured in the digital certificate manager. This default support will work for most people in most cases.

If you do need the additional complexity of a DCM profile for things like client certificates, changing the trusted hosts list, etc, then you can still use https_init() to associate an application ID with the digital certificate manager settings.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Thanks! HTTPAPI cannot survive as an open-source project without volunteers helping to test it.

---
Scott Klement  http://www.scottklement.com
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubsribe from the list send mail
to majordomo@xxxxxxxxxxxxx with the body: unsubscribe ftpapi mymailaddr
-----------------------------------------------------------------------