View Issue Details

IDProjectCategoryView StatusLast Update
0001240unrealircdpublic2004-03-08 19:29
Reporterbluemoonchatters Assigned Tocodemastr 
PrioritylowSeverityfeatureReproducibilityN/A
Status closedResolutionopen 
Product Version3.2-beta17 
Summary0001240: remote includes (include "http://...)
DescriptionHow about making it so that the ircds can sync the motds and other files, eg a ircops file beween servers so on networks with large number of server the server owners do not have to keep updating the configs
3rd party modules

Activities

codemastr

2003-09-08 19:07

reporter   ~0003629

what exactly is an "ircop file"?

bluemoonchatters

2003-09-09 08:00

reporter   ~0003630

what i meant to say was a file containing olines that is included in unrealircd.conf, sorry for that , bad choice in words

bluemoonchatters

2003-09-09 08:10

reporter   ~0003631

eg ,
include globalolines ;

codemastr

2003-09-10 19:33

reporter   ~0003634

"remote" includes are on the todo list. Something like:

include "http://yourhttpusername:[email protected]/olines.conf";

gauntlet

2003-11-28 04:33

reporter   ~0004148

Suggestion on implemting of remote includes (for *nix boxes)
basically its a little easier on a unix/linux box because of wget
taking wget and incorporating into the ircd, with an if/else to check if http:// <- or something similar is in the include line, then wget "string". on a rehash, check if file exists, wget file, compare the to, if different, rm current, replace with new, if same leave alone. Basically there is a psuedocode for the implementation

codemastr

2003-11-28 20:03

reporter   ~0004156

We most certainly would NOT be using wget on ANY OS. First off, wget doesn't even come with most *nix systems. Secondly, it introduces several problems, i.e. the entire IRCd will freeze while it downloads the file, what happens if the IRCd doesn't have write permission to overwrite a file, etc. We will be using a library called libcurl (http://curl.haxx.se) which works on all OSes Unreal runs on. The problem was formerly that libcurl did not do asynchronous DNS lookups which would again lead to lockups. However, the new version of libcurl has support for adns which allows it to do asynch dns and therefore this makes it completely possible to add to Unreal. The only issue at hand right now is libcurl is a big library and I really don't want to include it with Unreal since it would signifigantly increase the source size. This means to use Unreal with remote includes would require you to download libcurl (and curl-ares) and install them on your shell then link Unreal with that.

Oh and for the record, it is actually much easier to do this feature in Windows than in Linux because Windows has a built in API (WinInet API) that would allow me to do all of this without using an external library, or in the case of wget, an external program.

gauntlet

2003-12-24 22:47

reporter   ~0004428

Make it optional package that can be added like a module for the support, so that libcurl would not be included with the package but as a module. Could that work??

codemastr

2003-12-25 01:33

reporter   ~0004431

Nope.

codemastr

2004-03-08 19:29

reporter   ~0005374

Done.

Issue History

Date Modified Username Field Change
2003-09-08 12:09 bluemoonchatters New Issue
2003-09-08 19:07 codemastr Note Added: 0003629
2003-09-09 08:00 bluemoonchatters Note Added: 0003630
2003-09-09 08:10 bluemoonchatters Note Added: 0003631
2003-09-10 19:33 codemastr Note Added: 0003634
2003-11-03 01:30 syzop Priority normal => low
2003-11-03 01:30 syzop Status new => acknowledged
2003-11-03 01:30 syzop ETA none => > 1 month
2003-11-03 01:30 syzop Summary syncing motds and ircop files => remote includes (include "http://...)
2003-11-28 04:33 gauntlet Note Added: 0004148
2003-11-28 20:03 codemastr Note Added: 0004156
2003-12-16 05:18 codemastr Status acknowledged => assigned
2003-12-16 05:18 codemastr Assigned To => codemastr
2003-12-24 22:47 gauntlet Note Added: 0004428
2003-12-25 01:33 codemastr Note Added: 0004431
2004-03-08 19:29 codemastr Status assigned => closed
2004-03-08 19:29 codemastr Note Added: 0005374