--- Alexander Barton <alex(a)barton.de> wrote:
> Hi Stefan!
>
> > 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.
>
> Thanks :-)
No problem. I don't speak or read German, but your
code is self-documenting and I can understand what's
going on without bothering with the comments :)
>
> > 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.
>
> This is one possibility. And this one should/could
> already work with
> the ngIRCd.
I agree. I haven't found a service package to try
this with as of yet. Hybserv2 acts as another server
on the network as I described. Hybrid7 doesn't have
support for the service related commands by default,
and may not have them at all.
>
> The alternative is that the service registers itself
> as "service" using
> the SERVICE command as defined by RFC 2812, section
> 3.1.6. This variant
> isn't implemented by the ngIRCd at the moment.
I've never actually seen a service implemented this
way, although I do remember seeing this section in the
RFC's while I was learning the protocol to write my
own IRC bot. I just looked in to this and it looks
like it wouldn't take too much to add this kind of
functionality to ngIRCd. I looked at the client.c
file, and I know another wrapper needs to be added
to Client_New() called Client_NewRemoteService().
I'll dig deeper and see if I can't implement this.
I'd rather find an IRC server that has this working
already to test how the protocol is suppose to work,
but *something* is better than *nothing* :) and I'm
sure people will correct anything I do wrong if I
get this working and submit the appropriate patches.
By the way, I compiled this on a Tru64 5.1b box as
well without problems. Can't remember if it's in
the list of reported "working" or not, but if it's
not, now it can be added.
Thanks again,
Stefan Johnson
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
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/