• Please review our updated Terms and Rules here

Next mTCP release (2012) - wish lists and ideas?

mbbrutman

Associate Cat Herder
Staff member
Joined
May 3, 2003
Messages
6,420
I am looking for wish lists items, bug reports, and ideas for the next release of mTCP.

The current version is about six months old now. I haven't had too many bug reports so there has not been a great need to update it. That is also the release that FreeDOS 1.1 chose to use, so it has seen quite a wide distribution. (Close to 1,000 downloads were recorded at the hosting site, and that doesn't count the FreeDOS users.)

The following things are going into the next release already:

  • Xmodem and Ymodem file transfers through Telnet
  • Misc telnet fixes (new line handling, telnet binary mode, etc.)
  • Reduced FTP server memory utilization (30 to 40kb)
  • A minor PING fix (the outgoing packet length was too long)
  • Additional documentation: a detailed guide to using PPP over serial (including setting up the Linux gateway)


Here is what might happen depending on how much effort I can put in:

  • A first pass at a Gopher client. (Started, but not usable yet)
  • LPR (remote printing to network printers using Unix/Linux LPR queues)
  • A "setup" style program for configuring the mTCP configuration file
  • A diagnostics program to look for packet drivers in memory and report their details (Started)
  • Library routines and a sample program to send email using SMTP
  • TCP library - implement Karne's algorithm for timeout and retransmitting packets


If you have an idea let me know. I can't get to everything, but if the idea is good it will definitely get priority. Small tweaks to the existing code are always possible to.


-Mike
 
I would like to see an option to tell FTP Server to ignore Floppy drives. The current config is OK, but it slows down the startup as it polls the floppy drives to see if there's a disk in them. My workaround is to call ftpsrv from a bat file which first subst's the floppy drives to a folder on the hard drive.

Great work so far Mike! I'm glad you're continuing to work on this to make it even better. Maybe you could work on a small DOS based WEB browser like BOBCAT? Bobcat works on my Hot Rodded 5155, but is slow and runs out of memory frequently.
 
I would like to see an option to tell FTP Server to ignore Floppy drives. The current config is OK, but it slows down the startup as it polls the floppy drives to see if there's a disk in them. My workaround is to call ftpsrv from a bat file which first subst's the floppy drives to a folder on the hard drive.

Great work so far Mike! I'm glad you're continuing to work on this to make it even better. Maybe you could work on a small DOS based WEB browser like BOBCAT? Bobcat works on my Hot Rodded 5155, but is slow and runs out of memory frequently.

as much as i would love to see a better browser for DOS, i've given up hope of ever being able to browse the web in any practical manner on an 8088. your out of memory problems could be fixed by using the graphical browser Arachne since it does disk swapping, but it is brutally slow on an 8088. it's even slow on a 486 really. the web is getting heavier and heavier on system requirements too.

plus, writing an HTML rendering engine (even a text-mode one) is a hell of a task. i doubt mike would have the time or inclination to do it. :(
 
.... your out of memory problems could be fixed by using the graphical browser Arachne since it does disk swapping, but it is brutally slow on an 8088.

I have not been able to get Arachne running on my 5155. Do you have a version that will run on a V20 or 286 (HotShot 286) with a math coprocessor?
 
as much as i would love to see a better browser for DOS, i've given up hope of ever being able to browse the web in any practical manner on an 8088. your out of memory problems could be fixed by using the graphical browser Arachne since it does disk swapping, but it is brutally slow on an 8088. it's even slow on a 486 really. the web is getting heavier and heavier on system requirements too.

plus, writing an HTML rendering engine (even a text-mode one) is a hell of a task. i doubt mike would have the time or inclination to do it. :(


A browser is never going to happen. ;-0

Back in the days of simple HTML is was possible. But we know that people expect inline images (larges ones too), tables, cascading style sheets, and javascript. Forget the resource limitations - you can't rewrite the world, and you have to because a lot of the libraries that would be needed are not ported or available to DOS. So even on a large machine with available resources, you still wind up porting a helluva lot of libraries. Dillo is about as good as it is going to get, and that requires a machine far better than I usually target.

Gopher is far better matched to low end machines. I started on a client and it can connect to servers. Displaying text files from servers is relatively easy; decoding images is going to be tougher. We need a resurgence of Gopher for our low end machines! : - )
 
I would like to see an option to tell FTP Server to ignore Floppy drives. The current config is OK, but it slows down the startup as it polls the floppy drives to see if there's a disk in them. My workaround is to call ftpsrv from a bat file which first subst's the floppy drives to a folder on the hard drive.

Great work so far Mike! I'm glad you're continuing to work on this to make it even better. Maybe you could work on a small DOS based WEB browser like BOBCAT? Bobcat works on my Hot Rodded 5155, but is slow and runs out of memory frequently.


I'm glad you are enjoying the code. An option to ignore floppy drives would be easy. And that is far more likely to get in than long file names, which have also been requested but are problematic when trying to support them as far back as DOS 2.1.

I don't bother web browsing on an 8088. That is too disappointing - it is not meant to be. Take a look at Gopher ... it is far more appropriate for low-spec machines.
 
I don't bother web browsing on an 8088. That is too disappointing
Yup, that's pretty much where I'm at. I know it's been talked about before, but it would be cool to be able to post here from my 5155.
 
Thanks Mike, I got version 1.66 going. You're right, painfully slow. Maybe if a Proxy could be set up on a more modern machine that would filter out all the un needed junk and send the text and links along to the dos machine.

thats a pretty good idea actually. perhaps a similar filter could even be built right into arachne, it is open source after all.
 
perhaps a similar filter could even be built right into arachne, it is open source after all.
If the filter were on a Proxy machine, it would mean less overhead for the DOS machine to worry about. Where as if it were running on the DOS machine, I think performance would suffer on slower machines like my 5155. Some would call it cheating to use a modern PC as a proxy to surf the web with an old machine. I call it a "Work Around"!
 
Is Secure SHell, Remote/Secure CoPy, or Secure FTP a possibility? If not, is it possible to cascade mTCP with a server implementing OpenSSL before sending it off to the destination?

I ask because my university switched the student Solaris server- where I store some DOS files- to SSH/SFTP, with telnet/FTP allowed only through a VPN.
 
SSH, sFTP and the other encrypted protocols are not going to happen anytime soon.

The SSL layer (secure sockets) brings with it a lot of extra code to manage certificates and to do the secure negotiation. Other operating systems can usually get this function easily enough by porting the library, but in many cases the needed library doesn't exist or there is only an ancient version of it that is no longer up to date. It starts to get like 'boiling the ocean'. There is an SSH for DOS already; you might want to look at that.

The second problem is CPU power. I like to ensure that mTCP apps can run on old machines. Sending keystrokes over a secure connection is probably not going to hurt the machine. AES eight bytes at a time can be done with pencil and paper. ; - 0 But doing large data transfers would hurt. At some point you just have to let go and use the more modern tools.

(Keep an embedded/small Linux box around that you can secretly telnet and FTP into.)
 
I'm having issues with the telnet client and text formatting on my screen when I connect to sdf.org -- the text gets randomly indented/tabbed all over the screen, making things kind of unreadable.

I'm using a 5150 w/CGA and I've messed around with -sessiontype <telnet|raw>, local echoing, and automatic wrapping, but with no luck. :(
 
I test against sdf.org - I've not seen the random tabbing problem, but I know about the carriage return/linefeed handling problem. I think I have that fixed.

Try this version and let me know how it works:

http://www.brutman.com/mTCP/telnet.exe

If you have TELNET_SEND_NEWLINE in your configuration file set it to AUTO, or remove it entirely before you run.



Mike
 
I didn't toggle anything. I fixed the code. ;-0

The Telnet spec is very unclear on newline handling. A newline is supposed to be a CR and LF pair. But that is referring to what a server considers to be a newline. For a terminal or TTY the rule looks to be different - they just send CR/NUL because it is an honest to goodness "Carriage Return", and the interpretation of it as a newline comes later in the process.

Of course I was thinking that pressing return on the terminal or TTY was a newline, and I was sending CR/LF. The spec is unclear, which is why there are so many implementations.


Mike
 
Is there currently a way to use this with some sort of FOSSIL driver? I wanted to setup a BBS sometime this summer, and was hoping to use Renegade. :D

Guess I could use NetFoss but would love to actually run it off a vintage system, not a newer windows based machine. Would love to use the Dell 386 I purchased off Chrome for the task, but I cant find any real info on how to do this in Dos.

Also, does this driver support more then 1 card at a time? Could I run 3 network cards simultaneously/concurrently? Idea of a multi node BBS has me drooling atm!
 
Last edited:
I'm sorry, the question doesn't make any sense to me.

All of the mTCP code is based on TCP/IP over Ethernet. (SLIP and PPP are possible with some slight trickery, but the code still is made to think it is using Ethernet.)

The "driver" that lets mTCP use multiple Ethernet cards is called a packet driver. FOSSIL is a similar concept, but for serial ports, not Ethernet.

When you run an mTCP program you tell it which packet driver to talk to. If you had more than one Ethernet card installed, you could have different programs talking to different cards. (Assuming you have a solution for DOS not being able to multitask well.)
 
Back
Top