Bugs item #482056, was opened at 2001-11-15 04:00
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=103152&aid=482056&group_id=3152
Category: Scripting: Other
Group: aolserver3_3_1
Status: Open
Resolution: None
Priority: 5
Submitted By: Pol Ouilapan (polawat)
Assigned to: Nobody/Anonymous (nobody)
Summary: tcl script can shutdown server
Initial Comment:
A .tcl file containing only the word 'exit' in it can
shutdown the server.
If you put this file anywhere under your web site root
directory and access it with your web browser,
AOLServer will go down.
Is this a hole in the system or is it a mis-
configuration issue?
I'm using AOLserver/3.3.1+ad13.
----------------------------------------------------------------------
>Comment By: Dossy Shiobara (dossy)
Date: 2001-11-15 11:38
Message:
Logged In: YES
user_id=21885
Changing the behavior of exit in nsd core would
be a big disservice. The formation of my AOLserver
testing framework relies on it. ;-)
If you want to avoid people accidentally shutting
your AOLserver down by invoking "exit" by accident,
do this:
cat >>modules/tcl/init.tcl <<-EOF
rename exit _real_exit
EOF
If you want to prevent exit from being invoked
at all, do this:
cat >>modules/tcl/init.tcl <<-EOF
rename exit {}
EOF
IMHO, this is the best solution to this problem.
For people who run public servers, they can "disable"
the exit proc using the second approach. For people
(such as myself) who NEED the exit proc, either the
first approach, or not changing anything at all,
accomodates them.
If what I've suggested here is a reasonable solution,
I think we should close this ticket.
-- Dossy
----------------------------------------------------------------------
Comment By: Scott Goodwin (scottg)
Date: 2001-11-15 08:32
Message:
Logged In: YES
user_id=37651
The last comment posted here wasn't all that helpful; I
think it tends to turn people away from this server and the
community.
Anyway, I pointed out this problem about a year ago in the
nscp module. When I typed 'exit' to close the telnet
session to nscp, the server would shutdown. That was
happening because the Tcl interp that nscp was using did
what I told it -- exited, which took the server with it.
The solution was to create a new exit command that either
did a Ctrl-D for you (which was the proper way to exit
nscp) or a No-Op (I forget which way it was implemented).
I don't think this is really a bug, as you're not supposed
to explicitly exit a Tcl script running in AOLserver.
However, I think it should be fairly easy to replace the
exit command with code that does a No-Op or calls the
normal "close my connection" code.
Thanks for submitting this report,
/s.
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2001-11-15 08:12
Message:
Logged In: NO
"Doctor, it hurts when I do this!"
"Don't do that."
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=103152&aid=482056&group_id=3152