Shivaram Lingamneni
87789676c0
add tests covering (*AcceptManager).Unaccept
2 years ago
Shivaram Lingamneni
c5579a6a34
fix #1688
* Add ACCEPT-tracking functionality (authorizing users to send DMs
despite +R or other applicable restrictions)
* Sending a DM automatically accepts the recipient
* Add explicit ACCEPT command
2 years ago
Shivaram Lingamneni
b11dc1c84c
fix #1886
Add more clarify in NS INFO and SAREGISTER about unregistered nicknames
2 years ago
Shivaram Lingamneni
78548aa9df
add SAVERIFY command
Fixes #1924
2 years ago
Shivaram Lingamneni
34ad3a2dc1
ConfigStore: clarify intended use
2 years ago
Shivaram Lingamneni
077081076c
fix #1941
KLINE'd clients would produce a QUIT snotice without a corresponding
CONNECT snotice; explicitly suppress the QUIT snotice.
2 years ago
Shivaram Lingamneni
c603d41d08
genericize atomic config changes
2 years ago
Shivaram Lingamneni
c87dead39b
remove history.ReverseCorrespondents in favor of generics
2 years ago
Shivaram Lingamneni
2df5fb1956
use genericized slice-reversing function
2 years ago
Shivaram Lingamneni
42883972a8
make quit logging more consistent
Log it at level INFO for parity with connect / connect-ip
2 years ago
Shivaram Lingamneni
5ecba1d40b
use ratified bot mode tag name
2 years ago
Shivaram Lingamneni
2b8eb93c00
clean up magic numbers
2 years ago
Shivaram Lingamneni
51cdebf167
fix #1935
RPL_WHOISCHANNELS didn't have proper line breaks
2 years ago
Shivaram Lingamneni
61fd7a2534
fix the rest of #1933
`NICK :` pre-registration needs to be special-cased to immediately
send ERR_NONICKNAMEGIVEN (unlike erroneous nonempty nicknames,
which are processed when registration is complete)
2 years ago
Shivaram Lingamneni
7201f14b8b
partial fix for #1933
If the nickname must equal the account name (because always-on or
force-nick-equals-account), the correct error response to an empty
or otherwise invalid nickname is the usual "You must use your account
name as your nickname".
2 years ago
Val Lorentz
379632a9e6
Fix implementation of `LIST <n`
2 years ago
Shivaram Lingamneni
2fb8b836db
fix #1928
LIST should not return ERR_NOSUCHCHANNEL for nonexistent channels
2 years ago
William Rehwinkel
934ad1cec2
histserv delete now requires two params
2 years ago
Shivaram Lingamneni
32f7868bfd
implement draft/read-marker capability
2 years ago
Shivaram Lingamneni
a549827f17
upgrade to go 1.18, use generics
2 years ago
Shivaram Lingamneni
9f6e26450b
make SAREGISTER override DEFCON
DEFCON 4 and lower were blocking SAREGISTER. This is wrong; admins should be
allowed to make new accounts even under DEFCON (this may be needed
specifically to work around the DEFCON restriction).
2 years ago
William Rehwinkel
4010f3fc02
Fix #1911 +s channels don't appear in /list even though on the channel (#1923)
* Fix #1911 +s channels don't appear in /list even though on the channel
* use channel.HasClient instead of custom iterative checker
2 years ago
Shivaram Lingamneni
197a9d4b5e
use exact integer parsing for znc.in/playback
2 years ago
Val Lorentz
e7abd93e90
Update help of REGISTER and VERIFY commands
2 years ago
Shivaram Lingamneni
0afa7edffe
fix #1895
Include server start time in INFO output.
2 years ago
Shivaram Lingamneni
fcb86c54f7
fix #1906
Having the 'samode' capability made all KICK commands privileged. This appears
to have been introduced unintentionally by 42316bc04f and I can't find
any discussion of a rationale. Since this goes against our policy that all
ircop (as opposed to channel founder) privileges must be invoked explicitly
(e.g. SAJOIN, SAMODE), remove this.
2 years ago
Shivaram Lingamneni
e3e8136f85
update ergo to work with irc-go v0.1.0
2 years ago
Shivaram Lingamneni
e3c9eb8e71
fix #1896
Don't allow any new uses of 0 as a nickname, since it conflicts with
the use of 0 as a placeholder for account name in WHOX.
2 years ago
Shivaram Lingamneni
eb477c3793
fix #1901
AMODE +v should allow you to join a +i channel
2 years ago
Shivaram Lingamneni
6dc6abc455
set up new development version (again)
2 years ago
Shivaram Lingamneni
1d8a54289f
bump version to 2.9.1
2 years ago
Shivaram Lingamneni
3162c8a1c8
fix #1898
NS SAREGISTER would fail due to a nil dereference of `client`;
add two safeguards against this.
2 years ago
Shivaram Lingamneni
dba5d3faae
show arbitrary IP in WHOX
This extends #1650 to cover WHO as well as WHOIS
2 years ago
Shivaram Lingamneni
1953e90720
set up new development version
2 years ago
Shivaram Lingamneni
a0ad42272d
bump version and changelog for v2.9.0
2 years ago
Shivaram Lingamneni
6863d58cab
add a warning about NS UNREGISTER unregistering channels
See discussion on #1891
2 years ago
Shivaram Lingamneni
d174b5aad6
add disambiguating numbers in translated strings
2 years ago
Shivaram Lingamneni
abd4cf7d3b
bump version to v2.9.0-rc1
2 years ago
Shivaram Lingamneni
0a59f41cf9
add ip-check-script.exempt-sasl
2 years ago
Shivaram Lingamneni
40bd298a91
fix the reopened #1844
2 years ago
Shivaram Lingamneni
ed75533cb1
optionally protect against multiple starts with flock (#1873)
* optionally protect against multiple starts with flock
Fixes #1823
* use traditional .lock extension
* move config key to top level
2 years ago
Shivaram Lingamneni
a57bf46e6a
small refactor
2 years ago
William Rehwinkel
b929691470
Fix #1883 Nickserv gives error when user attempt to change password to *
2 years ago
Shivaram Lingamneni
24ad24562e
update help entry for CHATHISTORY
2 years ago
Shivaram Lingamneni
e15c355f18
fix #1876
INVITE did not exempt from +b unless the channel was coincidentally also +i.
This was a regression introduced in v2.4.0.
2 years ago
Shivaram Lingamneni
76f7748c8a
correctly account for nickname in CAP LS arithmetic
The arithmetic was assuming that the nickname is * (which it is
pre-registration). However, we were sending the actual nickname
post-registration. It would be simpler to always send *, but it
appears that the nickname is actually required by the spec:
>Replies from the server must [sic] contain the client identifier name or
>asterisk if one is not yet available.
2 years ago
Shivaram Lingamneni
ec4fb90d2b
+I should allow unregistered users to join a +R channel
See #1858 : this was the intent all along, but I missed this issue.
2 years ago
Shivaram Lingamneni
98e87f6cc0
explicitly close the DB during importdb
There is no change in behavior since committing the transaction
already write(2)'s all the data to disk. But let's comply with
the official buntdb API.
2 years ago
Shivaram Lingamneni
9293858ba1
bump database version generated by importer
This should have been done in 8b2f6de3e0 , since we updated both
the database schema and the importer then.
2 years ago
Shivaram Lingamneni
f3f805acb8
send `*` for WHOX o (oplevel) instead of `0`
Jobe points out that 0 is a valid oplevel in some contexts,
* is a better placeholder for "unimplemented".
2 years ago