4110 Commits

Author SHA1 Message Date
brain
78a41fc6e4 Allow QUIT to be used before we fully register the connection. This stops mirc from closing the connection thinking it has quit when inspircd has denied their QUIT command,
in theory the ghosts w00t and i saw would have timed out after 60 secs?


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5158 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-08 13:28:17 +00:00
brain
f571a318d6 *YOINK* Add jamie's patch for parameterized usermodes in m_opermodes (thanks)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5157 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-08 10:20:56 +00:00
brain
c30f0ef741 userrec::ForceNickChange was broken (not the entire nickchange system as i'd suspected at first)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5156 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-07 20:56:10 +00:00
brain
be28c7f3c7 1) Make earlier fix to inspsocket actually compile without error
2) Make sure that query string is sent back in the reply


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5155 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-07 20:20:39 +00:00
brain
74e622fbfa Delete the file descriptor upon write error to an inspsocket, preventing it eating cpu with endless read events
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5154 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-07 16:56:40 +00:00
brain
2f7aa87379 Fix crashbug when /who'ing people who arent on a channel (chan->GetPrefixChar() when chan == NULL is bad, mmk)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5153 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 22:24:39 +00:00
brain
90b37c2009 Forgot to return
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5152 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 18:24:26 +00:00
brain
ecd5b4082a Finish off the fix for bug #136 (a biggie for such a simple thing)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5151 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 18:20:02 +00:00
brain
71ad308979 All commands now return results CMD_FAILURE or CMD_SUCCESS
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5150 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 17:58:59 +00:00
brain
4cf0ae1308 Command result codes. This isnt finished yet, still got to do most of the modules, and alter CallCommandHandler
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5149 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 17:21:59 +00:00
brain
29f296665d JOIN now has a TS parameter on it. The client protocol will ignore this when we pass it down to the command parser, it is for use if theres a minor desync and we send a PART for the last user at the same time the other side sends a JOIN for a new user, we can at least keep the TS in step.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5148 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 11:28:53 +00:00
brain
c25f5a3ef6 Drop and log unknown nicks in FJOIN, rather than aborting the link
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5147 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 11:19:06 +00:00
brain
cf0f30eea3 We were printing a command instead of exec'ing it :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5146 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-05 23:34:15 +00:00
brain
b82873d78e New CAPAB variable (manditory): PROTOCOL
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5145 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-05 00:43:13 +00:00
brain
ddb0e734b5 This is a complex one: when autoconnecting, we check each links failover, and try and FindServer it. If we find that link's failover in the network, we dont try and autoconnect it as it probably established a link to that via another route anyway.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5144 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-05 00:19:35 +00:00
brain
cc463cdd98 'Connection to %s closed' now says 'Connection to %s failed'
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5143 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-04 23:39:26 +00:00
brain
88e7c2cb0f Check for failover pointing at self. This is an obvious thing to check for and prevent :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5142 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-04 23:29:33 +00:00
brain
9d5ac7988d failover connections are now added, thanks for the idea Lauren (happy now? lol) :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5141 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-04 23:25:28 +00:00
brain
69f5465be5 Update example conf with all the new stuff and more detailed comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5140 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-04 03:06:00 +00:00
brain
4a5b44027f Call X509_free() after we're done with the cert
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5139 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 23:21:49 +00:00
brain
db3665d03e Output the certificate hash to the user when they connect
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5138 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 23:16:09 +00:00
brain
c8776f37f3 Remove some gunk
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5137 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 22:56:13 +00:00
brain
09d557c6e0 Document <oper:fingerprint>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5136 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 22:33:48 +00:00
brain
34aa7e664a Changed how this module works.
It now uses a password in combination with a fingerprint.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5135 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 22:19:43 +00:00
brain
a271618c60 Check for people trying to literally put the fingerprint in as a pass
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5134 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 22:05:54 +00:00
brain
d0810dfaba Removal of debug
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5133 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 22:00:48 +00:00
brain
c922c2a276 Add comments to document this header
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5132 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 21:55:20 +00:00
brain
db7cd348e2 Document the two new modules
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5131 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 21:47:03 +00:00
brain
547ee1342e YAY! A module which allows a user to oper via their ssl key fingerprint.
This is largely untested stuff here, be careful with it. Use /fingerprint to get the user's fingerprint (or ask them for it) and then put the fingerprint into the password field of their oper block.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5130 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 21:38:29 +00:00
brain
8cb9b91cf7 Remove a ton of debug
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5129 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 20:43:33 +00:00
brain
0000b8172e All but cert revocation is now supported by both modules
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5128 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 20:42:16 +00:00
brain
f0101edab9 Dont report that the key has expired when it hasnt
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5127 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 20:25:09 +00:00
brain
c01b8aab83 OpenSSL gets certs and populates the ssl_cert* now!
(NOTE: This is not finished by a long shot, because openssl and gnutls generate slightly different format of DN - although, the fingerprint will always match if its the same user :))


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5126 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 20:20:51 +00:00
brain
d4af574074 We now have a test module that can dump someones certificate information: /sslinfo <nick>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5125 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 18:57:16 +00:00
brain
5ec6f86169 Certificate stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5124 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 18:26:34 +00:00
brain
b02af8b2a9 Obtaining of ssl cert in gnutls module and placing it into a class which is extended to the user, type ssl_cert.
In a while the openssl module will also populate this same high level class with data


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5123 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 17:29:29 +00:00
brain
13aeb82ad2 Proper error checking on loading cmd_*.so files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5122 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 00:58:09 +00:00
brain
1c4abcfda1 Remove the shared object pointer from the hash after each reload
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5121 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 00:48:12 +00:00
brain
77f5fb9f0b Forgot to copy cmd_mode.so
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5120 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 00:46:26 +00:00
brain
540f3bd9da Add /RELOAD and move cmd_mode into its own command.
/RELOAD is the only thing you cant reload (ahem)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5119 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 00:44:11 +00:00
brain
1b7c615062 Auto loading of commands as shared objects via dlsym (very lightweight interface, just expects a command_t* pointer)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5118 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 00:09:38 +00:00
brain
f5a50a0b6d cmd_* files are now shared object. This lets make -j optimize the build process a little better (it doesnt have to wait for the cmd_ files to finish so it can link commands.cpp against them), and it makes libIRCDcommands.so not be 20mb in size (which might hit file size limits on some shell hosters)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5117 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 23:06:14 +00:00
brain
2084f88109 Give this module VF_COMMON, as services depend on it
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5116 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 20:47:03 +00:00
brain
4d27530c80 Only VF_COMMON modules are sent in CAPAB now, not VF_STATIC
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5115 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 18:04:09 +00:00
brain
d66e596b4e Doesnt need VF_STATIC
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5114 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 18:03:02 +00:00
brain
70b19fe6c1 Comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5113 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 17:41:36 +00:00
brain
26e4582c2e Actually make +ovhk removable with DelMode (just in case somebody wants to, or we have need to in the future)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5112 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 17:40:33 +00:00
brain
e7c31868d1 Because these modes take no parameter when being removed, they need no special code for ModeHandler::RemoveMode()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5111 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 16:53:01 +00:00
brain
d1af89a55c Actually let it be unloaded would be a start (remove VF_STATIC)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5110 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 16:45:40 +00:00
brain
4c48adf203 Allow unloading of +qa
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5109 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 16:44:38 +00:00