Bugs item #496966, was opened at 2001-12-26 21:14
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=111118&aid=496966&group_id=11118
Category: unix-specific
Group: version 2.9.x
Status: Closed
Resolution: Fixed
Priority: 9
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Andreas Oesterhelt (oes)
Summary: Random image blockage / ijb.action file
Initial Comment:
Hello,
I downloaded and upgraded Junkbuster from the original
version included in RedHat 7.2 to the latest Beta (v2.9.10), and I
noticed a few small problems. I am using the Opera browser v6.0,
and sometimes random images will not appear, and I have to reload
the page to get the images to show (I thought it may be a bug with the
new Opera version - so I turned off the proxy and browsed for a while,
and I noticed that the images appear just fine. I think either
Junkbuster is handling requests incorrectly, or I have an
incorrect setting in my ijb.actions file. I also noticed that
Junkbuster must access the ijb.actions file every request, to
check for changed listings, which slows down browsing (because
if I make a change to ijb.actions, the changes take effect
immediately - nice, but slower). Personally, I liked the previous
version because it seems to load the blocklist (and everything
else) into memory - making browsing faster (of course, you have to
restart the proxy if you make changes to the config/blocklists
though).
I understand that this is a beta version, but I wanted to
let you know of a few possible bugs.
Thanks,
Wesley
Haines
Webmaster, weatherUSA.net
Network Administrator,
WRPN Internet Services
http://www.wrpn.net
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2002-02-01 09:58
Message:
Logged In: NO
Reloading of config: consider a compile-time option to use libfam (File Alteration Monitor) to reduce the overhead of polling for file changes. Gnome, KDE and Enlightenment reportedly use this lib which comes standard with Red Hat. See http://oss.sgi.com/projects/fam
----------------------------------------------------------------------
Comment By: Jon Foster (jongfoster)
Date: 2002-01-10 13:08
Message:
Logged In: YES
user_id=199289
Hi,
> Someone win Win32 access should update
> config.h.win as well!
I've checked and it works without any changes. Since
Visual C++ doesn't have or need the _r functions, none
of the new #defines need enabling.
Thanks and regards,
Jon
----------------------------------------------------------------------
Comment By: Andreas Oesterhelt (oes)
Date: 2002-01-10 04:44
Message:
Logged In: YES
user_id=78811
Wesley,
> Yup! it works now, and no random images seem to
> be getting blocked
> (except for banners, of course :)
Very good!
> I did notice a few bugs, such as while
> running "autoheader" and "autoconf", they complain with
The autoheader complaints were because I added the
#undef HAVE_*_R lines to config.h.in instead of acconfig.h.
This is fixed now.
The autoconf warnings were the result of AC_CHECK_SIZEOF
macro calls in cinfigure.in, which translate to AC_TRY_RUN.
I have provided cross-compile defaults (based on Intel/Linux
values) now, which silences the warnings, but I'm unsure how
much sense that makes.
BTW: Someone win Win32 access should update config.h.win as
well!
Item set to "pending" until we have success reports for
all platforms.
Regards,
--Andreas
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2002-01-09 19:25
Message:
Logged In: NO
Yup! it works now, and no random images seem to be getting blocked
(except for banners, of course :)
I did notice a few bugs, such as while
running "autoheader" and "autoconf", they complain with
/usr/bin/autoheader: Symbol `HAVE_GETHOSTBYADDR_R_5_ARGS' is
not covered by /usr/share/autoconf/acconfig.h
./acconfig.h
/usr/bin/autoheader: Symbol
`HAVE_GETHOSTBYADDR_R_7_ARGS' is not covered by
/usr/share/autoconf/acconfig.h
./acconfig.h
/usr/bin/autoheader: Symbol
`HAVE_GETHOSTBYADDR_R_8_ARGS' is not covered by
/usr/share/autoconf/acconfig.h
./acconfig.h
/usr/bin/autoheader: Symbol
`HAVE_GETHOSTBYNAME_R_3_ARGS' is not covered by
/usr/share/autoconf/acconfig.h
./acconfig.h
/usr/bin/autoheader: Symbol
`HAVE_GETHOSTBYNAME_R_5_ARGS' is not covered by
/usr/share/autoconf/acconfig.h
./acconfig.h
/usr/bin/autoheader: Symbol
`HAVE_GETHOSTBYNAME_R_6_ARGS' is not covered by
/usr/share/autoconf/acconfig.h
./acconfig.h
/usr/bin/autoheader: Symbol `HAVE_GMTIME_R' is not
covered by /usr/share/autoconf/acconfig.h
./acconfig.h
/usr/bin/autoheader: Symbol `HAVE_LOCALTIME_R' is
not covered by /usr/share/autoconf/acconfig.h
./acconfig.h
and
configure.in:610: warning: AC_TRY_RUN called
without default to allow cross compiling
configure.in:611:
warning: AC_TRY_RUN called without default to allow cross
compiling
configure.in:612: warning: AC_TRY_RUN called without
default to allow cross compiling
configure.in:613: warning:
AC_TRY_RUN called without default to allow cross
compiling
configure.in:614: warning: AC_TRY_RUN called without
default to allow cross compiling
...I also had to manually copy the
"junkbuster" executable from ~/junkbuster-current-cvs/ to
/usr/sbin/junkbuster because the junkbuster in
/usr/sbin/junkbuster was an old copy... I think this was just a problem
on my end, I think the JB proxy was running while I was compiling and
installing the new version. Once it was all installed, junkbuster
complained that it couldn't find the config/ijb.action/etc. files,
so I had to cd to /etc/junkbuster, and then do a "junkbuster & ".
Thanks
again for fixing this!
--Wesley Haines
----------------------------------------------------------------------
Comment By: Andreas Oesterhelt (oes)
Date: 2002-01-09 06:50
Message:
Logged In: YES
user_id=78811
Jon: Thanks for doing the research!
I have now added tests for the availability and signatures
of
gethostbyname_r, gethostbyaddr_r, gmtime_r and localtime_r
to configure.in (kinda strange that autoconf doesn't have
off-the-shelf-macros for that job) and all occurances of
these
calls in the code now support all three major flavours of
the interfaces.
The Non-GPL license of wwwlib is no problem; our solution is
a wild mix of (i.e. an attempt to combine the best of)
wwwlib,
wine and the comp.programming.threads FAQ.
I have only tested the result under Linux, so this
definately
needs more testing on other platforms until we can call it
done.
Wesley: Could you please verify that this eliminates your
problem
of random image "blockage"?
Regards,
--Andreas
----------------------------------------------------------------------
Comment By: Jon Foster (jongfoster)
Date: 2002-01-03 13:54
Message:
Logged In: YES
user_id=199289
Hi,
The problem of several different gethostbyname_r() calls
was solved in wwwlib: http://www.w3.org/Library/
They have an autoconf script and C source files that we can
look at for ideas. (They're open source but not GPL).
Regards,
Jon
----------------------------------------------------------------------
Comment By: Jon Foster (jongfoster)
Date: 2002-01-03 13:13
Message:
Logged In: YES
user_id=199289
Hi,
I think this is a threading bug. We're using gethostbyname
(), which isn't designed to be thread-safe. The native
Windows version is thread-safe, but we should use
gethostbyname_r under UNIX or mingw32. Naturally,
gethostbyname_r is nonstandard and there are several
different signatures it could have (although we probably
only need to support Linux and Solaris).
Raising to maximum priority - this MUST be fixed before a
release.
While I was looking at this, I also noticed:
localtime should be localtime_r (in errlog.c and parsers.c)
gmtime should be gmtime_r (in cgi.c)
Regards,
Jon
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2001-12-27 21:02
Message:
Logged In: NO
I think I figured out the problem/bug... Opera is capable of connecting
to a server more than once simultaneously, and I think Junkbuster gets
confused by the simultaneous requests, because turned on full
logging, and then read through the Junkbuster logfile, and I noticed
that on random images, it would say something like "Junkbuster: 503:
Image could not be loaded because the server ( [enter random local IP
address here], usually 192.168.12.50 - a non-HTTP server on my local
network... I have no clue why Junkbuster is querying 192.168.12.50 for
these random images? )". I had to reduce the number of simultaneous
connections to 1 (which slows Opera to Internet Explorer speeds
:(
Please look into this... I can provide more information if
needed.
Thanks,
Wesley Haines
----------------------------------------------------------------------
Comment By: Andreas Oesterhelt (oes)
Date: 2001-12-27 06:22
Message:
Logged In: YES
user_id=78811
Image Blocking:
Please find out if junkbuster actually blocks the
images by either turning on GPC debugging in the
config file (set to an odd number) and watching for
"crunch!" lines in the log, or by feeding the image
URL into http://ijbswa.sourceforge.net/config/show-url-info
Reloading of config:
It is true that config changes take immediate effect,
but we only reload the config if it has actually changed
since the last request. For that purpose the times of last
modification of the files (mtime) are checked, which we
consider an acceptable overhead compared to the hassle
of sending the process signal to make it aware of config
changes.
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=111118&aid=496966&group_id=11118
|