Your message dated Fri, 4 Jan 2008 14:18:20 +0100
with message-id <[EMAIL PROTECTED]>
has caused the Debian Bug report #458862,
regarding dhis-server: Having commented out client records seems to cause dhisd 
to become confused
to be marked as having been forwarded to the upstream software
author(s) Joao Cabral <[EMAIL PROTECTED]>.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Hello Joao,

A user of the Debian package of the DHIS server had a problem with the
parsing of his dhis.db file (see attached email). The sample dhis.db
file included in the tarball uses the ; character to indicate comments.
However, looking through db.c, I do not see any code that explicitly
looks for the ; character. Instead, it just ignores everything until it
finds a line where the second word is {. It then blindly uses atoi() on
the first word to get the id, and then tries to parse the rest of the
lines as if they are part of a record, and again ignores everything out
of the ordinary. An example of a dhis.db file that does not generate any
errors from dhisd but is interpreted completely wrong:

;1000 {
;       hostpass 12345
;}

1001 {
        hsotpass 54321
}

The above is, with the current parser, equivalent to:

0 {
}

Perhaps it is better to explicitly check for ; at the start of a line,
and only then ignore the rest, and on other lines complain if something
out of the ordinary is encountered.

-- 
Met vriendelijke groet / with kind regards,
      Guus Sliepen <[EMAIL PROTECTED]>
--- Begin Message ---
Package: dhis-server
Version: 5.2-2
Severity: normal


I've been suffering with wierd behaviour of dhis for some time, the
main symptom being that some clients seem unable to cause DNS updates,
despite being shown as up coming up in the dhisd.log.

Today I turned on verbose logging in dhisengine.pl (from Dan Mahoney
dated 9/25/2002) and it reveals that it's doing DNS updates for a host
that is comented out, and not bothering with the record that matches
the active client.

Here's the (slightly doctored) config file:

=-=-=-=-=-=-
;
; DHIS R5 Server Clients Database
;
; A sample DHIS database file for a DHIS server
; can be found in /usr/share/doc/dhis-server/examples.

;1000 {
;       hostname        testrig.dyn.hands.com
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        contact         Philip Hands
;        email           [EMAIL PROTECTED]
;        service         dns
;}

;1001 {
;       hostname        sf.dyn.hands.com
;       AuthN           12345678901234567890123456789012345678901234567890
;       AuthN           12345678901234567890123456789012345678901234567890
;       AuthN           12345678901234567890123456789012345678901234567890
;       AuthN           12345678901234567890123456789012345678901234567890
;       contact         Phil Hands
;       email           [EMAIL PROTECTED]
;       service         dns
;}

1002 {
        hostname        donlex.dyn.hands.com
        AuthN           12345678901234567890123456789012345678901234567890
        AuthN           12345678901234567890123456789012345678901234567890
        AuthN           12345678901234567890123456789012345678901234567890
        AuthN           12345678901234567890123456789012345678901234567890
        contact         Don
        email           [EMAIL PROTECTED]
        service         dns
}

1003 {
        hostname        red.dyn.hands.com
        AuthN           12345678901234567890123456789012345678901234567890
        AuthN           12345678901234567890123456789012345678901234567890
        AuthN           12345678901234567890123456789012345678901234567890
        AuthN           12345678901234567890123456789012345678901234567890
        contact         Philip Hands
        email           [EMAIL PROTECTED]
        service         dns
        service         relay
}

;1004 {
;       hostname        slc.dyn.hands.com
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        contact         Philip Hands
;        email           [EMAIL PROTECTED]
;        service         dns
;}

;1005 {
;       hostname        pmhq.dyn.hands.com
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        contact         Philip Hands
;        email           [EMAIL PROTECTED]
;        service         dns
;}

;1006 {
;       hostname        mw.dyn.hands.com
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        contact         Philip Hands
;        email           [EMAIL PROTECTED]
;        service         dns
;}

;1007 {
;       hostname        pmpod.dyn.hands.com
;        contact         Philip Hands
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        email           [EMAIL PROTECTED]
;        service         dns
;}

;1008 {
;       hostname        djh.dyn.hands.com
;        contact         Philip Hands
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        email           [EMAIL PROTECTED]
;        service         dns
;}

1009 {
        hostname        simon.dyn.hands.com
        contact         Philip Hands
        AuthN           12345678901234567890123456789012345678901234567890
        AuthN           12345678901234567890123456789012345678901234567890
        AuthN           12345678901234567890123456789012345678901234567890
        AuthN           12345678901234567890123456789012345678901234567890
        email           [EMAIL PROTECTED]
        service         dns
        service         relay
}

;1010 {
;       hostname        isd.dyn.hands.com
;        contact         Philip Hands
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        AuthN           12345678901234567890123456789012345678901234567890
;        email           [EMAIL PROTECTED]
;        service         dns
;}

;1011 {
;       hostname        luke.dyn.hands.com
;        contact         Luke Kenneth Casson Leighton
;       AuthN           12345678901234567890123456789012345678901234567890
;       AuthN           12345678901234567890123456789012345678901234567890
;       AuthN           12345678901234567890123456789012345678901234567890
;       AuthN           12345678901234567890123456789012345678901234567890
;        email           [EMAIL PROTECTED]
;        service         dns
;}

1012 {
        hostname        britcrop.dyn.hands.com
        contact         Philip Hands
        authn           12345678901234567890123456789012345678901234567890
        authn           12345678901234567890123456789012345678901234567890
        authn           12345678901234567890123456789012345678901234567890
        authn           12345678901234567890123456789012345678901234567890
        email           [EMAIL PROTECTED]
        service         dns
        service         relay
}

=-=-=-=-=-=-

The client that was really logging on was 1003, but the DNS record that
was being updated with its address was djh.dyn.hands.com so at first
glance it would seem to be reading the commented lines for hostnames,
and using the last one it sees before the next uncommented section.

BTW before I doctored the file, the keys for 1003 and 1008 were different
(as were all the others from one another).

Having deleted all the comented sections, it's now working perfectly
again.

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-free
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages dhis-server depends on:
ii  libc6                  2.3.6.ds1-13etch4 GNU C Library: Shared libraries
ii  libgmp3c2              2:4.2.1+dfsg-4    Multiprecision arithmetic library

Versions of packages dhis-server recommends:
ii  dhis-dns-engine               5.1-1      Dynamic Host Information System - 
ii  dhis-tools-dns                5.0-5      Dynamic Host Information System - 

-- no debconf information



--- End Message ---

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to