DETAILS:
RedHat 7.1(2.4.3-12smp #1 SMP i686 unknown) Apache 1.3.20, HT://Dig htdig-3.2.0-0.b3.4 (rpm
from iso images downloaded from RedHat)
Problem: htsearch core dumps when searching for SOME terms that include special characters(;.
|. , $, ~, `, ?, (, (, +, =, <, >, @, \, {, }, [, and ] )and dumps a premature end of script header to the
webserver and an internal server error the the browser.
:
This does not occur with htdig-3.1.5-0glibc21 running on RedHat 6.2, incidentally,
Specifically, the following fail:
e,e
e,ee
ee,ee
e,ee
(I think this applies for e=N, so to speak...any letter, number, etc)
BUT:
e,eee
eee,e
does not fail.
[me@RH71]# htsearch -vvv
Enter value for words: e,e
tempWords: 'e:0 e:0 '
Boolean: 'e:0 &:0 e:0 '
initial: ''
Add: e
searchWords: 'e:0 '
Add: &
searchWords: 'e:0 &:0 '
Add: e
searchWords: 'e:0 &:0 e:0 '
LogicalWords: e and e
Pattern:
perform_push @0: e
ignore: e @0
term:factor
perform_push @1: e
ignore: e @1
and--
and: ignoring all, pushing ignored list @0
Segmentation fault (core dumped)
[rme@RH71]# htsearch -vvv
Enter value for words: 1,2
tempWords: '1:0 2:0 '
Boolean: '1:0 &:0 2:0 '
initial: ''
Add: 1
searchWords: '1:0 '
Add: &
searchWords: '1:0 &:0 '
Add: 2
searchWords: '1:0 &:0 2:0 '
LogicalWords: 1 and 2
Pattern:
perform_push @0: 1
ignore: 1 @0
term:factor
perform_push @1: 2
ignore: 2 @1
and--
and: ignoring all, pushing ignored list @0
Segmentation fault (core dumped)
This succeeds:
[me@RH71]# htsearch -vvv
Enter value for words: e,eee
tempWords: 'e:0 eee:0 '
Boolean: 'e:0 &:0 eee:0 '
initial: ''
Add: e
searchWords: 'e:0 '
Add: &
searchWords: 'e:0 &:0 '
Fuzzy on: eee
exact eee
synonyms
endings
searchWords: 'e:0 &:0 eee:0 '
LogicalWords: e and eee
Pattern: eee
perform_push @0: e
ignore: e @0
term:factor
perform_push @1: eee
score: empty list, push 0 @1
and--
and: at least one empty operator, pushing 0 @0
stack:1
Enter value for format:
On RedHat 6.2, htdig-3.1.5-0glibc21:
[me@RH62]# ./htsearch -vvv
Enter value for words: e,e
tempWords: 'e:0 e:0 '
Boolean: 'e:0 &:0 e:0 '
initial: ''
Add: e
searchWords: 'e:0 '
Add: &
searchWords: 'e:0 &:0 '
Add: e
searchWords: 'e:0 &:0 e:0 '
LogicalWords: e and e
Pattern:
Enter value for format:
Logged In: YES
user_id=149687
This is almost certainly due to the parser bug that was fixed in May.
The fix is in the latest 3.2.0b4 development snapshots, which aren't
out in RPMs, but are available as source tarballs if you want to build
it yourself.
Logged In: YES
user_id=395060
We have a similar problem. When users enter a two letter
word, the search simply tells the user that no results were
found. Our "help" document tells them that the minimum
word is 3 characters. Where our problem occurs is when the
user puts parentheses around a two letter words and
searches on "Any Words". The example he was using was
(TI). The search hangs and finally returns an "Internal
Server Error".
The site where we're having the problem runs Linux 7.1
kernel 2.4.2-2 / Apache 1.3.19 / htdig 3.2.0b3. Also
similar to the other user's report is that we don't
encounter this problem on our other site which uses older
versions of Linux/Apache/htdig.
Thanks
Logged In: YES
user_id=149687
You know, folks, when a bug report is marked as
closed, there's usually a reason for it! Don't expect
the report to be reopened if you haven't bothered
to upgrade to a release that fixes the bug.
Wayne, you don't mention what this "older" version
of htdig is on your other site. I'd guess it's one of
the 3.1.x "stable" releases, and not a 3.2.x BETA
release.
As I said before, the fix is in the latest 3.2.0b4
snapshots. Fortunately, it is out in RPM now.
I'd recommend getting the latest update rpms
from Red Hat or a local mirror site, i.e.
apache-1.3.22-1.7.1 (this depends on some
module updates, see the errata)
htdig-3.2.0-1.b4.0.71
htdig-web-3.2.0-1.b4.0.71
Red Hat users should, as a rule, keep up to date
on the latest errata at
http://www.redhat.com/apps/support/errata/
It helps if you subscribe to their redhat-watch
mailing list, so you get the advisories by e-mail
when the updates come out. See
https://listman.redhat.com/mailman/listinfo/redhat-watch-list