{"action":"created","issue":{"url":"https://api.github.com/repos/hercules-390/hyperion/issues/154","repository_url":"https://api.github.com/repos/hercules-390/hyperion","labels_url":"https://api.github.com/repos/hercules-390/hyperion/issues/154/labels{/name}","comments_url":"https://api.github.com/repos/hercules-390/hyperion/issues/154/comments","events_url":"https://api.github.com/repos/hercules-390/hyperion/issues/154/events","html_url":"https://github.com/hercules-390/hyperion/issues/154","id":174866099,"number":154,"title":"Console tty output incorrectly formatted","user":{"login":"PeterCoghlan","id":11341184,"avatar_url":"https://avatars.githubusercontent.com/u/11341184?v=3","gravatar_id":"","url":"https://api.github.com/users/PeterCoghlan","html_url":"https://github.com/PeterCoghlan","followers_url":"https://api.github.com/users/PeterCoghlan/followers","following_url":"https://api.github.com/users/PeterCoghlan/following{/other_user}","gists_url":"https://api.github.com/users/PeterCoghlan/gists{/gist_id}","starred_url":"https://api.github.com/users/PeterCoghlan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PeterCoghlan/subscriptions","organizations_url":"https://api.github.com/users/PeterCoghlan/orgs","repos_url":"https://api.github.com/users/PeterCoghlan/repos","events_url":"https://api.github.com/users/PeterCoghlan/events{/privacy}","received_events_url":"https://api.github.com/users/PeterCoghlan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hercules-390/hyperion/labels/BUG","name":"BUG","color":"FF3300"},{"url":"https://api.github.com/repos/hercules-390/hyperion/labels/In%20progress...","name":"In progress...","color":"FF9933"},{"url":"https://api.github.com/repos/hercules-390/hyperion/labels/Question","name":"Question","color":"00B85C"}],"state":"closed","locked":false,"assignee":{"login":"Fish-Git","id":1486786,"avatar_url":"https://avatars.githubusercontent.com/u/1486786?v=3","gravatar_id":"","url":"https://api.github.com/users/Fish-Git","html_url":"https://github.com/Fish-Git","followers_url":"https://api.github.com/users/Fish-Git/followers","following_url":"https://api.github.com/users/Fish-Git/following{/other_user}","gists_url":"https://api.github.com/users/Fish-Git/gists{/gist_id}","starred_url":"https://api.github.com/users/Fish-Git/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fish-Git/subscriptions","organizations_url":"https://api.github.com/users/Fish-Git/orgs","repos_url":"https://api.github.com/users/Fish-Git/repos","events_url":"https://api.github.com/users/Fish-Git/events{/privacy}","received_events_url":"https://api.github.com/users/Fish-Git/received_events","type":"User","site_admin":false},"assignees":[{"login":"Fish-Git","id":1486786,"avatar_url":"https://avatars.githubusercontent.com/u/1486786?v=3","gravatar_id":"","url":"https://api.github.com/users/Fish-Git","html_url":"https://github.com/Fish-Git","followers_url":"https://api.github.com/users/Fish-Git/followers","following_url":"https://api.github.com/users/Fish-Git/following{/other_user}","gists_url":"https://api.github.com/users/Fish-Git/gists{/gist_id}","starred_url":"https://api.github.com/users/Fish-Git/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fish-Git/subscriptions","organizations_url":"https://api.github.com/users/Fish-Git/orgs","repos_url":"https://api.github.com/users/Fish-Git/repos","events_url":"https://api.github.com/users/Fish-Git/events{/privacy}","received_events_url":"https://api.github.com/users/Fish-Git/received_events","type":"User","site_admin":false}],"milestone":null,"comments":27,"created_at":"2016-09-02T23:43:29Z","updated_at":"2016-09-03T15:04:29Z","closed_at":"2016-09-03T11:06:44Z","body":"Using the Multinet telnet client on VMS to connect to Hercules running on VMS, the tty console output appears stepped. Instead of each new line starting on the left hand edge of the screen, it starts in the position below where the previous line ended.  I suspect the same issue may also arise with other telnet clients and other Hercules platforms. Using tcpdump to check the data on the network shows that each line is being terminated with a line feed only instead of a carriage return followed by a line feed as required by the standard.  It is not necessary to ipl an operating system to see the effect - just to configure a 3215 device and telnet to it and it is apparant in in the three line banner which Hercules sends to the telnet client on receipt of a connection.\r\n\r\nThe issue does not arise when compiling from source retrieved before 28 August 2016 when three lines starting with \"if (tn->devclass == 'K')\" were removed from console.c.  Prior to that point, everything seems to work fine.  I tested using a tty console to log in to VM/370 and as a line mode console for MUSIC/SP.  The output was formatted correctly in all cases and on the network, end of lines had carriage returns followed by line feeds as expected.  The only slight issue that I noticed was that if the telnet client was abruptly disconnected when the operating system running on Hercules was not expecting this, a flurry of errors similar to the following appeared on the Hercules console:\r\n```\r\n19:59:24 HHC01022I 0:001F COMM: client 127.0.0.1 devtype 3215: connection closed by client\r\n19:59:24 HHC01315I 0:001F CHAN: ccw 0AF0D9D8 60000086\r\n19:59:24 HHC01312I 0:001F CHAN: stat 0E00, count 0086=>31383A35 393A3135 200A0000 00000000 ÉÎÑ..ÑÉ.½±......\r\n19:59:24 HHC01313I 0:001F CHAN: sense 40000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000\r\n19:59:24 HHC01314I 0:001F CHAN: sense INTREQ\r\n19:59:24 HHC02900E 0:001F COMM: Send() failed: broken pipe\r\n19:59:24 HHC01315I 0:001F CHAN: ccw 0AF0D9D8 60000086\r\n19:59:24 HHC01312I 0:001F CHAN: stat 0E00, count 0086=>404D5347 2046524F 4D204C4F 474F4E30  (..½Õ.×(½<×.×+È\r\n19:59:24 HHC01313I 0:001F CHAN: sense 10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000\r\n19:59:24 HHC01314I 0:001F CHAN: sense EQC\r\n19:59:25 HHC90507D 0:001F COMM: recv() failed: connection reset by peer\r\n19:59:25 HHC01315I 0:001F CHAN: ccw 09F1B7E0 60000012=>15151540 E5D461F3 F7F040D6 D5D3C9D5 ... VM/370 ONLIN\r\n19:59:25 HHC01312I 0:001F CHAN: stat 0200, count 0000\r\n19:59:25 HHC01313I 0:001F CHAN: sense 40000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000\r\n19:59:25 HHC01314I 0:001F CHAN: sense INTREQ\r\n19:59:25 HHC01315I 0:001F CHAN: ccw 0B000000 20000001\r\n19:59:25 HHC01312I 0:001F CHAN: stat 0200, count 0001\r\n19:59:25 HHC01313I 0:001F CHAN: sense 40000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000\r\n19:59:25 HHC01314I 0:001F CHAN: sense INTREQ\r\n```\r\n\r\nWhile the \"recv() failed: connection reset by peer\" error would appear only once as might be expected,  the \"Send() failed: broken pipe\" error and subsequent three lines could be repeated approximately 30 times. This is not a big problem though.  Overall, I think the new telnet server code is a big improvement on the old code which always seemed to be operating very close to the edge of what would work.\r\n\r\nCan anyone else see the stepping effect or is there something about my telnet client that is provoking it?  If I replace the three lines removed from console.c the stepping goes away.\r\n"},"comment":{"url":"https://api.github.com/repos/hercules-390/hyperion/issues/comments/244551431","html_url":"https://github.com/hercules-390/hyperion/issues/154#issuecomment-244551431","issue_url":"https://api.github.com/repos/hercules-390/hyperion/issues/154","id":244551431,"user":{"login":"Fish-Git","id":1486786,"avatar_url":"https://avatars.githubusercontent.com/u/1486786?v=3","gravatar_id":"","url":"https://api.github.com/users/Fish-Git","html_url":"https://github.com/Fish-Git","followers_url":"https://api.github.com/users/Fish-Git/followers","following_url":"https://api.github.com/users/Fish-Git/following{/other_user}","gists_url":"https://api.github.com/users/Fish-Git/gists{/gist_id}","starred_url":"https://api.github.com/users/Fish-Git/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fish-Git/subscriptions","organizations_url":"https://api.github.com/users/Fish-Git/orgs","repos_url":"https://api.github.com/users/Fish-Git/repos","events_url":"https://api.github.com/users/Fish-Git/events{/privacy}","received_events_url":"https://api.github.com/users/Fish-Git/received_events","type":"User","site_admin":false},"created_at":"2016-09-03T15:04:29Z","updated_at":"2016-09-03T15:04:29Z","body":"> unless the providers of libtelnet can be persuaded to provide a function like telnet_send but which also does the required LF -> CRLF translations.\r\n\r\nThat would be ourselves.  We could add such a function to _our_ libtelnet implementation if we really wanted to.  But again, is there really a legitimate bona fide _need_ to send nulls to such devices?"}}
{"actor":{"display_login":"Fish-Git"}}