brain
461e4aef03
More stuff for this. Its starting to take shape a bit now, and is tidier than the craq i came up with before
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8567 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:11:42 +00:00
brain
05e88fcd54
Begin rethink on this. Warning, this WILL break your ircd if youre using trunk!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8566 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 17:53:57 +00:00
brain
5e1f2c1728
In prep for remote includes, configuration reading is now two-pass.
...
Note that theres an important part missing from here, there can be a NON-BLOCKING delay between the start of pass 2 and the files being available for download.
At this point, ServerConfig::Read() should probably return an ENOTREADY or such at which point it gets monitored for ready state. The socket engine is ready at this point
so we can poll the socket engine for it. In the case of startup, the socket engine blocks in a private loop, its no good booting the ircd till we have a complete config!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8565 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 17:01:00 +00:00
brain
71b7b578bd
Get rid of global_implementation[] and implement_lists[] from here
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8532 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:07:36 +00:00
brain
7fe5347210
Remove our vectors of Module*/ircd_module*, replace with a map of std::pair<ircd_module*, Module*>
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8513 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 19:12:55 +00:00
brain
335a65f418
More anal config parsing, validates channel fields, ip address fields (with/without wildcard) hostname fields, fields which may not contain spaces
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8474 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-03 16:14:29 +00:00
w00t
0c3eeb1ae4
Clean up XLine conf stuff a little bit, move most of it to configreader. Also, check elines and call ApplyLines on both rehash and startup.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8425 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 12:12:30 +00:00
brain
6720b7bccb
Visual studio doesnt like throw definitions like this
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8324 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 21:05:01 +00:00
brain
d3c7457dda
Pedantic safe
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8314 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 19:46:47 +00:00
w00t
2b68243097
InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ident etc will use.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8206 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 21:04:32 +00:00
w00t
b57c7f4e46
In the grand tradition of huge fucking commits:
...
- chanrec -> Channel
- userrec -> User
Enjoy.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:59:05 +00:00
brain
f83322c938
Tidy up duplicate code, provide GetSID() method on ServerConfig which returns the SID always 3 digits long
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7959 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 18:02:01 +00:00
brain
8c3a4a51ff
Add <server:id> - this is optional, as stated in the example conf,
...
and should only be set if you are getting collisions. The comment also points out that ids where either of the last two letters are numeric are reserved for services use (e.g. 0ZZ or 5CQ)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7917 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 19:56:38 +00:00
brain
9cd8fe39d5
Added new announceinvite setting i discussed briefly with w00t and i like myself:
...
# The value 'dynamic' varies between 'ops' and 'all' #
# settings depending on if the channel is +i or not. #
# When the channel is +i, messages go only to ops, #
# and when the channel is not +i, messages go to #
# everyone. In short, the messages will go to every #
# user who has power of INVITE on the channel. This #
# is the recommended setting. #
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7841 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26 21:15:47 +00:00
brain
d58d9fb495
Add option to set invite announcements to nobody, ops only, or all users, based on options:announceinvites. Part of bug #386 , should not be backported.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7837 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26 20:43:15 +00:00
brain
cf4439ac5c
Add <connect:maxchans> as per feature bug #338 - combined with the last feature, this allows per-oper specific maxchans values, and even the same for non-opers!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7761 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 20:14:05 +00:00
brain
9f1cefca61
Add extra stuff to make it work (and compile)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7757 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 17:16:50 +00:00
brain
e24540666c
Pick up a few error conditions we didnt before in the config reader, and also increment line number correctly when 'real' newline is found in a value
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7749 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 14:07:25 +00:00
brain
f3624af468
Needs testbuilding in windows. I will probably do this in a minute.
...
More clever tricks to eliminate ifdefs. With a bit of function pointer and functor magic we may be able to eliminate all ifdefs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7590 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27 17:02:24 +00:00
peavey
f2acdbc382
OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2
'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
brain
1f113d5477
Tons of stuff added since 1.0 is missing documentation comments
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7371 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 18:06:55 +00:00
brain
ef048989f8
Add options:moronbanner. Yes really, thats what its called. See the example config.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7232 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-04 19:10:25 +00:00
brain
4a50237d63
Config option for default channel modes -- more to follow, don't use yet
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7163 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-27 12:02:10 +00:00
brain
3cb0d3f0f8
Dunno why this method was static, doesnt need to be...
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7155 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-26 19:54:15 +00:00
w00t
6ab38d48ca
- Modify ServerConfig::GetFullProgDir to just return cwd, previously it did a lot of voodoo that was a little hard to grasp, probably didn't quite accomplish what it should have, and broke on windows.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7063 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-20 12:54:57 +00:00
w00t
9cf56d917d
Windows support. Tested and working to compile on freebsd and linux. Next step is to make sure it actually works in windows too. ;p. Add Burlex to contributors.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 15:56:42 +00:00
w00t
32be456c07
Replace strip/blockcolor tags with <options:exemptchanops>, sexy string of modes to exempt chanops from (currently Sc are supported).
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7018 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-13 22:10:57 +00:00
brain
bfcaef8623
Refactor port binding, warning not yet tested fully
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6982 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-11 18:38:00 +00:00
w00t
cba3552f3a
Implement bug #282 from owine: kill sender hiding. <options:hidekills> needs to be set to a static string to display instead of the killer's nick. QA: *IMPORTANT* please extensivly test local ***AND*** remote killing with this on and off. Thanks :)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6921 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-09 01:02:44 +00:00
brain
569114e4c2
Fix one issue, add another feature: When sending MODE +beI, weed out duplicates with simple O(1) check so that users dont send MODE #chan +bbbbbbbbbbbb.
...
Allow configuration of which listmodes you want to deny to below halfops. For example <options hidemodes="eI">. This is because blocking +b can break mirc, blocking +eI usually wont break it so
severely.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6852 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-30 16:50:08 +00:00
brain
d6fcf2726e
Add support for hiding listmode lists such as +beI from unprivileged users.
...
See bug #258
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6849 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-27 17:55:08 +00:00
brain
b1d06ea1d3
Feature request outlined in bug #257 , allow connect/allow lines by port
...
Needs QA test
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6798 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-15 11:42:42 +00:00
brain
821a5bca88
Fix for bug #199 (Feature request) submitted by owine. Ended up adding an extra parameter to <uline> for this.
...
It turned into a biggie :P
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6742 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-05 23:53:01 +00:00
brain
e466a6f5fe
Add <options:fixedquit> and <options:suffixquit> to go along with the existing <options:prefixquit>. note that fixedquit overrides both suffix and prefix if set
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6722 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-01 15:22:54 +00:00
brain
feeeced470
option to allow announce of invites to channel (similar to unreal)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6635 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-08 11:26:31 +00:00
brain
c1f88cfa9c
Addition of feature request outlined in bug #195 , suggested by Bricker
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6602 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-19 19:57:41 +00:00
brain
b111eec597
Allow for nick!user@host in TOPIC information.
...
Note that this adds another <options> tag value, 'hostintopic'. (defaults to yes)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6572 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-11 18:50:04 +00:00
peavey
f3f570b4fa
Also add support for default values for ConfValueBool and ConfValueInteger in configreader, and for ReadFlag and ReadInteger in modules.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6116 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-26 01:48:55 +00:00
peavey
047f09dd57
Add possibility to define default value for ConfValue in configreader and ReadConf in modules.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6113 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-26 00:51:20 +00:00
brain
371daf9928
Refactored /RESTART (and added InspIRCd::Restart(reason))
...
Fixed bug in m_ziplinks, assigning instead of testing a var (gcc 4.1.1 picked up on this, 3.4 didnt)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6067 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 14:06:57 +00:00
peavey
d7bc663d0a
Config option added for prefixed channel NOTICEs and PRIVMSGs to turn on/off IRCU style of adding prefix to outgoing text.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6018 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16 22:43:56 +00:00
brain
e65c1d261c
Add an optional parameter to ConfigReader::ReadValue which defines if we want linefeeds or not.
...
Tidy up some duplicated code in configreader (error reporting)
Change ModuleException to inherit from CoreException, have the configreader throw and catch its CoreException on fatal error
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6013 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16 21:04:47 +00:00
w00t
696ee9ff66
And now, just to force you to recompile the *whole* ircd.. updated headers on the headers. :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:18:59 +00:00
brain
f240285155
Improve the way 005 ISUPPORT is sent to users when they connect, cache it in a much more sane format which is much simpler to spool to them
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5978 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-13 20:00:33 +00:00
brain
f559b94fa3
Add the stuff required for the InspSocketHook interface
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5890 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-09 19:25:10 +00:00
brain
dfa831752c
Not yet tested -- allow iohooking of inspsockets
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5886 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-09 18:36:24 +00:00
special
1c912588dd
Removed <options:tempdir> - this hasn't been used since modules were updated to not copy before load (quite awhile ago)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5785 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-22 04:29:51 +00:00
brain
91f17cace8
Tidy up some stuff
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5753 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-15 22:20:51 +00:00
brain
28bd852c85
Comments, woo and yay
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5751 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-15 21:51:11 +00:00