Daniel Oaks
317a804644
Fix dates at top of source files
7 jaren geleden
Daniel Oaks
013635a827
channel: Give founder mode if channel already exists and founder joins
7 jaren geleden
Daniel Oaks
6aebd4aad9
channel: Add comments, fix a small bug with moderated mode
7 jaren geleden
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 jaren geleden
Daniel Oaks
861b65eb39
channels: Automagically save channel bans/excepts/invites
7 jaren geleden
Daniel Oaks
f5eeca5339
channel: Fix not being able to Part
7 jaren geleden
Daniel Oaks
194411716d
channel: Automagically save topic updates on registered channels
7 jaren geleden
Daniel Oaks
580385392a
channel: Alert of given modes (+o/+q) on join
7 jaren geleden
Daniel Oaks
05074e966d
modes: Continue overhauling
7 jaren geleden
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 jaren geleden
Daniel Oaks
439331cfb8
logger: Move to separate package, make *much* nicer
7 jaren geleden
Daniel Oaks
b328a4fcd3
logging: Add userinput and output, fix up lots
7 jaren geleden
Daniel Oaks
522001d4f6
Cleanup message sending
7 jaren geleden
Daniel Oaks
e741c1476b
Implement message-ids draft
7 jaren geleden
Daniel Oaks
62dc3c8f66
server: Implement TAGMSG draft command
7 jaren geleden
Daniel Oaks
f6185fa336
Get it working, using not-great and very initial splitting code
7 jaren geleden
Daniel Oaks
e9324c3250
modes: Fix some more mutexes
7 jaren geleden
Daniel Oaks
c39bebc696
Fix various locks around joining, kicking and quitting
7 jaren geleden
Daniel Oaks
6f7c683247
channel: RWMutex for members access
7 jaren geleden
Daniel Oaks
8eb8193b18
JOIN: Only give chanop, not chan founder (will save that for regged chans)
7 jaren geleden
Daniel Oaks
5eafd2656e
channel: Send channel NOTICEs properly
7 jaren geleden
Daniel Oaks
a7949b6cb4
irc: Assorted golint cleanups
7 jaren geleden
Daniel Oaks
517893065b
Support STATUSMSG
7 jaren geleden
Daniel Oaks
d9db688963
Implement echo-message capability
7 jaren geleden
Daniel Oaks
a8d910e233
capability: Add invite-notify
7 jaren geleden
Daniel Oaks
2e3ffd2f23
caps: Add message-tags draft capability
7 jaren geleden
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 jaren geleden
Daniel Oaks
5e72409695
Move from ascii(ish) unicode encoding to prelim rfc7700 using functions instead
7 jaren geleden
Daniel Oaks
ae69ef5cd6
db: Remove SQLite db, hopefully looking up clients still works.Channel persistence is broken by this, will fix it later.
7 jaren geleden
Daniel Oaks
0087de6092
client: Add AWAYLEN
7 jaren geleden
Daniel Oaks
79d831bbb7
channel: Add KICKLEN and TOPICLEN
7 jaren geleden
Daniel Oaks
754b74c21c
accounts: Add account-tag capability
7 jaren geleden
Daniel Oaks
5269dc8776
accounts: Very roughly introduce account type
7 jaren geleden
Daniel Oaks
6e66c5c8a7
channel: Prevent duping error code in channel.Persist -- from jlatt/ergonomadic#39 <3
7 jaren geleden
Daniel Oaks
e33a810522
capability: Add extended-join and userhost-in-names
7 jaren geleden
Daniel Oaks
bded3202c2
channels: send RPL_CHANNELCREATED and RPL_TOPICTIME
8 jaren geleden
Daniel Oaks
e19c1527a4
modes: Fix modes, re-add channel modes
8 jaren geleden
Daniel Oaks
9e7a590f23
server: Fix
8 jaren geleden
Daniel Oaks
2a519c8061
use server.name and server.nameString, name for checking and getting nice comparison, nameString for reply outputs
8 jaren geleden
Daniel Oaks
7fcc6bdbc4
channels: Fix
8 jaren geleden
Daniel Oaks
2f08401a0f
Attempt to add mostly-correct license info at the top of each file... track this stuff a bit better
8 jaren geleden
Daniel Oaks
cd7d30a997
Set default channel modes to +nt
8 jaren geleden
Daniel Oaks
8b79662f1a
modes: use secret instead of private, it's the standard these days. fix secret channel hiding in whois
8 jaren geleden
Daniel Oaks
3972fc49ed
privileges: Add founder/admin/halfop (qah), remove owner (O)
channel owner is from 2812 and unused in the real world
8 jaren geleden
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 jaren geleden
Jeremy Latt
63a46498ce
reuse replies where possible
10 jaren geleden
Edmund Huber
2272aae213
spelling and gofmt
10 jaren geleden
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 jaren geleden
Edmund Huber
d5bdc78d55
adding theater-mode, fixes #15
10 jaren geleden
Jeremy Latt
874f3628c9
fix another Name => string conversion
10 jaren geleden