Package: termnet Version: 3.3-6 Severity: normal Pasting a chunk of code like the following into termnet crashes it:
if [ -n "$olddev" ] && [ -n "$newdev" ] && \
[ "$olddev" != "$newdev" ]; then
echo "Replacing $olddev with $newdev in /etc/fstab .."
mount -o remount,rw /
sed -i -e "s!^$olddev!$newdev!" /etc/fstab
mount -o remount,ro /
fi
The limit seems to be around this many characters or lines, anything this big
or bigger crashes it. Looks like this:
#<27>Mar 20 17:00:48 termnetd[11494]: telnetd():Error Writing to network:Bad
file descriptor<30>Mar 20 17:00:48 termnetd[11494]: telnetd():Shutting down
proccessIllegal seek:Connection Closed
zsh: exit 1 termnet slug 3000
The termnet server I'm connecting to is a Debian arm box running
termnetd 3.3-4 and with a USB serial converter. The following appears in
the logs there the next time I connect to it with termnet:
Mar 20 17:05:32 slug termnetd[4017]: chekDevc():Testing Entries 11496, 0
Mar 20 17:05:37 slug termnetd[4017]: chekDevc():Testing Entries 11496, 0
Mar 20 17:05:37 slug termnetd[4017]: chekDevc():Pid 11496 dead!
Mar 20 17:05:37 slug termnetd[4017]: lockDevc():Enter
Mar 20 17:05:37 slug termnetd[4017]: isLocked():Enter
Mar 20 17:05:37 slug termnetd[4017]: isLocked():Exit(0)
Mar 20 17:05:37 slug termnetd[4017]: lockDevc():Device /dev/ttyUSB0 not locked
Mar 20 17:05:37 slug termnetd[4017]: lockDevc():Allocating Lock struct
Mar 20 17:05:37 slug termnetd[4017]: lockDevc():Locking Device /dev/ttyUSB0
Mar 20 17:05:37 slug termnetd[4017]: lockDevc(0):Exit
When I strace the termnetd process, I get this:
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
select(1024, [0 3 4 6], NULL, [0], NULL) = 2 (in [0 6])
read(0, "i\r", 256) = 2
write(7, "i", 1) = 1
write(7, "\r", 1) = 1
read(6, "if [ -n \"$olddev\" ] && [ -n \"$ne"..., 256) = 256
write(3, "if [ -n \"$olddev\" ] && [ -n \"$ne"..., 256) = 256
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
select(1024, [0 3 4 6], NULL, [0], NULL) = 2 (in [3 6])
read(3, "if [ -n \"$ol", 255) = 12
write(-1, "if [ -n \"$ol", 12) = -1 EBADF (Bad file descriptor)
time([1142874381]) = 1142874381
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
getpid() = 11572
send(0, "<27>Mar 20 17:06:21 termnetd[115"..., 91, MSG_NOSIGNAL) = 91
time([1142874381]) = 1142874381
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
getpid() = 11572
send(0, "<30>Mar 20 17:06:21 termnetd[115"..., 69, MSG_NOSIGNAL) = 69
close(3) = 0
munmap(0x4001c000, 4096) = 0
close(3) = -1 EBADF (Bad file descriptor)
close(0) = 0
munmap(0x4001b000, 4096) = 0
io_submit(0, 0, {}Process 11572 detached
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15-1-686
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages termnet depends on:
ii libc6 2.3.6-3 GNU C Library: Shared libraries an
termnet recommends no packages.
-- no debconf information
--
see shy jo
signature.asc
Description: Digital signature

