Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
Craivus
Novice


Joined: 24 Jan 2001
Posts: 47

PostPosted: Mon Sep 29, 2003 3:50 pm   

Poss. zMUD bug -- multiple CRs/LFs?
 
Hi there,

For programmability reasons, I want to connect to a secure shell account via zMUD. zMUD, as you know, does not support SSH (Zugg, consider this a veiled feature request please :). The solution I have found is to run a local telnet server, ip-restricted to localhost, and from there use a command-line ssh client to connect to the secure shell.

The current software I am using is the WinXP Services default telnet server, and a port of UNIX OpenSSH. I have also tried Fictional Telnet Daemon and Plink, PuTTY's command line client, in all the combinations. Plink however was not designed for interactive use, and Fictional Telnet Daemon is just dodgy.

If I use, for example, Windows Telnet Client (regular telnet.exe) to connect to localhost, then I can ssh to the server I want PERFECTLY -- no flaws.

With zMUD, there is a problem. I'm not sure if it is occurring in the initial connection (I don't think so, the output looks normal), but rather as soon as I try to SSH. I don't have to be completely into the secure shell, mind, as it starts in the login process -- zMUD is sending multiple "return" characters.

I get something like this:

C:Documents and SettingsJeremy>ssh -l foobar foo.bar.edu

foobar@foo.bar.edu's password:
Permission denied, please try again.
foobar@foo.bar.edu's password:

From just one press of my "enter" key. If I proceed and login to the shell, any time I press return two are sent, it seems. I get double prompts, messed up commands, etc.

Please help!
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Mon Sep 29, 2003 6:34 pm   
 
Do a search for SSH in the forums and you'll find a bunch of discussion. Basically you need to use a wrapper. I can't add SSH directly to zMUD without a lot of licensing and export issues. I haven't see the extra lines like you mention, but you might go into the emulation preferences and turn off the EOR/GA option and see if that helps.
Reply with quote
Craivus
Novice


Joined: 24 Jan 2001
Posts: 47

PostPosted: Mon Sep 29, 2003 9:42 pm   
 
Thanks Zugg, I did just go and take a look at all the posts mentioning SSH. However, they seem to be talking about SSH tunneling, where as I want zMUD to actually log in to the SSH server, as I want to use the SSH server as a proxy. With tunneling, which I did get to work, it seems to still connect as my IP.

I disabled EOR/GA, and in fact most of the options I can find. I have strict telnet enabled, as well as vt100 terminal. However, with windows telnet, i can type

ssh -l foobar foo.bar.edu

and it will give me

foobar's password:

whereas zmud gives me

foobar's password:
Access denied, wrong password.
foo's password:


IE, zmud is sending something extra.

Please help!
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Mon Sep 29, 2003 10:37 pm   
 
You might want to try
#SEND {ssh -l foobar foo.bar.edu}
#SENDPrompt {ssh -l foobar foo.bar.edu}
#SENDP {ssh -l foobar foo.bar.edu};#CR
#SENDP {ssh -l foobar foo.bar.edu%cr}
#SENDP {ssh -l foobar foo.bar.edu%lf}

Hopefully, at least one of those will work.
Reply with quote
Craivus
Novice


Joined: 24 Jan 2001
Posts: 47

PostPosted: Mon Sep 29, 2003 11:27 pm   
 
quote:
Originally posted by LightBulb

You might want to try
#SEND {ssh -l foobar foo.bar.edu}
#SENDPrompt {ssh -l foobar foo.bar.edu}
#SENDP {ssh -l foobar foo.bar.edu};#CR
#SENDP {ssh -l foobar foo.bar.edu%cr}
#SENDP {ssh -l foobar foo.bar.edu%lf}

Hopefully, at least one of those will work.



Hmm, well, ONE of them works... #SENDP {foobar%cr}.

The one with %lf has a bad effect, #sendp by itself does not enter the command, and #SEND and the #SENDP with #CR give the two-line problem I started with.

Any idea what the difference in functionality is between #SENDP {foobar%cr} and #SENDP {foobar};#CR ? Perhaps zMUD's normal CR functionality uses the #CR method and there is a bug in it that doesn't show up with normal usage?

Perhaps #CR actually sends a CR and a LF? Hmm.
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Tue Sep 30, 2003 3:51 am   
 
#CR should send the standard zMUD end-of-line, which apparently is the usual CR/LF combo, and it looks like you need just a CR. I don't know any way to make zMUD do that, other than using #SENDP with a %cr termination, but perhaps someone else will have other ideas now that the problem is identified.
Reply with quote
Craivus
Novice


Joined: 24 Jan 2001
Posts: 47

PostPosted: Tue Sep 30, 2003 4:37 pm   
 
Well, thanks for your help LightBulb! At least now we are closer to finding the issue here!

Does anyone know a way to by default only send a CR?

Zugg, is this even possible with zMUD? I guess those radio buttons, LF and CR, are actually LF and CR/LF? Is there any chance of adding one for just CR?

Any workarounds would be much appreciated!
Reply with quote
Craivus
Novice


Joined: 24 Jan 2001
Posts: 47

PostPosted: Tue Sep 30, 2003 4:55 pm   
 
You know what's weird though, is that the extra blank line is being sent BEFORE the one that works... erm, not sure if that makes much sense, but it's almost as if zMUD is sending some sort of newline sequence BEFORE my text. When I turn off ansi code emulation, I do see something being sent before my text.

You see, by using #sendp with a %cr I managed to get to this:

ssh -l foobar foo.bar.edu
foo.bar.edu has an unknown RSA key, accept and save? (yes/no)

Now, if I type yes and hit enter, it doesn't send yes and then have an extra blank line afterwards. It actually cancels that accept and save because a blank line has been sent to it, which is an invalid response.

This is really confusing me.

Does the windows telnet client only send a CR? It seems like this is some sort of bug, otherwise it would be happening no matter the client, no? It's not as if the system I am using should have any special considerations WRT CR's and LF's, I think...
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Sep 30, 2003 6:45 pm   
 
The Telnet Protocol requires both a CR and LF to terminate a line. If the server is just using CR, then it's not following telnet. The CR/LF options in zMUD are for how zMUD deals with text that is *received*, not sent. zMUD will *always* send both a CR and LF after each line of text and there is not way around that.

You might be able to use %char(13) to embed a single CR in a string.

Also, zMUD sends out telnet option negotiation characters, so you can also try to disable the telnet option preferences to see if that helps.

What is sounds more like to me is that you are logged onto a machine that is just accepting keystrokes and not meant to be connected via telnet. If the program you are running is expecting a single CR when you press the Enter key, like you are running locally on that computer, then you might have a problem. You can put zMUD into Charater mode and then when the MUD window has the focus (instead of the command line), the Enter key should just send a single CR to the MUD. So, you can try that also.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net