"Fossies" - the Fresh Open Source Software Archive

Member "leafnode-1.12.0/FAQ.txt" (26 May 2022, 19943 Bytes) of package /linux/misc/leafnode-1.12.0.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "FAQ.txt": 1.11.12_vs_1.12.0.

    1 Leafnode FAQ
    2 
    3 Dr. Cornelius Krasel
    4 
    5 Matthias Andree
    6 
    7 Copyright   2002 Cornelius Krasel
    8 
    9 Copyright   2002, 2003, 2004, 2005, 2006, 2009, 2021 Matthias Andree
   10 
   11 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   12 
   13 Table of Contents
   14 
   15 Leafnode frequently asked questions, with answers.
   16     Installation-related problems, including relocations
   17     Configuration problems
   18     Problems at run time
   19     Problems with particular newsreaders
   20 Obtaining a stack backtrace
   21     From a core file.
   22     Running a program under gdb supervision.
   23     From a running/hanging leafnode program.
   24 Red Hat and the inetd vs. xinetd issue.
   25 
   26 Leafnode frequently asked questions, with answers.
   27 
   28 Installation-related problems, including relocations
   29 
   30 Q: Compiling causes a message 'SA_RESETHAND undeclared'!
   31 Q: I cannot compile leafnode on Linux!
   32 Q: Where/how do I get the source RPM? I want to modify it.
   33 Q: How do I copy/move the spool?
   34 
   35 Q: Compiling causes a message 'SA_RESETHAND undeclared'!
   36 
   37 A: This means that your operating system is too old and lacks this symbol which
   38    is required by POSIX. Please update your operating system.
   39 
   40 Q: I cannot compile leafnode on Linux!
   41 
   42 A: Another common reason for the build to fail is that Leafnode depends on some
   43    system-specific information which is usually included in the sources of the
   44    kernel.
   45 
   46    Unfortunately, some Linux distribution do not install kernel sources by
   47    default; therefore, compilation of Leafnode (and most other programs as
   48    well) will fail. The obvious solution is to install the kernel sources. On
   49    Linux, if the kernel sources are installed in /usr/src/linux-a.b.cc (with
   50    a.b.cc being the version number of your kernel), create a symlink to /usr/
   51    src/linux.
   52 
   53 Q: Where/how do I get the source RPM? I want to modify it.
   54 
   55 A: You can generate it yourself from the source tarball (which contains the
   56    necessary .spec file. Just type: rpmbuild -ts leafnode-1.11.5.tar.bz2 - of
   57    course, you will have to adjust the version shown here. For RPM 3.x and
   58    older, type this instead: rpm -ts leafnode-1.11.5.tar.bz2
   59 
   60 Q: How do I copy/move the spool?
   61 
   62 A: There are two important requirements to heed:
   63 
   64     1. You must copy hard links as hard links. There are three supported
   65        methods to achieve that. In each of the following examples, replace the
   66        source and DEST directories:
   67 
   68          □ On POSIX compliant systems, use mkdir DEST && sudo pax -r -w -p e -H
   69            /var/spool/news/ DEST
   70 
   71          □ If rsync is installed, use (note the trailing slash!), use rsync -aH
   72            /var/spool/news/ DEST
   73 
   74          □ If GNU cp is installed (it's sometimes called gcp), use cp -a /var/
   75            spool/news/ DEST
   76 
   77        If you fail to do this, texpire may expire articles too early. You can
   78        repair broken hard links with texpire -r.
   79 
   80     2. You must update the hashed message.id/nnn/ links if you are running
   81        leafnode from the new location. Unless the new spool directory has the
   82        same name as the old one (if, for instance, moving to a new computer),
   83        run texpire -r before any other leafnode program. Leafnode-1's spool
   84        layout unfortunately depends on the name of the spool directory, and
   85        when that changes, files may have to be moved between the message.id/nnn
   86        / directories, and texpire -r does just that - and it also repairs hard
   87        links.
   88 
   89        If you fail to do this, leafnode may not find articles in its spool.
   90 
   91 Configuration problems
   92 
   93 Q: Leafnode refuses to start and tells things about my hostname!
   94 Q: Does leafnode support local newsgroups?
   95 Q: How do I run leafnode as NNTP+SSL server?
   96 Q: How do I use fetchnews with NNTP/SSL servers, such as nntp.sourceforge.net?
   97 
   98 Q: Leafnode refuses to start and tells things about my hostname!
   99 
  100 A: There is a separate documentation file dedicated to this issue, how to
  101    obtain a hostname, and how to tell leafnode about it. Please see README-FQDN
  102    or README-FQDN.html for details.
  103 
  104 Q: Does leafnode support local newsgroups?
  105 
  106 A: Leafnode 1.x does not support local newsgroups. Leafnode 2.x will do that.
  107 
  108 Q: How do I run leafnode as NNTP+SSL server?
  109 
  110 A: Wrap leafnode with an SSL wrapper:
  111 
  112     1. Obtain stunnel version 3 and install it.
  113 
  114     2. Create a certificate and save it to /etc/leafnode/stunnel.pem, see the
  115        stunnel documentation. Implications such as whether to use signed
  116        certificates are beyond the scope of this document.
  117 
  118     3. Add a configuration to your inetd.conf or xinetd.conf as described in
  119        the INSTALL document; but instead of /usr/local/sbin/leafnode, you'll
  120        type
  121 
  122        /usr/local/sbin/stunnel -f -p /etc/leafnode/stunnel.pem -l /usr/local/
  123        sbin/leafnode.
  124 
  125 Q: How do I use fetchnews with NNTP/SSL servers, such as nntp.sourceforge.net?
  126 
  127 A: Warning: SourceForge does not currently support the HEAD, STAT and BODY
  128    commands, so leafnode-1 is totally out of the play for now. leafnode-2 will
  129    work for lurking, but will likely be unable to post. Sourceforge are aware
  130    that we need these commands and will add them at a later time.
  131 
  132     1. Obtain stunnel version 3 and install it.
  133 
  134     2. Arrange for stunnel to be started at system boot time, try:
  135 
  136        /usr/sbin/stunnel -c -d 127.0.0.1:563 -r nntp.sourceforge.net:563
  137 
  138        Add
  139 
  140        server = localhost
  141                                            port = 563
  142                                            username = YOUR_SF_LOGIN
  143                                            password = TOP_SECRET
  144 
  145 
  146        to your /etc/leafnode/config.
  147 
  148 Problems at run time
  149 
  150 leafnode (the NNTP server)
  151 
  152 Q: I cannot post, leafnode tells me the Message-ID is invalid.
  153 Q: I cannot connect to my newsserver.
  154 Q: Remote users cannot connect to leafnode.
  155 
  156 Q: I cannot post, leafnode tells me the Message-ID is invalid.
  157 
  158 A: Netscape Communicator, Mozilla and derived products (Beonex) will by default
  159    generate the Message-ID from the domain part of your E-Mail address.
  160    However, if your address is that of a big freemailer site (hotmail.com,
  161    yahoo.com, gmx.de), this will lead to invalid Message-IDs.
  162 
  163    To work around this, go to the Mail & Newsgroups settings and enclose your
  164    E-Mail addresses into double quote marks, like this:"matthias.andree@gmx.de"
  165    This will prevent your Netscape-based newsreader from generating the invalid
  166    Message-ID and leave the generation to leafnode.
  167 
  168 Q: I cannot connect to my newsserver.
  169 
  170 A: You may not have configured inetd or xinetd properly, or the corresponding
  171    super server is not running. Please review the installation instructions.
  172    See below for information specific to Red Hat.
  173 
  174    To test the setup, try: telnet localhost 119. Leafnode should then reply
  175    with (on one line):
  176 
  177    200 Leafnode NNTP Daemon, version 1.9.27.rel running at merlin.emma.line.org
  178                                    (my fqdn: merlin.emma.line.org)
  179 
  180 Q: Remote users cannot connect to leafnode.
  181 
  182 A: You are connecting from outside the same networks that your leafnode server
  183    is in. Leafnode by default refuses connections from outside your LAN to
  184    prevent your leafnode server from abuse should you forget to configure tcpd
  185    or make a mistake when writing your hosts.allow or hosts.deny files. Please
  186    see /etc/leafnode/config.example for the allowstrangers option and how to
  187    configure this option, and its requirements. YOU are responsible for the
  188    abuse of your server if this option is enabled, so only give access to
  189    people with static IP whom you trust.
  190 
  191    If the clients are on dynamic IP, please use other methods of access
  192    instead, for instance SSH tunnels (which are also available on Windows,
  193    before you ask).
  194 
  195 fetchnews
  196 
  197 1. Fetchnews does not fetch any articles.
  198 2. Fetchnews has problems retrieving new newsgroups.
  199 3. Since the update, fetchnews does not post my new articles!
  200 4. While fetchnews is running, my modem hangs up.
  201 5. How can I run fetchnews as regular user (not root)?
  202 6. I have unsubscribed from a newsgroup, but fetchnews still pulls articles for
  203 that group.
  204 7. How do I stop fetchnews from unsubscribing from newsgroups?
  205 8. fetchnews is slow, how do I speed it up?
  206 9. fetchnews keeps downloading the full newsgroup list every time it runs
  207 
  208 1. Fetchnews does not fetch any articles.
  209 
  210    There are several reasons why this may be the case:
  211 
  212      • You did not read any pseudo articles with your news reader. Subscribe to
  213        some groups, enter them and read the leafnode placeholder article.
  214 
  215      • Your groupinfo file may be corrupt. Run fetchnews -f.
  216 
  217      • /var/spool/news may have wrong permissions. /var/spool/news and all its
  218        subdirectories should be owned by user and group news and have
  219        permissions drwxrwsr-x (02755).
  220 
  221 2. Fetchnews has problems retrieving new newsgroups.
  222 
  223    Maybe your upstream server supports neither the XGTITLE news.group.name nor
  224    the LIST NEWSGROUPS news.group.name command.
  225 
  226    In this case, add nodesc = 1 to the server entry in /etc/leafnode/config, as
  227    described in the leafnode(8) manual page and the /etc/leafnode/
  228    config.example file.
  229 
  230 3. Since the update, fetchnews does not post my new articles!
  231 
  232    You have probably mixed old and new binaries. Check your inetd.conf or
  233    xinetd.conf configuration if they really point to the new binary.
  234 
  235 4. While fetchnews is running, my modem hangs up.
  236 
  237    An article that causes the interruption may contain three plus signs in a
  238    row (“+++”), which many modems interpret as the beginning of a command. You
  239    can change or disable this “escape” sequence. Consult your modem's manual,
  240    register S2 is a common place to configure this.
  241 
  242 5. How can I run fetchnews as regular user (not root)?
  243 
  244    For security reasons, this is not possible.
  245 
  246    However, there is a tool named “sudo” that allows a regular, unprivileged
  247    user to impersonate another user, and this can be used to enable a regular
  248    user to run fetchnews.
  249 
  250    “sudo” is available from http://www.courtesan.com/sudo/.
  251 
  252    If “sudo” is installed on your system, then run visudo as root and add this
  253    line:
  254 
  255    username ALL = (news) NOPASSWD: /path/to/fetchnews
  256 
  257    Remember to replace “username” and “/path/to/” with the user's login and the
  258    proper path to fetchnews.
  259 
  260    Now, the user who has been enabled access to fetchnews can just type sudo -u
  261    news /path/to/fetchnews to run fetchnews.
  262 
  263 6. I have unsubscribed from a newsgroup, but fetchnews still pulls articles for
  264    that group.
  265 
  266    Your news reader talks to leafnode via the NNTP protocol. This protocol
  267    provides no means for Leafnode to determine which newsgroups you are
  268    actually subscribe. Therefore, Leafnode assumes that a newsgroup that is not
  269    read for a certain time (which can be configured with the timeout_long
  270    parameter) is unsubscribed and will only stop retrieving articles in it
  271    after this time.
  272 
  273    If you are impatient and want to stop retrieving articles from that group
  274    immediately, delete the corresponding file in the /var/spool/news/
  275    interesting.groups/ directory. The articles that are already in your spool
  276    are still subject to the regular texpire schedule, however.
  277 
  278 7. How do I stop fetchnews from unsubscribing from newsgroups?
  279 
  280    Make sure that your newsreader issues GROUP or LIST ACTIVE commands for each
  281    of the groups it is subscribed to when checking for new news, so that
  282    leafnode can actually see which groups are interesting. For instance, a
  283    newsreader configured to read the whole active file with a LIST command may
  284    lose subscriptions for low-traffic groups. See also the Gnus FAQ below.
  285 
  286    As a last resort, change your cron job or ip-up script to run fetchnews -n
  287    rather than just fetchnews.
  288 
  289 8. fetchnews is slow, how do I speed it up?
  290 
  291    If you are using filters, try the article_despite_filter option (introduced
  292    in leafnode v1.9.33).
  293 
  294    If your upstream server does not support XOVER, try using as few of the
  295    maxage, maxlines, maxbytes, minlines, maxcrosspost options as possible.
  296 
  297 9. fetchnews keeps downloading the full newsgroup list every time it runs
  298 
  299    Watch the fetchnews output for error messages, if you see a message such as
  300    Reading newsgroups descriptions failed: 501 bad command usage. then try
  301    adding nodesc = 1 blow the server=news.example.org line of the server that
  302    showed this error.
  303 
  304 texpire
  305 
  306 1. Texpire does not expire articles.
  307 2. Texpire message.id counts do not match the sum of the group counts!
  308 
  309 1. Texpire does not expire articles.
  310 
  311    The backup software that you are using may not reset the atime after reading
  312    a file. Check if you can reconfigure it to reset the “atime”.
  313 
  314    As a workaround, run texpire -f. This will expire articles somewhat earlier
  315    because expiry is then determined from the time the file was last modified,
  316    rather than when it was last accessed.
  317 
  318 2. Texpire message.id counts do not match the sum of the group counts!
  319 
  320    This may happen if texpire has been interrupted previously, crashed, some
  321    other application touched the spool or the spool is corrupt.
  322 
  323 Problems with particular newsreaders
  324 
  325 Q: leafnode loses subscriptions of low-traffic groups with Gnus.
  326 Q: leafnode loses subscriptions of low-traffic groups with slrn.
  327 Q: When searching news with Netscape, I only get back “unknown command”.
  328 Q: Outlook Express locks up.
  329 Q: Tin complains about a missing file /var/lib/news/active.
  330 
  331 Q: leafnode loses subscriptions of low-traffic groups with Gnus.
  332 
  333 A: Check the setting of gnus-read-active-file (you can use customize-variable
  334    to do that), it should be 'some or nil.
  335 
  336 Q: leafnode loses subscriptions of low-traffic groups with slrn.
  337 
  338 A: Check the setting of read_active, it should be 0 (the default).
  339 
  340 Q: When searching news with Netscape, I only get back “unknown command”.
  341 
  342 A: To search news, older versions of Netscape needed a news server which
  343    supports the XPAT command. Leafnode-1 does not. If you want to use Netscape,
  344    you have to upgrade to version 4.5 and press the “options” button which
  345    appears in the “search messages” window. In the box which appears you have
  346    to select “on your local system”.
  347 
  348 Q: Outlook Express locks up.
  349 
  350 A: This can be caused by a corrupted inbox file in Outlook Express. It is said
  351    to happen during the initial install of Internet Explorer. To fix this
  352    problem, go to “Add/Remove Programs”, choose “Internet Explorer”, then “
  353    Repair installation.”
  354 
  355    Thanks to Jim Gifford who talked to Microsoft to find this solution.
  356 
  357 Q: Tin complains about a missing file /var/lib/news/active.
  358 
  359 A: Either you have started the wrong version of tin (the one which tries to
  360    read news directly from the spool) or your groupinfo file is corrupt.
  361 
  362    In the first case, simply invoke tin with the -r flag: tin -r. If this does
  363    not help, try to rebuild the groupinfo file by running fetchnews -f.
  364 
  365 Obtaining a stack backtrace
  366 
  367 This section will tell you how to obtain a stack backtrace, a special program
  368 state output that is very useful to somebody who is about to debug a crash.
  369 
  370 The prerequisite to work is that the program is not stripped, i. e. it contains
  371 the debug symbols. That means leafnode must have been installed with make
  372 install rather than make install-strip. Note that most packagers (for RPM at
  373 least) use make install-strip to save space.
  374 
  375 To find out if your leafnode installation has been stripped, type file /usr/
  376 local/sbin/leafnode (adjust the path as necessary, packages will usually
  377 install to /usr/sbin/leafnode instead), here is a sample output of an
  378 unstripped program:
  379 
  380 $ file /usr/local/sbin/leafnode
  381             /usr/local/sbin/leafnode: ELF 32-bit LSB executable, Intel 80386, version 1,
  382                 dynamically linked (uses shared libs), not stripped
  383 
  384 From a core file.
  385 
  386 This is simple:
  387 
  388  1. Type gdb PROGRAM core. Replace PROGRAM by the name of the program that
  389     crashed, for example fetchnews.
  390 
  391  2. Type backtrace full.
  392 
  393  3. Type quit.
  394 
  395 Running a program under gdb supervision.
  396 
  397  1. Type gdb PROGRAM. Replace PROGRAM by the name of the program that crashes,
  398     for example fetchnews. Do not give any program options, gdb does not
  399     understand them here.
  400 
  401  2. Type run OPTIONS, where you name the options that you would normally pass
  402     to the program itself. Just a plain run is also fine.
  403 
  404  3. Wait until the program crashes. The output might look like similar to this:
  405 
  406                             This GDB was configured as "i686-pc-linux-gnu"...
  407                         (gdb) run -vvn
  408 
  409                             Starting program: /tmp/crashme
  410 
  411                             Program received signal SIGSEGV, Segmentation fault.
  412                             main () at crashme.c:4
  413                             4           *x = 4;
  414                             (gdb)
  415 
  416 
  417  4. Type backtrace full, this is the desired stack backtrace.
  418 
  419  5. Type quit to leave gdb.
  420 
  421 From a running/hanging leafnode program.
  422 
  423  1. Find out the Process ID of the hanging leafnode program. Type ps axw | grep
  424     PROGRAM | grep -v grep on BSD systems and Linux, replacing PROGRAM by the
  425     name of the program. Use ps -ef instead on SysV systems such as Solaris.
  426 
  427     You will get an output like:
  428 
  429      1995 ?  S      0:00 /usr/local/sbin/leafnode
  430 
  431 
  432     1995 is the Process ID.
  433 
  434  2. Then attach gdb: gdb PROGRAM 12345, replacing PROGRAM by the program's name
  435     and 12345 by the PID that you have just found out.
  436 
  437  3. Type backtrace full.
  438 
  439  4. Type detach.
  440 
  441  5. Type quit.
  442 
  443 Red Hat and the inetd vs. xinetd issue.
  444 
  445 William Hooper
  446 
  447 RedHat Linux has changed stance on inetd/xinetd over the years. In the 6.x
  448 version, inetd was used, while xinetd is used in the 7.x series and 8.0. Note
  449 in the following I make the assumption that the "Gnome workstation" and "KDE
  450 workstation" installs are the same in regard to our discussion. Also, when in
  451 doubt a simple rpm -qa | grep inetd will show you if either inetd or xinetd is
  452 installed. The service and chkconfig commands can be used to be sure [x]inetd
  453 is running and configured to run at boot time. By default, runlevels 3, 4, and
  454 5 start [x]inetd.
  455 
  456 Beginning with Redhat 6.2, inetd was broken out as a separate RPM and not
  457 included when doing a "Workstation" install. This stands true for the 7.x
  458 series (xinetd not installed) until 7.3. In Redhat 7.3, xinetd was added back
  459 to the "Workstation" install as a dependency for "sgi_fam". Note, this change
  460 is not reflected in the RH documentation, which states that xinetd is not
  461 installed in "Workstation" installs.
  462 
  463 In Redhat 8.0, the install options have changed, now offering a "Personal
  464 Desktop" install. When doing a "Workstation" or "Personal Desktop" install 
  465 xinetd is installed as in 7.3, presumably to satisfy the same dependency.
  466 
  467 In cases where inetd is not installed, no other RPMs are required to install
  468 it. This means to install it you have three options (for RedHat 6.2 substitute 
  469 inetd instead of xinetd):
  470 
  471  1. Best - If you have registered for Redhat's up2date service, just type
  472     "up2date xinetd" as root.
  473 
  474  2. Next Best - Install RPM from updates.redhat.com (version numbers current as
  475     of 2002-11-10 for RH 7.3). You can manually download the RPM and install it
  476     (as root) using rpm -ivh xinetd-2.3.9-0.73.i386.rpm, or have RPM download
  477     it for you by using (again, as root) rpm -ivh http://updates.redhat.com/7.3
  478     /en/os/i386/xinetd-2.3.9-0.73.i386.rpm
  479 
  480  3. Worse - Install the RPM from the original CD. This is usually the worse
  481     option because the updates (used above) are released to fix security
  482     issues.
  483 
  484     (All as root) First mount the first RH CD by putting it in the CD-ROM and
  485     doing a mount /mnt/cdrom, and install the RPM similar to this: cd /mnt/
  486     cdrom/Redhat/RPMS/xinetd-2.3.7-2.i386.rpm.
  487