[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: story - part 3



On Wed, 11 Aug 1999, Mikolaj J. Habryn wrote:

> >>>>> "k" == kiewicz  <Arkadiusz> writes:
> 
>     k> Now I have massive "OP_CLOSE" message:
> 
>   It's harmless - comment it out :)
ok ;-) (I don't like fast growing logs)

more things:
1)

You wroted few days ago:
>  New feature: 'directory "/etc/rlinetd.conf" "[^~]$";'
>  ie, you supply a regexp to filter the files with. So presumably a RH
>  dist would do 'directory "..." "!(rpmorig$|rpmsave$)";' or something
>  like that.

I tried to create rule for filter out files *~, *.rpmorig, *.rpmsave, .*rpmnew
without results ;-( ("!(rpmorig$|rpmsave$)" is bad rule. There should be AND
not OR)

I don't know with rule will work properly :-( Also (perl) regexp
specification doesn't say nothing about AND (there is only OR = "|"),
so it's (IMHO) impossible to create proper rule.

Maybe second parametr for directory should be regexp to filter files with
aren't configuration files (and we want filter out these files) ...
In this case regexp rule should looks like this ".*(~|.rpmsave|.rpmorig|.rpmnew)$".


2) directories in directory specified in config file (ie /etc/rlinetd.d/) 
should be ignored. For example I had:
drwx------    3 http     http         1024 sie 10 22:10 /etc/rlinetd.d/CVSROOT.OK

and:

10671 open("/etc/rlinetd.d/CVSROOT.OK", O_RDONLY) = 0
10671 ioctl(0, TCGETS, 0xbffff2d4)      = -1 ENOTTY (Inappropriate ioctl for
device)
10671 read(0, 0x804e3e8, 8192)          = -1 EISDIR (Is a directory)
10671 write(2, "input in flex scanner failed\n", 29) = -1 ENOTCONN (Transport
endpoint is not connected)
10671 _exit(2)                          = ?

Futhermore rlinetd didn't say/log nothing about this !!!!!! just quietly exit()ed.

3) In logs I saw:
Aug 10 22:27:08 linstar rlinetd[10981]: rlinetd configuration (re)loaded, -32 bytes used

funny :-) How it can use negative size of memory ?!

4) If getaddrinfo() is available in system library configure shouldn't check
for libinet6.a (because it's linking with libinet6.a even if we compile on
new glibc system).


5)
                        case OP_EXEC:
                                closelog();
                         	[...] 
                                if(execve(str, argv->argv, NULL) < 0) {
                                        rl_warn("execve(%s): %s", str,
strerror(errno));
                                        exit(EX_DATAERR);
                                }
                                break;

rl_warn() tries to send some messages to syslog but file descriptor was closed
(closelog()) before so it can't send this message to syslogd (am I right ?)

6)
misiek@linstar docs$ telnet linstar cvspserver
Trying 3ffe:902:12::10.2401...
Connected to linstar.ipv6.zsz2.starachowice.pl.
Escape character is '^]'.
/usr/bin/cvs: error in loading shared libraries: libc.so.6: cannot open shared
object file: No such file or directory
Connection closed by foreign host.
misiek@linstar docs$

Is there C function to test if all libraries needed to run  specified
program are available ? If such function exist
then will be nice if rlinetd will test this (I suppose that such function
doesn't exist but for example error handling in chroot program from sh-utils
package is working ! - I don't know how because I don't have sh-utils sources here).

7) Support for socket type (raw, seqpacket) will be implemented in rlinetd ?
(inetd && xinetd have this). Also access_times, env and passenv options in xinetd
is interesting ;-)

Next part of test results when will be new snapshot (as usualy).

ps. I hope that you don't have enough of my reports 8-)
ps2. don't CC: to me ... I'm subscribed to this list.
-- 
arkadiusz miśkiewicz        [misiek@misiek.eu.org]
[P]olish [L]inux [D]istribution with IPv6 support
http://www.ipv6.pld.org.pl/ http://www.pld.org.pl/