Commit Briefs

f11b01ccc2 GitHub

Implement new configuration option "DefaultChannelModes" (master)

The new configuration option "DefaultChannelModes" lists channel modes that become automatically set on new channels on creation. Default: set no modes. Closes #333.


b932baab52 GitHub

Handle clients which erroneously send passwords for non-password protected servers

Ignore passwords sent by clients when not configured/needed. Closes #332.


3e4ca16dc2 GitHub

Improve "CloakHostModeX" documentation

Closes #334.


512af135d0 Alexander Barton

Use the last value set for "Listen" (Global) and "Mask" (Operator)

Do not ignore newer configuration value, always use the latest value set. And do not assert() SSL-related string options and break, but properly free them and use the latest value set – even in debug mode. In non-debug mode, this was already the case anyway, but we leaked some memory ...


7012d41b07 Alexander Barton

Update manual page dates


0b8d3d23d9 Alexander Barton

Add labels to the containers


37c31eeae0 GitHub

Update documentation on CAFile

ngIRCd 27 now checks server certificates, and without `CAFile` set will reject all server/server connections with a confusing error. Update documentation to say that `CAFile` is needed to accept incoming server connections. Closes #320.


acf8409c60 GitHub

MODE: Reply with ERR_NOSUCHCHANNEL when the target is a channel (#319)

While it is common for IRC servers to use ERR_NOSUCHNICK instead of ERR_NOSUCHCHANNEL when a target can be either a channel or a nick, it seems every other IRCd but UnrealIRCd uses ERR_NOSUCHCHANNEL in this particular case.



4ad7de02d6 Alexander Barton

ngIRCd Release 27


Branches

Tags

This repository contains no tags

Tree

.clang_completecommits | blame
.dockerignore@commits | blame
.editorconfigcommits | blame
.github/
.gitignorecommits | blame
.mailmapcommits | blame
AUTHORS.mdcommits | blame
COPYINGcommits | blame
ChangeLogcommits | blame
INSTALL.mdcommits | blame
Makefile.amcommits | blame
NEWScommits | blame
README.mdcommits | blame
autogen.sh*commits | blame
config.guess*commits | blame
config.sub*commits | blame
configure.ngcommits | blame
contrib/
doc/
man/
src/

README.md

# [ngIRCd](https://ngircd.barton.de) - Internet Relay Chat Server

## Introduction

*ngIRCd* is a free, portable and lightweight *Internet Relay Chat* ([IRC])
server for small or private networks, developed under the terms of the GNU
General Public License ([GPL]); please see the file `COPYING` for licensing
information.

The server is quite easy to configure and runs as a single-node server or can
be part of a network of ngIRCd servers in a LAN or across the internet. It
optionally supports the IPv6 protocol, SSL/TLS-protected client-server and
server-server links, the Pluggable Authentication Modules (PAM) system for user
authentication, IDENT requests, and character set conversion for legacy
clients.

The name ngIRCd stands for *next-generation IRC daemon*, which is a little bit
exaggerated: *lightweight Internet Relay Chat server* most probably would have
been a better name :-)

## Status

Development of *ngIRCd* started back in 2001: The server has been written from
scratch in C, tries to follow all relevant standards, and is not based on the
forefather, the daemon of the IRCNet.

It is not the goal of ngIRCd to implement all the nasty behaviors of the
original `ircd` or corner-cases in the RFCs, but to implement most of the useful
commands and semantics that are used by existing clients.

*ngIRCd* is used as the daemon in real-world in-house and public IRC networks
and included in the package repositories of various operating systems.

## Advantages and strengths

- Well arranged (lean) configuration file.
- Simple to build, install, configure, and maintain.
- Supports IPv6 and SSL.
- Can use PAM for user authentication.
- Lots of popular user and channel modes are implemented.
- Supports "cloaking" of users.
- No problems with servers that have dynamic IP addresses.
- Freely available, modern, portable and tidy C source.
- Wide field of supported platforms, including AIX, A/UX, FreeBSD, HP-UX,
  IRIX, Linux, macOS, NetBSD, OpenBSD, Solaris and Windows with WSL or Cygwin.

## Documentation

The **homepage** of the ngIRCd project is <https://ngircd.barton.de>.

The `INSTALL.md` document describes how to _install_ and _upgrade_ ngIRCd. It
is included in all distribution archives and available online on
[GitHub](https://github.com/ngircd/ngircd/blob/master/INSTALL.md).

Please see the file `doc/QuickStart.md` in the `doc/` directory or on
[GitHub](https://github.com/ngircd/ngircd/blob/master/doc/QuickStart.md) for
information about _setting up_ and _running_ ngIRCd, including some real-world
configuration examples.

More information can be found in a couple of files in the `doc/` directory
(online on [GitHub](https://github.com/ngircd/ngircd/tree/master/doc)) and in
the [documentation section](https://ngircd.barton.de/documentation) on the
[homepage of ngIRCd](https://ngircd.barton.de).

In addition, ngIRCd comes with two _manual pages_: `ngircd(8)` (for the daemon)
and `ngircd.conf(5)` (for its configuration file). They have even more details
and list all possible command line parameters and configuration options. You
can read them with the `man` command (when they are installed locally on your
system, e.g. `man 8 ngircd` and `man 5 ngircd.conf`) or online here:

- Daemon:
  [ngircd(8)](https://ngircd.barton.de/man/ngircd.8.html)
- Configuration file:
  [ngircd.conf(5)](https://ngircd.barton.de/man/ngircd.conf.5.html)

## Downloads & Source Code

You can find the latest information about the ngIRCd and the most recent
stable release on the [news](https://ngircd.barton.de/news) and
[downloads](https://ngircd.barton.de/download) pages of the homepage.

Visit our source code repository at [GitHub](https://github.com/ngircd/ngircd)
if you are interested in the latest development code.

## Problems, Bugs, Patches

Please don't hesitate to contact us if you encounter problems:

- On IRC: <irc://irc.barton.de/ngircd>
- Via the mailing list: <ngircd@lists.barton.de>

See <https://ngircd.barton.de/support> for details.

If you find any bugs in ngIRCd (which most probably will be there ...), please
report them to our issue tracker at GitHub:

- Bug tracker: <https://github.com/ngircd/ngircd/issues>
- Patches, "pull requests": <https://github.com/ngircd/ngircd/pulls>

[IRC]: https://wikipedia.org/wiki/Internet_Relay_Chat
[GPL]: https://wikipedia.org/wiki/GNU_General_Public_License