Copyright © 2002 Cornelius Krasel
Copyright © 2002, 2003, 2004, 2005, 2006, 2009 Matthias Andree
$Date: 2006/04/09 17:19:32 $
Table of Contents
Q: | Leafnode refuses to start and tells things about my hostname! |
A: | There is a separate documentation file dedicated
to this issue, how to obtain a hostname, and how to tell
leafnode about it. Please see
|
Q: | Does leafnode support local newsgroups? |
A: | Leafnode 1.x does not support local newsgroups. Leafnode 2.x will do that. |
Q: | How do I run leafnode as NNTP+SSL server? |
A: | Wrap leafnode with an SSL wrapper:
|
Q: | How do I use fetchnews with NNTP/SSL
servers, such as
|
A: | Warning: SourceForge does not currently support the HEAD, STAT and BODY commands, so leafnode-1 is totally out of the play for now. leafnode-2 will work for lurking, but will likely be unable to post. Sourceforge are aware that we need these commands and will add them at a later time.
|
Q: | I cannot post, leafnode tells me the Message-ID is invalid. |
A: | Netscape Communicator, Mozilla and derived products (Beonex) will by default generate the Message-ID from the domain part of your E-Mail address. However, if your address is that of a big freemailer site (hotmail.com, yahoo.com, gmx.de), this will lead to invalid Message-IDs. To work around this, go to the Mail &
Newsgroups settings and enclose your E-Mail
addresses into double quote marks, like
this: |
Q: | I cannot connect to my newsserver. |
A: | You may not have configured inetd or xinetd properly, or the corresponding super server is not running. Please review the installation instructions. See below for information specific to Red Hat.
To test the setup, try: 200 Leafnode NNTP Daemon, version 1.9.27.rel running at merlin.emma.line.org (my fqdn: merlin.emma.line.org)
|
Q: | Remote users cannot connect to leafnode. |
A: | You are connecting from outside the same
networks that your leafnode
server is in. Leafnode by default refuses connections from
outside your
LAN to prevent your leafnode server from abuse should you forget to
configure tcpd or make a mistake when writing your
If the clients are on dynamic IP, please use other methods of access instead, for instance SSH tunnels (which are also available on Windows, before you ask). |
1. | Fetchnews does not fetch any articles. |
There are several reasons why this may be the case:
| |
2. | Fetchnews has problems retrieving new newsgroups. |
Maybe your upstream server supports neither the XGTITLE news.group.name nor the LIST NEWSGROUPS news.group.name command. In this case, add | |
3. | Since the update, fetchnews does not post my new articles! |
You have probably mixed old and new
binaries. Check your
| |
4. | While fetchnews is running, my modem hangs up. |
An article that causes the interruption may contain three plus signs in a row (“+++”), which many modems interpret as the beginning of a command. You can change or disable this “escape” sequence. Consult your modem's manual, register S2 is a common place to configure this. | |
5. | How can I run fetchnews as regular user (not root)? |
For security reasons, this is not possible. However, there is a tool named “sudo” that allows a regular, unprivileged user to impersonate another user, and this can be used to enable a regular user to run fetchnews. “sudo” is available from http://www.courtesan.com/sudo/. If “sudo” is installed on your
system, then run
username ALL = (news) NOPASSWD: /path/to/fetchnews Remember to replace “username” and “/path/to/” with the user's login and the proper path to fetchnews. Now, the user who has been enabled access to fetchnews can
just type | |
6. | I have unsubscribed from a newsgroup, but fetchnews still pulls articles for that group. |
Your news reader talks to leafnode via the NNTP
protocol. This protocol provides no means for Leafnode to
determine which newsgroups you are actually subscribe.
Therefore, Leafnode assumes that a newsgroup that is not
read for a certain time (which can be configured with the
If you are impatient and want to stop retrieving
articles from that group immediately, delete the
corresponding file in the
| |
7. | How do I stop fetchnews from unsubscribing from newsgroups? |
Make sure that your newsreader issues GROUP or LIST ACTIVE commands for each of the groups it is subscribed to when checking for new news, so that leafnode can actually see which groups are interesting. For instance, a newsreader configured to read the whole active file with a LIST command may lose subscriptions for low-traffic groups. See also the Gnus FAQ below. As a last resort, change your cron job or
ip-up script to run
| |
8. | fetchnews is slow, how do I speed it up? |
If you are using filters, try the article_despite_filter option (introduced in leafnode v1.9.33). If your upstream server does not support XOVER, try using as few of the maxage, maxlines, maxbytes, minlines, maxcrosspost options as possible. | |
9. | fetchnews keeps downloading the full newsgroup list every time it runs |
Watch the fetchnews output for error messages, if you see a
message such as |
This section will tell you how to obtain a stack backtrace, a special program state output that is very useful to somebody who is about to debug a crash.
The prerequisite to work is that the program is
not stripped, i. e. it contains the debug
symbols. That means leafnode must have been installed with
make install
rather than make
install-strip
. Note that most packagers (for RPM at
least) use make install-strip
to save space.
To find out if your leafnode installation has been
stripped, type file
/usr/local/sbin/leafnode
(adjust the path as
necessary, packages will usually install to
/usr/sbin/leafnode
instead), here is a sample
output of an unstripped program:
$
file /usr/local/sbin/leafnode
/usr/local/sbin/leafnode: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), not stripped
This is simple:
Type gdb
. Replace
PROGRAM by the name of the
program that crashed, for
example fetchnews.PROGRAM
core
Type backtrace
full
.
Type
quit
.
Type gdb
.
Replace PROGRAM by the name of the program that
crashes, for example fetchnews. Do not give any program
options, gdb does not understand them here.PROGRAM
Type run
, where
you name the options that you would normally pass to the
program itself. Just a plain
OPTIONS
run
is
also fine.
Wait until the program crashes. The output might look like similar to this:
This GDB was configured as "i686-pc-linux-gnu"...
(gdb)
run -vvn
Starting program: /tmp/crashme Program received signal SIGSEGV, Segmentation fault. main () at crashme.c:4 4 *x = 4;
(gdb)
Type backtrace
full
, this is the
desired stack backtrace.
Type quit
to leave
gdb.
Find out the Process
ID of the hanging leafnode
program. Type
ps axw | grep
on BSD
systems and Linux,
replacing
PROGRAM
| grep -v
grepPROGRAM
by the
name of the program. Use
ps -ef
instead on SysV systems such
as Solaris.
You will get an output like:
1995 ? S 0:00 /usr/local/sbin/leafnode
1995 is the Process ID.
Then attach gdb:
gdb
,
replacing
PROGRAM
12345
PROGRAM
by the
program's name and
12345
by the PID that you have just
found out.
Type
backtrace
full
.
Type
detach
.
Type
quit
.
RedHat Linux has changed stance on inetd/xinetd
over the years. In the 6.x version, inetd was used, while
xinetd is used in the 7.x series and 8.0. Note in the
following I make the assumption that the "Gnome workstation"
and "KDE workstation" installs are the same in regard to our
discussion. Also, when in doubt a simple rpm -qa
| grep inetd
will show you if either inetd
or xinetd is installed. The service and
chkconfig commands can be used to be sure
[x]inetd is running and configured to run at boot time. By
default, runlevels 3, 4, and 5 start [x]inetd.
Beginning with Redhat 6.2, inetd was broken out as a separate RPM and not included when doing a "Workstation" install. This stands true for the 7.x series (xinetd not installed) until 7.3. In Redhat 7.3, xinetd was added back to the "Workstation" install as a dependency for "sgi_fam". Note, this change is not reflected in the RH documentation, which states that xinetd is not installed in "Workstation" installs.
In Redhat 8.0, the install options have changed, now offering a "Personal Desktop" install. When doing a "Workstation" or "Personal Desktop" install xinetd is installed as in 7.3, presumably to satisfy the same dependency.
In cases where inetd is not installed, no other RPMs are required to install it. This means to install it you have three options (for RedHat 6.2 substitute inetd instead of xinetd):
Best - If you have registered for Redhat's up2date service, just type "up2date xinetd" as root.
Next Best
- Install RPM from updates.redhat.com (version
numbers current as of 2002-11-10 for RH 7.3). You
can manually download the RPM and install it (as
root) using rpm -ivh
xinetd-2.3.9-0.73.i386.rpm
, or have
RPM download it for you by using (again, as root)
rpm -ivh
http://updates.redhat.com/7.3/en/os/i386/xinetd-2.3.9-0.73.i386.rpm
Worse - Install the RPM from the original CD. This is usually the worse option because the updates (used above) are released to fix security issues.
(All as root) First mount the first RH CD by putting it in the CD-ROM and
doing a mount /mnt/cdrom
, and install the
RPM similar to this: cd
/mnt/cdrom/Redhat/RPMS/xinetd-2.3.7-2.i386.rpm
.