|
program.Red Hat and the inetd vs. xinetd issue.Leafnode frequently asked questions, with answers.- Q:. Leafnode does not compile on my system.
Q:. | Leafnode does not compile on my system. | A:. | Apple MacOS X/Darwin. Apple introduced Two-Level
Namespace Executables with
MacOS X 10.1. This change affects how
the linker works, and the linker itself
is driven by the
libtool parts that ship
with PCRE. libtool as of that version
and up to version 1.4.2 does not yet
support the new linker semantics of
MacOS X 10.1, and the compile broke up
to and including leafnode 1.9.27. Since leafnode 1.9.28, the embedded
pcre/ directory
contains two changes to overcome these
problems: the
embedded
libtool
parts in configureare patched to detect
these new MacOS versions and
pass appropriate options to the
linker. When leafnode uses the
embedded libtool, it passes the
--disable-shared
option to PCRE's
configure,
which avoids this trouble with
shared libraries and speeds up
the build -- leafnode will links
statically anyhow to avoid the
PCRE installation. The file
configure.gnu
does that, and it will not get
applied if you explicitly
configure
pcre/.
So, effectively, an update to leafnode
1.9.28 should fix this problem. If it
does not, contact the leafnode mailing
list. Linux. Another common reason for the build to
fail is that Leafnode depends on some
system-specific information which is usually
included in the sources of the kernel. Unfortunately, some Linux distribution do
not install kernel sources by default; therefore,
compilation of Leafnode (and most other programs as
well) will fail. The obvious solution is to install
the kernel sources. On
Linux, if the kernel sources are installed in
/usr/src/linux-a.b.cc (with a.b.cc being the version
number of your kernel), create a symlink to
/usr/src/linux. |
- Q:. Leafnode refuses to start and tells
things about my hostname!
- Q:. Does leafnode support local
newsgroups?
- Q:. How do I use fetchnews with NNTP/SSL
servers, such as
nntp.sourceforge.net?
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
README-FQDN or
README-FQDN.html for details. | 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 use fetchnews with NNTP/SSL
servers, such as
nntp.sourceforge.net? | 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.
Obtain stunnel
and install it.
Arrange for stunnel to be started at
system boot time, try: /usr/sbin/stunnel -c -d
127.0.0.1:563 -r
nntp.sourceforge.net:563 Add server = localhost
port = 563
username = YOUR_SF_LOGIN
password = TOP_SECRET
to your
/etc/leafnode/config.
|
- Q:. I cannot post, leafnode tells me the
Message-ID is invalid.
- Q:. I cannot connect to my newsserver.
- Q:. Remote users cannot connect to leafnode.
- Q:. Fetchnews does not fetch any articles.
- Q:. Fetchnews has problems
retrieving new newsgroups.
- Q:. Since the update, fetchnews does not
post any of my old articles!
- Q:. Since the update, fetchnews does
not post my new articles!
- Q:. While fetchnews is running, my modem hangs up.
- Q:. How can I run fetchnews as regular user (not
root)?
- Q:. I have unsubscribed from a newsgroup, but
fetchnews still pulls articles for that group.
- Q:. Texpire does not expire
articles.
- Q:. How do I stop fetchnews from unsubscribing from
newsgroups?
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:"matthias.andree@gmx.de"This
will prevent your Netscape-based newsreader from generating
the invalid Message-ID and leave the generation to leafnode. | 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: telnet localhost
119. Leafnode should then
reply with (on one line):
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
hosts.allow or
hosts.deny files.
Please see /etc/leafnode/config.example for the
allowstrangers option and how to
configure this option. You will have to change the capitalization and
write a special number on that line as you put
it into your /etc/leafnode/config.
| Q:. | Fetchnews does not fetch any articles. | A:. | You did not read any pseudo articles with
your news reader. Subscribe to some groups,
enter them and read the leafnode placeholder
article. Your groupinfo file may be corrupt.
Run fetchnews
-f. /var/spool/news may have
wrong permissions.
/var/spool/news and all its
subdirectories should be owned by user and
group news and have permissions drwxrwsr-x
(02755).
| Q:. | Fetchnews has problems
retrieving new newsgroups. | A:. | Maybe your upstream server supports neither the
XGTITLE news.group.name nor the
LIST NEWSGROUPS news.group.name
command. In this case, add nodesc =
1 to the
server entry in /etc/leafnode/config,
as described in the
leafnode(8)
manual page and the
/etc/leafnode/config.example file. | Q:. | Since the update, fetchnews does not
post any of my old articles! | A:. | Go read the "incompatible changes" and
"updating" sections in NEWS and README. | Q:. | Since the update, fetchnews does
not post my new articles! | A:. | You have probably mixed old and new
binaries. Check your
inetd.conf or
xinetd.conf configuration
if they really point to the new binary. | Q:. | While fetchnews is running, my modem hangs up. | A:. |
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.
| Q:. | How can I run fetchnews as regular user (not
root)? | A:. | 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
visudo as root and
add this line:
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 sudo -u news
/path/to/fetchnews
to run fetchnews. | Q:. | I have unsubscribed from a newsgroup, but
fetchnews still pulls articles for that group. | A:. | 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
timeout_long parameter) is unsubscribed
and will only stop retrieving articles in it after this
time. If you are impatient and want to stop retrieving
articles from that group immediately, delete the
corresponding file in the
/var/spool/news/interesting.groups/
directory. The articles that are already in your spool are
still subject to the regular texpire
schedule, however. | Q:. | Texpire does not expire
articles. | A:. | The backup software
that you are using may not reset the atime after reading a
file. Check if you can reconfigure it to reset the
“atime”. As a workaround, run
texpire -f. This will expire articles
somewhat earlier because expiry is then determined from the
time the file was last modified, rather than when it was last
accessed. | Q:. | How do I stop fetchnews from unsubscribing from
newsgroups? | A:. | Run
fetchnews
-n rather than just
fetchnews. |
Problems with particular newsreaders- Q:. When searching news with Netscape, I only get back
unknown command.
- Q:. Outlook Express locks up.
- Q:. Tin complains about a missing file
/var/lib/news/active.
Q:. | When searching news with Netscape, I only get back
“unknown command”. | A:. |
To search news, older versions of Netscape needed a
news server which supports the XPAT command.
Leafnode-1 does not. If you want to use Netscape, you
have to upgrade to version 4.5 and press the
“options” button which appears in the
“search
messages” window. In the box which appears you have
to select “on your local system”.
| Q:. | Outlook Express locks up. | A:. |
This can be caused by a corrupted inbox
file in Outlook Express. It is said to happen during the
initial install of Internet Explorer. To fix this problem,
go to “Add/Remove Programs”, choose
“Internet Explorer”, then “Repair
installation.”
Thanks to Jim Gifford who talked to Microsoft to
find this solution. | Q:. | Tin complains about a missing file
/var/lib/news/active. | A:. |
Either you have started the wrong version of tin (the one
which tries to read news directly from the spool) or your
groupinfo file is corrupt.
In the first case, simply invoke tin with
the -r flag: tin -r. If
this does not help, try to rebuild the
groupinfo file by running
fetchnews -f.
|
- Q:. Why is Leafnode not licensed
under the GPL?
Q:. | Why is Leafnode not licensed
under the GPL? | A:. |
There are several reasons:
Originally, Arnt Gulbrandsen licensed Leafnode under
his own license:
Use, modification and distribution is allowed without
limitation, warranty, or liability of any kind.
This license is very broad. The same spirit is (in my opinion)
contained in the X11 license, which is used by Leafnode nowadays.
I (Cornelius) do not like the philosophy of the FSF.
They seem to emphasize that every project they
conceived is good whereas everything else is
bad. If they cannot argue the software away
this way, they claim it to be part of the project,
such as calling Linux "GNU/Linux". Or, as Arnt
Gulbrandsen put it:
Freedom includes the freedom to
disagree with me and still use my
software.
|
Obtaining a stack backtraceThis 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
PROGRAM
core. Replace
PROGRAM by the name of the
program that crashed, for
example fetchnews. Type backtrace
full. Type
quit.
Running a program under gdb supervision.Type gdb
PROGRAM.
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. Type run
OPTIONS, where
you name the options that you would normally pass to the
program itself. Just a plain
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.
From a running/hanging leafnode
program.Find out the Process
ID of the hanging leafnode
program. Type
ps axw | grep
PROGRAM | grep -v
grep on BSD
systems and Linux,
replacing
PROGRAM 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
PROGRAM
12345,
replacing
PROGRAM by the
program's name and
12345
by the PID that you have just
found out. Type
backtrace
full. Type
detach. Type
quit.
Red Hat and the inetd vs. xinetd issue.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.
|