You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
httpprm.c recognises 26 keywords. Six of them appear nowhere in docs/configuration.md, so the only way to learn they exist is to read the
parser:
Keyword
What it does
UFS
UFS=0 skips filesystem initialisation entirely -- and with it HTTPD044W. installation.md names it; the configuration reference does not
CODEPAGE
CP037 (default), IBM1047 or LEGACY. Chooses the table http_etoa()/http_atoe() use
CLIENT_TIMEOUT_MSG
CLIENT_TIMEOUT_DUMP
CLIENT_STATS
CGI_CONTEXT_POINTERS
CODEPAGE is the one that needs prose rather than a table row, because its
scope is narrower than the name suggests and the boundary is invisible from the
member:
It governs what cc370-compiled literals and MVS datasets are translated
with. cc370 emits string literals in CP037 (common/src/mvs370.c, mvs_a2e_tab), which is why the default matches and why changing it is not
free: under IBM1047 a [ compiled as 0xBA leaves the server as 0xDD,
and every mvsMF array response stops being JSON. Measured against a live
server: [ arrives as 0x5B today.
It does not govern static files from UFS. http_send_file() translates
those with the hard-coded IBM-1047 table (src/httpfile.c:70-71), matching
what ufsd-utils and mvsMF's PUT /zosmf/restfiles/fs write. Measured
end to end in Ship static/index.html as a UFS webroot image, uploaded with IND$FILE #252: the round trip is byte-exact, and only 0x85 and 0xF7
fail to survive it.
Both halves are worth writing down: the first is a foot-gun, the second is the
reason a webroot image needs no codepage decision at all.
Found while shipping the webroot disk (#252, PR #253); no code change implied.
httpprm.crecognises 26 keywords. Six of them appear nowhere indocs/configuration.md, so the only way to learn they exist is to read theparser:
UFSUFS=0skips filesystem initialisation entirely -- and with itHTTPD044W.installation.mdnames it; the configuration reference does notCODEPAGECP037(default),IBM1047orLEGACY. Chooses the tablehttp_etoa()/http_atoe()useCLIENT_TIMEOUT_MSGCLIENT_TIMEOUT_DUMPCLIENT_STATSCGI_CONTEXT_POINTERSCODEPAGEis the one that needs prose rather than a table row, because itsscope is narrower than the name suggests and the boundary is invisible from the
member:
with. cc370 emits string literals in CP037 (
common/src/mvs370.c,mvs_a2e_tab), which is why the default matches and why changing it is notfree: under
IBM1047a[compiled as0xBAleaves the server as0xDD,and every mvsMF array response stops being JSON. Measured against a live
server:
[arrives as0x5Btoday.http_send_file()translatesthose with the hard-coded IBM-1047 table (
src/httpfile.c:70-71), matchingwhat
ufsd-utilsand mvsMF'sPUT /zosmf/restfiles/fswrite. Measuredend to end in Ship static/index.html as a UFS webroot image, uploaded with IND$FILE #252: the round trip is byte-exact, and only
0x85and0xF7fail to survive it.
Both halves are worth writing down: the first is a foot-gun, the second is the
reason a webroot image needs no codepage decision at all.
Found while shipping the webroot disk (#252, PR #253); no code change implied.