Frequently Asked Questions (Or just Things the Author Wants You to Know...)

01. What *is* lurc anyway?
02. Why the name lurc?
03. Why does lurc exist?
04. What version of xchat is lurc based on?
05. So Hikaru's not a programming guru?
06. Why does lurc not support plugins, scripting, gnome theming, zvt,
    compiling on OS/2 or <insert here>?
07. So does this mean that if I write a patch which adds plugin support back
    into the irc client that Hikaru will accept it?
08. Why are irc server and nickserv passwords stored and displayed in an
    easily viewable way by anyone?
09. But I thought if you use SSL, it makes client to server connections
    unreadable by anyone along the path?
0A. Is this program available for Windows?
0B. How would I compile this program to work on windows?
0C. Strange behaviors and explanations


1. What *is* lurc anyway?

lurc is an irc client written for gtk 1.2 that runs in X windows based on
xchat 1.0. lurc is written and supported by Timothy C. McGrath, also known
as Hikaru on irc.oftc.net.  xchat 1.0 was created by Peter Zelezny and
several other authors, read the AUTHORS file for details.


2. Why the name lurc?

lurc isn't really named for anything. The name means nothing. It was chosen
as a simple short label for the program that seemed unique.


3. Why does lurc exist?

Somewhere around the time slackware started shipping xchat 2.4.x, Hikaru
had a computer crash which scrambled his xchat configuration files. Given
that he would have had to reconfigure the irc client from scratch to
resemble the way earlier versions had, and the fact that it was not easily
capable of using the font he wanted it to use, he decided as an exercise in
learning to look at the code of the program.


4. What version of xchat is lurc based on?

lurc is based off of xchat 1.0; Why you ask? It's the simplest version of
the code that works well. As a novice in C, Hikaru found it easier to start
from something that uses mostly standard C functions rather than gtk
functions.


5. So Hikaru's not a programming guru?

No, Hikaru is new to programming and has not taken any courses. Hikaru is
doing this mostly for fun.


6. Why does lurc not support plugins, scripting, gnome theming, zvt, compiling
on OS/2 or <insert here>?

The short answer is that none of those things *worked* when Hikaru started
hacking on the program; The longer answer is that all of the ifdefs
complicated the code heavily, and since the larger and more complicated
something is the harder it is to maintain, Hikaru started ripping things out
that he didn't personally use a long, long time ago.


7. So does this mean that if I write a patch which adds plugin support back
into the irc client that Hikaru will accept it?

No, primarily because plugins, binary or scripted are dangerous; it's too
easy to make a plugin that overrides internal functions and presents its
own; while this can be used for very good things, Hikaru can see the
potential for much evil. If Hikaru added plugin support he would not expect
users to understand the scripting languages that would be supported, which
means they could be duped into running something that could be quite
hazardous. As a second reason, the original implementation complicated and
cluttered the code quite a bit... It would take much convincing for Hikaru
to want to maintain such a beast.


8. Why are irc server and nickserv passwords stored and displayed in an easily
viewable way by anyone?

Irc is an ascii text protocol which has the same limitations as telnet for
security. Basically anyone can spy on anything you type in or view, it's
utterly laughable to think that obscuring your passwords on your irc client
would make it difficult for people to spy on you. If you're using this in a
multi computer environment like an office LAN, public library, or elsewhere
you should be worried more about the people you *can't* see spying on your
conversations rather than people watching you over the shoulder. IRC is not
a secure protocol! Stop treating it as if it is!


9. But I thought if you use SSL, it makes client to server connections
unreadable by anyone along the path?

You're right, it does - but the problem is that if the machine is not owned
by you that someone could have installed a keylogger or other way of spying
on you that you can't see. I won't support running the program in an
environment such as this. There are more ways of spying on you that you
*can't* see than *can* - assume if you're using a computer not owned by you
that everything you type in is being watched by someone else.


10. Is this program available for Windows?

No. Sorry. We've gotten it to build in cygwin, but it still doesn't work.


11. How would I compile this program on windows?

Please read the INSTALL file for details. Note that although it builds and
runs, you still can't connect to an IRC server with it. We could use some
help fixing this, so those of you who have experience with programming in
cygwin and C, please contact us. (Read AUTHORS for email addresses.)


12. Strange behaviors and explanations.

Why when I connect to an irc server does the client pause?

If you have autoconnect commands and autojoin channels enabled for an irc
server, when you actually connect there the irc client will pause for five
to six seconds after running the commands. It does this so when it sends the
/join command, if you've identified to nickserv, services has had enough
time to get your identification message, so you won't get automatically
banned from the channel. (For instance, irc.esper.net has the ability to set
a mode on channels that will have chanserv kick and ban you if you join a
channel without having identified to nickserv first.)


I connected to an Unreal irc server and the client doesn't
run autoconnect commands/autojoin?

Try running the command /motd - if everything suddenly starts working, the
problem is a frequently encountered bug in the unreal server where it will
occasionally neither send the MOTD nor MOTD is missing message, as it is
*required* by the irc rfc to do. This is a bug in unreal and I won't work
around it in this client.

Explanation: lurc waits for the motd message to be recieved before sending
the autoconnect commands and autojoining channels, so if it doesn't get one
obviously it sits there. Waiting forever. Running the /motd command asks the
server to send you the motd, so this winds up working around the problem.
And yes, despite what you may be told by various people the rfc *requires*
the motd be sent every time you connect to an irc server. (Before you ask,
all the Skip MOTD? button does is filter out the message. It's still sent to
you, you just don't see it.)
