Daniel Oaks
317a804644
Fix dates at top of source files
7 gadus atpakaļ
Daniel Oaks
013635a827
channel: Give founder mode if channel already exists and founder joins
7 gadus atpakaļ
Daniel Oaks
6aebd4aad9
channel: Add comments, fix a small bug with moderated mode
7 gadus atpakaļ
Daniel Oaks
300d02bd9c
channel: Kill a race condition that locked up the server.
Specifically, if you joined a channel while someone else was trying to part. the Join method would grab the lock, the Quit method would queue to grab the lock, the Join method would unlock and then try to regrab the lock, and it would get into a situation where nobody would have the lock and everyone would be waiting for it.
This caused weird oddities with clients.
7 gadus atpakaļ
Daniel Oaks
861b65eb39
channels: Automagically save channel bans/excepts/invites
7 gadus atpakaļ
Daniel Oaks
f5eeca5339
channel: Fix not being able to Part
7 gadus atpakaļ
Daniel Oaks
194411716d
channel: Automagically save topic updates on registered channels
7 gadus atpakaļ
Daniel Oaks
580385392a
channel: Alert of given modes (+o/+q) on join
7 gadus atpakaļ
Daniel Oaks
05074e966d
modes: Continue overhauling
7 gadus atpakaļ
Daniel Oaks
b33b217fab
Add very initial ChanServ and NickServ virtual clients
As well, add channel registration and re-applying founder privs on the first client joining the channel. I'm going to re-architect our modes system to better acocunt for this sort of change.
7 gadus atpakaļ
Daniel Oaks
439331cfb8
logger: Move to separate package, make *much* nicer
7 gadus atpakaļ
Daniel Oaks
b328a4fcd3
logging: Add userinput and output, fix up lots
7 gadus atpakaļ
Daniel Oaks
522001d4f6
Cleanup message sending
7 gadus atpakaļ
Daniel Oaks
e741c1476b
Implement message-ids draft
7 gadus atpakaļ
Daniel Oaks
62dc3c8f66
server: Implement TAGMSG draft command
7 gadus atpakaļ
Daniel Oaks
f6185fa336
Get it working, using not-great and very initial splitting code
7 gadus atpakaļ
Daniel Oaks
e9324c3250
modes: Fix some more mutexes
7 gadus atpakaļ
Daniel Oaks
c39bebc696
Fix various locks around joining, kicking and quitting
7 gadus atpakaļ
Daniel Oaks
6f7c683247
channel: RWMutex for members access
7 gadus atpakaļ
Daniel Oaks
8eb8193b18
JOIN: Only give chanop, not chan founder (will save that for regged chans)
7 gadus atpakaļ
Daniel Oaks
5eafd2656e
channel: Send channel NOTICEs properly
7 gadus atpakaļ
Daniel Oaks
a7949b6cb4
irc: Assorted golint cleanups
7 gadus atpakaļ
Daniel Oaks
517893065b
Support STATUSMSG
7 gadus atpakaļ
Daniel Oaks
d9db688963
Implement echo-message capability
7 gadus atpakaļ
Daniel Oaks
a8d910e233
capability: Add invite-notify
7 gadus atpakaļ
Daniel Oaks
2e3ffd2f23
caps: Add message-tags draft capability
7 gadus atpakaļ
Daniel Oaks
06028e0117
modes: Remove channel.Persist mode
It's broken anyways, and we'll be replacing it with our custom channel ownership stuff later.
7 gadus atpakaļ
Daniel Oaks
5e72409695
Move from ascii(ish) unicode encoding to prelim rfc7700 using functions instead
7 gadus atpakaļ
Daniel Oaks
ae69ef5cd6
db: Remove SQLite db, hopefully looking up clients still works.Channel persistence is broken by this, will fix it later.
7 gadus atpakaļ
Daniel Oaks
0087de6092
client: Add AWAYLEN
7 gadus atpakaļ
Daniel Oaks
79d831bbb7
channel: Add KICKLEN and TOPICLEN
7 gadus atpakaļ
Daniel Oaks
754b74c21c
accounts: Add account-tag capability
7 gadus atpakaļ
Daniel Oaks
5269dc8776
accounts: Very roughly introduce account type
7 gadus atpakaļ
Daniel Oaks
6e66c5c8a7
channel: Prevent duping error code in channel.Persist -- from jlatt/ergonomadic#39 <3
7 gadus atpakaļ
Daniel Oaks
e33a810522
capability: Add extended-join and userhost-in-names
7 gadus atpakaļ
Daniel Oaks
bded3202c2
channels: send RPL_CHANNELCREATED and RPL_TOPICTIME
8 gadus atpakaļ
Daniel Oaks
e19c1527a4
modes: Fix modes, re-add channel modes
8 gadus atpakaļ
Daniel Oaks
9e7a590f23
server: Fix
8 gadus atpakaļ
Daniel Oaks
2a519c8061
use server.name and server.nameString, name for checking and getting nice comparison, nameString for reply outputs
8 gadus atpakaļ
Daniel Oaks
7fcc6bdbc4
channels: Fix
8 gadus atpakaļ
Daniel Oaks
2f08401a0f
Attempt to add mostly-correct license info at the top of each file... track this stuff a bit better
8 gadus atpakaļ
Daniel Oaks
cd7d30a997
Set default channel modes to +nt
8 gadus atpakaļ
Daniel Oaks
8b79662f1a
modes: use secret instead of private, it's the standard these days. fix secret channel hiding in whois
8 gadus atpakaļ
Daniel Oaks
3972fc49ed
privileges: Add founder/admin/halfop (qah), remove owner (O)
channel owner is from 2812 and unused in the real world
8 gadus atpakaļ
John Soros
65539a593b
this is related to https://github.com/fluffle/goirc/pull/71: common irc server behaviour is to reply with an empty +
8 gadus atpakaļ
Jeremy Latt
63a46498ce
reuse replies where possible
10 gadus atpakaļ
Edmund Huber
2272aae213
spelling and gofmt
10 gadus atpakaļ
Edmund Huber
6267b6a40c
clean up /theater so that it doesn't need a bunch of pointers and that it reuses channel-scoped-user-modes machinery
10 gadus atpakaļ
Edmund Huber
d5bdc78d55
adding theater-mode, fixes #15
10 gadus atpakaļ
Jeremy Latt
874f3628c9
fix another Name => string conversion
10 gadus atpakaļ