Hi, I'm new to the list. I run hybrid7 with hybserv2 services on my linux server at home. I recently acquired an HP C3000 workstation (PA-RISC) with HP-UX 11i installed. I installed the GNU C compiler suite, and tried to install hybrid7 to no avail. It seems the only time hybrid7 has been successfully compiled on HP-UX is via HP's ansi-c compiler ($1500.00 or so price tag for that.) I got to looking around and discovered this little gem of a server. I downloaded it, compiled it (no problems what-so-ever) and installed it without a single hitch. I even went in and found the correct line in the defines.h file to modify the nick length quickly because the code is clean and self documenting. KUDOS.
I was browsing the mailing list archive and discovered that I'm not the only one interested in IRC services. The last discussion I remember reading on it is from January of this year. It seems noone was quite sure how the services actually work. I'd like to introduce 2 concepts of how services are suppose to work (from my experience... guesswork, but the end result would be the same) plus I'd like to give an idea for "faking" services using something as simple as an eggdrop irc bot.
It's my understanding that services work by connecting to the IRC servers they service as "just another IRC server." The servers don't know anything about the services server other than it's another IRC server on the network. The difference is this... The services "server" "cheats" by sending nick change events for users, disconnecting users, and such depending on what commands are given by a user who has authenticated with those services. In order to write the services, someone might consider starting with ngircd and cutting out the "user can connect" portions, and modifying it to keep an authentication database for users, channels, services ops, and memos (if a memo service is desired.) I'd be happy to help whomever is wanting to write the services, but my time is somewhat limited, so if I end up writing them alone, it will take quite a while to complete.
The pseudo-services idea I have is a little more "dangerous" and requires a thorough understanding of how to set up and manage an eggdrop or other irc bot. The irc bot should be running on a server that only trusted users have access to. The bot should be set up to NOT allow "bot op" connections, telnet connections from "any ip," or otherwise present any way for arbitrary users to connect to it and give it commands. The bot should be stripped of non-services scripts. The last part (and this is WHY the tight security) is that the bot should be able to (and must) have OPER privileges on the irc server it connects to. Why? The setting that allows IRC operators to make themselves CHANNEL operators makes this a god-send for "quick and dirty" services-via-bot setups. Scripts can be written to handel "chanserve" functionality with little effort. Modifications to ngircd would need to be made to allow IRC Operators the ability to change other users' nicknames on the fly for NickServe functionality to exist, but this may (or may not) be easily accomplished.
Anyway, these are the ideas I've had, and hopefully they'll help someone out. Comments, flames, and other verbage are welcome :)
Stefan
__________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/