linuxconf 1.25r7 changes log

linuxconf 1.25r7 changes log

previous versions: 1.25r6
Change log index


Control-C in text mode

The user interface now handle control-C. It uses to ignore it and Linuxconf was killed. This was never a problem and was heavily used by experienced Linuxconf users, instead of escaping out of the various menu and dialogs.

Now, control-C does escape from dialogs, so you can control-C out of Linuxconf is a controlled way and each dialog may reacts to it if needed. A dialog just has to wait for the "dialog_controlc" PRIVATE_MESSAGE using the DIALOG::waitfor() function.

A dialog not waiting for this message will receive MENU_ESCAPE while a dialog waiting for it will receive MENU_MESSAGE and will be able to test for this specific message.

The treemenu module makes use of this enhancement. When you "control-c" out of Linuxconf, it preserves the tree state and current line. It does that also if you "quit" using the quit button. When you get back to Linuxconf, you end up positioned exactly where you were in the previous session.

Inserting fields in a dialog

Originally, it was not possible to insert new fields in a running dialog. The new function DIALOG::set_nextfield(int) controls where the next field will be placed in the dialog. Here is a sample

	DIALOG dia;
	SSTRING f1,f2,f3,other;
	dia.newf_str ("Field 1",f1);
	dia.newf_str ("Field 2",f2);
	dia.newf_title ("","new fields go here");
	int insert_pos = dia.getnb();
	int original_pos = insert_pos;
	dia.newf_title ("","Other fields");
	dia.newf_str ("last field",f3);
	dia.setbutinfo (MENU_USR1,"more fields","more fields");
	dia.setbutinfo (MENU_USR2,"remove fields","remove fields");
	int nof = 0;
	while (1){
	    MENU_STATUS code = dia.edit ("insert fields"
	        ,"You can insert and remove fields",help_nil
	    if (code == MENU_ESCAPE || code == MENU_CANCEL){
	    }else if (code == MENU_USR1){
	        dia.set_nextfield (insert_pos++);
	        // We are using the same edit variable, this is a sample only
	        dia.newf_str ("Another field",other);
	    }else if (code == MENU_USR2){
	        if (insert_pos > original_pos){
	            dia.remove_del (--insert_pos);
	    }else if (code == MENU_ACCEPT){

Module dialout: --disconnect --all

The module has a new command line allowing it to disconnect all PPP active connection.

linuxconf --modulemain dialout --disconnect --all

Module firewall: various enhancements

You can use the ! character in various places to mean "not". You can use it in the protocol and from/to field as well as the interface field. You could use it in the "other ports" field.

Module liloconf: Adding a kernel you compiled

When adding a kernel you just compiled, the module is parsing /usr/src/linux/Makefile to extract the kernel version. It was not picking the "extra" field. It does now so the suggest kernel version better match the kernel (and the /lib/modules/kernel-version path).

Module mailconf: Accept email for the host

By default, the module was generating a so email to the host was accepted. A check-box lets you control that. For example some servers are only handling virtual email domain and you do not want to accept email for the server itself at all.

Module printer: search dialog when too many printers

The printer list dialog was modified slightly so a search prefix is presented when the list grows to some limit (60 by default). The list should be sorted ideally...

Module samba: preexec close

Two new check-boxes have been added to control the "pre-exec close" and "root pre-exec close" feature. When a pre-exec script fails (and return an error code), the check-box controls if the connection should end or not.

Module treemenu: handle control-C

As explained in the UI enhancement, the module handles control-C and preserved the exact state of the tree (open/close nodes, window scroll position, current line).

Module xterminals: visualuntar utility

A new utility called visualuntar has been created. It is kind of general purpose. It is used to untar file and present graphically a progress bar. It works in text and GUI mode. It is part of the linuxconf-util package.

The TLMP components in Linuxconf

The various TLMP components in Linuxconf are now documented. You can find the doc at


Several Italian updates from the folks at

Bug fixes

Disk quota with kernel 2.4

Linuxconf now checks for the files quota.user/ on kernel 2.2 and aquota.user and on kernel 2.4. There are still some issues with disk quota and Linuxconf on kernel 2.4 though.

Module dnsconf: updating the DNS from the host configuration

The module has done that for a long time, but in some case it was claiming to update the DNS even if there were no domains matching the host configuration. Fixed!

Module mailconf: amavis mailer template

The template file for amavis mailer was broken (spaces instead of tabs). Fixed!

Records list screen corruption in text mode

Wide records list were not properly presented in text mode and the display was corrupted. Fixed!

Setting file permissions

Linuxconf has to ability to enforce file permission on a per distribution per version basis, the editor used to override these settings was not supporting the "per version" part properly, making it impossible to change some permissions.