Repository navigation
det/CICS: container and channel names use IBM's PUT CONTAINER character set (Part of #4950) - #5067
Merged
Merged
Conversation
…er set (Part of #4950) CHANNELERR 1 / CONTAINERERR 18 on PUT CONTAINER; & < not-sign refused (IBM's pages disagree); other commands refuse. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2 tasks done
Contributor
Owner
Author
|
No description provided. |
squid-protocol
marked this pull request as ready for review
October 14, 2026 00:48
squid-protocol
enabled auto-merge (squash)
October 14, 2026 00:48
Owner
Author
|
No description provided. |
This was referenced Oct 14, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #4950 (checklist box 3: container-command names move to IBM's character set).
What was wrong
Container and channel names on PUT / GET / DELETE CONTAINER, LINK / XCTL CHANNEL and the browse commands were checked only for "not blank, no embedded blank".
^,~or{were accepted, which IBM does not allow, and an illegal name had no IBM condition.What IBM documents
Only PUT CONTAINER (CHANNEL) gives a set and conditions: "The acceptable characters are A-Z a-z 0-9 $ @ # / % ? ! : | " = , ; > . - and _. Leading and embedded blank characters are not permitted." An illegal CHANNEL name is CHANNELERR RESP2 1, an illegal CONTAINER name is CONTAINERERR RESP2 18. GET and DELETE CONTAINER give no set and no condition. RUN TRANSID's page lists three more characters (
&,<, the not sign) that PUT CONTAINER's page omits.Change (both runtimes, the C stub
ggcics.candCicsTask)& < ¬in a container-command name (IBM's two pages disagree); an illegal name on a command whose page says nothing of one; on PUT, two illegal names, or an illegal one with a negative FLENGTH or no channel in scope (IBM does not rank the conditions); a name over 16 characters.& < ¬included. A channel RUN creates with one of them cannot be named by a container command (refused).containers.py) states the two PUT outcomes and the new refusals; X17 rewritten.Class table
& < ¬in a namechannel/ container names in the case file (_CICS_NAME)Evidence
tests/cics_crucible/test_cics_runtimes.py: same scripts on the stub and on CicsTask. Every IBM character accepted, 13 illegal names (leading / embedded blank,^ ~ [ { \ '* ( +`, an accented byte) on both CHANNEL and CONTAINER and through the current channel, the refusals above.pr_gates --fast6/6,--ratchets7/7.det_port check: 91 ports changed only in the sharedCicsTask.java(85 lines, the name check). Re-proved a sample: asynccc-csstats2, asynccc-getname, cbsa-crdtagy1, cbsa-inqcust all PROVED. A full re-sweep was not run.Sibling gaps (not in this PR)
equivalence_cics._CICS_NAME) are not checked against IBM's set.🤖 Generated with Claude Code