Skip to content

Send a single error when opping a non-existing nick#241

Closed
progval wants to merge 361 commits intoDALnet:masterfrom
progval:ERR_USERNOTINCHANNEL
Closed

Send a single error when opping a non-existing nick#241
progval wants to merge 361 commits intoDALnet:masterfrom
progval:ERR_USERNOTINCHANNEL

Conversation

@progval
Copy link
Copy Markdown

@progval progval commented Jun 15, 2024

This used to return both ERR_NOSUCHNICK and ERR_USERNOTINCHANNEL:

C: MODE #chan +o nobody
S: :My.Little.Server 401 chanop nobody :No such nick/channel
S: :My.Little.Server 441 chanop nobody #chan :They aren't on that channel

I changed it to return only ERR_NOSUCHNICK, like other IRCds do.

kobishmueli and others added 30 commits December 17, 2018 03:40
Don't show servers to non-opers if show_links isn't enabled.
0 = disabled (default)
1 = enabled with auto +H on connect (users can toggle umode +H/-H)
2 = enabled with no auto +H on connect (users can toggle umode +H/-H)

-Kobi.
Add in MAX_MSG_TIME to DEFAULT for m_svsxcf
Change SVSUHM to support optional parameter to control umode +H
This is to prevent users from using it until all servers and services are upgraded.
The "JOIN 0" (part all channels) functionality of it was broken due to a typo bug. We don't need it for DALnet services, though.
Add AUDITORIUM flag to CHANMODES to comply with RFC
In these cases, chptr will be the last parted channel while we should just pass 0 to other servers.
If a message was supposed to be blocked by spamfilter and the user was on a +P channel, it didn't check the xflags for that channel although the user wasn't blocked because of it.

Thanks RuneB & xPsycho!
Fix for a potential bug on AJ where 0 (partall) argument is used
Fix a bug on QUIT where xflags weren't always checked
Hide user's real host during topic changes.
…the pattern 1-2 digits, then optionally followed by a comma and an additional 1-2 digits.
rscs and others added 27 commits August 9, 2022 23:11
…n't penalize the user for flooding if they tried too soon; don't trigger a watch change if the mode is already set/unset.
Add CodeQL workflow for GitHub code scanning
Starting with glibc 2.34 "The symbols __dn_comp, __dn_expand,
__dn_skipname, __res_dnok, __res_hnok, __res_mailok, __res_mkquery,
__res_nmkquery, __res_nquery, __res_nquerydomain, __res_nsearch,
__res_nsend, __res_ownok, __res_query, __res_querydomain, __res_search,
__res_send formerly in libresolv have been renamed and no longer have a
__ prefix.  They are now available in libc."
https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html

The hex_to_string array in include/dh.h also conflicts with OpenSSL,
which OpenSSL 3.0 now complains about.
Using "exit" requires "#include <stdlib.h>" first which this configure
check doesn't do. Consequently, newer compilers that default to
"-Werror=implicit-function-declaration" encounter an error like "error:
call to undeclared library function 'exit' with type 'void (int)
__attribute__((noreturn))'; ISO C99 and later do not support implicit
function declarations" (llvm.org clang 16 and later) or "error:
implicitly declaring library function 'exit' with type 'void (int)
__attribute__((noreturn))'" (Apple clang 12 and later) when running this
configure check and thus always think "sys_errlist" is not available
even if it is. Using "return" instead of "exit" is simpler than
including the header.

Also declare the return type of "main". Not doing this causes "error:
type specifier missing, defaults to 'int'; ISO C99 and later do not
support implicit int" in new compilers like llvm.org clang 16 that
default to "-Werror=implicit-int" which, as above, can cause the feature
detection to arrive at the wrong answer.
The user's CPPFLAGS may contain -I flags pointing to directories that
contains files having the same names as bahamut headers which may cause
build failures. For example, bahamut contains channel.h, but NDSClient
installs $prefix/include/channel.h. If the user's CPPFLAGS contain
-I$prefix/include, for example to facilitate the finding of zlib or
other bahamut dependencies, the build will fail. Fix the problem by
looking for includes in bahamut directories first.
Add bahamut -I flags before user CPPFLAGS
Fix sys_errlist configure check in newer compilers
Check bans (AKILLs/KLINEs) against the masked hostname too.
Send full SVSUHM when server establishes connection
This used to return both ERR_NOSUCHNICK and ERR_USERNOTINCHANNEL:

C: MODE #chan +o nobody
S: :My.Little.Server 401 chanop nobody :No such nick/channel
S: :My.Little.Server 441 chanop nobody #chan :They aren't on that channel

I changed it to return only ERR_NOSUCHNICK, like other IRCds do.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.