Alex Jaspersen
b6264a43b6
Rename "realIP" to "ip" in WhoWas struct.
It could be the real IP or the proxied IP.
пре 3 година
Alex Jaspersen
e5c2588eab
Show real IP in WHOWAS to opers with ban capability.
пре 3 година
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
пре 3 година
Shivaram Lingamneni
ba21987d03
remove draft/resume-0.5
пре 3 година
Shivaram Lingamneni
ab870c2ffe
fix #1576
List IRCv3 CAPs in `NS CLIENTS LIST` output
пре 3 година
Shivaram Lingamneni
70b20750aa
fix #1531
AWAY status should be tracked per-session:
1. With auto-away enabled, away status is aggregated across sessions
(if any session is not away, the client is not away, else use
the away status that was set most recently)
2. With auto-away disabled, we get the legacy behavior where AWAY
applies directly to the client
пре 3 година
Shivaram Lingamneni
4a48e52518
fix #1490
Track channel join times, use them to optionally enforce history access
restrictions
пре 3 година
Shivaram Lingamneni
bb5276553d
initial UBAN implementation
пре 3 година
Shivaram Lingamneni
6b7f0e15ac
fix always-on expiration checks
checkAlwaysOnExpirationNoMutex was respecting registered status, but
always-on clients were not considered registered at the time of the
initial check, so they were being created regardless of expiration.
пре 3 година
Shivaram Lingamneni
d1f8317180
fix #1479
Give Tor clients who authenticate via SASL a unique cloak, so chanops
can ban *!*@tor-network.onion and still allow authenticated Tor users
пре 3 година
Shivaram Lingamneni
48166b5b4b
Implement expiration for always-on clients
Fixes #810
пре 3 година
Shivaram Lingamneni
fd71b79bb8
Enhancements to CS PURGE
1. Consolidate PURGE and UNPURGE into subcommands
2. Add PURGE LIST
3. PURGE ADD now requires a confirmation code
Fixes #1294
пре 3 година
Shivaram Lingamneni
ba72d3acfc
implement a channel forwarding mode
Fixes #1260
пре 3 година
Shivaram Lingamneni
51f279289d
fix #1345
Store the channel-user modes of always-on clients along with their
channel memberships, restore them on server startup. This will coexist
alongside /CS AMODE, which autoapplies modes to clients on join regardless
of their always-on status.
пре 3 година
Shivaram Lingamneni
4f571c2cf3
implement NS RENAME
Fixes #1380
пре 3 година
Shivaram Lingamneni
a6d793a2d5
pointless optimization
пре 3 година
Shivaram Lingamneni
bcdf61bd7a
fix #1284
пре 3 година
Alex Jaspersen
ca2132ff09
Add NickServ "CLIENTS LIST" and "CLIENTS LOGOUT".
CLIENTS LIST shows information about clients attached to a nick.
CLIENTS LOGOUT allows individual (or all) sessions to be logged out.
SESSIONS is now an alias for CLIENTS LIST.
Fixes #1072 .
пре 3 година
Shivaram Lingamneni
06882a9b89
fix #1225
пре 3 година
Hubert Hirtz
f6d5fe812f
Update draft/rename implementation
Link to the new draft PR:
<https://github.com/ircv3/ircv3-specifications/pull/420 >
Changes in the spec:
- Use standard replies instead of numerics:
<https://github.com/ircv3/ircv3-specifications/pull/420/files#diff-70e90beef48dc9cf5d784d1e179ea822R44 >
- Allow RENAME to a different case:
<https://github.com/ircv3/ircv3-specifications/pull/420/files#diff-70e90beef48dc9cf5d784d1e179ea822R42 >
This commit makes oragono send the PART-JOIN fallback even on case-only
changes. This is so that clients don't have to worry about oragono's
UTF8 casefolding. See the following comments for further info:
<https://github.com/ircv3/ircv3-specifications/pull/420#issuecomment-668770837 >
Misc fixes:
- Remove unused variable,
- Add missing calls to utils.SafeErrorParam,
- Don't fill replies with the user-provided "oldName", for the same
reason as sending the PART-JOIN fallback.
пре 3 година
Shivaram Lingamneni
470756cd3e
fix an edge case with `/NS SASET user always-on true`
If force-nick-equals-account is disabled, then this could cause
a client with a non-reserved (or grouped) nick to become always-on.
(This can't happen with `/NS SET always-on true` because we check in
advance.)
пре 4 година
Shivaram Lingamneni
027886046c
clean up always-on state machine
пре 4 година
Shivaram Lingamneni
93530ae397
fix #1198
пре 4 година
Shivaram Lingamneni
77184c1625
restore transition mechanism
пре 4 година
Conrad Lukawski
6f8711da3b
Persist realname for always-on clients
пре 4 година
Shivaram Lingamneni
a7ca6601c7
enhancements to moderation (#1134, #1135)
пре 4 година
Shivaram Lingamneni
6ea2eb367d
fix #328 (implement DEFCON)
пре 4 година
Shivaram Lingamneni
70f533ee07
fix #1155
пре 4 година
Shivaram Lingamneni
9aa53aa3aa
update lastSeen on reattach
пре 4 година
Shivaram Lingamneni
ca79da87b1
fix disabling of autoreplay-missed
пре 4 година
Shivaram Lingamneni
17cd831319
fix #1144
пре 4 година
Shivaram Lingamneni
df1be01f54
simplify lastSeen handling
пре 4 година
Shivaram Lingamneni
218bea5a3e
fix #843
пре 4 година
Shivaram Lingamneni
a0f4e90b7e
add auto-away
пре 4 година
Shivaram Lingamneni
3f717436f8
fix #933
пре 4 година
Shivaram Lingamneni
26fd3e69a8
fix #749
пре 4 година
Shivaram Lingamneni
d5f68215e1
mark dirty when a client first becomes always-on
пре 4 година
Shivaram Lingamneni
db39608bcb
change "last signoff" tracking to "last seen"
Explicit quit and ping timeout behave the same way,
but reattach after abandoning/losing the previous session
(without the break being detected server-side) is more aggressive
about replaying missed messages, at the cost of potential duplication.
пре 4 година
Shivaram Lingamneni
904fa9653c
clear reg date and settings during logout
пре 4 година
Shivaram Lingamneni
f5ca35ed72
rename 'bouncer' to 'multiclient'
пре 4 година
Shivaram Lingamneni
4472683d58
persist lastSignoff in the database
пре 4 година
Shivaram Lingamneni
ad32356e34
move authentication data from Client to Session
пре 4 година
Shivaram Lingamneni
33dac4c0ba
initial persistent history implementation
пре 4 година
Shivaram Lingamneni
3480f124cd
fix #688
пре 4 година
Shivaram Lingamneni
40df122c73
remove unused getters
пре 4 година
Shivaram Lingamneni
65834c0729
optimize Sessions() at the expense of AddSession()
пре 5 година
Shivaram Lingamneni
b134a63dc2
simplify "client dead" logic in AddSession
now that we have client.destroyed again, we don't need to test the
"0 sessions && brb disabled" condition in both AddSession() and
destroy()
пре 5 година
Shivaram Lingamneni
5ac7ea5b1c
fix data race on exitedSnomaskSent
пре 5 година
Shivaram Lingamneni
4b88a60ba6
clean up some old getters
пре 5 година
Shivaram Lingamneni
1de166bccb
eliminate client.Realname() getter
пре 5 година