Cgi interface and mysql module problems with rt-1.0.7

Problem #1:

During the ‘make test’ phase of the installation of the
Msql-Mysql-modules-1.2215 (and subsequently Msql-Mysql-modules-1.2216 in
hopes of finding a solution in a more current version) I get this (when I
try to test either version):

— snip —
dweir(root)@scienide[70]% make test
PERL_DL_NONLAZY=1 /.software/local/.admin/bins/bin/perl
-I…/blib/arch -I…/blib/lib -I/software/perl-5.005/lib/arch/5.005
-I/software/perl-5.005/lib -e ‘use Test::Harness qw(&runtests $verbose);
$verbose=0; runtests @ARGV;’ t/*.t
t/00base…ok
t/10dsnlist…ok
t/20createdrop…ok
t/30insertfetch…ok
t/40bindparam…ok
t/40blobs…ok
t/40listfields…ok
t/40nulls…ok
t/40numrows…ok
t/50chopblanks…ok
t/50commit…ok, 14/30 subtests skipped
t/60leaks…skipping test on this platform
t/ak-dbd…ok
t/akmisc…FAILED test 44
Failed 1/351 tests, 99.72% okay
t/dbdadmin…ok
t/mysql…FAILED test 23
Failed 1/68 tests, 98.53% okay
t/mysql2…ok
Failed Test Status Wstat Total Fail Failed List of failed
t/akmisc.t 351 1 0.28% 44
t/mysql.t 68 1 1.47% 23
1 test skipped, plus 14 subtests skipped.
Failed 2/17 test scripts, 88.24% okay. 2/746 subtests failed, 99.73% okay.
*** Error code 2 (bu21)
*** Error code 1 (bu21)
— snip —

Ok - so I looked at the specific tests one at a time:

— snip —
dweir(root)@scienide[76]% perl mysql.t
1…68
ok 1
ok 2
ok 3
Writing some test records.
ok 4
ok 5
Checking numfields.
ok 6
Checking table.
ok 7
ok 8
Checking type.
ok 9
Checking number of rows.
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
not ok 23
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34
ok 35
ok 36
ok 37
ok 38
ok 39
ok 40
ok 41
ok 42
ok 43
ok 44
ok 45
ok 46
ok 47
ok 48
ok 49
ok 50
ok 51
ok 52
ok 53
ok 54
ok 55
ok 56
ok 57
ok 58
ok 59
ok 60
ok 61
ok 62
ok 63
ok 64
ok 65
ok 66
ok 67
ok 68
— snip —

and the other one:

— snip —
dweir(root)@scienide[77]% perl akmisc.t
Verifying whether fetchrow returns TRUE for results.
1…351
First connect to server
ok 1
ok 2
ok 3
Trying two argument connect
ok 4
ok 5
Undefined subroutine &main::TableDefinition called at akmisc.t line 171.
— snip —

Something is definitely amiss, but since I can manipulate the rt tables in
the mysql database using the CLI utilities it can’t be all that fatal of a
problem, if somebody knows of what might be wrong here I’d welcome your
input. FWIW - I’m a MySQL neophyte so chances are my inexperience may be
the monkeywrench in the gears.

Problem #2:

Whenever I go to the web interface http://localhost/rt/webrt.cgi or
admin-webrt.cgi I get the flashy screen with the dialogue boxes.
Depending on whether I’m using a UNIXified netscape port (HTTP_USER_AGENT
= Mozilla/4.51C-SGI [en] (X11; I; IRIX64 6.5 IP27) or IE 5.5
(HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) I
get two vastly different results whenever I fill out the fields and then
click on login.

With UNIXified netscape I get:

— snip —
Not Found

The requested URL /rt/webrt.cgi was not found on this server.
— snip —

And a not-so-helpful message in the httpd error_log saying:
[Wed Apr 18 11:23:18 2001] [error] [client 129.97.80.205] script not found
or unable to stat: /usr/local/rt/bin/cgi/webrt.cgi

or

[Wed Apr 18 11:28:59 2001] [error] [client 129.97.80.205] script not found
or unable to stat: /usr/local/rt/bin/cgi/admin-webrt.cgi

These files DO exist in that location… so it must not be able to ‘stat’
them whatever that means. Here is the skinny on these files (ls -alF):

—s–x–x 3 rt sys 29304 Apr 17 23:04 webrt.cgi*
—s–x–x 3 rt sys 29304 Apr 17 23:04 admin-webrt.cgi*

With IE 5.5 I get the flashy login screen back again with the fields
cleared. If I click on the ‘send cookies to all scripts’ checkbox I get
the same thing… the login screen comes back with all the fields empty.
No error messages in the httpd error_log file either. (Lynx gets this
kind of treatment too - no errors and the login screen returns).

Needless to say I’m confused.

We are running:

uname -a
IRIX64 scienide 6.5 04151556 IP27

perl -V
Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
Platform:
osname=irix, osvers=6.5, archname=IP32-irix-thread
uname=‘irix irix65 6.5 07271714 ip32 ’
hint=previous, useposix=true, d_sigaction=define
usethreads=define useperlio=undef d_sfio=undef
Compiler:
cc=‘cc -n32’, optimize=’-O3’, gccversion=
cppflags=‘-I/software/db-2.6.4/include -D_BSD_TYPES -D_BSD_TIME
-OPT:Olimit=0:space=ON -I/usr/local/include -DLANGUAGE_C’
ccflags =‘-I/software/db-2.6.4/include -D_BSD_TYPES -D_BSD_TIME -woff
1009,1110,1184 -OPT:Olimit=0:space=ON -I/usr/local/include -DLANGUAGE_C’
stdchar=‘unsigned char’, d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
alignbytes=8, usemymalloc=n, prototype=define
Linker and Libraries:
ld=‘cc -n32’, ldflags =’ -L/usr/local/lib32 -L/usr/local/lib’
libpth=/usr/local/lib /usr/lib32 /lib32 /lib /usr/lib
libs=-lm -lpthread
libc=/usr/lib32/libc.so, so=so, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=’ ’
cccdlflags=’ ‘, lddlflags=’-n32 -shared -L/usr/local/lib32
-L/usr/local/lib’

Characteristics of this binary (from libperl):
Built under irix
Compiled at Aug 11 1999 08:26:32
@INC:
/software/perl-5.005/lib/arch/5.005
/software/perl-5.005/lib
/software/perl-5.005/lib/site_perl/arch
/software/perl-5.005/lib/site_perl
.

mysql -V
mysql Ver 9.38 Distrib 3.22.32, for sgi-irix6.5 (mips)

Others:
CGI.pm-2.753
DBI-1.15
Digest-MD5-2.13
Msql-Mysql-modules-1.2216
apache_1.3.19
rt-1.0.7

Luckily I got RT 1.0.7 to install on another machine RH6.0 and it works
great… now if I can only get this machine to follow suit…

Any help would be greatly appreciated.

Douglas Weir dweir@theochem.uwaterloo.ca
Chemical Physics Dept. Earth-Science & Chemistry 330A
University Of Waterloo (519) 888-4567 x6110
ANTI-SPAM Policy: Only mail addressed “To:” dweir (this excludes all of
‘undisclosed recipients’/Cc/Bcc/etc) and certain pre-authorised mailing
lists will survive the spam filtering process.

Ah ha! Ok a little more digging has unearthed an interesting problem with
the suid_wrapper program. It seems that somewhere within its bowels it is
appending (one or more) unprintable characters to program name that is
wrapped around. A raw ascii dump of the httpd error_log files actually
shows this:

— snip —
[Wed Apr 18 23:45:25 2001] [error] [client 24.11.26.176] script not
found or unable to stat: /usr/local/rt/bin/cgi/webrt.cgi^A
[Thu Apr 19 00:03:10 2001] [error] [client 24.11.26.176] script not
found or unable to stat: /usr/local/rt/bin/cgi/admin-webrt.cgi^A
[Thu Apr 19 00:03:35 2001] [error] [client 24.11.26.176] script not
found or unable to stat: /usr/local/rt/bin/cgi/admin-webrt.cgi^A
— snip —

Jesse, any idea where in these unprintable characters may be coming from ?

I’ve tried compiling with CC=gcc and CC=cc but get the same result.

Thanks in advance

weirD

Douglas Weir dweir@theochem.uwaterloo.ca
Chemical Physics Dept. Earth-Science & Chemistry 330A
University Of Waterloo (519) 888-4567 x6110
ANTI-SPAM Policy: Only mail addressed “To:” dweir (this excludes all of
‘undisclosed recipients’/Cc/Bcc/etc) and certain pre-authorised mailing
lists will survive the spam filtering process.

These files DO exist in that location… so it must not be able to ‘stat’
them whatever that means.

stat is a Unix system call, to get the “status” of a file. Under
Linux, there’s a command line interface to the call, I don’t know if there
is under IRIX.

Here is the skinny on these files (ls -alF):

—s–x–x 3 rt sys 29304 Apr 17 23:04 webrt.cgi*
—s–x–x 3 rt sys 29304 Apr 17 23:04 admin-webrt.cgi*

I’m guessing this is the problem–AFAIK, script files have to be readable
in order to be executable, and these aren’t readable.

IIRC, there’s a FAQ or something in the other documentation for RT that
describes a command to check and fix the ownership and permissions on your
RT install. Take a look for that.

–Joe

These files DO exist in that location… so it must not be able to ‘stat’
them whatever that means.

stat is a Unix system call, to get the “status” of a file. Under
Linux, there’s a command line interface to the call, I don’t know if there
is under IRIX.

So far, so good.

Here is the skinny on these files (ls -alF):

—s–x–x 3 rt sys 29304 Apr 17 23:04 webrt.cgi*
—s–x–x 3 rt sys 29304 Apr 17 23:04 admin-webrt.cgi*

I’m guessing this is the problem–AFAIK, script files have to be readable
in order to be executable, and these aren’t readable.

IIRC, there’s a FAQ or something in the other documentation for RT that
describes a command to check and fix the ownership and permissions on your
RT install. Take a look for that.

Please ignore my comments here–apparently, what I say above is not
at all true.

Sorry for polluting the list with bad info.

–Joe