1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-03 17:03:12 +02:00
Commit Graph

150 Commits

Author SHA1 Message Date
Bram Matthys ea651384f8 Add groundwork for draft/sts (more to follow)
Module coders:
* The cap->visible(void) callback function is now cap->visible(aClient *)
* There is a new cap->parameter(aClient *) callback function.
* Various updates to subfunctions to pass 'sptr' (due to the above),
  including clicap_find(sptr, ...)
* New CLICAP_FLAGS_UNREQABLE flag
Other:
* There is a new (src/)modules/cap directory containing the sts module,
  well.. once I commit it :D
2017-08-09 13:21:36 +02:00
Bram Matthys b86419173a Compile secureonlymsg module on Windows 2017-05-12 17:10:53 +02:00
Bram Matthys 780f3d7637 All my 3rd party modules (from vulnscan.org) are in UnrealIRCd now.
Note that they are NOT loaded by default at this time.
The modules are:
* extbans/textban - +b ~T:censor:*badword*
* usermodes/privdeaf - user mode +D: cannot receive PM's
* antirandom - "randomness" detector against drone attacks
* hideserver - hide servers (not real security, but requested)
* jumpserver - redirect users to another server during maintenance
* m_ircops - show which ircops are online (/IRCOPS command)
* m_staff - show custom file (/STAFF command)
* nocodes - don't just strip/block colors, do the same for reverse/bold/..
The existing README and sample configuration files for these modules
will later be added to the official UnrealIRCd documentation on
https://www.unrealircd.org/docs/Main_Page (just search on the module name).
2016-12-30 19:36:59 +01:00
Bram Matthys 15842b8290 Added "websocket" module. This module provides support for WebSocket (RFC6455)
so you can use IRC directly from HTML5/JS. It is still considered experimental
but feel free to test it out. To do so, add this to your unrealircd.conf:
loadmodule "websocket";
This module was sponsored by Aberrant Software Inc.
2016-12-24 13:35:37 +01:00
Bram Matthys 32a6b7d4e6 Windows build: rename OPENSSL macros to LIBRESSL and make it that you
now need to specify SSLLIB in your nmake command. This because the
version numbers (libcrypto-38.. etc..) change each libressl version.
2016-11-19 10:30:26 +01:00
Bram Matthys e8272e28c2 Updates for LibreSSL 2.5.0 (hmm should be moved to build options I guess) 2016-10-01 09:45:34 +02:00
Bram Matthys d36988269d Remove RPING 2016-04-16 11:37:00 +02:00
Bram Matthys 67dfa094a7 Windows:
* Updates to make UnrealIRCd use LibreSSL
* Fix HTTPS support in cURL
* Forgot to ship curl-ca-bundle.crt
(Note: all 3 points from above only affect Windows)
2016-04-03 15:55:09 +02:00
Bram Matthys 8527f8720b Updates to build with VS2012 / Windows SDK 7.1a 2016-04-03 14:13:24 +02:00
Bram Matthys 4653879474 Remove invite-notify as the implementation by our nenofriend is completely broken, as usual. Not a really interesting feature anyway. We can still add it properly post-4.0 if want. 2015-11-02 18:33:07 +01:00
Bram Matthys 4ec8f772d8 Remove useless variable in windows makefile. Reported by warg (#4169). 2015-10-26 11:06:24 +01:00
Bram Matthys 38dbede832 Windows build: fix nmake [..] custommodule to use src/modules/third/ rather than src/modules/ 2015-10-18 10:49:33 +02:00
Bram Matthys b428f9b3a3 Windows: wircd.exe -> UnrealIRCd.exe. unreal.exe -> unrealsvc.exe. And some more name changes. 2015-10-11 17:44:49 +02:00
Bram Matthys a565a68f36 Unreal -> UnrealIRCd 2015-10-11 17:31:59 +02:00
Bram Matthys 58b864edd5 Re-do CIDR and at the same time all the user matching stuff. Introducing match_user(mask, acptr, options): this should be used everywhere rather than the many DIY routines everywhere that create a nick!user@host and then run a match() on it.
The match_user() function is not been fully tested yet, at this point I'm happy we can compile again.
2015-07-28 13:26:03 +02:00
Bram Matthys f7ba695625 Crash reporter is now working on Windows as well. 2015-07-25 12:31:03 +02:00
Bram Matthys 24cf11575d make Windows OK again (part 1?) 2015-07-13 19:57:09 +02:00
Bram Matthys 372ce82335 Make client capabilities a modular sub-system, as it should have been since the beginning. 2015-07-12 17:10:48 +02:00
Bram Matthys d33f1ca8f6 Remove /ADDLINE: it's (too) easy to create a broken configuration file this way and then have an un-rehashable and un-bootable IRCd without having shell access. Use SSH or SFTP/SCP instead. Or even better: remote includes, of course :) 2015-07-12 15:34:08 +02:00
Bram Matthys bbb121383b Add who-may-execute-this in many CommandAdd()'s. Trying to remove all "unspecified" (0) ones... hopefully I made no mistake in this ;)
Update remote-permission check in ValidatePermissionsForPath to check at least IsOper.. may save us from some serious mistakes ;)
2015-07-12 15:32:11 +02:00
Bram Matthys da935b7e41 Remove /UNZLINE and /UNKLINE: all these commands did was tell you to use /ZLINE -xx and /KLINE -xx instead. 2015-07-11 11:21:42 +02:00
Bram Matthys f03d865e77 Remove /CHATOPS. We already have /GLOBOPS which does the same.
Update help.conf a bit, in a lazy way.
2015-07-09 14:22:33 +02:00
Bram Matthys f58402365c Moved jointhrottle from channel mode +j to set::anti-flood::join-flood
with a default of 3:90 (3 joins per 90 seconds). There's rarely any need
to configure this on a per-channel basis and this way it's enabled by
default for everyone (unless you decide not to load load the module)
2015-07-05 13:31:56 +02:00
Bram Matthys a90b7354b3 Add blacklist module for DNSBL checking. 2015-07-04 15:02:22 +02:00
Bram Matthys 9047ebd4fa typo & create 'logs' directory on windows 2015-06-26 17:56:16 +02:00
Bram Matthys 5b3237df8d update win32 makefile for new modules past 1-2wks 2015-06-26 17:49:04 +02:00
Bram Matthys 3f29850851 C99 2015-06-26 17:10:12 +02:00
Bram Matthys aa7553abe2 new extban ~O:operclassname. Enables you to make a netadmin only channel like +iI ~O:netadmin*
&remove old adminonly (+A) channel mode a bit more
2015-06-26 16:08:50 +02:00
Bram Matthys 0f2af3f506 current 3.4.x git is really bleeding edge now, come back in a day or so:
* remove netadmin, services-admin, admin, co-admin.
* remove all oper flags (there are some placeholders for the next... <24hrs..)
* ADMINCHAT and NACHAT are gone, since admin & netadmin no longer exist
* SVSO used oper flags, but this no longer exists, SVSO removed. maybe later we can add some sort of replacement.. maybe..
* re-style the m_oper code a bit
2015-06-25 22:26:53 +02:00
Bram Matthys e29ef414bd erase src\modules\extbans\*.dll on nmake .. CLEAN 2015-06-11 17:16:18 +02:00
Bram Matthys a3212e0f65 Make windows compile & install again. 2015-06-08 08:53:45 +02:00
Bram Matthys d5caf06ec5 bcrypt password hashing is now implemented (#4335). Not yet documented. 2015-05-23 16:38:48 +02:00
Travis McArthur aea09603a4 Remove USE_SSL macro and associated code
We no longer support non-SSL builds, remove related code
2015-05-20 02:48:34 -04:00
Bram Matthys e8888bae53 Update windows makefile to build modules/certfp 2015-05-18 16:53:26 +02:00
Bram Matthys 1dba0bfc43 forgot to include one module in the win32 makefile (floodprot) 2014-07-20 17:12:44 +02:00
Bram Matthys 1a67489368 update win32 makefile so 3.4 actually compiles 2014-07-20 16:25:59 +02:00
Bram Matthys 8af557a25c update win32 makefile for moddata 2014-06-01 17:38:27 +02:00
Bram Matthys 101d2dd6a3 Big 3.4.x commit containing bug fixes and enhancements. Modularizing
user & channel modes. Fixing Windows build. Etc..
2014-05-11 20:56:02 +02:00
William Pitcock c41ca43145 - Remove ziplinks support, patch from FalconKirtaran. (#4189) 2013-05-16 06:36:13 +00:00
Bram Matthys 96eb692cc6 various win32 fixes:
- Disable USE_POLL on Windows, since it doesn't work with XP and has
  no advantage anyway. Reported by nenolod (#4129).
- Various updates to makefile.win32 and .iss file, found during
  building new versions of zlib, openssl, and curl.
2012-10-15 15:01:35 +02:00
William Pitcock ad2c969084 Fix Windows build. 2012-03-29 20:05:20 -05:00
Bram Matthys d530dbd43d - Add CAP support. Currently implemented are: multi-prefix (NAMESX), and
userhost-in-names (UHNAMES). Patch from nenotopia (#4018, #4066)
2012-01-20 21:25:59 +01:00
Bram Matthys 58260b3917 Major win32 build system cleanup:
- Win32: Attempt to move to 100% winsock2 (the include, to be precise),
  this means includes have to be in a very particular order (!)
- Win32: #define _WIN32_WINNT 0x0501 and force our own inet_ntop/pton,
  otherwise you get an ntop runtime error on XP and earlier.
- Win32: Get rid of c-ares includes and library in our tree, and use the
  DLL instead of static LIB, just like we do for ssl and zlib.
- Win32: Get rid of TRE lib and includes
- Win32: reorder includes to fix winsock errors with curl
2010-12-12 16:32:55 +00:00
Bram Matthys 5a3e54c385 - Fixed Windows compile problem with current CVS due to m_issecure,
reported and fix provided by therock247uk (#3970).
2010-11-22 10:55:34 +00:00
Bram Matthys a2137bda71 local chanmode, chan mode +Z, operoverride with key 'override', sorting HELPOP CHMODES, fishy timestamps:
- Some small updates to the extended channel mode system: it now has minimal
  support for 'local channel modes'. This is really only meant for channel
  mode +Z (upcase z), see next.
- Added Channel Mode Z which indicates if a channel is 'secure' or not.
  This mode works in conjunction with +z (lower case z).
  If +z is set ('only secure users may join'), then the IRCd scans to see
  if everyone in the channel is connected through SSL. If so, then the
  channel is set +Z as well ('channel is secure').
  Whenever an insecure user manages to join, the channel is -Z. And whenever
  all insecure users leave, the channel is set +Z.
  The 'insecure user being present in a +z channel' can be because:
  - An IRCOp joined the channel, and he's not secure
  - When servers link together and a user on the other side is not secure
    This only happens on net merge (equal time stamp).
    On different time stamp, we still kick insecure users on the new side.
  - At the time when +z is set, there are insecure users present.
  This feature was implemented after a heavy discussion in bug #3720 by fez
  and others, and was suggested by Stealth.
  Tech note: +Z/-Z is handled locally by each server. Any attempt to
  remotely set +Z/-Z (eg: by services) will be ignored.
- As mentioned above, +z can now be set even if any insecure users are
  present. Previously, this was not permitted. Now, as soon as the last
  non-SSL user leaves, the channel will be set +Z.
- An oper not connected through SSL previously had to /INVITE himself
  to a channel and then /JOIN the channel with the key 'override'.
  This 'override' key is no longer required, a simple JOIN will suffice.
- Sorted channel modes in /HELPOP ?CHMODES
- Re-enabled 'fishy timestamp' errors in MODE. For some reason this was
  commented out, even though the (more annoying and less useful) code in
  JOIN was enabled so that did not make a lot of sense. It also now logs to
  ircd.log (or whatever you configure). This enables people to easier find
  the cause of any timestamp issues (which usually is badly coded services).
2010-11-13 19:23:05 +00:00
binki 4237409031 - And another m_nopost makefile.win32 fix. 2010-10-27 20:32:15 +00:00
binki e95ef070d1 - Add m_nopost to makefile.win32 in the hopes that it may work (#3961). 2010-09-30 22:50:30 +00:00
Bram Matthys 5a0a71de03 - Added support for STARTTLS. This allows users to switch to SSL without
having to use a special SSL-only port, they can simply switch to SSL on
  any port. This is currently only supported by few clients (such as KVIrc 4).
  This functionality can be disabled by setting set::ssl::options::no-starttls,
  for example if you don't want to offer SSL to your users and only want it
  to be used for server to server links.
  Naturally, the IRCd must be compiled with SSL support for STARTTLS to work.
- Fixed SSL_ERROR_WANT_READ in IRCd_ssl_write()
2009-12-06 16:52:52 +00:00
Bram Matthys 62df06ea1a - Win32: build w/manifest. Looks like Unreal@Win32 now actually works again
:).
2008-12-19 16:51:30 +00:00
Bram Matthys fcbeeea502 - Win32 makefile: removed /MAPINFO:LINES, since visual studio 2005 and up
don't support this and will fail to compile UnrealIRCd. This fixes #3680,
  reported by therock247uk.
- Upgraded c-ares to 1.6.0 (also now using pkg-config).
  If you get a "undefined reference to `clock_gettime'" error, then you
  might consider installing 'pkg-config' on your system, and then simply
  re-run
  ./Config and make, should fix things.
__TODO__: win32 c-ares upgrade to 1.6.0 (and copy & fix header files).
__TODO__: testing! testing! i'd like to be sure this c-ares is stable!
2008-12-14 19:16:24 +00:00