Identify users with identd or oidentd

In general, and in the context of IRC, ident is a method that can be used to prove that connections are valid.

When the IRC server gets a connection request, it will query your system for the ident. An ident server can read the ident file and send this ident back to the IRC server.

On most IRC networks, when the server fails to get an ident response, it falls back to the username given by client, but marks it as “not verified”, usually by prefixing with a tilde; e.g. ~josh.

Built-in identd server

The identd option is a lightweight server implemented in The Lounge itself. On Linux, this currently requires The Lounge to run as root to be able to bind to port 113.

As such we recommend setting up the built-in server along side oidentd and configuring it to forward requests to the built-in server.

To enable identd support, set identd.enable in the configuration to true.

Using oidentd to forward requests to the built-in server

If you have oidentd 2.3.0 or later available, you can use oidentd to forward requests to The Lounge’s built-in ident server.

In The Lounge config, set identd.enable to true, and identd.port to a port higher than 1024, for example 9001.

Then, open /etc/oidentd.conf file in a text editor and add the following:

user "thelounge" {
	default {
		allow spoof

		# Use this if The Lounge needs to spoof local user names
		allow spoof_all

		# 9001 is the port you set in The Lounge's config
		force forward 127.0.0.1 9001
	}
}

If you have set the bind configuration property, you will need to change 127.0.0.1 to the same bind address in the oidentd configuration above.

Using oidentd only

oidentd can be used, as The Lounge also supports writing user ident to a file which can be read by oidentd. To enable oidentd support, set the oidentd configuration option to "~/.oidentd.conf"

If you have installed The Lounge as a service (pre-built package), the service has no access to /home folder and thus this method will not work. Refer to using oidentd along with the built-in identd above.

After that is done, you will need to configure oidentd to allow spoofing.

Open /etc/oidentd.conf config file in a text editor and add the following:

user "thelounge" {
	default {
		allow spoof
		allow spoof_all
	}
}

If your system has a user with the same name as one of the The Lounge users, the spoof_all capability is required.

oidentd must be able to read your ~/.oidentd.conf file. Therefore, the home directory permissions of user thelounge should be at least 711:

chmod 711 /home/thelounge/
chmod 644 /home/thelounge/.oidentd.conf