BSD DevCenter
oreilly.comSafari Books Online.Conferences.


Finding Help on IRC
Pages: 1, 2

The comparison between IRC and CB radios isn't that bad, either. In addition to the standard 40 channels, some CB radios had options for "upper side band" and "lower side band." Channel 19 in standard band was not the same as Channel 19 in upper side band. Similarly, #freebsdhelp on DALNET is not the same as #freebsdhelp on EFNet. IRC also has many of the same charms as CB radio has. The last time I turned on a CB, I mostly heard static. Every few moments, however, someone keyed their mic and shouted "Green beans! Green beans! GREEN BEANS!" (My wife still hasn't recovered.) Altogether, it's not that different from IRC.

Related Reading

Learning the Unix Operating System, 5th EditionLearning the Unix Operating System, 5th Edition
By Jerry Peek, Grace Todino & John Strang
Table of Contents
Sample Chapter
Full Description

So, I need a server that will relay my messages to the appropriate network. I need an identd server on my local system. I also want to set up my client so that I'll automatically connect to my chosen network and log on to a channel of my choice, much like my late father's CB radio was turned to channel 14 LSB by default. I'm on Comcast at the moment, courtesy of the also-late @Home, so I could use their IRC server if I wanted. This server will probably vanish soon, so I might as well look around for a good one. Google leads me to, which has a list of all IRC servers and terms under which connections are allowed. It doesn't take long to find one that allows connections from anywhere.

I set my server with the /server command in the IRC client. The first server I try tells me that it cannot check my ident service, and hence I am a loser who is not worthy of accessing their glorious service. Well, I suppose a firm "no" is better than nothing. And if I fix ident, I should get a new and more exciting error message.

The ident (or auth) protocol identifies users. It's an old protocol, and isn't very reliable or secure. I can easily set up an identd server that will identify me as "George W. Bush, US President." IRC won't care, and neither should other network services. More complicated versions of identd will return things such as encrypted cookies to validate users, but that's well beyond the scope of identd for IRC.

FreeBSD includes a minimal ident service in inetd. If you search /etc/inetd.conf, you'll find several sample lines for auth services. The first examples return errors for all ident requests. The third and fourth provide a limited ident service that works well enough for IRC. The last sample is useful for an add-on identd; it works out-of-the-box with /usr/ports/security/pidentd. I uncommented the third auth example, which enables FreeBSD's built-in ident, and restarted inetd.

The IRC server complained that it still couldn't connect to my ident service. Checking netstat -na on the local machine, it seemed that they didn't even try! Well, that's annoying. I decided to start monitoring my firewall, to see what packets the IRC server was sending --


Oh. Yes, well, I suppose the packet filter might have something to do with it. I opened port 113, and tried again. This time, I got a friendly message saying that ident worked. I typed /server servername, and received a friendly message welcoming me to the chosen EFNet server. I'm in!

Now, to try some things. Once again, I type /join #freebsdhelp. A list of all the users currently on #freebsdhelp scrolls past, and I am suddenly eavesdropping on conversations between users all over the world.

Every IRC user has a nickname, or handle. Messages appear with the user's IRC nickname, followed by the message. To send a message to the entire channel, you just type what you want to broadcast. You can send a private message to a user's nickname by typing /mesg nickname, followed by the nickname you want to talk to. Your nickname defaults to your username on your local system or, in my case, mwlucas. If you change your nickname while in IRC, it announces the change to everyone on the channel you're on.

Each IRC network provides a different set of channels. You can find all of the channels on a network with the command /list. Listing the entire channel list for a server is a bad idea, however; it can be quite long, and you can wind up flooding your own connection and disconnecting yourself from the server. The /list command does allow you to do some basic regex-style searching, so you can do things such as /list *bsd* to find out which channels include "bsd" in their names. Some non-computer-related subjects also include the letters "bsd", so don't arbitrarily join all the channels you find.

You can run some basic checks on other users by with the /finger and /whois commands. /finger requires that the user have finger running on their system, while /whois checks the information that they've provided to the IRC server. Both are easily forged, and should not be trusted.

I'm not there for more than thirty seconds when somebody says, "Hey! It's the guy from O'Reillynet, or someone pretending to be him!" I instantly start receiving dozens of private messages from users asking me to share some droplets from my vast font of wisdom, as this column obviously means that I have extensive experience with their exact combination of hardware and software. I bear up for about ten minutes, then type /quit to leave BitchX and catch my breath.

Obviously, I need to change my nickname if I want to enjoy IRC. And I have to have it set before I log in at all, or everyone will see the name change. BitchX allows you to set your username with some environment variables.

$IRCNICK is your chosen IRC nickname. $IRCNAME is your "real name," which is a bit of a misnomer. I can set $IRCNAME to "Chuck, the Gerbil of Doom" if I wish, and IRC will take it. Finally, $IRCSERVER is your default preferred IRC server. By setting these in my .cshrc, the next time I run BitchX I won't be mugged by people who need help. I'd rather help out one person at a time.

Having lurked anonymously in #freebsdhelp for a while, I have to say that it's a valuable resource to the FreeBSD community. The people are almost always friendly and helpful, and it provides a quicker response than the mailing lists. You won't get the same depth of exposure that a mailing list message gives you, but that might be alright if you have a basic question. And the next time you say something there, I might be the one who helps you out.

Michael W. Lucas

Read more Big Scary Daemons columns.

Return to the BSD DevCenter.

Sponsored by: