TIP: Click on subject to list as thread! ANSI
echo: muffin
to: Wes Garland
from: Bob Jones
date: 2003-05-26 10:09:32
subject: Maximus at UNIX

WG> Good show, Bo!

Thanks!

Time to scrap my plans for how to transition the code....

Do you need access to the source forge archives for checking in your code changes?  

Anything else?

I don't have as much time as I'd like to work on this but I do want to
support the porting effort.  I'd also like to see the software continue to
run in an OS/2 environment.....

 WG> But I was hoping to be the first to make the 
 WG> announcement, looks like you beat me to it. :):)

 WG> Updates
 WG> - Bo an Andrew have contributed changes to the project 
 WG> which allow building under FreeBSD and modern Linux 
 WG> (thanks, guys!)

Good....

 WG> - There is a new telnet communications library 
 WG> available, which should allow the board to accept 
 WG> multiple inbound telnet connections. Real telnet, not 
 WG> raw sockets like the initial version. It is a limited 
 WG> implementation, however, so might not work with some 
 WG> clients (I need to know if you find one that breaks 
 WG> it). Pressing ESC after connecting to the BBS will kick max in gear. 

Ok....  Are you running telnet sessions 8 bit clear?  If not, the file
upload / download options won't work.  If yes, I believe there are some
issues with calling it "telnet", but I don't think the TCP/IP
backbone has any systems left that don't know how to handle 8 bit clear
telnet....  Look out for (old) DEC 10's and 20's and PDP-11's, etc.....

 WG> Trickery: The telnet code will fork and exit after 
 WG> closing the listening socket and accepting the inbound 
 WG> connection. So you need something to start max back up 
 WG> again. /etc/inittab is one way, but if max is taking a 
 WG> high client load, init might shut it down. Look for a 
 WG> script to do this at the end of this post.

Do you allow Max to "exit" or "spawn" a shell to
process stuff, such as outbound echo mail?  Just curious how you handle
that option at the end of the Maximus session.

 WG> - -n (node number) command line option accepts zero as 
 WG> a value. If it is zero,
 WG> it will "dynamically" choose a node number from 1-255,
based on semaphores
 WG> in /tmp.  This is highly suggested for use with the telnet module.

Good!

 WG> - Along with the telnet module comes a new raw sockets 
 WG> module (same file, actually -- just no -DTELNET. Should 
 WG> behave the same as the old one, but the code is cleaner 
 WG> and better commented. OH! That reminds me! The Makefile 
 WG> in comdll didn't make it into the diff. Look at the end 
 WG> of this post to see how to build the telnet module.

 WG> - I have put a symbolic link to my actual "work tree" 
 WG> at http://wes.zapto.org/~wes/maximus/development_tree. 
 WG> If you wanted to be absolutely bleeding-edge in terms 
 WG> of changes, you could mirror it. I save my work every five minutes or so. 

 WG> - I have made some minor changes so that curses won't 
 WG> core max if the stdscr vanishes. 

Sounds like you got the VT-100 specific code "fixed".....

 WG> You can grab the tar file (unpack it in your source 
 WG> tree) at http://wes.zapto.org/~wes/maximus/max-unix-
 WG> 3.03a-path1.tar.gz.

Guess I need to stop by and see if I can bring this up on my Linux box.  
Unfortunately, it will have to wait for when I have time....  :(

 WG> I have not integrated any of Bo's or Andrew's changes 
 WG> to my tree yet (that will be -3.03b), but this patch is 
 WG> only 6 or 8 files so it should be relatively easy to 
 WG> apply.

 WG> Here is the make file for comdll (remember, 8spc = tab):
 WG> WHICH=telnet
 WG>  
 WG> include ../vars.mk
 WG>  
 WG> ifeq ($(WHICH),telnet)
 WG> libcomm.so: telnetcomm.o
 WG> else
 WG> libcomm.so: rawcomm.o
 WG> endif
 WG>         gcc -shared $^ -o ${at}
 WG>  
 WG> install: libcomm.so
 WG>         cp -f $^ /var/max/lib
 WG>  
 WG> telnetcomm.o: rawcomm.c
 WG>         $(CC) $(CFLAGS) $(CPPFLAGS) -DTELNET -c $^ -o ${at}

 WG> Here is the script I use for running max right now (port 2000):
 WG> #! /bin/bash
 WG> #
 WG> # $Id:$
 WG> #
 WG> # $Log:$
 WG> #
 WG> # {at}file         runbbs.sh
 WG> # {at}author       Wes Garland
 WG> # {at}date         May 25 2003
 WG> # {at}description  A helpful script for running Maximus under 
 WG> #               UNIX. Ideal for init:respawn monitoring.
 WG> #
 WG>  
 WG> PREFIX=/var/max
 WG>  
 WG> MAXIMUS="${PREFIX}/etc/max.prm"
 WG> PATH="${PATH}:/${PREFIX}/bin"
 WG> minDynNode=3
 WG>  
 WG> cd ${PREFIX}
 WG>  
 WG> while /bin/true
 WG> do
 WG>   [ -f "${PREFIX}/die.now" ] && break
 WG>   bin/max -w -b38400 -n0 -p2000
 WG>   sleep 1
 WG> done

 WG> Here is how I start that script from /etc/inittab:
 WG> mx:234:respawn:/bin/su - bbs -c "cd /var/max &&
bin/runbbs.sh"

Thanks for the work and info!  You finally have pulled something together. 
I tried to a few months back but didn't get anyone who was interested.  If
you need some help, let me know.  If you need access to the source forge
site to implement a Unix branch (that we can later merge into a common code
branch) let me know and I'll get Scott to give you the needed access.

Thanks!

Bob Jones, 1:343/41


--- Maximus/2 3.01
* Origin: Top Hat 2 BBS (1:343/41)
SEEN-BY: 633/267 270
@PATH: 343/41 10/345 106/1 2000 633/267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.