]>
Commit | Line | Data |
---|---|---|
1 | # solanum [![Build Status](https://travis-ci.com/solanum-ircd/solanum.svg?branch=main)](https://travis-ci.com/solanum-ircd/solanum) | |
2 | ||
3 | Solanum is an IRCv3 server designed to be highly scalable. It implements IRCv3.1 and some parts of IRCv3.2. | |
4 | ||
5 | It is meant to be used with an IRCv3-capable services implementation such as [Atheme][atheme] or [Anope][anope]. | |
6 | ||
7 | [atheme]: http://www.atheme.net/ | |
8 | [anope]: http://www.anope.org/ | |
9 | ||
10 | # necessary requirements | |
11 | ||
12 | * A supported platform | |
13 | * A working dynamic library system | |
14 | * A working lex and yacc - flex and bison should work | |
15 | ||
16 | # platforms | |
17 | ||
18 | Solanum is designed with portability in mind, but does not target older systems nor those of solely academic | |
19 | interest. | |
20 | ||
21 | Do note that operating systems are only supported if they are supported by their vendor. | |
22 | ||
23 | ## Tier 1 | |
24 | ||
25 | These platforms are the best supported, and should always work. They are actively tested. If you encounter | |
26 | problems, please file a bug. | |
27 | ||
28 | * FreeBSD 10.x and above (i386 and amd64) | |
29 | * Linux 2.6.x and above with glibc or musl (i386, x86_64, and ARM) | |
30 | * macOS 10.7 and above | |
31 | * Windows Vista/Server 2008 and above (x86 or x64) | |
32 | ||
33 | ## Tier 2 | |
34 | ||
35 | These platforms are supported and occasionally tested, and most features should work, but this is not | |
36 | guaranteed. If you find any problems, file a bug, but as these are not regularly tested platforms, a timely | |
37 | resolution may not be possible. | |
38 | ||
39 | * DragonflyBSD 4.4 and above (i386) | |
40 | * Linux with uClibc (i386 or x86_64) | |
41 | * NetBSD 6.1.x and above (i386, amd64) | |
42 | * OpenBSD 5.6 and above (i386, amd64) | |
43 | * Solaris 10 and above (i386) | |
44 | ||
45 | ## Tier 3 | |
46 | ||
47 | Anything else that hasn't been tested. Solanum may or may not work on it; patches welcome if they don't. | |
48 | ||
49 | # platform specific errata | |
50 | ||
51 | These are known issues and workarounds for supported platforms. | |
52 | ||
53 | * **macOS**: you must set the `LIBTOOLIZE` environment variable to point to glibtoolize before running autogen.sh: | |
54 | ||
55 | ```bash | |
56 | brew install libtool | |
57 | export LIBTOOLIZE="/usr/local/bin/glibtoolize" | |
58 | ./autogen.sh | |
59 | ``` | |
60 | ||
61 | * **FreeBSD**: if you are compiling with ipv6 you may experience | |
62 | problems with ipv4 due to the way the socket code is written. To | |
63 | fix this you must: "sysctl net.inet6.ip6.v6only=0" | |
64 | ||
65 | * **Solaris**: you may have to set your PATH to include /usr/gnu/bin and /usr/gnu/sbin before /usr/bin | |
66 | and /usr/sbin. Solaris's default tools don't seem to play nicely with the configure script. | |
67 | ||
68 | # building from git | |
69 | ||
70 | We no longer supply a prebuilt configure script in git, due to use of automake and libtool causing problems. | |
71 | You will need to run `autogen.sh` to build the autotools files prior to building solanum. | |
72 | ||
73 | # feature specific requirements | |
74 | ||
75 | * For SSL/TLS client and server connections, one of: | |
76 | ||
77 | * OpenSSL 1.0.0 or newer (--enable-openssl) | |
78 | * LibreSSL (--enable-openssl) | |
79 | * mbedTLS (--enable-mbedtls) | |
80 | * GnuTLS (--enable-gnutls) | |
81 | ||
82 | * For certificate-based oper CHALLENGE, OpenSSL 1.0.0 or newer. | |
83 | (Using CHALLENGE is not recommended for new deployments, so if you want to use a different TLS library, | |
84 | feel free.) | |
85 | ||
86 | * For ECDHE under OpenSSL, on Solaris and RHEL/Fedora (and its derivatives such as CentOS) you will | |
87 | need to compile your own OpenSSL on these systems, as they have removed support for ECC/ECDHE. | |
88 | Alternatively, consider using another library (see above). | |
89 | ||
90 | # tips | |
91 | ||
92 | * To report bugs in solanum, visit us at chat.freenode.net #solanum | |
93 | ||
94 | * Please read doc/index.txt to get an overview of the current documentation. | |
95 | ||
96 | * Read the NEWS file for what's new in this release. | |
97 | ||
98 | * The files, /etc/services, /etc/protocols, and /etc/resolv.conf, SHOULD be | |
99 | readable by the user running the server in order for ircd to start with | |
100 | the correct settings. If these files are wrong, solanum will try to use | |
101 | 127.0.0.1 for a resolver as a last-ditch effort. | |
102 | ||
103 | # git access | |
104 | ||
105 | * The Solanum GIT repository can be checked out using the following command: | |
106 | `git clone https://github.com/solanum-ircd/solanum` | |
107 | ||
108 | * Solanum's GIT repository depot can be browsed over the Internet at the following address: | |
109 | https://github.com/solanum-ircd/solanum |