summaryrefslogtreecommitdiffstats
path: root/mbbsd/user.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/user.c')
-rw-r--r--mbbsd/user.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/mbbsd/user.c b/mbbsd/user.c
index 2788aebc..e67d4c68 100644
--- a/mbbsd/user.c
+++ b/mbbsd/user.c
@@ -196,6 +196,19 @@ mail_violatelaw(const char *crime, const char *police, const char *reason, const
append_record(genbuf, &fhdr, sizeof(fhdr));
}
+void
+kick_all(char *user)
+{
+ userinfo_t *ui;
+ int num = searchuser(user, NULL);
+ while(!(ui = (userinfo_t *) search_ulist(num)))
+ {
+ if(ui == currutmp) continue;
+ kill(ui->pid, SIGHUP);
+ log_usies("KICK ALL", user);
+ }
+}
+
static void
violate_law(userec_t * u, int unum)
{
@@ -241,6 +254,7 @@ violate_law(userec_t * u, int unum)
kill_user(unum);
} else {
+ kick_all(u->userid);
u->userlevel |= PERM_VIOLATELAW;
u->vl_count++;
passwd_update(unum, u);