Comments (4)
The file is prefix/etc/ban.db
. For some reason, +w
is also required on the parent directory for the server to start correctly (at least the first time?)
from charybdis.
Charybdis' bandb (specifically, the SQLite library), much like Atheme IRC Services, uses atomic database saving. This means it first creates a new file in the directory, and then moves it into place over the old one when it's completely written. Naturally, this requires +w on the directory. If this concerns you, you can also set +t on the directory:
# ls -ahl /usr/local/charybdis/etc/
total 60K
drwxrws--T 2 root charybdis 4.0K May 25 21:32 .
drwxr-x--- 8 root charybdis 4.0K May 25 21:21 ..
-rw------- 1 charybdis charybdis 5.0K Apr 20 04:55 ban.db
-rw-r----- 1 root charybdis 4.8K Jun 28 09:47 clients.conf
-rw-r----- 1 root charybdis 595 May 25 21:36 dh3k.pem
-rw-r----- 1 root charybdis 3.0K Apr 4 00:04 general.conf
-rw-r----- 1 root charybdis 2.8K May 25 21:21 ircd.conf
-rw-r----- 1 root charybdis 5.3K May 25 21:29 ircd.crt
-rw-r----- 1 root charybdis 3.2K May 25 21:24 ircd.key
-rw-r----- 1 root charybdis 3.0K Jun 10 20:08 ircd.motd
-rw-r----- 1 root charybdis 2.0K Jun 11 13:25 opers.conf
-rw-r----- 1 root charybdis 1.1K Apr 20 03:13 servers.conf
from charybdis.
Does SQLite really do this? Wouldn't scale well, I imagine.
Though it does need write rights to the directory, but for stuff like ban.db-journal
instead.
from charybdis.
Ah yes, SQLite does not do atomic commits by the method I described. It does still need to create a separate file in the directory for every transaction though, and it is by that name, as described in https://www.sqlite.org/atomiccommit.html
from charybdis.
Related Issues (20)
- Catastrophic compile fail in commio.c (librb) in (I believe) master HOT 2
- FreeBSD: Port bind issue HOT 3
- SCTP is not documented in reference/example.confs
- hideserver module /map for users HOT 4
- Cannot add channel modes without "+". HOT 1
- /stats C is undocumented
- a mode to mute unregistered users and show a helpful error HOT 2
- make more snotes netwide
- consider sending set by/at on BMASK burst
- ban lists preventing adding subsets of active supersets assumes human behaviour
- TLS-SRP
- warn users affected by +zq/+zb HOT 1
- Unknown date build field from release
- make `+rb $~a` prioritise ERR_NEEDREGGEDNICK
- extban for matching a mask only when unidentified
- autogen.sh fails with missing libtool files HOT 1
- KICK without a source is ignored HOT 4
- wsock doesn't accept input.
- I-Line problem
- m_requirectcp.cpp botnets/spambots/floodbots
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from charybdis.