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

Attachment: signature.asc
Description: Digital signature

Reply via email to