Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes preparing for 2.2.0 release #184

Merged
merged 21 commits into from
Jul 8, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
6f661f7
Changes preparing for 2.2.0 release
eaescob May 20, 2021
92b1643
Add change mentioning the enabling of half ops
eaescob May 20, 2021
9dcc0a1
Remove "inline" from verbose_to_opers to fix compile errors.
rscs May 21, 2021
107e7da
Merge branch 'master' into release-2.2.0
rscs May 21, 2021
8c7568c
Fixing a few typos I found.
rscs May 21, 2021
e7ae184
Updated change log.
rscs May 21, 2021
822819a
Keep verbose_to_opers as inline; just define it properly in h.h.
rscs May 21, 2021
07cab2f
Where did you come from?
rscs May 21, 2021
c3e3ca5
Merge pull request #187 from rscs/2.2.0-typo-fixes
eaescob May 21, 2021
0899996
Merge pull request #186 from DALnet/fix-xflag-problem
eaescob May 21, 2021
a4120f2
Send notice if services have not sent user hostmasking type
eaescob May 22, 2021
940051a
Fixed typo
eaescob May 22, 2021
f065e12
Fixing rwho for WEBIRC
eaescob May 22, 2021
fd6fb83
Fixes to be able to rwho for webirc clients globally
eaescob May 24, 2021
7ba995c
Add UMODE_W to SEND_UMODEs and disable usage of umode W within m_umode
eaescob May 24, 2021
8063f79
Remove redundant USER_HOSTMASKING_FALLBACK_TO_IP logic as we are now …
rscs Jul 6, 2021
73bf49c
Fix changes count.
rscs Jul 6, 2021
a37dcce
Merge pull request #188 from DALnet/remove-redundant-ip-hostmasking
eaescob Jul 6, 2021
d74c1d4
Make contact statement generic
eaescob Jul 7, 2021
417daa2
Merge branch 'release-2.2.0' of github.com:DALnet/bahamut into releas…
eaescob Jul 7, 2021
453f936
use Network_Name instead
eaescob Jul 7, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
Changes for 2.2.0:
------------------
rasengan (2):
Search for WEBIRC users using /rwho (PR #139)
Added /stats P to show listening ports (PR #134)

Ryan Smith (8):
Override clone limits with SVSCLONE (PR #148)
Updates to user hostmasking (PR #175)
Do not attempt to mask the Staff_Address for opers. (PR #175)
Do not allow opers who are already hostmasked to set +H as this results in weird /whois results. (PR #175)
Added new config.h option: NO_UMODE_H_FLOOD. Do not allow the user to change user mode H too often, to prevent WATCH flooding. (PR #175)
Do not allow user mode H to be changed if the user is in any channels. This is to prevent potential client-side weirdness from happening if a user's host changes while they're already in one or more channels. (PR #175)
Send out WATCH notifications if the hostname changes due to a mode H change. (PR #175)
Minor typo fixes.

Emilio Escobar (4):
Fixed oper block corruption when two opers share the same IP (PR #181)
Override softlimits with SVSCLONE (PR #162)
Decrease unknown count if cptr is in unknown state (PR #160)
Enable channel half ops (PR #184)

Kobi Shmueli (1):
Change user hostmask to send user's IP (PR #179)

Ned T. Crigler (1):
Make configure test support for extra compiler flags (PR #167)

jeian (1):
Add XFLAG documentation (PR #155)

Changes for 2.1.6:
------------------
Ryan Smith (4):
Expand Down
2 changes: 1 addition & 1 deletion INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ HOW TO BUILD:
4. "make install" will install the ircd, config converter, and documents
to the directory set by ./configure

5. Edit example.conf in your install directory, and move it to "ircd.conf".
5. Edit template.conf in your install directory, and move it to "ircd.conf".

6. Run the binary! ircd will look in the directory you are executing from
for an ircd.conf first, then it will look to the directory local to itself.
Expand Down
2 changes: 1 addition & 1 deletion doc/Bahamut-team
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Bahamut was taken on by a group of loosely knit coders that decided that
Dreamforge just was eating up too much CPU to handle DALnet's growing user
base. Originally starting out as the DFhybrid project, it slowly grew
into the Bahamut project as the peices started falling together.
into the Bahamut project as the pieces started falling together.

Bahamut is based upon the hybrid IRCd, developed for EFnet, and we most
surely wouldn't be where we are today without the dedication of the coders
Expand Down
2 changes: 1 addition & 1 deletion doc/CODING_STANDARD
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The following are the Coding Standards for Bahamut.
2) All indentations shall be 4 characters long - no tab characters '\t'
3) All variable names shall begin with a lowercase letter.
4) All variables defined as macros shall be in all Upper Case
5) All preprocessor directive shall be at char posistion 0 with no
5) All preprocessor directive shall be at char position 0 with no
spaces after the #.
6) all conditional/loop statements shall have the brace on a line
by themselves
11 changes: 1 addition & 10 deletions include/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -873,15 +873,6 @@
*/
#define USER_HOSTMASKING

/* USER_HOSTMASKING_FALLBACK_TO_IP is used to hostmask using the user's IP
* address if we are unable to hostmask using their hostname. This usually
* happens if they're using a domain name without a lot of labels:
* somehost.com or company.co.uk or similar.
*/
#ifdef USER_HOSTMASKING
#define USER_HOSTMASKING_FALLBACK_TO_IP
#endif

/* SPAMFILTER is used to enable spam filtering on the network.
* If you are connected to the main DALnet network, you should
* have this enabled.
Expand All @@ -906,7 +897,7 @@
/*
* Don't allow local clients to use +h/-h until all servers and services are upgraded.
*/
#define NO_LOCAL_CMODE_h
#undef NO_LOCAL_CMODE_h

/* ------------------------- END CONFIGURATION SECTION -------------------- */
#ifdef APOLLO
Expand Down
1 change: 1 addition & 0 deletions include/h.h
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,7 @@ extern int do_numeric(int, aClient *, aClient *, int, char **);
extern int hunt_server(aClient *, aClient *, char *, int, int, char **);
extern aClient *next_client(aClient *, char *);
extern aClient *next_client_double(aClient *, char *);
extern inline void verbose_to_opers(aClient *sptr, aChannel *chptr, char *cmd, char *reason); /* for m_message() */

extern int m_umode(aClient *, aClient *, int, char **);
extern int m_names(aClient *, aClient *, int, char **);
Expand Down
4 changes: 2 additions & 2 deletions include/patchlevel.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

#define BASENAME "bahamut"
#define MAJOR 2
#define MINOR 1
#define PATCH 6
#define MINOR 2
#define PATCH 0

#define PATCHES ""

Expand Down
5 changes: 4 additions & 1 deletion include/struct.h
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,9 @@ typedef struct SServicesTag ServicesTag;
#define UMODE_I 0x8000000 /* umode +I - invisible oper (masked) */
#define UMODE_S 0x10000000 /* umode +S - User is using SSL */
#define UMODE_C 0x20000000 /* umode +C - User is only accepting private messages from users who share a common channel with them */
#define UMODE_W 0x30000000 /* umode +W - User is connected from WEBIRC */
#define UMODE_H 0x40000000 /* umode +H - User is host-masked */

/* WARNING: Do not add any values greater than 0x40000000 unless you change Client->umode to unsigned long
(and change everything else to support it) -Kobi & xPsycho. */

Expand All @@ -339,7 +341,7 @@ typedef struct SServicesTag ServicesTag;
* that mode will be 'silent.'
*/

#define SEND_UMODES (UMODE_a|UMODE_i|UMODE_o|UMODE_r|UMODE_A|UMODE_I|UMODE_R|UMODE_S|UMODE_C|UMODE_H|UMODE_P)
#define SEND_UMODES (UMODE_a|UMODE_i|UMODE_o|UMODE_r|UMODE_A|UMODE_I|UMODE_R|UMODE_S|UMODE_C|UMODE_H|UMODE_P|UMODE_W)
#define ALL_UMODES (SEND_UMODES|UMODE_b|UMODE_c|UMODE_d|UMODE_e|UMODE_f|\
UMODE_g|UMODE_h|UMODE_j|UMODE_k|UMODE_m|UMODE_n|UMODE_s|\
UMODE_w|UMODE_y|UMODE_F|UMODE_K|UMODE_O)
Expand All @@ -356,6 +358,7 @@ typedef struct SServicesTag ServicesTag;

#define IsOper(x) ((x)->umode & UMODE_o)
#define IsLocOp(x) ((x)->umode & UMODE_O)
#define IsWebIRC(x) ((x)->umode & UMODE_W)
#define IsInvisible(x) ((x)->umode & UMODE_i)
#define IsAnOper(x) ((x)->umode & (UMODE_o|UMODE_O))
#define CanBeOper(x) ((x)->umode & (UMODE_o|UMODE_O|UMODE_I))
Expand Down
1 change: 0 additions & 1 deletion src/m_nick.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ extern int del_dccallow(aClient *, aClient *, int);

extern int is_xflags_exempted(aClient *sptr, aChannel *chptr);
extern int verbose_to_relaychan(aClient *sptr, aChannel *chptr, char *cmd, char *reason);
extern inline void verbose_to_opers(aClient *sptr, aChannel *chptr, char *cmd, char *reason);

extern int user_modes[];

Expand Down
4 changes: 2 additions & 2 deletions src/m_rwho.c
Original file line number Diff line number Diff line change
Expand Up @@ -983,9 +983,9 @@ static int rwho_match(aClient *cptr, int *failcode, aClient **failclient)
return 0;
}

if (MyClient(cptr) && (rwho_opts.check[0] & RWM_WEBIRC) && !cptr->webirc_ip)
if ((rwho_opts.check[0] & RWM_WEBIRC) && !IsWebIRC(cptr))
return 0;
else if (MyClient(cptr) && (rwho_opts.check[1] & RWM_WEBIRC) && cptr->webirc_ip)
else if ((rwho_opts.check[1] & RWM_WEBIRC) && IsWebIRC(cptr))
return 0;

if (rwho_opts.check[1] & RWM_IP)
Expand Down
18 changes: 12 additions & 6 deletions src/s_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ extern int send_lusers(aClient *,aClient *,int, char **);
#endif
extern int is_xflags_exempted(aClient *sptr, aChannel *chptr); /* for m_message() */
extern int verbose_to_relaychan(aClient *sptr, aChannel *chptr, char *cmd, char *reason); /* for m_message() */
extern inline void verbose_to_opers(aClient *sptr, aChannel *chptr, char *cmd, char *reason); /* for m_message() */
extern time_t get_user_jointime(aClient *cptr, aChannel *chptr); /* for send_msg_error() */
extern time_t get_user_lastmsgtime(aClient *cptr, aChannel *chptr); /* also for send_msg_error() -Holbrook */
extern int server_was_split;
Expand Down Expand Up @@ -104,6 +103,7 @@ int user_modes[] =
UMODE_S, 'S',
UMODE_K, 'K',
UMODE_I, 'I',
UMODE_W, 'W',
#ifdef SPAMFILTER
UMODE_P, 'P',
#endif
Expand Down Expand Up @@ -460,11 +460,6 @@ char *mask_host(char *orghost, char *orgip, int type)

if (call_hooks(CHOOK_MASKHOST, orghost, orgip, &newhost, type) == UHM_SUCCESS) return newhost;

#ifdef USER_HOSTMASKING_FALLBACK_TO_IP
// If the initial call fails, the user has a short hostname that we couldn't mask, so retry masking with the IP.
if (call_hooks(CHOOK_MASKHOST, orgip, &newhost, type) == UHM_SUCCESS) return newhost;
#endif

return orghost; /* I guess the user won't be host-masked after all... :( */
}

Expand Down Expand Up @@ -2375,6 +2370,11 @@ do_user(char *nick, aClient *cptr, aClient *sptr, char *username, char *host,
if((uhm_type > 0) && (uhm_umodeh == 1)) sptr->umode |= UMODE_H;
else sptr->umode &= ~UMODE_H;
#endif
if (cptr->webirc_ip)
sptr->umode |= UMODE_W;
else
sptr->umode &= ~UMODE_W;

user->server = me.name;
}
strncpyzt(sptr->info, realname, sizeof(sptr->info));
Expand Down Expand Up @@ -3356,6 +3356,7 @@ m_umode(aClient *cptr, aClient *sptr, int parc, char *parv[])
case 'r':
case 'x':
case 'X':
case 'W':
case 'S':
break; /* users can't set themselves +r,+x,+X or +S! */
#ifdef USER_HOSTMASKING
Expand Down Expand Up @@ -3412,6 +3413,11 @@ m_umode(aClient *cptr, aClient *sptr, int parc, char *parv[])
hash_check_watch(sptr, RPL_LOGON);
}
}
else
{
sendto_one(sptr, ":%s NOTICE %s :*** Notice -- Server has not received hostmask type, please contact %s staff.",
me.name, sptr->name, Network_Name);
}
break;
#endif
case 'A':
Expand Down