Jump to content

[PATCH][8886] Add username/password prompts to Remote Admin


Guest HipToday

Recommended Posts

What features does the patch add?

Adds username and password prompts to Remote Admin Console if Ra.Interactive, a new configuration option, is set to 1. If Ra.Interactive is missing from mangos.conf or is set to 0, RA functions exactly as it did before.

For which repository revision was the patch created?

8870

Is there a thread in the bug report section or at lighthouse?

No.

Who has been writing this patch?

- Me (HipToday <nick [at] nicktempleton.com>)

Diff: http://paste2.org/p/531006

Link to comment
Share on other sites

  • 2 weeks later...
this must be

1) admin account

2) raw (not telnet) connection. telnet connection send additional data that not skipped by ra code.

In same way it work and before in fact.

Ofc, this can be improved, but only some one will intrested in fixing this. Not bug, but limitation.

Ok it works with raw. :)

Link to comment
Share on other sites

2) raw (not telnet) connection. telnet connection send additional data that not skipped by ra code.

What data? Telnet doesn't send any additional data. It uses a standard TCP 3-way-handshake and then simply sends data in TCP payload. Unlike HTTP, FTP, SSH, ..., it has absolutely no protocol header, just data. What can be more "raw"? No TCP header? No IP header? No link-layer (ethernet) header?

Link to comment
Share on other sites

Resolved with Vlad on IRC - telnet specification (and most implementations) really doesn't specify and header or "garbage", thus most telnet clients (including MS telnet in winXP) should work with mangos RA.

The problem is purely in Putty client. Putty v0.60 doesn't have configurable telnet port (well, it has, it just uses hardcoded 23 anyway, so I was unable to test anything with it), Puttytel allowed me to specify a custom port, but it added a 21-byte garbage before the first user-specified data (in a separate packet), thus effectively breaking any strict server-side data parsing mechanisms (based on raw TCP payload parsing).

0030                    ff fb  1f ff fb 20 ff fb 18 ff         .. ... ....
0040  fb 27 ff fd 01 ff fb 03  ff fd 03                  .'...... ...

This bunch of data was sent only once per connection.

The garbage above contain telnet options. Putty's "telnet" mode assumes a running telnetd server and sends terminal info data and some other things to the telnet server. Nearly all other telnet clients allow to send those options "on live" via a control sequence, but none of them sends them automatically (unless specified in a config file), thus being able to send/receive raw TCP payload data.

Putty's "raw" mode doesn't send anything automatically, so that one should be used, BSD/linux telnet implementations should work fine by default, MS winXP telnet works as well. Any other TCP client can be in fact used (netcat, ...).

Link to comment
Share on other sites

Resolved with Vlad on IRC - telnet specification (and most implementations) really doesn't specify and header or "garbage", thus most telnet clients (including MS telnet in winXP) should work with mangos RA.

The problem is purely in Putty client. Putty v0.60 doesn't have configurable telnet port (well, it has, it just uses hardcoded 23 anyway, so I was unable to test anything with it), Puttytel allowed me to specify a custom port, but it added a 21-byte garbage before the first user-specified data (in a separate packet), thus effectively breaking any strict server-side data parsing mechanisms (based on raw TCP payload parsing).

0030                    ff fb  1f ff fb 20 ff fb 18 ff         .. ... ....
0040  fb 27 ff fd 01 ff fb 03  ff fd 03                  .'...... ...

This bunch of data was sent only once per connection.

The garbage above contain telnet options. Putty's "telnet" mode assumes a running telnetd server and sends terminal info data and some other things to the telnet server. Nearly all other telnet clients allow to send those options "on live" via a control sequence, but none of them sends them automatically (unless specified in a config file), thus being able to send/receive raw TCP payload data.

Putty's "raw" mode doesn't send anything automatically, so that one should be used, BSD/linux telnet implementations should work fine by default, MS winXP telnet works as well. Any other TCP client can be in fact used (netcat, ...).

Interesting. Thanks for the explanation. I never actually tried connecting via PuTTY (I only use OpenBSD's telnet client to connect to RA on localhost), but this is good to know.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use