1
0
mirror of https://github.com/osmarks/ngircd.git synced 2024-12-13 02:10:27 +00:00
Commit Graph

460 Commits

Author SHA1 Message Date
Alexander Barton
4d4512cd72 doc/Platforms.txt: Update some systems to ngIRCd 21
- update i686/pc/cygwin, gcc 4.8.2
- update x86_64/apple/darwin13.0.0, Apple clang 5.0
- update x86_64/unknown/freebsd8.4, gcc 4.2.1
- update x86_64/unknown/freebsd9.1, gcc 4.2.1
- update x86_64/unknown/linux-gnu, gcc 4.8.2
- update x86_64/unknown/linux-gnu, Open64
- update x86_64/unknown/openbsd4.8, gcc 4.2.1
- update x86_64/unknown/openbsd5.1, gcc 4.2.1
2014-01-02 18:36:18 +01:00
Alexander Barton
86bdf6e1d4 Implement new configuration option "Network"
The new configuration variable "Network" is used to set the (completely
optional) "network name", to which this instance of the daemon belongs.
When set, this name is used in the ISUPPORT(005) numeric which is sent to
all clients connecting to the server after logging in.

Closes bug #165.
2013-12-27 23:16:11 +01:00
Alexander Barton
444308ccde doc/Platforms.txt: Add and update more systems
- add i386/unknown/netbsdelf1.5.2, egcs-1.1.2
- update i386/unknown/openbsd5.3, gcc 4.2.1
- add i386/unknown/openbsd5.4, gcc 4.2.1
- add x86_64/unknown/linux-gnu, nwcc 0.8.2
- update x86_64/unknown/linux-gnu, tcc 0.9.25

Thanks to Götz Hoffart <goetz@hoffart.de>!
2013-12-03 12:16:23 +01:00
Alexander Barton
1ad536eeed doc/Platforms.txt: Add and update more systems
- add i386/unknown/openbsd3.5, gcc 2.95.3
- add x86_64/unknown/linux-gnu, Sun C 5.12
- update mipsel/unknown/linux-gnu, gcc 4.4.5

Thanks to Götz Hoffart <goetz@hoffart.de>!
2013-11-24 18:32:59 +01:00
Alexander Barton
c68ae1a9f5 doc/Platforms.txt: add DragonflyBSD 3.4 on x86_64
Thanks to Götz Hoffart <goetz@hoffart.de>!
2013-11-13 11:44:44 +01:00
Alexander Barton
df7ea9e7b4 doc/Platforms.txt: add OpenBSD 5.4 on HPPA 2013-11-12 00:33:30 +01:00
Alexander Barton
f25be28ab8 doc/Platforms.txt: add Mac OS X 10.6.8 2013-10-30 22:13:21 +01:00
Alexander Barton
fae7bd1bb7 Update doc/Platforms.txt 2013-10-28 00:00:06 +01:00
Alexander Barton
48698f14a2 platformtest.sh/Platforms.txt: allow user names up to 8 characters 2013-10-23 20:47:55 +02:00
Alexander Barton
beb9f65dc8 platformtest.sh: Detect clang compilers 2013-10-20 15:25:19 +02:00
Alexander Barton
cba5a2579f doc/Platforms.txt: Add Open64 and tcc C compilers on Linux
Thanks to Götz Hoffart!
2013-10-16 22:27:40 +02:00
Federico G. Schwindt
ec5ab4fcd1 Add support to show user links using "STATS L"
Change "stats L" to show servers and user links and restrict it to
IRC Operators.
2013-09-24 21:17:35 +02:00
Alexander Barton
99db111bca doc/PAM.txt: add a slightly more useful example 2013-09-19 00:17:43 +02:00
Federico G. Schwindt
0985d69cc6 Change cipher defaults
Switch cipher defaults to HIGH:!aNULL:@STRENGTH (OpenSSL) or
SECURE128 (GnuTLS).
2013-09-17 17:15:24 +01:00
Alexander Barton
b9006acee3 Cipher list selection for GnuTLS
This patch implements the missing functionality for cipher list selection
using GnuTLS (our OpenSSL code has this already).
2013-09-15 17:57:47 +02:00
Alexander Barton
84ed46d4c1 Cipher list selection for OpenSSL
This patch introduces the possibility to arbitrarily select ciphers which
should be promoted resp. declined when establishing a SSL connection
with a client by implementing the new configuration option "CipherList".

By default, OpenSSL would accept low and medium strength and RC-4 ciphers,
which nowadays are known to be broken.

This patch only implements the feature for OpenSSL. A GnuTLS counterpart
has to be implemented in another patch ...

Original patch by Bastian <bastian-ngircd@t6l.de>.

Closes bug #162.
2013-09-15 15:09:36 +02:00
Alexander Barton
e5cdd61fe3 Commands.txt: Document proprietary DIE <message> parameter 2013-09-05 00:19:03 +02:00
Alexander Barton
2bacb8210b Implement new configuration option "DefaultUserModes"
The new configuration option "DefaultUserModes" lists user modes that
become automatically set on new local clients right after login.

Please note that only modes can be set that the client could set on
itself, you can't set "a" (away) or "o" (IRC Op), for example! User
modes "i" (invisible) or "x" (cloaked) etc. are "interesting", though.

Default: set no modes (like without this patch).

Closes bug #160.
2013-08-26 21:17:10 +02:00
Federico G. Schwindt
086cf3a272 Cosmetic changes to METADATA
Update certfp and sort entries.
2013-08-25 05:26:08 +01:00
Federico G. Schwindt
3af0ece2bc Implement account login support
This is done via the `accountname' METADATA command and used to
automatically identify users after netsplits or across service
restarts.
2013-08-25 05:24:08 +01:00
Federico G. Schwindt
fcdb5cf8dd More spelling corrections 2013-08-05 11:06:52 +01:00
Alexander Barton
5258fb7f7c Implement new configuration option "AllowedChannelTypes"
The new configuration variable "AllowedChannelTypes" lists all allowed
channel types (channel prefixes) for newly created channels on the local
server. By default, all supported channel types are allowed.

If set to the empty string, local clients can't create new channels at
all, which equals the old "PredefChannelsOnly = yes" setting.

This patch deprecates the "PredefChannelsOnly" variable, too, but it is
still supported and translated to the apropriate "AllowedChannelTypes"
setting. When "PredefChannelsOnly" is processed, a warning message is
logged.

Closes bug #152.
2013-08-04 14:10:12 +02:00
Alexander Barton
69ce65bacb Merge remote-tracking branch 'fgsch/certfp'
* fgsch/certfp:
  Simplify MOTD handling
  Add certificate fingerprint support
2013-08-03 00:29:12 +02:00
Federico G. Schwindt
1254d315b9 Add certificate fingerprint support 2013-08-02 23:24:06 +01:00
Alexander Barton
61a6691b36 Commands.txt: Update more descriptions
Update description of "CHANINFO", "METADATA", "NJOIN", "SERVER", "SQUIT",
"GET", and "POST".
2013-08-02 23:59:32 +02:00
Alexander Barton
adc8d4f6c8 Commands.txt: Update more descriptions
Update description of "CONNECT", "DIE", "DISCONNECT", "GLINE", "KILL",
"KLINE", "OPER", "REHASH", "RESTART" and "WALLOPS".
2013-08-02 23:25:23 +02:00
Alexander Barton
24183b1a91 Commands.txt: Fix <target> description of TRACE command 2013-08-02 02:16:21 +02:00
Alexander Barton
a8ecde2553 Commands.txt: Update more descriptions
Update descriptions of "AWAY", "JOIN", "LIST", "MODE", "PART",
"TOPC", and "TRACE".
2013-08-02 01:45:02 +02:00
Alexander Barton
fef10f590b Commands.txt: Streamline references to IRC+ protocol 2013-08-02 01:42:40 +02:00
Alexander Barton
659d126460 Commands.txt: Update more descriptions
Update descriptions of "NICK", "PASS", "PING", "PONG", "QUIT", "USER",
"WEBIRC", "SERVICE", and "SVSNICK".
2013-07-30 21:12:24 +02:00
Alexander Barton
76dcb08266 Commands.txt: Update description of "PRIVMSG", "NOTICE", and "SQUERY" 2013-07-19 18:16:12 +02:00
Alexander Barton
720eb874a9 Commands.txt: Update description of the "ERROR" command 2013-07-18 23:42:00 +02:00
Alexander Barton
f206fda8ae Implement new configuration option "IncludeDir"
The option "IncludeDir" in the [Options] section can be used
to specify a directory which can contain further configuration
files and configuration file snippets matching the pattern
"*.conf" that should be read in after the main configuration
file ("ngircd.conf" by default) has been parsed.

Closes bug #157.
2013-05-24 22:34:53 +02:00
Alexander Barton
528c8fc244 Update doc/Platforms.txt a little bit ... 2013-04-01 17:23:49 +02:00
Alexander Barton
8618e942e6 Services.txt: Anope 1.9.8 has been released now 2013-03-13 22:08:16 +01:00
Alexander Barton
2fea782efc Commands.txt: Update description of the "KILL" command 2013-03-09 18:00:49 +01:00
Alexander Barton
3e35857080 doc/Services.txt: Update Anope status and URL 2013-02-26 09:38:27 +01:00
Alexander Barton
b25fd8a98c Commands.txt: Update description of the "KICK" command 2013-02-24 18:53:33 +01:00
Alexander Barton
be08349dcb Commands.txt: Update description of the "INVITE" command 2013-02-24 18:53:10 +01:00
Alexander Barton
bd1b727187 Update Doxygen configuration 2013-02-22 18:11:26 +01:00
Alexander Barton
628c14d656 Merge branch 'systemd'
* systemd:
  ngircd.sock: explicitely bind to IPv4 and IPv6 addresses
  Show address and port of sockets passed-in by systemd(8)
  Check type of sockets passed-in by systemd(8)
  Adjust severity levels of some log messages
  New configuration option "IdleTimeout": exit daemon when idle
  Implement support for systemd(8) "socket activation"
  contrib/README: add more files
2013-02-10 20:43:56 +01:00
Alexander Barton
ac32d07aaf Commands.txt: spelling fixes ... 2013-02-10 00:35:03 +01:00
Alexander Barton
cb7e4e8679 Commands.txt: Update description of the "USERS" command 2013-02-10 00:25:19 +01:00
Alexander Barton
35452b3157 Commands.txt: Update description of the "SUMMON" command 2013-02-10 00:25:09 +01:00
Alexander Barton
e90d30a2cc Commands.txt: Update description of the "SERVLIST" command 2013-02-10 00:24:52 +01:00
Alexander Barton
45ab73ac81 Commands.txt: Update description of the "WHOWAS" command 2013-02-10 00:24:34 +01:00
Alexander Barton
78978994df Commands.txt: Update description of the "WHOIS" command 2013-02-10 00:24:14 +01:00
Alexander Barton
19cb29da51 Commands.txt: Update description of the "WHO" command 2013-02-10 00:23:59 +01:00
Alexander Barton
6ed3b6f85c Commands.txt: Update description of the "VERSION" command 2013-02-10 00:23:43 +01:00
Alexander Barton
5b8f13a4a9 Commands.txt: Update description of the "USERHOST" command 2013-02-10 00:23:27 +01:00
Alexander Barton
b6e6e2e1da Commands.txt: Update description of the "TIME" command 2013-02-10 00:23:10 +01:00
Alexander Barton
7c7fc8b5c4 Commands.txt: Update description of the "STATS" command 2013-02-10 00:22:50 +01:00
Alexander Barton
1a5e08f3f6 Commands.txt: Update description of the "NAMES" command 2013-02-10 00:22:24 +01:00
Alexander Barton
e051ea06fc Commands.txt: Update description of the "MOTD" command 2013-02-10 00:20:41 +01:00
Alexander Barton
a7023113e7 Commands.txt: Update description of the "LUSERS" command 2013-02-10 00:20:19 +01:00
Alexander Barton
02e24f5d1e Commands.txt: Update description of the "LINKS" command 2013-02-10 00:19:59 +01:00
Alexander Barton
13740c1bf4 Commands.txt: Update description of the "ISON" command 2013-02-10 00:19:41 +01:00
Alexander Barton
8212b730c7 Commands.txt: Update description of the "INFO" command 2013-02-10 00:19:20 +01:00
Alexander Barton
a4daa613ae Commands.txt: Update description of the "ADMIN" command 2013-02-10 00:18:43 +01:00
Alexander Barton
f295117fba New configuration option "IdleTimeout": exit daemon when idle
This patch implements a new configuration option "IdleTimeout" in the
[Limits] section of the configuration file which can be used to set a
timeout (in seconds) after which the whole daemon will shutdown when no
more connections are left active after handling at least one client.

The default is 0, "never".

This can be useful for testing or when ngIRCd is started using "socket
activation" with systemd(8), for example.
2013-02-04 23:15:53 +01:00
Alexander Barton
b7690a0add Commands.txt: Add description for the "CHARCONV" command 2013-02-03 19:02:42 +01:00
Alexander Barton
18ecc2fd81 Commands.txt: Add description for the "CAP" command 2013-02-03 18:59:44 +01:00
Alexander Barton
73fded7515 Commands.txt: Import descriptions from "rbose/command_help"
Import command description texts from the "rbose/command_help" branch,
which have been written by DNS <dns@rbose.org> -- thanks a lot!
2013-01-23 15:16:33 +01:00
Alexander Barton
7630e8ffc6 Commands.txt: Reorder some commands
Reorder some commands and introduce new section "Connection Handling".
Idea by DNS <dns@rbose.org>, thanks!
2013-01-23 15:02:46 +01:00
Alexander Barton
4552ad5269 Commands.txt: Fix some wording and spelling 2013-01-23 14:51:19 +01:00
Alexander Barton
950aeec3ff Use "${docdir}/Commands.txt" as help text file 2013-01-01 19:25:06 +01:00
Alexander Barton
8ec09e3ca4 Add doc/Commands.txt which should document all commands
This document can be used as "help text", too, see configuration option
"HelpFile" in ngircd.conf(5).

Please note that this file in its current state is far from complete, only
a few commands are documented, but you should get an idea how it works.

So please send in patches adding the remaining parts! :-)
2013-01-01 15:11:31 +01:00
Alexander Barton
d2a1f6aa4b Document "HelpFile" in sample-ngircd.conf and ngircd.conf.5 2012-12-31 21:03:23 +01:00
Alexander Barton
1e5a7aac87 Makefiles: Correctly quote sed expressions
Now the Makefiles support spaces in "$sysconfdir", which isn't uncommon
for Cygwin for example, when $HOME contains whitespaces ("/home/User Name")
and ngIRCd is installed into the user home ("./configure --prefix=$HOME").
2012-12-25 19:14:31 +01:00
Alexander Barton
12768e7a54 Update doc/Platforms.txt 2012-11-26 11:54:23 +01:00
Alexander Barton
35e2dcff88 Rework cloaked hostname handling, implement "METADATA cloakhost"
Now ngIRCd uses two fields internally, one to store the "real" hostname
and one to save the "cloaked" hostname. And both fields can be set
independently using the "METADATA host" and "METADATA cloakhost" commands.

This allows "foreign servers" (aka "IRC services") to alter the real and
cloaked hostnames of clients without problems, even when the user itself
issues additional "MODE +x" and "MODE -x" commands.
2012-11-24 16:15:35 +01:00
Alexander Barton
53917fa4b8 Add new IRC+ server flag "X": "XOP modes supported"
This flag indicates, that the server supports the enhanced "xop channel
user modes", like channel owner, admin, and halfop. This information is
used to make sure that no unsupported CHANINFO commands are sent to
servers not supporting such mode prefixes, for example.
2012-11-10 23:33:19 +01:00
Alexander Barton
646218e6f4 Update autoconf/automake version numbers in doc/HowToRelease.txt 2012-11-10 21:50:36 +01:00
Alexander Barton
c7db2f8429 doc/Services.txt: Update documentation for Anope 1.9.8
Starting with Anope 1.9.8, the ngIRCd protocol module is rewritten from
scratch by "DukePyrolator" and included in the Anope distribution. So no
patching is required any more, yeah!

Drawback: Anope 1.9.8 is in development and not yet released ...
2012-11-10 21:24:55 +01:00
Alexander Barton
7871a904d7 doc/Protocol.txt: Document METADATA command 2012-11-05 23:51:52 +01:00
Alexander Barton
79731a57f3 doc/Protocol.txt: add/fix CHARCONV description 2012-11-05 23:11:41 +01:00
Alexander Barton
f2455cbe33 Update doc/Services.txt, sort services alphabetically 2012-11-04 13:22:26 +01:00
Alexander Barton
48326e061a Spelling fix: "nick name" -> "nickname" 2012-11-02 14:30:19 +01:00
Brett Smith
32f63abb59 Make the maximum /list reply length a configurable limit. 2012-10-25 14:46:29 -04:00
Alexander Barton
73229249d8 Add "i586/pc/haiku" to doc/Platforms.txt 2012-10-11 15:05:21 +00:00
DNS777
9d97004a28 Implement user mode "b": block messages
When a user has set mode "b", all private messages and notices to this
user are blocked if they don't originate from a registered user, an IRC Op,
server or service. The originator gets an error numeric sent back in this
case, ERR_CANNOTSENDTONICK_MSG(976), which is/was(?) used by KineIRCd, too.

This closes bug #144.
2012-10-08 12:11:04 +02:00
Alexander Barton
c9d166747d Merge branch 'bug141-ModesQq'
This closes bug #141.

* bug141-ModesQq:
  KICK-protect IRC services
  Implement channel mode "Q" and user mode "q"

Conflicts:
	src/ngircd/defines.h
	src/ngircd/messages.h
2012-10-06 22:37:57 +02:00
DNS777
de453d71cb Implement channel mode 'V' (invite disallow)
If the new channel mode "V" is set, the INVITE command becomes invalid
and all clients get the new ERR_NOINVITE_MSG(518) reply.

Unreal and InspIRCd uses this mode, too.

This closes bug #143.
2012-10-06 20:49:35 +02:00
Alexander Barton
46b0eef721 Merge branch 'bug109-CHARCONV'
This closes bug #109.

* bug109-CHARCONV:
  Debian: require "telnet" or "telnet-ssl" for building
  Debian ngircd-full[-dbg]: enable CHARCONV
  Add "CHARCONV" to "feature string" when enabled
  Implement new IRC+ "CHARCONV" command
  Added new configure option "--with-iconv"

Conflicts:
	src/ngircd/messages.h
2012-10-06 18:26:25 +02:00
Alexander Barton
d3ae351236 Implement channel mode "Q" and user mode "q"
Both modes protect users from channel kicks: only IRC operators and
servers can kick users having mode "q" or in channels with mode "Q".

Original patch by DNS777 <dns@rbose.org>, thanks!

This closes bug #141.
2012-10-06 18:13:01 +02:00
DNS777
808c291c76 New configuration option "OperChanPAutoOp"
If disabled, IRC operators don't become channel operators in persistent
channels when joining. Enabled by default, which has been the behavior
of ngIRCd up to this patch.

Closes bug #135.

(Cosmetic fixes by Alex.)
2012-09-25 13:08:39 +02:00
Alexander Barton
b1b83831d1 Add doc/Contributing.txt to distribution archive 2012-09-24 17:40:33 +02:00
Alexander Barton
e3e181f4b3 Merge branch 'bug92-xop'
By Alexander Barton (5) and Sebastian Köhler (2)

* bug92-xop:
  Fix NAMES/WHO response when client has multi-prefix
  Fix prefix of "halfop" when "multi-prefix" is active
  Clean up doc/.gitignore
  doc/Modes.txt: add version number to new channel modes
  Fix some "whitespace glitches"
  Tests and documentation for xop
  Implemented xop support

Conflicts (because of "multi-prefix fix"):
	src/ngircd/irc-info.c

This fixes bug #92 "ngircd does not support XOP usermodes".
2012-09-23 20:06:14 +02:00
Alexander Barton
1744a8d145 Clean up doc/.gitignore 2012-09-23 17:52:53 +02:00
Alexander Barton
b12acddf4f doc/Modes.txt: add version number to new channel modes 2012-09-23 17:52:26 +02:00
Alexander Barton
222ecbffbb Implement new IRC+ "CHARCONV" command
See bug 109 and doc/Protocol.txt for details and documentation.
2012-09-17 00:56:36 +02:00
Alexander Barton
5300f0082c Make our own targets "silent", if enabled 2012-09-15 19:15:16 +02:00
Alexander Barton
f37600ee01 Merge branch 'xop' of https://github.com/kart0ffelsack/ngircd into bug92-xop
* 'xop' of https://github.com/kart0ffelsack/ngircd:
  Tests and documentation for xop
  Implemented xop support

Conflicts (because of merge of the 'cmode-M' branch):
	src/ngircd/channel.c
	src/ngircd/defines.h
	src/ngircd/messages.h
2012-09-11 12:30:19 +02:00
Alexander Barton
1d3def0cc6 Merge branch 'umode-B'
This patch series allows ngIRCd to support the user mode "B" ("Bot flasg"):
it is settable and unsettable by every (non-restricted) client.
According to DNS777, this is how Unreal and InspIRCd do behave, so do we :-)

By Alexander Barton (1) and DNS777 (1)

* umode-B:
  Add new user mode "B" to doc/Modes.txt
  Implement an Unreal-like user mode "B" ("Bot mode")
2012-08-27 23:27:30 +02:00
Alexander Barton
fee8ff37b3 Add new channel mode "M" to doc/Modes.txt 2012-08-27 21:17:49 +02:00
Alexander Barton
a26e37b746 Add new user mode "B" to doc/Modes.txt 2012-08-26 16:03:00 +02:00
Alexander Barton
360a254be0 Enhance "ServiceMask" to handle a list of masks
The "ServiceMask" variable in "Server" blocks now can handle more than
one mask using the new MatchCaseInsensitiveList() function.

This makes marking "service clients" much more specific, which is a
good thing per se, but which is the prerequisite for reasonably
blocking these nick names, too (see commit a6dd2e3 for details).
2012-08-26 13:24:54 +02:00
Alexander Barton
4cf65b973c "make uninstall": remove ngircd.conf if not modified
Now "make uninstall" removes the installed "ngircd.conf" file, if it
is still equal to our "sample-ngircd.conf" file and therefore hasn't
been modified by the user. If it has been modified, it isn't removed
and a notice is displayed to the user.

In addition, "make install" now displays a message when no ngircd.conf
file exists and the "sample-ngircd.conf" file will be installed as a
starting point.
2012-08-18 23:50:20 +02:00
Sebastian Köhler
097c72aa65 Tests and documentation for xop 2012-08-06 04:42:20 +02:00
Sebastian Köhler
7b01bb833f Implemented xop support
3 new channel user modes have been added.

Half Op: +h(Prefix: %) can set the channel modes +imntvIbek
and kick all +v and normal users.

Admin: +a(Prefix: &) can set channel modes +imntvIbekoRsz and kick all
+o, +h, +v and normal users.

Owner: +q(Prefix: ~) can set channel modes +imntvIbekoRsz and kick all
+a, +o, +h, +v and normal users
2012-08-06 04:42:09 +02:00
Sebastian Köhler
d0bb185cf5 Hashed hostnames for CloakHost
Implemented support for hashed hostnames for CloakHost. The admin can
use '%x' in both the CloakHost and CloakHostModeX setting. The config
option CloakHostModeX was renamed to CloakHostSalt. This salt is used
for both cloaking options.
2012-08-03 04:10:11 +02:00
Sebastian Köhler
49385a98b2 Implemented hashed cloaked hostnames for +x
CloakHostModeX can now contain '%x'. It will be replace by the hash of
the original client hostname. The new config option CloakHostModeXSalt
defines the salt for the hash function. When CloakHostModeXSalt is not
set a random salt will be generated after each server restart.

Spelling fix in defines.h
2012-08-03 04:09:37 +02:00
Alexander Barton
dffe5a9d60 doc/Capabilities.txt: document "multi-prefix" capability 2012-06-13 12:19:56 +02:00
Alexander Barton
bf121ae95f Describe "CloakHostModeX" in sample-ngircd.conf an ngircd.conf(5) 2012-06-09 02:04:50 +02:00
Alexander Barton
9b1cf420f1 doc/Platforms.txt: more updates
Added:
 - armv6l/unkn./linux-gnueabi, gcc 4.4.5
 - i686/pc/linux-gnu, gcc 2.7.2

Updated:
 - i386/pc/solaris2.11, gcc 4.2.3

Thanks to Götz Hoffart!
2012-06-07 17:09:45 +02:00
Alexander Barton
a21a7d8b66 doc/Platforms.txt: add powerpc/apple/darwin7.9.0 2012-05-29 17:21:03 +02:00
Alexander Barton
884c5bcff1 doc/Platforms.txt: add "armv7l/unknown/linux-gnueabi" 2012-04-29 22:45:46 +02:00
William Pitcock
3a2fcc32cd Add instructions for setting up Atheme. 2012-04-29 19:48:48 +02:00
Alexander Barton
2419a701d8 doc/Modes.txt: Document missing channel mode "e" 2012-04-29 12:11:50 +02:00
Alexander Barton
bd3a7ccb15 Implement core IRC capability handling and "CAP" command
This patch implements the core functions to support "IRC Capabilities"
and the IRC "CAP" command as used by other servers and specified here:
<http://www.leeh.co.uk/draft-mitchell-irc-capabilities-02.html>.

It enables ngIRCd to support the defined handshake, but it doesn't
implement any capabilities, so "CAP LS" and "CAP LIST" always return
the empty set and "CAP REQ ..." always fails with "CAP NAK".
2012-03-31 15:59:06 +02:00
Alexander Barton
67bd1bf34f Makefiles: list each source files on a separate line
Patches that add/remove source files become much nicer this way :-)
2012-03-31 12:52:58 +02:00
Alexander Barton
7b6ef3bc8e FAQ: enhance description of chroot setup 2012-03-28 11:29:26 +02:00
Alexander Barton
27d244dfae Update doc/Platforms.txt for ngIRCd 19 2012-02-29 14:46:34 +01:00
Alexander Barton
a39a1a5273 doc/README-Interix.txt: note that GNU make should be used 2012-02-29 13:20:09 +01:00
Alexander Barton
1f4711a547 Implement user mode 'C': require "same channel" to send message
If the target user of a PRIVMSG or NOTICE command has the user mode 'C'
set, it is required that both sender and receiver are on the same channel.

This prevents private flooding by completely unknown clients.
2012-01-16 11:43:22 +01:00
Alexander Barton
56b7e67307 New configuration option "PAMIsOptional"
When "PAMIsOptional" is set, clients not sending a password are still
allowed to connect: they won't become "identified" and keep the "~"
character prepended to their supplied user name.
2012-01-01 17:12:36 +01:00
Alexander Barton
b32f3b76e9 doc/Modes.txt: document channel mode "r"
And make clear, that user mode "r" and channel mode "r" are not set by
ngIRCd itself but by IRC services.
2011-12-31 18:04:58 +01:00
Alexander Barton
e4a06844a3 sample-ngircd.conf: show correct default for "PAM" variable
The default of "PAM" is "yes" when ngIRCd has been configured to use it,
so show the correct default value in the sample configuration file.

Closes #119.
2011-11-08 21:12:01 +01:00
Alexander Barton
07dbb73c92 Update doc/GIT.txt 2011-09-07 15:39:41 +02:00
Alexander Barton
f173a974be Added doc/Modes.txt: document modes supported by ngIRCd 2011-08-26 16:16:53 +02:00
Alexander Barton
553e8b6aa3 doc/Platforms.txt: ngIRCd 18 on Nexenta works
Thanks to Götz Hoffart for testing!
2011-08-19 15:51:56 +02:00
Alexander Barton
95f0e4033c doc/Platforms.txt: re-add mipsel/unknown/linux-gnu with gcc 4.1.2 2011-08-01 10:42:22 +02:00
Alexander Barton
409b2c86c8 Updated doc/Platforms.txt: mipsel/unknown/linux-gnu 2011-08-01 09:08:14 +02:00
Alexander Barton
b7780e3f2a Fix typo in doc/Platforms.txt; make Linux footnote more generic 2011-07-10 22:32:29 +02:00
Alexander Barton
95e156b519 Updated doc/Platforms.txt for ngIRCd release 18 2011-07-10 19:58:41 +02:00
Alexander Barton
54566b6b32 Add preliminary ngIRCd protocol module for Anope 1.9
See contrib/Anope/README and doc/Services.txt for more details
and installation instructions!
2011-07-10 14:23:11 +02:00
Alexander Barton
bd118c65fd Fix some wording, use spellchecker ;-) 2011-06-28 13:12:06 +02:00
Alexander Barton
29c49f643f doc/SSL.txt: adopt to new configuration file layout 2011-06-28 13:11:14 +02:00
Alexander Barton
d99edb7728 Merge branch 'MorePrivacy'
* MorePrivacy:
  New configuration opion "MorePrivacy" to "censor" some user information
2011-06-26 15:41:27 +02:00
Alexander Barton
cb28c4ff03 sample-ngircd.conf: remove "SSL" prefix from SSL-related variables 2011-06-26 15:39:39 +02:00
Alexander Barton
269310f04b Merge branch 'ScrubCTCP'
* ScrubCTCP:
  Add documentation for "ScrubCTCP" configuration option
  New option to scrub incoming CTCP commands
2011-06-26 15:38:53 +02:00
Alexander Barton
3282c1325e Merge branch 'newconfig'
* newconfig:
  sample-ngircd.conf: "SyslogFacility" should be commented out
  Move SSL-related configuration variables to new [SSL] section
  CheckFileReadable(): only check when a filename is given ...
  PAM: make clear which "Password" config option is ignored
  Really remove [Features] in our manual pages
  INSTALL: document changed location of configuration variables
  Update sample config file and manual page for new config structure
  Testsuite: update configuration files for new config file format
  Display configuration errors more prominent on "--configtest"
  conf.c: code cleanup
  Check for redability of SSL-related files like for MOTD file
  Restructure ngIRCd configuration, introduce [Limits] and [Options]
2011-06-26 15:24:07 +02:00
Alexander Barton
3d0ce77f12 sample-ngircd.conf: "SyslogFacility" should be commented out 2011-06-26 00:10:22 +02:00
Alexander Barton
946d838de4 Move SSL-related configuration variables to new [SSL] section 2011-06-26 00:09:36 +02:00
xor
5410d96748 Add documentation for "ScrubCTCP" configuration option 2011-06-25 22:27:56 +02:00
xor
b80e115f39 New configuration opion "MorePrivacy" to "censor" some user information
this patch contains:

  * Fix for Conf_CloakUserToNick to make it conceal user details
  * Adds MorePrivacy-feature

MorePrivacy censors some user information from being reported by the
server. Signon time and idle time is censored. Part and quit messages
are made to look the same. WHOWAS requests are silently dropped. All
of this is useful if one wish to conceal users that access the ngircd
servers from TOR or I2P.
2011-06-25 22:21:20 +02:00
Alexander Barton
eba14d937d Update sample config file and manual page for new config structure 2011-06-25 14:58:12 +02:00
Alexander Barton
b1786f309e New documentation: "how to contribute" 2011-06-24 21:01:18 +02:00
Florian Westphal
49b2d0ec98 ssl: gnutls: bump dh bitsize to 2048
problem is that some clients refuse to connect to severs that only offer
1024.  For interoperability it would be best to just use 4096, but that
takes minutes, even on current hardware.
2011-06-04 22:57:29 +02:00
Alexander Barton
d61fbfc6e3 Merge branch 'AuthPing'
* AuthPing:
  Add documentation for "RequireAuthPing" configuration option
  New configuration option "RequireAuthPing": PING-PONG on login
2011-03-27 20:58:18 +02:00
Alexander Barton
680db6755b Add documentation for "NoticeAuth" configuration option 2011-03-27 20:40:28 +02:00
Alexander Barton
fc0b026149 Add documentation for "RequireAuthPing" configuration option 2011-03-27 20:34:44 +02:00
Alexander Barton
6cb90f399d Update doc/GIT.txt 2011-03-25 11:14:04 +01:00
Alexander Barton
fa8b83e69b Merge branches 'CloakUserHost', 'QuitOnHTTP' and 'bug72-WHOIS-List'
* CloakUserHost:
  Add a note not to use a percent sign ("%") in CloakHost variable
  Rename ClientHost to CloakHost, and ClientUserNick to CloakUserToNick
  Don't use "the.net" in sample-ngircd.conf, use "example.net"
  ngircd.conf.5: document "ClientHost" and "ClientUserNick"
  Move "ClientHost" and "ClientUserNick" to end of [Global] section
  ClientUserNick setting
  ClientHost setting

* QuitOnHTTP:
  Only "handle" HTTP commands on unregistered connections
  Don't use IRC_QUIT_HTTP() if STRICT_RFC is #define'd
  IRC_QUIT_HTTP(): enhance error message
  Move IRC_QUIT_HTTP() below IRC_QUIT()
  quit on HTTP commands: GET & POST

* bug72-WHOIS-List:
  Add "whois-test" to testsuite and distribution archive
  Add support for up to 3 targets in WHOIS queries.
2011-03-19 17:16:14 +01:00
Alexander Barton
acd7a5d6d4 Add a note not to use a percent sign ("%") in CloakHost variable
The percent sign is reserved for future extensions, for example to
expand some variables like %H to a hash value of the real host name ...

Idea by kaFux in #ngircd.
2011-03-19 17:04:57 +01:00
Alexander Barton
ae7470ceb5 Rename ClientHost to CloakHost, and ClientUserNick to CloakUserToNick 2011-03-19 16:58:29 +01:00
Alexander Barton
f419a369bf Doxygen: Remove header.inc.html and ngircd-doc.css from distribution 2011-03-19 15:02:28 +01:00
Alexander Barton
fc55c945db Don't use "the.net" in sample-ngircd.conf, use "example.net"
"the.net" is an existing domain of the Texas Higher Education Network ...
See RFC 2606.
2011-03-18 10:46:56 +01:00
Alexander Barton
25dd193e9b Move "ClientHost" and "ClientUserNick" to end of [Global] section 2011-03-16 23:43:29 +01:00
Gabor Adam Toth
71d8c37171 ClientUserNick setting 2011-03-16 23:15:50 +01:00