Daniel Oaks
41d534d6dd
server: fix sprintf call
2016-10-16 20:45:36 +10:00
Daniel Oaks
e100bd18af
HELP: correct misspelling
2016-10-16 20:44:38 +10:00
Daniel Oaks
1e956355bf
NICK: Fix small bug when casefolding
2016-10-16 20:35:50 +10:00
Daniel Oaks
1bab81091f
Add MONITOR command
2016-10-16 20:14:56 +10:00
Daniel Oaks
859d0cd607
net: Prepend IPv6 addresses with '0' if necessary
2016-10-16 14:17:29 +10:00
Daniel Oaks
a8d910e233
capability: Add invite-notify
2016-10-16 14:14:55 +10:00
Daniel Oaks
b33cbd311c
accounts: Release SASL lock after finishing auth
2016-10-16 14:01:40 +10:00
Daniel Oaks
e643c2101f
capability: Add 3.2 CAP values
2016-10-16 13:54:09 +10:00
Daniel Oaks
9162d0da61
account-tag: Fix sending on PRIVMSG/NOTICE
2016-10-16 13:27:33 +10:00
Daniel Oaks
8abffde6a0
PRIVMSG: Fix sending them
2016-10-16 12:59:36 +10:00
Daniel Oaks
2e3ffd2f23
caps: Add message-tags draft capability
2016-10-16 12:54:15 +10:00
Daniel Oaks
43e28e2fef
PROXY: Remove command, I don't think it's that useful
2016-10-15 16:29:34 +10:00
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.
2016-10-14 21:04:04 +10:00
Daniel Oaks
7b50f64d7e
help: Add new /HELP command
2016-10-14 20:56:44 +10:00
Daniel Oaks
da6f350563
modes: Remove ReOp channel mode (unused)
2016-10-14 20:55:26 +10:00
Daniel Oaks
28b81d1a45
password_new: Rename to password_salted
2016-10-14 17:11:53 +10:00
Daniel Oaks
d226a0c6d3
nickname: Preserve case when setting NICK
2016-10-14 00:31:13 +10:00
Daniel Oaks
9ccd6037a6
strings: Make Nickname profile not actually case-sensitive
2016-10-14 00:25:37 +10:00
Daniel Oaks
4fa094cea2
accounts: Support account-notify capability
2016-10-13 18:18:00 +10:00
Daniel Oaks
0eebd6273c
AWAY: Only dispatch AWAY when cap-notify is used
2016-10-13 18:08:08 +10:00
Daniel Oaks
e807f3ca04
Fixing warnings and golint stuff
2016-10-13 17:36:44 +10:00
Daniel Oaks
09802f7181
constants: Remove unused constants.
...
We may re-add MaxReplyLength later as a variable config option, similar to mammon.
2016-10-13 16:44:36 +10:00
Daniel Oaks
3c2fae666a
net: Fix issue where some local clients would break.
...
Ran into this on Windows, when it didn't return "localhost" as a possible name for 127.0.0.1 or ::1.
2016-10-13 16:34:04 +10:00
Daniel Oaks
985f87d9d1
client: Remove silly testing Println
2016-10-13 16:21:19 +10:00
Daniel Oaks
5e72409695
Move from ascii(ish) unicode encoding to prelim rfc7700 using functions instead
2016-10-11 23:51:46 +10:00
Daniel Oaks
2bfcc553ce
client: Don't fail silently on error sending messages
2016-09-19 23:00:19 +10:00
Daniel Oaks
5d7d510348
client: Fix minor bug when doing SASL before NICK/USER
2016-09-19 22:30:29 +10:00
Daniel Oaks
32b328f53f
accounts: Fix broken long SASL auth strings
2016-09-19 21:34:17 +10:00
Daniel Oaks
88ce999b52
Rename things for next version
2016-09-18 11:48:41 +10:00
Daniel Oaks
2fdc9e5941
Release v0.1.0
2016-09-18 09:15:23 +10:00
Daniel Oaks
ae69ef5cd6
db: Remove SQLite db, hopefully looking up clients still works.Channel persistence is broken by this, will fix it later.
2016-09-17 21:23:04 +10:00
Daniel Oaks
969eed394f
KILL: Make reason optional, to match other ircds
2016-09-14 20:57:33 +10:00
Daniel Oaks
c9a82e3f6f
modes: Return right character on unknown mode char
2016-09-14 20:42:55 +10:00
Daniel Oaks
ad8df3c9a8
modes: Fix modes, re-add +l and +k
2016-09-14 19:48:47 +10:00
Daniel Oaks
0701267395
server: Add CHANMODES
2016-09-13 22:05:38 +10:00
Daniel Oaks
0087de6092
client: Add AWAYLEN
2016-09-12 12:40:09 +10:00
Daniel Oaks
bc42960552
strings: Remove CTCP stuff, unused
2016-09-12 12:33:37 +10:00
Daniel Oaks
266c534af9
theater: Remove THEATER command for now
2016-09-12 12:31:25 +10:00
Daniel Oaks
79d831bbb7
channel: Add KICKLEN and TOPICLEN
2016-09-12 12:22:50 +10:00
Daniel Oaks
3321243486
server: Add away-notify capability
2016-09-12 11:56:20 +10:00
Daniel Oaks
754b74c21c
accounts: Add account-tag capability
2016-09-12 11:25:31 +10:00
Daniel Oaks
c2aa31001a
client: Fix initial RPL_UMODEIS
2016-09-07 21:50:42 +10:00
Daniel Oaks
220bc2c609
server-time: Fix time format
2016-09-07 21:48:03 +10:00
Daniel Oaks
b5e7d8968f
accounts: Add SASL EXTERNAL handler
2016-09-07 21:32:58 +10:00
Daniel Oaks
70665850aa
accounts: Add SASL PLAIN handler
2016-09-07 20:46:01 +10:00
Daniel Oaks
1679bc9ac2
accounts: Add initial SASL handler, still need to write mechanism handlers
2016-09-06 16:31:59 +10:00
Daniel Oaks
5d6b4127ff
registration: Fix comment
2016-09-05 23:00:21 +10:00
Daniel Oaks
e3fbdebc48
registration: Hook up reg to actual accounts
2016-09-05 22:54:09 +10:00
Daniel Oaks
5269dc8776
accounts: Very roughly introduce account type
2016-09-05 22:35:13 +10:00
Daniel Oaks
739f8d71d2
server: Close db and store more properly
2016-09-05 22:14:20 +10:00
Daniel Oaks
90d5f7d6a2
registration: Very initial, very skodgy 'working' account reg
2016-09-05 19:43:32 +10:00
Daniel Oaks
4cb196f50a
server: Close store properly, on shutdown
2016-09-05 19:39:16 +10:00
Daniel Oaks
6e96a175d6
registration: Add new password manager, integrate registration and credential types
2016-09-05 18:45:42 +10:00
Daniel Oaks
68c83a95d4
WHOIS: Fixes, add certfp
2016-09-05 14:23:57 +10:00
Daniel Oaks
49034cb20e
certfp: Add certfp retrieval from client
2016-09-05 13:53:39 +10:00
Daniel Oaks
d3d88cfa0c
registration: Move REG CREATE to its' own function
2016-09-04 21:42:19 +10:00
Daniel Oaks
6e9722dee5
accounts: Rename some args, check credential type
2016-09-04 21:15:28 +10:00
Daniel Oaks
e7fced804e
accounts: Fix broken numeric, write more framework for reg
2016-09-04 20:08:53 +10:00
Daniel Oaks
e4b6c1852b
accounts: Add very initial, extremely broken account work (not including config changes)
2016-09-04 19:25:33 +10:00
Daniel Oaks
1746be2bb8
db: Add very initial buntdb datastore
2016-08-19 23:21:52 +10:00
Daniel Oaks
2ab8d4cb6e
names: Allow more characters in channel names -- from jlatt/ergonomadic#39 <3
2016-08-14 14:15:31 +10:00
Daniel Oaks
a177ca36b1
server: Add some comments and clean up a bit -- from jlatt/ergonomadic#39 <3
2016-08-14 14:13:01 +10:00
Daniel Oaks
43553390d6
WHOWAS: Make maximum number of entries configurable
2016-08-14 14:07:50 +10:00
Daniel Oaks
6e66c5c8a7
channel: Prevent duping error code in channel.Persist -- from jlatt/ergonomadic#39 <3
2016-08-14 13:34:24 +10:00
Daniel Oaks
e33a810522
capability: Add extended-join and userhost-in-names
2016-08-14 11:59:33 +10:00
Daniel Oaks
ef592d160c
capability: Add server-time
2016-08-13 22:04:21 +10:00
Daniel Oaks
e04ef1ca11
NICK: Fix setting nicks after registration
2016-08-13 20:54:15 +10:00
Daniel Oaks
842f0d05ab
strings: Only allow # channels, since we only implement those
2016-08-13 20:53:56 +10:00
Daniel Oaks
5a8e7709b2
strings: Disallow more broken nicknames
2016-08-13 20:53:23 +10:00
Daniel Oaks
1b67af7e85
strings: Also explicitly disallow . in nicknames
2016-08-12 23:38:19 +10:00
Daniel Oaks
9d853d5be7
strings: Don't allow nicks to start with dashes or 0-9
2016-08-12 23:33:44 +10:00
Daniel Oaks
5e55e35774
OPER: Fix sent MODE string
2016-08-12 22:26:45 +10:00
Daniel Oaks
a5911ad14c
server: Add configurable NICKLEN and CHANNELLEN
2016-08-12 22:20:32 +10:00
Daniel Oaks
d810033a02
client: Timeout ident more nicely
2016-07-02 19:12:00 +10:00
Daniel Oaks
199f8bd8ae
USER: disallow usernames that break the protocol
2016-06-30 23:55:44 +10:00
Daniel Oaks
19c2bb69fc
Allow looking up usernames with ident on connection
2016-06-30 19:28:34 +10:00
Daniel Oaks
1d51bb450a
constants: Make SEM_VER the actual version number conforming to Semantec Versioning, and VER the composed number
2016-06-30 17:42:24 +10:00
Daniel Oaks
748bc759cb
Cleanups reported by goreportcard
2016-06-30 15:43:27 +10:00
Daniel Oaks
5d3b185881
client: Use more accurate QUIT message for ping timeouts
2016-06-30 15:35:34 +10:00
Daniel Oaks
b820559050
modes: Add TLS umode (+Z)
2016-06-29 01:09:07 +10:00
Daniel Oaks
2874d4f897
remove empty file
2016-06-28 16:25:11 +10:00
Daniel Oaks
138f61d852
remove empty file
2016-06-28 16:24:28 +10:00
Daniel Oaks
670cf51452
modes: Migrating useful mode structs and functions directly to modes
2016-06-28 16:22:35 +10:00
Daniel Oaks
41473bb444
Fix PASS handling
2016-06-28 16:06:17 +10:00
Daniel Oaks
bded3202c2
channels: send RPL_CHANNELCREATED and RPL_TOPICTIME
2016-06-26 21:06:28 +10:00
Daniel Oaks
34a099b61a
Fix PING and PONG
2016-06-22 22:04:13 +10:00
Daniel Oaks
e19c1527a4
modes: Fix modes, re-add channel modes
2016-06-22 21:35:26 +10:00
Daniel Oaks
04442ddef1
Stuff is no longer completely broken. Just mostly.
2016-06-20 22:53:45 +10:00
Daniel Oaks
b8dc10f92d
nickname: Fix
2016-06-20 10:04:53 +10:00
Daniel Oaks
9e7a590f23
server: Fix
2016-06-19 21:59:18 +10:00
Daniel Oaks
2a519c8061
use server.name and server.nameString, name for checking and getting nice comparison, nameString for reply outputs
2016-06-19 15:43:16 +10:00
Daniel Oaks
7b13858f8c
client: Fix
2016-06-19 15:37:29 +10:00
Daniel Oaks
7fcc6bdbc4
channels: Fix
2016-06-19 14:55:24 +10:00
Daniel Oaks
c2e5386966
commands: Fix comment
2016-06-19 12:53:52 +10:00
Daniel Oaks
08225c201d
continue work reorganising and redoing EVERYTHING
2016-06-19 10:01:30 +10:00
Daniel Oaks
e83283e7fd
urgh this should not even be commited yet, this will all be squashed out
2016-06-17 22:17:42 +10:00
Daniel Oaks
dbca03e948
Split numerics into their own new file
2016-06-16 19:41:07 +10:00
Daniel Oaks
3a5314bd8e
Add basic ClientSocket work
2016-06-15 22:16:07 +10:00
Daniel Oaks
2f08401a0f
Attempt to add mostly-correct license info at the top of each file... track this stuff a bit better
2016-06-15 21:50:56 +10:00
Daniel Oaks
9860094020
socket: Use updated socket code
2016-06-15 21:21:45 +10:00
Daniel Oaks
fd6ed36995
strings: Restrict *? explicitly as they are used for mask matching
2016-06-15 17:41:53 +10:00
Daniel Oaks
3a9a643d30
server: Let websocket listeners also be TLS
2016-04-28 20:41:26 +10:00
Daniel Oaks
2fb6acb92a
restructure SSL/TLS a bit, name config items better
2016-04-28 20:12:23 +10:00
Daniel Oaks
cfcecd0101
tests: Start net tests
2016-04-21 22:32:17 +10:00
Daniel Oaks
cd7d30a997
Set default channel modes to +nt
2016-04-21 19:29:50 +10:00
Daniel Oaks
8885f14f19
PROXY: Restrict to specified addresses/hostnames
2016-04-21 16:53:55 +10:00
Daniel Oaks
77bf7173ff
Require that server names must be hostnames, and nicks cannot be hostnames
2016-04-21 10:48:15 +10:00
Daniel Oaks
4a8d526c4d
strings: Nicks and usernames can't contain ! or @
2016-04-21 10:21:36 +10:00
Daniel Oaks
ed95f09725
Fix clients no longer being able to send commands after a single command errors out
2016-04-15 19:08:52 +10:00
Daniel Oaks
fb345a2dd4
user: Don't parse the second and third params anymore
2016-04-15 18:45:05 +10:00
Daniel Oaks
9acdeedec6
commands: Simplify and unify minimum required number of args handling
2016-04-15 15:57:08 +10:00
Daniel Oaks
8b79662f1a
modes: use secret instead of private, it's the standard these days. fix secret channel hiding in whois
2016-04-14 22:33:38 +10:00
Daniel Oaks
a715882a75
Remove RplCurrentMode NOTICE on successful MODE commands. Fixes #22
2016-04-14 21:53:45 +10:00
Daniel Oaks
4177522e74
modes: Correct mode argument handling, only first param is the modestring
2016-04-14 21:22:17 +10:00
Daniel Oaks
9b32d7d6b8
mode: Parse more advanced mode changes
2016-04-14 18:41:58 +10:00
Daniel Oaks
63f5f34f28
version: Clarify semantic versioning "public API" and reset ver number on Oragono
2016-04-14 15:31:51 +10:00
Daniel Oaks
0ccabead31
cap: Properly suspend registration for CAP negotiation
2016-04-14 11:25:23 +10:00
Daniel Oaks
b028b6929c
reply: Include param on RPL_ENDOFWHOIS. Fixes #18
2016-04-14 10:16:32 +10:00
Daniel Oaks
a241ea7dd6
version: Return RPL_ISUPPORT tokens, as standard
2016-04-14 09:55:22 +10:00
Daniel Oaks
3972fc49ed
privileges: Add founder/admin/halfop (qah), remove owner (O)
...
channel owner is from 2812 and unused in the real world
2016-04-14 09:36:02 +10:00
Daniel Oaks
5ee0f1c205
capability: Remove CAP CLEAR as per IRCv3 recommendations, allow CAP command after registration
2016-04-14 07:30:14 +10:00
Daniel Oaks
c3288823af
Add native SSL/TLS listener support from @enmand for our new config
2016-04-13 20:45:09 +10:00
Daniel Oaks
8dc2732137
server: Store MOTD in memory rather than reading it from disk every time. Fixes #3
2016-04-13 15:49:30 +10:00
Daniel Oaks
56641ff650
isupport: Don't advertise stuff that's still TODO
2016-04-13 08:59:00 +10:00
Daniel Oaks
78928c0322
isupport: STATUSMSG isn't supported, don't advertise it
2016-04-13 08:58:52 +10:00
Daniel Oaks
a013205fd1
Support network name
2016-04-13 08:58:41 +10:00
Daniel Oaks
c88cd328f8
Very initial RPL_ISUPPORT numeric support
2016-04-13 08:57:34 +10:00
Daniel Oaks
c0c16c72f0
ergonomadic -> oragono. I'm making lots of changes and this is AN EXPERIMENT. I want to differentiate this from Ergonomadic proper
2016-04-13 08:55:37 +10:00
Daniel Oaks
29d80366a6
Use docopt for command-line processing and new YAML configuration format
2016-04-13 08:46:14 +10:00
Daniel Oaks
c705bdaac5
irc/server: MOTD does not need to be clipped at 80 chars, has not been standard for a long while now
2016-04-13 08:46:14 +10:00
Daniel Oaks
7ce62444de
strings: Disallow nicknames that mess with the protocol in bad ways
2016-04-12 22:42:17 +10:00
John Soros
65539a593b
this is related to https://github.com/fluffle/goirc/pull/71 : common irc server behaviour is to reply with an empty +
2016-02-20 22:19:32 -08:00
Roberto Besser
404151fe9d
code.google.com is shutting down, change import to use gopkg.in
2016-02-20 18:16:04 -08:00
Robin Burchell
6ad97f7e5d
irc: Switch to golang.org versions, not google code versions of dependencies.
...
This has a few advantages:
* the google code versions are no longer maintained
* the google code versions are using mercurial (which I don't have installed)
2015-07-04 12:19:33 +02:00
Edmund Huber
67a6247377
Merge pull request #14 from edmund-huber/websocket
...
add support for WebSocket connections
2015-06-09 10:30:04 -07:00
Edmund Huber
02dca1dd89
fix array overrun panic bug, #13
2015-06-06 18:26:28 -07:00
Edmund Huber
a16cc84e41
don't shadow the second error
2015-06-06 16:15:09 -07:00
Edmund Huber
fce54343ea
touchups to irc/websocket.go per review comments
2015-06-06 16:11:06 -07:00
Edmund Huber
62302ec92e
fail WebSockets with subprotocols here, because gorilla leaves it up for us to deal with subprotocols
2015-06-06 15:19:07 -07:00
Edmund Huber
23d7c81684
comment for CheckOrigin
2015-06-06 14:05:29 -07:00
Niels Freier
6a69a65860
WebSocket layer to be able to connect "web" client
...
Currently working with a mini irc js implem, the flow:
* PASS
* NICK
* USER
* JOIN
* PRIVMSG
works and the ping/pong timeout keep the communication open.
2015-05-04 09:47:26 +04:00
Edmund Huber
846543c180
try including the prefix in the PONG to a client PING, maybe fix #5
2015-02-19 02:09:25 -08:00
Jeremy Latt
84eed13f1d
v1.4.4
2014-04-15 21:25:55 -07:00
Jeremy Latt
4ce4ba31c5
keep track of whether sockets are closed
2014-04-15 12:10:02 -07:00
Jeremy Latt
6c10add399
improve performance by using less goroutines
...
- get rid of command channel in Client
- get rid of loginTimer; use other timers instead
- move debugging code to debug.go
2014-04-15 12:10:02 -07:00
Jeremy Latt
cab21782b4
fix crash in whowas circular buffer
2014-04-10 11:53:34 -07:00
Jeremy Latt
142bf3d3bb
don't async buffer flushing
2014-03-31 10:00:59 -07:00
Edmund Huber
b4edcea6e3
pretty up the notice a bit, and use RplNotice
2014-03-29 19:46:44 +01:00
Edmund Huber
e1c235a9ea
fix up MODE behavior to allow /mode <not-your-nick> and show per-channel modes, fixes #29
2014-03-29 19:36:42 +01:00
Jeremy Latt
37e15d7f62
v1.4.1
2014-03-28 14:41:24 -07:00