[IRCServices] SGLINE

Dr. K. Hawkes k.hawkes at zombies.force9.net
Sun Feb 18 05:32:25 PST 2001


> > I think this is why there are plans to modularize(sp?) the code so that
> > it will be easier in the future to support the daemon that your network
> > chooses.
> 
> That'd be a great idea, that way all you build is the core code, then any
> "plugins" which would stand betweeen Services and possibly the socket
code
> to the daemon, or perhaps directly to the daemon itself.
> 
> Hell, a lot of the functions themselves could even be modularized, too.  
> Want something in your Services?  Edit the config file.  And there you
go!  
> Apache is a great example of this kind of stuff with its DSO support,
> including stuff like mod_access, and the various mod_auth* modules, like
> RADIUS, TACACS, system, etc.
> 
> Thing is, the dl_* family of functions may work differently on many
> platforms. Plus on some systems, compiling shared libraries is a
different
> or possibly difficult exercise on some systems, e.g. BSDI which uses an
> entirely different compiler (based on what I've read in other packages,
> e.g. Listar, which also uses this model for some of its support, which
> could also include support for talking directly to an MTA's mail queue
> space).
> 
> In those situations where compiling shared libraries is a pain or is
> outright impossible, compiling static support for a given daemon should
> still be considered an option.
> 
> My knowledge in actual coding for this is a bit lacking, but just
throwing
> my thoughts of how I've seen stuff done elsewhere. :)  Andy?
> 
> --Ian R. Justman, Co-Founder and Postmaster, The EsperNet IRC Network.
> 

Yeah, modularising the code would make adding things to IRCServices alot
easier but coding it wouldn't be the easiest of things possible.  Far
beyond my knowledge and expertise.

Eggdrop (the IRC bot) is modularised, it has '.mod' plugins which are
written in C and allow you to add extra functionality to the bot... is this
how you plan to modularise IRCServices?

As for static and shared libraries, Eggdrop if I recall allows you to
compile statically or dynamically... statically doesn't allow the
loading/unloading of modules but dynamically does if I recall, I could be
wrong here.

Just my 0.2 pence.

Quinn