Ver código fonte

* Removed private_*

svn: 919
Bryan Drewery 22 anos atrás
pai
commit
e330c3a7ae
10 arquivos alterados com 110 adições e 157 exclusões
  1. 1 0
      doc/UPDATES
  2. 2 2
      src/cmds.c
  3. 2 2
      src/flags.c
  4. 1 2
      src/flags.h
  5. 4 5
      src/mod/channels.mod/userchan.c
  6. 1 1
      src/mod/console.mod/console.c
  7. 90 136
      src/mod/share.mod/share.c
  8. 3 3
      src/userent.c
  9. 5 5
      src/userrec.c
  10. 1 1
      src/users.c

+ 1 - 0
doc/UPDATES

@@ -5,6 +5,7 @@ This is a summary of ChangeLog basically.
 1.Fixed a cosmetic error in cmd_downbots.
 2.Cleaned up and removed more un-needed code.
 3.Fixed a bug in defalg_user()
+4.Several user cmds on BOTS were not being shared.
 
 1.1.5
 

+ 2 - 2
src/cmds.c

@@ -2446,8 +2446,8 @@ static void cmd_chattr(struct userrec *u, int idx, char *par)
       mns.chan &= ~(USER_HUBA | USER_CHUBA);
     }
     if (!glob_owner(user) && !isowner(u->handle)) {
-      pls.global &= ~(USER_CHUBA | USER_OWNER | USER_MASTER | USER_UNSHARED);
-      mns.global &= ~(USER_CHUBA | USER_OWNER | USER_MASTER | USER_UNSHARED);
+      pls.global &= ~(USER_CHUBA | USER_OWNER | USER_MASTER);
+      mns.global &= ~(USER_CHUBA | USER_OWNER | USER_MASTER);
 
       if (chan) {
 	pls.chan &= ~USER_OWNER;

+ 2 - 2
src/flags.c

@@ -374,7 +374,7 @@ void set_user_flagrec(struct userrec *u, struct flag_record *fr, const char *chn
   if (oldflags & FR_GLOBAL) {
     u->flags = fr->global;
 
-    if (!noshare && !(u->flags & USER_UNSHARED)) {
+    if (!noshare) {
       fr->match = FR_GLOBAL;
       build_flags(buffer, fr, NULL);
       shareout(NULL, "a %s %s\n", u->handle, buffer);
@@ -397,7 +397,7 @@ void set_user_flagrec(struct userrec *u, struct flag_record *fr, const char *chn
     }
     if (cr && ch) {
       cr->flags = fr->chan;
-      if (!noshare && !(u->flags & USER_UNSHARED)) {
+      if (!noshare) {
 	fr->match = FR_CHAN;
 	build_flags(buffer, fr, NULL);
 	shareout(ch, "a %s %s %s\n", u->handle, buffer, chname);

+ 1 - 2
src/flags.h

@@ -89,8 +89,7 @@ struct flag_record {
 #define USER_WASOPTEST     BIT22 /* w  wasop test needed for stopnethack */
 #define USER_NOFLOOD       BIT23 /* x  user is exempt from flood kicks   */
 #define USER_DOVOICE       BIT24 /* y  bot gives voices                  */
-#define USER_UNSHARED      BIT25 /* z  not shared with sharebots	      */
-#define USER_DEFAULT       BIT26 /* use default-flags                    */
+#define USER_DEFAULT       BIT25 /* use default-flags                    */
 
 #define bot_hublevel(x) ( ( (x) && (x->flags & USER_BOT) && (get_user(&USERENTRY_BOTADDR, x)) ) ? \
                           ( ((struct bot_addr *) get_user(&USERENTRY_BOTADDR, x))->hublevel ? \

+ 4 - 5
src/mod/channels.mod/userchan.c

@@ -33,7 +33,7 @@ struct chanuserrec *add_chanrec(struct userrec *u, char *chname)
     ch->laston = 0;
     strncpy(ch->channel, chname, 81);
     ch->channel[80] = 0;
-    if (!noshare && !(u->flags & USER_UNSHARED))
+    if (!noshare)
       shareout(findchan_by_dname(chname), "+cr %s %s\n", u->handle, chname);
   }
   return ch;
@@ -73,8 +73,7 @@ void get_handle_chaninfo(char *handle, char *chname, char *s)
   return;
 }
 
-void set_handle_chaninfo(struct userrec *bu, char *handle,
-				char *chname, char *info)
+void set_handle_chaninfo(struct userrec *bu, char *handle, char *chname, char *info)
 {
   struct userrec *u = NULL;
   struct chanuserrec *ch = NULL;
@@ -99,7 +98,7 @@ void set_handle_chaninfo(struct userrec *bu, char *handle,
   } else
     ch->info = NULL;
   cst = findchan_by_dname(chname);
-  if ((!noshare) && (bu == userlist) && !(u->flags & (USER_UNSHARED | USER_BOT))) {
+  if ((!noshare) && (bu == userlist)) {
     shareout(cst, "chchinfo %s %s %s\n", handle, chname, info ? info : "");
   }
 }
@@ -117,7 +116,7 @@ void del_chanrec(struct userrec *u, char *chname)
       if (ch->info != NULL)
 	free(ch->info);
       free(ch);
-      if (!noshare && !(u->flags & USER_UNSHARED))
+      if (!noshare)
 	shareout(findchan_by_dname(chname), "-cr %s %s\n", u->handle, chname);
       return;
     }

+ 1 - 1
src/mod/console.mod/console.c

@@ -122,7 +122,7 @@ static int console_set(struct userrec *u, struct user_entry *e, void *buf)
     ci = e->u.extra = buf;
   }
 
-  if (!noshare && !(u->flags & (USER_BOT | USER_UNSHARED))) {
+  if (!noshare && !(u->flags & USER_BOT)) {
     char string[501] = "";
 
     egg_snprintf(string, sizeof string, "%s %s %s %d %d %d %d", ci->channel, masktype(ci->conflags), 

+ 90 - 136
src/mod/share.mod/share.c

@@ -38,9 +38,6 @@ static const int min_exemptinvite = 1000000;
 /* Minimum version that supports userfile features. */
 static const int min_uffeature = 1000000;
 
-static int private_global = 0;
-static int private_user = 0;
-static char private_globals[50] = "";
 static int allow_resync = 0;
 static struct flag_record fr = { 0, 0, 0, 0 };
 static int resync_time = 900;
@@ -84,7 +81,6 @@ static int flush_tbuf(char *);
 static int can_resync(char *);
 static void q_resync(char *, struct chanset_t *);
 static void cancel_user_xfer(int, void *);
-static int private_globals_bitmask();
 
 #include "share.h"
 
@@ -271,10 +267,10 @@ share_chhand(int idx, char *par)
   char *hand = NULL;
   struct userrec *u = NULL;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     hand = newsplit(&par);
     u = get_user_by_handle(userlist, hand);
-    if (u && !(u->flags & USER_UNSHARED)) {
+    if (u) {
       shareout_but(NULL, idx, "h %s %s\n", hand, par);
       noshare = 1;
       if (change_handle(u, par))
@@ -291,16 +287,16 @@ share_chattr(int idx, char *par)
   struct chanset_t *cst = NULL;
   struct userrec *u = NULL;
   struct flag_record fr2;
-  int bfl, ofl;
+  flag_t bfl, ofl;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     hand = newsplit(&par);
     u = get_user_by_handle(userlist, hand);
-    if (u && !(u->flags & USER_UNSHARED)) {
+    if (u) {
       atr = newsplit(&par);
       cst = findchan_by_dname(par);
       if (!par[0] || cst) {
-        if (!(dcc[idx].status & STAT_GETTING) && (cst || !private_global))
+        if (!(dcc[idx].status & STAT_GETTING))
           shareout_but(cst, idx, "a %s %s %s\n", hand, atr, par);
         noshare = 1;
         if (par[0] && cst) {
@@ -319,21 +315,15 @@ share_chattr(int idx, char *par)
 #ifdef LEAF
           recheck_channel(cst, 0);
 #endif /* LEAF */
-        } else if (!private_global) {
-          int pgbm = private_globals_bitmask();
-
+        } else {
           fr.match = FR_GLOBAL;
-
           get_user_flagrec(dcc[idx].user, &fr, 0);
-
           /* Don't let bot flags be altered */
           ofl = fr.global;
-
           break_down_flags(atr, &fr, 0);
           bfl = u->flags & USER_BOT;
-          fr.global = (fr.global &~pgbm)
-            |(u->flags & pgbm);
-          fr.global = sanity_check(fr.global |bfl);
+
+          fr.global = sanity_check(fr.global | bfl);
 
           set_user_flagrec(u, &fr, 0);
           check_dcc_attrs(u, ofl);
@@ -348,8 +338,7 @@ share_chattr(int idx, char *par)
           for (cst = chanset; cst; cst = cst->next)
             recheck_channel(cst, 0);
 #endif /* LEAF */
-        } else
-          putlog(LOG_CMDS, "@", "Rejected global flags for %s from %s", hand, dcc[idx].nick);
+        }
         noshare = 0;
       }
     }
@@ -363,7 +352,7 @@ share_pls_chrec(int idx, char *par)
   struct chanset_t *chan = NULL;
   struct userrec *u = NULL;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     user = newsplit(&par);
     if ((u = get_user_by_handle(userlist, user))) {
       chan = findchan_by_dname(par);
@@ -387,7 +376,7 @@ share_mns_chrec(int idx, char *par)
   struct chanset_t *chan = NULL;
   struct userrec *u = NULL;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     user = newsplit(&par);
     if ((u = get_user_by_handle(userlist, user))) {
       chan = findchan_by_dname(par);
@@ -408,48 +397,36 @@ share_newuser(int idx, char *par)
   char *nick = NULL, *host = NULL, *pass = NULL, s[100] = "";
   struct userrec *u = NULL;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     nick = newsplit(&par);
     host = newsplit(&par);
     pass = newsplit(&par);
 
-    if (!(u = get_user_by_handle(userlist, nick)) || !(u->flags & USER_UNSHARED)) {
-      fr.global = 0;
-
-      fr.match = FR_GLOBAL;
-      break_down_flags(par, &fr, NULL);
-
-      /* If user already exists, ignore command */
-      shareout_but(NULL, idx, "n %s %s %s %s\n", nick, host, pass, private_global ? (fr.global &USER_BOT ? "b" : "-") : par);
-
-      if (!u) {
-        noshare = 1;
-        if (strlen(nick) > HANDLEN)
-          nick[HANDLEN] = 0;
+    fr.global = 0;
 
-        if (private_global)
-          fr.global &=USER_BOT;
+    fr.match = FR_GLOBAL;
+    break_down_flags(par, &fr, NULL);
 
-        else {
-          /* It shouldn't be done before sending to other bots? */
-          int pgbm = private_globals_bitmask();
+    /* If user already exists, ignore command */
+    shareout_but(NULL, idx, "n %s %s %s %s\n", nick, host, pass, par);
 
-          fr.match = FR_GLOBAL;
-          fr.global &=~pgbm;
-        }
+    if (!u) {
+      noshare = 1;
+      if (strlen(nick) > HANDLEN)
+        nick[HANDLEN] = 0;
 
-        build_flags(s, &fr, 0);
-        userlist = adduser(userlist, nick, host, pass, 0);
+      fr.match = FR_GLOBAL;
+      build_flags(s, &fr, 0);
+      userlist = adduser(userlist, nick, host, pass, 0);
 
-        /* Support for userdefinedflag share - drummer */
-        u = get_user_by_handle(userlist, nick);
-        set_user_flagrec(u, &fr, 0);
-        fr.match = FR_CHAN;     /* why?? */
-        noshare = 0;
+      /* Support for userdefinedflag share - drummer */
+      u = get_user_by_handle(userlist, nick);
+      set_user_flagrec(u, &fr, 0);
+      fr.match = FR_CHAN;       /* why?? */
+      noshare = 0;
 #ifndef LEAF
-        putlog(LOG_CMDS, "@", "%s: newuser %s %s", dcc[idx].nick, nick, s);
+      putlog(LOG_CMDS, "@", "%s: newuser %s %s", dcc[idx].nick, nick, s);
 #endif /* LEAF */
-      }
     }
   }
 }
@@ -458,7 +435,7 @@ static void
 share_killuser(int idx, char *par)
 {
   /* If user is a share bot, ignore command */
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     noshare = 1;
     if (deluser(par)) {
       shareout_but(NULL, idx, "k %s\n", par);
@@ -476,9 +453,9 @@ share_pls_host(int idx, char *par)
   char *hand = NULL;
   struct userrec *u = NULL;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     hand = newsplit(&par);
-    if ((u = get_user_by_handle(userlist, hand)) && !(u->flags & USER_UNSHARED)) {
+    if ((u = get_user_by_handle(userlist, hand))) {
       shareout_but(NULL, idx, "+h %s %s\n", hand, par);
       set_user(&USERENTRY_HOSTS, u, par);
 #ifdef LEAF
@@ -496,25 +473,24 @@ share_pls_bothost(int idx, char *par)
   char *hand = NULL, p[32] = "";
   struct userrec *u = NULL;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     hand = newsplit(&par);
-    if (!(u = get_user_by_handle(userlist, hand)) || !(u->flags & USER_UNSHARED)) {
-      if (!(dcc[idx].status & STAT_GETTING))
-        shareout_but(NULL, idx, "+bh %s %s\n", hand, par);
-      /* Add bot to userlist if not there */
-      if (u) {
-        if (!(u->flags & USER_BOT))
-          return;               /* ignore */
-        set_user(&USERENTRY_HOSTS, u, par);
-      } else {
-        makepass(p);
-        userlist = adduser(userlist, hand, par, p, USER_BOT);
-      }
+
+    if (!(dcc[idx].status & STAT_GETTING))
+      shareout_but(NULL, idx, "+bh %s %s\n", hand, par);
+    /* Add bot to userlist if not there */
+    if (u) {
+      if (!(u->flags & USER_BOT))
+        return;                 /* ignore */
+      set_user(&USERENTRY_HOSTS, u, par);
+    } else {
+      makepass(p);
+      userlist = adduser(userlist, hand, par, p, USER_BOT);
+    }
 #ifndef LEAF
-      if (!(dcc[idx].status & STAT_GETTING))
-        putlog(LOG_CMDS, "@", "%s: +host %s %s", dcc[idx].nick, hand, par);
+    if (!(dcc[idx].status & STAT_GETTING))
+      putlog(LOG_CMDS, "@", "%s: +host %s %s", dcc[idx].nick, hand, par);
 #endif /* LEAF */
-    }
   }
 }
 
@@ -524,9 +500,9 @@ share_mns_host(int idx, char *par)
   char *hand = NULL;
   struct userrec *u = NULL;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     hand = newsplit(&par);
-    if ((u = get_user_by_handle(userlist, hand)) && !(u->flags & USER_UNSHARED)) {
+    if ((u = get_user_by_handle(userlist, hand))) {
       shareout_but(NULL, idx, "-h %s %s\n", hand, par);
       noshare = 1;
       delhost_by_handle(hand, par);
@@ -548,42 +524,40 @@ share_change(int idx, char *par)
   struct user_entry_type *uet = NULL;
   struct user_entry *e = NULL;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     key = newsplit(&par);
     hand = newsplit(&par);
-    if (!(u = get_user_by_handle(userlist, hand)) || !(u->flags & USER_UNSHARED)) {
-      if (!(uet = find_entry_type(key)))
-        /* If it's not a supported type, forget it */
-        debug2("Ignore ch %s from %s (unknown type)", key, dcc[idx].nick);
-      else {
-        if (!(dcc[idx].status & STAT_GETTING))
-          shareout_but(NULL, idx, "c %s %s %s\n", key, hand, par);
-        noshare = 1;
-        if (!u && (uet == &USERENTRY_BOTADDR)) {
-          char pass[30] = "";
-
-          makepass(pass);
-          userlist = adduser(userlist, hand, "none", pass, USER_BOT);
-          u = get_user_by_handle(userlist, hand);
-        } else if (!u)
-          return;
-        if (uet->got_share) {
-          if (!(e = find_user_entry(uet, u))) {
-            e = calloc(1, sizeof(struct user_entry));
-
-            e->type = uet;
-            e->name = NULL;
-            e->u.list = NULL;
-            list_insert((&(u->entries)), e);
-          }
-          uet->got_share(u, e, par, idx);
-          if (!e->u.list) {
-            list_delete((struct list_type **) &(u->entries), (struct list_type *) e);
-            free(e);
-          }
+    if (!(uet = find_entry_type(key)))
+      /* If it's not a supported type, forget it */
+      debug2("Ignore ch %s from %s (unknown type)", key, dcc[idx].nick);
+    else {
+      if (!(dcc[idx].status & STAT_GETTING))
+        shareout_but(NULL, idx, "c %s %s %s\n", key, hand, par);
+      noshare = 1;
+      if (!u && (uet == &USERENTRY_BOTADDR)) {
+        char pass[30] = "";
+
+        makepass(pass);
+        userlist = adduser(userlist, hand, "none", pass, USER_BOT);
+        u = get_user_by_handle(userlist, hand);
+      } else if (!u)
+        return;
+      if (uet->got_share) {
+        if (!(e = find_user_entry(uet, u))) {
+          e = calloc(1, sizeof(struct user_entry));
+
+          e->type = uet;
+          e->name = NULL;
+          e->u.list = NULL;
+          list_insert((&(u->entries)), e);
+        }
+        uet->got_share(u, e, par, idx);
+        if (!e->u.list) {
+          list_delete((struct list_type **) &(u->entries), (struct list_type *) e);
+          free(e);
         }
-        noshare = 0;
       }
+      noshare = 0;
     }
   }
 }
@@ -595,9 +569,9 @@ share_chchinfo(int idx, char *par)
   struct chanset_t *cst = NULL;
   struct userrec *u = NULL;
 
-  if ((dcc[idx].status & STAT_SHARE) && !private_user) {
+  if (dcc[idx].status & STAT_SHARE) {
     hand = newsplit(&par);
-    if ((u = get_user_by_handle(userlist, hand)) && !(u->flags & USER_UNSHARED)) {
+    if ((u = get_user_by_handle(userlist, hand))) {
       chan = newsplit(&par);
       cst = findchan_by_dname(chan);
       fr.match = (FR_CHAN | FR_BOT);
@@ -1593,9 +1567,9 @@ dup_userlist(int t)
   noshare = 1;
   for (u = userlist; u; u = u->next)
     /* Only copying non-bot entries? */
-    if (((t == 0) && !(u->flags & (USER_BOT | USER_UNSHARED))) ||
+    if (((t == 0) && !(u->flags & (USER_BOT))) ||
         /* ... or only copying bot entries? */
-        ((t == 1) && (u->flags & (USER_BOT | USER_UNSHARED))) ||
+        ((t == 1) && (u->flags & (USER_BOT))) ||
         /* ... or copying everything? */
         (t == 2)) {
       p = get_user(&USERENTRY_PASS, u);
@@ -1786,17 +1760,10 @@ finish_share(int idx)
       /* This bot was unknown to us, reset it's flags and password. */
       set_user(&USERENTRY_BOTFL, u, NULL);
       set_user(&USERENTRY_PASS, u, NULL);
-    } else if (u2 && !(u2->flags & (USER_BOT | USER_UNSHARED))) {
-      struct chanuserrec *cr, *cr_next, *cr_old = NULL;
-      struct user_entry *ue;
-
-      if (private_global) {
-        u->flags = u2->flags;
-      } else {
-        int pgbm = private_globals_bitmask();
+    } else if (u2 && !(u2->flags & (USER_BOT))) {
+      struct chanuserrec *cr = NULL, *cr_next = NULL, *cr_old = NULL;
+      struct user_entry *ue = NULL;
 
-        u->flags = (u2->flags & pgbm) | (u->flags & ~pgbm);
-      }
       noshare = 1;
       for (cr = u2->chanrec; cr; cr = cr_next) {
         struct chanset_t *mychan = findchan_by_dname(cr->channel);
@@ -1818,10 +1785,7 @@ finish_share(int idx)
       for (ue = u2->entries; ue; ue = ue->next)
         if (ue->type && !ue->type->got_share && ue->type->dup_user)
           ue->type->dup_user(u, u2, ue);
-    } else if (!u2 && private_global) {
-      u->flags = 0;
-    } else
-      u->flags = (u->flags & ~private_globals_bitmask());
+    } 
   }
   clear_userlist(ou);
 
@@ -1884,7 +1848,7 @@ start_sending_users(int idx)
      */
     if (!(dcc[idx].u.bot->uff_flags & UFF_OVERRIDE)) {
       for (u = userlist; u; u = u->next) {
-        if ((u->flags & USER_BOT) && !(u->flags & USER_UNSHARED)) {
+        if ((u->flags & USER_BOT)) {
           struct bot_addr *bi = get_user(&USERENTRY_BOTADDR, u);
           struct list_type *t = NULL;
           char s2[1024] = "";
@@ -1969,8 +1933,6 @@ share_report(int idx, int details)
   int i, j;
 
   if (details) {
-    dprintf(idx, "    Private owners: %3s   Allow resync: %3s\n",
-            (private_global || (private_globals_bitmask() & USER_OWNER)) ? "yes" : "no", allow_resync ? "yes" : "no");
     for (i = 0; i < dcc_total; i++)
       if (dcc[i].type == &DCC_BOT) {
         if (dcc[i].status & STAT_GETTING) {
@@ -2020,11 +1982,3 @@ share_init()
   uff_addtable(internal_uff_table);
 }
 
-int
-private_globals_bitmask()
-{
-  struct flag_record my_fr = { FR_GLOBAL, 0, 0, 0 };
-
-  break_down_flags(private_globals, &my_fr, 0);
-  return my_fr.global;
-}

+ 3 - 3
src/userent.c

@@ -119,7 +119,7 @@ int def_set(struct userrec *u, struct user_entry *e, void *buf)
     free(e->u.string);
     e->u.string = NULL;
   }
-  if (!noshare && !(u->flags & (USER_BOT | USER_UNSHARED))) {
+  if (!noshare) {
     shareout(NULL, "c %s %s %s\n", e->type->name, u->handle, e->u.string ? e->u.string : "");
   }
   return 1;
@@ -544,7 +544,7 @@ int pass_set(struct userrec *u, struct user_entry *e, void *buf)
       encrypt_pass(pass, new);
     e->u.extra = strdup(new);
   }
-  if (!noshare && !(u->flags & (USER_BOT | USER_UNSHARED)))
+  if (!noshare)
     shareout(NULL, "c PASS %s %s\n", u->handle, pass ? pass : "");
   return 1;
 }
@@ -806,7 +806,7 @@ static int botaddr_set(struct userrec *u, struct user_entry *e, void *buf)
     bi = e->u.extra = buf;
   }
   Assert(u);
-  if (bi && !noshare && !(u->flags & USER_UNSHARED)) {
+  if (bi && !noshare) {
     shareout(NULL, "c BOTADDR %s %s %d %d %d %s\n",u->handle, 
             (bi->address && bi->address[0]) ? bi->address : "127.0.0.1", 
             bi->telnet_port, bi->relay_port, bi->hublevel, bi->uplink);

+ 5 - 5
src/userrec.c

@@ -457,7 +457,7 @@ int change_handle(struct userrec *u, char *newh)
     return 0;
   check_bind_nkch(u->handle, newh);
   /* Yes, even send bot nick changes now: */
-  if (!noshare && !(u->flags & USER_UNSHARED))
+  if (!noshare)
     shareout(NULL, "h %s %s\n", u->handle, newh);
   strncpyz(s, u->handle, sizeof s);
   strncpyz(u->handle, newh, sizeof u->handle);
@@ -516,7 +516,7 @@ struct userrec *adduser(struct userrec *bu, char *handle, char *host, char *pass
   if (bu == userlist)
     clear_chanlist();
   noshare = oldshare;
-  if ((!noshare) && (handle[0] != '*') && (!(flags & USER_UNSHARED)) && (bu == userlist)) {
+  if ((!noshare) && (handle[0] != '*') && (bu == userlist)) {
     struct flag_record fr = {FR_GLOBAL, 0, 0, 0};
     char x[100] = "";
 
@@ -594,7 +594,7 @@ int deluser(char *handle)
     userlist = u->next;
   else
     prev->next = u->next;
-  if (!noshare && (handle[0] != '*') && !(u->flags & USER_UNSHARED))
+  if (!noshare && (handle[0] != '*'))
     shareout(NULL, "k %s\n", handle);
   for (fnd = 0; fnd < dcc_total; fnd++)
     if (dcc[fnd].user == u)
@@ -648,7 +648,7 @@ int delhost_by_handle(char *handle, char *host)
   }
   if (!qprev)
     set_user(&USERENTRY_HOSTS, u, "none");
-  if (!noshare && i && !(u->flags & USER_UNSHARED))
+  if (!noshare && i)
     shareout(NULL, "-h %s %s\n", handle, host);
   clear_chanlist();
   return i;
@@ -660,7 +660,7 @@ void addhost_by_handle(char *handle, char *host)
 
   set_user(&USERENTRY_HOSTS, u, host);
   /* u will be cached, so really no overhead, even tho this looks dumb: */
-  if ((!noshare) && !(u->flags & USER_UNSHARED)) {
+  if (!noshare) {
     if (u->flags & USER_BOT)
       shareout(NULL, "+bh %s %s\n", handle, host);
     else

+ 1 - 1
src/users.c

@@ -934,7 +934,7 @@ int readuserfile(char *file, struct userrec **ret)
             return 0;
 	  } else {
 	    u = get_user_by_handle(bu, code);
-	    if (u && !(u->flags & USER_UNSHARED)) {
+	    if (u) {
 	      putlog(LOG_ERROR, "@", "* %s '%s'!", USERF_DUPE, code);
 	      lasthand[0] = 0;
 	      u = NULL;