| Age | Commit message (Collapse) | Author |
|
Then I should make some logic for pinging others...
|
|
Well, it's the same as PRIVMSG but different name
|
|
Well... yes
|
|
- Instead of checking users in the channel check user's channels
- Ensure thing looks really dumb here, so remove it
|
|
|
|
If user hasn't joined any channels, announcement still should be
delivered to them
|
|
Well, I guess that code is needed more then once, so it'll be good
to move it to some function
|
|
Channels are removed just like users, hence they have the same
problem as users had before: when channel is removed, links to it
must be updated. For users that was fixed[1], for users this commit
provides the fix.
[1] Commit where user quit was fixed -
63c0a8860459c0c9bf3b66d4d4ec631ece4bf56e
|
|
Yay, adding some validation to the data ^^
|
|
Now it's O(n) instead of O(n^2)
|
|
So I decided to kill a link when there's no IRC message within 512
bytes, because doing so removes code and IMO makes it more clear
If peer->recvd == sizeof(peer->buf), then buffer size passed into next
read(peer->fd) will be 0, therefore its return value will be 0. Though,
this means that link is almost dropped if it sent exactly 512 bytes not
containing an \r\n: they can get information, but on next send ircd
will close the connection. But this state is unachievable with an IRC
client: it either sends a message <= 512 bytes containing an \r\n, or,
if one or more bytes longer, well that's already > 512 bytes hence link
is still ready to be read and will be kicked after the next poll()
|
|
|
|
So, it fixes a situation when an already registered user wants to
change their nick and ircd welcomes they
|
|
So, now there're all modes listed in RFC 2812. The only what they
do now, though, is a +r restricting user from changing their nick
|
|
There were bugs when struct layout was changed, and this was right
because needed files were not rebuilt. This is fixed now
|
|
In the past there was a configpath parameter, and unveil was allowing
to read at this path. But now accessing filesystem is redundant
completely
|
|
|
|
Overall, this solution looks better. Also, now macro is better
|
|
Well, it's more appropriate for that function to handle this rather
than for ircd(). Now code looks simpler, ircd() is not that complex,
and support for optional quit message is present
|
|
When user A leaves, last user in the peer list B is copied into the
space left by leaving A. But, besides that it also important to not
forget that there can be channels containing B: they store a link
to every user belonging. So, it's important to adjust all links to
B iterating every channel B belongs to.
|
|
It reduces indentation, which was quite pointless in that loop
|
|
I really thought strtod was converting to integers...
|
|
Though they don't have modes, and JOIN/PART must be able to parse
comma separated list of channels
|
|
|