linuxconf 1.17r1 changes log

linuxconf 1.17r1 changes log

previous versions: 1.16r10
Change log index
1.17r1 contains lots of stuff. Not all is visible. 1.17 will target a rework of the user interface. Especially the graphical one.

Enhancements

/etc/fstab: owner option now supported

The owner option was not supported and this was confusing Linuxconf when it was probing the currently mounted file systems. With the CDrom it was always complaining that a re-mount was needed.

Control service activity: generalized

This dialog is now using the new SERVICECTL inter-module API. This means that various modules managing services may register in this dialog. This will create a central place to manage the different services.

GUI: busy mouse cursor

A simple protocol was added. Whenever the front-end send a message to Linuxconf, it turns on it busy mouse icon. When Linuxconf is ready to process more inputs, it send an `Alive` primitive. This seems to work quite well.

GUI: changing the content of a form

This was a severe limitation. The new Setval primitive lets redefine the value of a field or the value of an item of a list. The original work around in Linuxconf was to delete the dialog and create a new one. This was causing all kind of annoying behavior, such as windows dancing around on the screen and lost of the dialog current input field.

Function like DIALOG::reload() are using this primitive if available. The new function DIALOG::set_menuitem is also using it. Note that this change slightly how one can write an edit function to handle a record list: It is simpler. Note that existing code still work, but the new code look like.

	DIALOG_RECORDS dia;
	dia.newf_head ("","Name	Surname	Telephone");
	int nof = 0;
	while (1){
		for (int i=0; isurname.get(),p->tel.get());
			dia.set_menuitem (i,p->name.get(),buf);
		}
		// Remove extra fields
		// dia.getnb() includes the header
		while (dia.getnb() > tb.getnb()+1) dia.remove_del (tb.getnb()+1);
		MENU_STATUS code = dia.editmenu ("title","introduction",help_nil

Gradually, various parts of Linuxconf will be reworked to use this strategy.

GUI: dialog type

The MainForm primitive was enhanced with a new parameter. It describes the type of a dialog. This is a word. It can be one of:

These informations may be used by the front-end to customize the dialog so it more closely follow the user interface style guide of the UI environment.

GUI: Graphical user interface and protocol

Many changes were made to this area, although not everything is immediately visible in Linuxconf. The changes involves mostly some enhancement in the GUI protocol. As a recap, the GUI in Linuxconf is handled by a separate program and a special protocol is used between Linuxconf and the front-end. This protocol was lacking many features. Currently only wxxt-linuxconf (linuxconf-gui package) is implementing these features. They are described in this document.

gnome-linuxconf will follow soon. Note that Linuxconf is still compatible with older front-end.

GUI: new gauge widget

A new gauge widget was added. This is not used in Linuxconf yet. This widget is presented as a numerical field in HTML.

GUI: new setcontext primitive

This is not used in Linuxconf currently, but will be in the next release. This "set context" primitive lets re-parent new dialogs inside existing dialogs. The gnome-linuxconf front-end was implementing a nice hack to re-parent dialogs as page of a note-book object. This was done without much information from the GUI protocol. Using the new set context primitive, the treemenu module is now able to the tree view + notebook layout on its own, without any hacks in the front-end.

This new setcontext primitive is the key for more complex dialog. One usage in Linuxconf will be (beside the tree view + notebook) a switchable log window at the bottom. This log window will be a notebook and will contain various logs

GUI: new slider widget

A new widget was added. A slider. This is not used yet in Linuxconf. Note that the slider is presented as a numerical field in text and HTML mode.

Module firewall: logging added

There is a new check-box for logging. Anytime the rule match, a message is generated by the kernel and ends up in a syslog (generally /var/log/messages). This is typically used with reject or deny rules.

Module inetdconf: New

Thanks to Torbjörn Gard tgard@netg.se we have now a module to configure /etc/inetd.conf and /etc/services. It is part of the core distribution and enabled by default (unless you do not have a /etc/inetd.conf file).

new diff format, sort of

Starting with 1.17, the diff for Linuxconf available from ftp://ftp.solucorp.qc.ca/pub/linuxconf/devel/diffs are delivered in two files: The usual context diff usable with the patch command and a corresponding fcmd file. The fcmd file contains one line commands allowing you to fully synchronized your source tree with the official. It provides information about files to remove and links to perform. A diff can't provide this information.

I will soon upload a new version of the linuxconf-tool package which will deliver a script called fcmd-exec which is fixing a source tree using this file.

translations

As usual, plus more help screen in Swedish.

User account supplemental groups

A single line was available to enter all the supplemental groups. This was not enough. Now as many as needed are added. Further, the groups are sorted.

Bug fixes

IPX: enabling changes

This has never worked on red-hat like distro for a good while. IPX configuration was activated at boot time, but changes later were not applied.

Module dhcpd: updating the DNS

Some invalid characters were still allowed and this was confusing the DNS. Things should be good finally.

Module dialout: PPP tunnel with patched ssh

PPP tunnel using the patched ssh were broken since 1.6r10. The flag was not read properly from the configuration file.

Module dnsconf: include files in named.conf

Include file were supported, but it was broken (Linuxconf was crashing). This is fixed minimally: Linuxconf knows how to read the include files but can't write them back, so everything is merged in /etc/named.conf.

Include file may be organized arbitrarily. Rewriting them exactly is not an easy job.

Module mailconf: Fixed anti-relay

The new anti-relay ruleset is included, patching yet another relay trick.

The default for new installation is now relay control enabled.