05 Aug 2004 (permalink)

Started weblog.

Thanks Wojtek for an excellent piece of software!

Radius news:

06 Aug 2004 (permalink)

Awfully tired of writing docs!

Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing.
-- Dick Brandon

Radius news:

Tar news:

Two updated localizations are available for 1.14: Dutch and Simplified Chinese.

Mailutils news:

Fixed minor bug in 'include/mailutils/daemon.h'.
07 Aug 2004 (permalink)
all right-thinking people know that (a) K&R are right and (b) K&R are right.
-- Linus Torvalds

I have a strong feeling that back in the days when we were editing our code with ed (I still use it quite often, I must admit) our code contained less errors and was far more readable than today.

I have just finished cleaning up my buddy's code that was written on a 120-columns-per-line screen and contained quite a few copy-n-paste bugs. Sure, one can read a 120-chars single-line declaration. One can even read a whole 80-line screen of such declarations, but I strongly doubt whether one will really understand what he has read and be able to spot out the error. Especially when one has been looking at his screen for 20 straight hours, you know.


My todo list is quite long (as usual), but I have a strong urge to play charango... Its strings will surely keep me away from the console today. Chores will wait. Vielleicht das nächste Mal:))

Anubis news

Implemented XELO extension. XDATABASE EXAMINE now works using MD5 hashes, just as was proposed in the initial 'pixie-dixie' draft.

Mailutils news

Lots of changes. Still cannot understand why compiling guimb/main.c fails at argp.h on Sparc. Hopefully Alex will be able to provide a preprocessor output file, this should solve the puzzle...
08 Aug 2004 (permalink)
Unha lingua é máis que unha obra de arte; é matriz inesgotable de obras de arte.

No coding today. Playing charango again:)

However, there are some news:

Mailutils news

The "error_t on Sparc" problem has been solved! It turned out that one of Guile includes defined error_t without defining symbol __error_t_defined. It's easy to fix, but Guile people should have known better than doing such things.
09 Aug 2004 (permalink)

Back to tar. I hope to fix listed-incremental problem today.

Anubis news:

Committed a fix to the problem recently spotted by Wojtek: when switching to the user's privileges anubis did not clear the list of complementary groups.

Tar news:

Luca Fibbi reported that version 1.14 incorrectly skipped members in a PAX archive. It turned out that it was incorrectly deeming the members to be sparse, and that, in turn, due to the fact that the member header was not decoded prior to calling skip_member(). Lots of interdependencies...
10 Aug 2004 (permalink)
Primero vamos a tomar mucha chicha y después nos pondremos a trabajar!

I have finally moved the runasimi site to LINGUA engine!

11 Aug 2004 (permalink)

Runasimi news

Added chapter about cardinal numerals in Quechua.
Though a program be but three lines long, someday it will have to be maintained.
-- The Tao of Programming


Writing LINGUA engine was a great experience and it has shown that eXtrans is a nice idea. It has, however, some deficiences. Some of them were already fixed (I hope to make CVS repository available soon). The two most important ones remain:

The diagnostics does not help to find out the exact place in the XML file where the error occurred. Its an awful work to scan the entire source to find out a misplaced or mistyped tag. I have made some improvements which do help in certain cases, but the main part of work is still ahead.

Keeping a separate database of target-source file dependencies makes it difficult to use eXtrans in makefiles. Both Ellinika and Runasimi use all-local rule to override the difficulty, but the solution is far from being optimal.

I'd like to rewrite eXtrans so that it produces usual makefiles instead of keeping its own database of files to be modified.

An interesting approach would be to create a derivative class from XTransBase which would override set_output so that it would add appropriate output file name to the makefile rule being generated. The rest of methods should probably simply call pass and do nothing. At the end of processing this auxiliary class would output the rules it has generated (and, possibly, purge orphan html files).

Theoretically this should work.

The related makefile rule will then look like follows:

	$(EXTRANS) -M $(SOURCE) > .extrans.mk
	$(MAKE) -f .extrans.mk


mailutils Coredumped on reading a single escape character. Wonder why no one has noticed this before!
tar GNU multivolume cannot accept members with filenames longer than 100 characters to straddle the volume boundary. It did not check filename length, however.
12 Aug 2004 (permalink)
  Coca no es cocaina. Coca es la hoja sagrada.
  Jallalla Bolivia, jallalla Oruro,
  Soy de los cocanis alma, vida y corazon.

    -- Savia Andina


Added chapters about ordinal and monetary numerals.

Anubis authmode testsuite


The testsuite driver starts anubis daemon in authmode as follows:

  anubis --norc --relax-perm-check --altrc target.rc

where target.rc is the full filename to the configuration file for this instance of the program. It contents is described in detail in the next section.

Now, anubis switches to the daemon mode. Theoretically, we could have used DejaGNU's remote.exp to talk to the daemon. However, DejaGNU is not able to handle TLS encryption, so this method does not suite our needs.

Instead we launch a second copy of anubis, but this time using the following command line:

  anubis -Dfi --norc --relax-perm-check --altrc interface.rc

This instance of the program remains in foreground and DejaGNU talks to it using already existing anubis.exp module. Moreover, all the testcases can be run without modifications.

The following diagram illustrates data flow between main testsuite program and anubis daemon.


Configuration files

As usual, both target and interface configuration files are created from their corresponding *.in source files. The purpose of this step is to expand variables TESTDIR and TOP_SRCDIR, thereby providing correct paths to data and binary files. Usually this is done on compilation time by testsuite/etc/Makefile.am. However, to launch the first (authmode) instance of anubis we need to know the port number to bind to. Using any predefined port number is not a good idea, as it may be in use at the time the testsuite is run. Prompting the user to supply the port number is even worst.

The solution is to select the first available port number among TCP port range 1025-65535. For this purpose we use findport.c from the GNU Radius package.

The corresponding part of DejaGNU source will look like:

  # Prepare a sed expression:
  set sed_expr [remote_exec host "$FINDPORT -c1 -s1025 -f's^@AUTH_PORT@^%d^;'"]
  append sed_expr "s^TESTDIR^[board_info $host_board srcdir]^;"
  append sed_expr "s^TOP_SRCDIR^[board_info $host_board top_srcdir]^"
  # Create target configuration file
  set output [remote_exec host \
             "sed -e '$sed_expr' \
               [board_info $host_board top_srcdir]/testsuite/etc/target.in"]
  save_to_file "[board_info $host_board srcdir]/etc/target.rc" $output

  ... Run 'anubis --altrc target.rc' here ...

  # Create interface configuration file
  set output [remote_exec host \
             "sed -e '$sed_expr' \
               [board_info $host_board top_srcdir]/testsuite/etc/interface.in"]
  save_to_file "[board_info $host_board srcdir]/etc/interface.rc" $output

It is supposed that save_to_file writes to the file whose name is given in its first argument the lines from the list given as its second argument.

The amount of time elapsed between creation of the target configuration file and launching first anubis instance should be as small as possible, in order to diminish the probability of some other process occupying the port number retuned by findport. So, it is preferable to start first anubis instance right after creating configuration file for it.

Theoretically, it is still possible that by the time first anubis starts up the port number will become occupied. This will cause the testsuite to fail, so we should make sure an appropriate diagnostic message will be issued.

However, the probability of such failure is quite small. I have been using this approach in GNU Radius testsuite for more than four years and I cannot remember ever having encountered such a situation.

Given all the above, let's now see what should the configuration files contain.

Target configuration file, target.in

    mode auth
    bind @ANUBIS_PORT@
    local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log \
              -c TOP_SRCDIR/testsuite/data/anubis.pem \
              -k TOP_SRCDIR/testsuite/data/anubis.pem
    logfile TESTDIR/etc/anubis.log
    ssl yes
    ssl-key TOP_SRCDIR/testsuite/data/anubis.pem
    ssl-cert TOP_SRCDIR/testsuite/data/anubis.pem

    sasl-password-db text://TOP_SRCDIR/testsuite/data/anubis.textdb 
    sasl-allowed-mech CRAM-MD5 DIGEST-MD5 
    # Err, a practical joke:
    smtp-greeting-message "Hej, sloneczko"
    smtp-help-message "Czlowieku, dopomoz sobie sam!"

Interface configuration file, interface.in

    logfile TESTDIR/etc/anubis.log
    remote-mta localhost:@ANUBIS_PORT@
    ssl-oneway yes
    esmtp-auth anubis:guessme


To be continued...

14 Aug 2004 (permalink)

Implemented Anubis Dixie testsuite following the guidelines set forth yesterday.

Nothing more to say. Playing music...

15 Aug 2004 (permalink)

El dia de avui es, potser, decisiu per als veneçolans: es celebra el referèndum revocatori... Fa més de un any que no tinc novetats de Oswaldo i Francisco. Com estaran?

He millorat el diccionari de Quechua una mica. Llavors em torno a tocar quena amb la consciència tranquil·la.

16 Aug 2004 (permalink)

Chávez guanyà! Estic molt content.

20 Aug 2004 (permalink)

Tak, postęp się na pewno załamał, to możemy sobie spokojnie powiedzieć. Rozglądając się - a mam czterdzieści kanałów w telewizji - nie widzę żadnych, ale to żadnych polepszeń. Widzimy tylko, że dawniej musiało się użyć pałki, a dzisiaj można mordować dzięki laserowemu naprowadzaniu bomb, wyłącznie naciskając jakiś guzik. Dzięki czemu jest się izolowanym od osobistych, emocjonalnych stresów przy tej robocie.
--Stanisław Lem

Takie oto ponure spostrzeżenie...

Hackowałem blogRight-a. Wynikiem jest ta strona.

22 Aug 2004 (permalink)
Wreszcie skonwertowałem zdjęcia z wyjazdu do Kijowa (zawsze używam starej "Praktyki", stąd potrzeba konwertowania negatywów na JPEG). Oto pierwsze z nich:


Kijów. Andrzejewski zjazd. "Zamek Ryszarda". Okolo 8:00

Musiałem przypomnieć sobie kurs astronomii by obliczyć kiedy słońce będzie w potrzebnym miejscu :^)

Zamkiem Ryszarda nazwał ten gmach wybitny rosyjski pisarz Wiktor Niekrasow (podobno na cześć Ryszarda I "Lwie Serce", z ktorym oczywiście ten gmach aż nijak nie jest związany). O gmachu mówiono dziwne rzeczy, głównie z powodu tego że, jak powiadają mieszkańcy, jego kominy wydają nocą dziwne dzwięki. Swego czasu w "zamku" mieszkało wielu pisarzy i malarzy.

24 Aug 2004 (permalink)

Nowe zdjęcia. A oto kod który je wyświetla: webgal.cgi.

31 Aug 2004 (permalink)

Good news

Welcome to my local CVS Repository.

Today I was heavily hacking on tar. Lots of bugfixes and improvements. See ChangeLog entry for more info.

Bad news

Summer is over :((