Explorar o código

* write_userfile is HUB ONLY
* Removed all _pack entries


svn: 938

Bryan Drewery %!s(int64=22) %!d(string=hai) anos
pai
achega
e7fbfba394
Modificáronse 6 ficheiros con 80 adicións e 164 borrados
  1. 4 14
      src/flags.c
  2. 4 24
      src/mod/console.mod/console.c
  3. 2 1
      src/mod/notes.mod/notes.c
  4. 34 21
      src/mod/share.mod/share.c
  5. 34 101
      src/userent.c
  6. 2 3
      src/users.h

+ 4 - 14
src/flags.c

@@ -460,25 +460,13 @@ static int botfl_unpack(struct userrec *u, struct user_entry *e)
   return 1;
 }
 
-static int botfl_pack(struct userrec *u, struct user_entry *e)
-{
-  char x[100] = "";
-  struct flag_record fr = {FR_BOT, 0, 0, 0};
-
-  fr.bot = e->u.ulong;
-  e->u.list = calloc(1, sizeof(struct list_type));
-  e->u.list->next = NULL;
-  e->u.list->extra = calloc(1, build_flags (x, &fr, NULL) + 1);
-  strcpy(e->u.list->extra, x);
-  return 1;
-}
-
 static int botfl_kill(struct user_entry *e)
 {
   free(e);
   return 1;
 }
 
+#ifdef HUB
 static int botfl_write_userfile(FILE *f, struct userrec *u, struct user_entry *e)
 {
   char x[100] = "";
@@ -490,6 +478,7 @@ static int botfl_write_userfile(FILE *f, struct userrec *u, struct user_entry *e
     return 0;
   return 1;
 }
+#endif /* HUB */
 
 static int botfl_set(struct userrec *u, struct user_entry *e, void *buf)
 {
@@ -519,8 +508,9 @@ struct user_entry_type USERENTRY_BOTFL =
   0,
   def_dupuser,
   botfl_unpack,
-  botfl_pack,
+#ifdef HUB
   botfl_write_userfile,
+#endif /* HUB */
   botfl_kill,
   def_get,
   botfl_set,

+ 4 - 24
src/mod/console.mod/console.c

@@ -61,29 +61,6 @@ static int console_unpack(struct userrec *u, struct user_entry *e)
   return 1;
 }
 
-static int console_pack(struct userrec *u, struct user_entry *e)
-{
-  char work[1024] = "";
-  struct console_info *ci = NULL;
-  size_t len;
-
-  ci = (struct console_info *) e->u.extra;
-
-  len = simple_sprintf(work, "%s %s %s %d %d %d %d",
-		     ci->channel, masktype(ci->conflags),
-		     stripmasktype(ci->stripflags), ci->echoflags,
-		     ci->page, ci->conchan, ci->colour);
-
-  e->u.list = calloc(1, sizeof(struct list_type));
-  e->u.list->next = NULL;
-  e->u.list->extra = calloc(1, len + 1);
-  strcpy(e->u.list->extra, work);
-
-  free(ci->channel);
-  free(ci);
-  return 1;
-}
-
 static int console_kill(struct user_entry *e)
 {
   struct console_info *i = e->u.extra;
@@ -94,6 +71,7 @@ static int console_kill(struct user_entry *e)
   return 1;
 }
 
+#ifdef HUB
 static int console_write_userfile(FILE *f, struct userrec *u,
 				  struct user_entry *e)
 {
@@ -106,6 +84,7 @@ static int console_write_userfile(FILE *f, struct userrec *u,
     return 0;
   return 1;
 }
+#endif /* HUB */
 
 static int console_set(struct userrec *u, struct user_entry *e, void *buf)
 {
@@ -227,8 +206,9 @@ static struct user_entry_type USERENTRY_CONSOLE =
   console_gotshare,
   console_dupuser,
   console_unpack,
-  console_pack,
+#ifdef HUB
   console_write_userfile,
+#endif /* HUB */
   console_kill,
   NULL,
   console_set,

+ 2 - 1
src/mod/notes.mod/notes.c

@@ -39,8 +39,9 @@ static struct user_entry_type USERENTRY_FWD =
   NULL,
   NULL,
   NULL,
+#ifdef HUB
   NULL,
-  NULL,
+#endif /* HUB */
   NULL,
   NULL,
   NULL,

+ 34 - 21
src/mod/share.mod/share.c

@@ -55,6 +55,7 @@ static void cancel_user_xfer(int, void *);
  *   Sup's delay code
  */
 
+#ifdef LEAF
 static void
 add_delay(struct chanset_t *chan, int plsmns, int mode, char *mask)
 {
@@ -107,6 +108,7 @@ check_delay()
     }
   }
 }
+#endif /* LEAF */
 
 /*
  *   Botnet commands
@@ -554,16 +556,18 @@ share_chchinfo(int idx, char *par)
 static void
 share_mns_ban(int idx, char *par)
 {
-  struct chanset_t *chan = NULL;
-
   if (dcc[idx].status & STAT_SHARE) {
     shareout_but(NULL, idx, "-b %s\n", par);
     putlog(LOG_CMDS, "@", "%s: cancel ban %s", dcc[idx].nick, par);
     str_unescape(par, '\\');
     noshare = 1;
     if (u_delmask('b', NULL, par, 1) > 0) {
+#ifdef LEAF
+      struct chanset_t *chan = NULL;
+
       for (chan = chanset; chan; chan = chan->next)
         add_delay(chan, '-', 'b', par);
+#endif /* LEAF */
     }
     noshare = 0;
   }
@@ -572,16 +576,18 @@ share_mns_ban(int idx, char *par)
 static void
 share_mns_exempt(int idx, char *par)
 {
-  struct chanset_t *chan = NULL;
-
   if (dcc[idx].status & STAT_SHARE) {
     shareout_but(NULL, idx, "-e %s\n", par);
     putlog(LOG_CMDS, "@", "%s: cancel exempt %s", dcc[idx].nick, par);
     str_unescape(par, '\\');
     noshare = 1;
     if (u_delmask('e', NULL, par, 1) > 0) {
+#ifdef LEAF
+      struct chanset_t *chan = NULL;
+
       for (chan = chanset; chan; chan = chan->next)
         add_delay(chan, '-', 'e', par);
+#endif /* LEAF */
     }
     noshare = 0;
   }
@@ -590,16 +596,18 @@ share_mns_exempt(int idx, char *par)
 static void
 share_mns_invite(int idx, char *par)
 {
-  struct chanset_t *chan = NULL;
-
   if (dcc[idx].status & STAT_SHARE) {
     shareout_but(NULL, idx, "-inv %s\n", par);
     putlog(LOG_CMDS, "@", "%s: cancel invite %s", dcc[idx].nick, par);
     str_unescape(par, '\\');
     noshare = 1;
     if (u_delmask('I', NULL, par, 1) > 0) {
+#ifdef LEAF
+      struct chanset_t *chan = NULL;
+
       for (chan = chanset; chan; chan = chan->next)
         add_delay(chan, '-', 'I', par);
+#endif /* LEAF */
     }
     noshare = 0;
   }
@@ -621,7 +629,10 @@ share_mns_banchan(int idx, char *par)
     str_unescape(par, '\\');
     noshare = 1;
     if (u_delmask('b', chan, par, 1) > 0)
-      add_delay(chan, '-', 'b', par);
+#ifdef LEAF
+      add_delay(chan, '-', 'b', par)
+#endif /* LEAF */
+                  ;
     noshare = 0;
   }
 }
@@ -642,7 +653,10 @@ share_mns_exemptchan(int idx, char *par)
     str_unescape(par, '\\');
     noshare = 1;
     if (u_delmask('e', chan, par, 1) > 0)
-      add_delay(chan, '-', 'e', par);
+#ifdef LEAF
+      add_delay(chan, '-', 'e', par)
+#endif /* LEAF */
+                     ;
     noshare = 0;
   }
 }
@@ -663,7 +677,10 @@ share_mns_invitechan(int idx, char *par)
     str_unescape(par, '\\');
     noshare = 1;
     if (u_delmask('I', chan, par, 1) > 0)
-      add_delay(chan, '-', 'I', par);
+#ifdef LEAF
+      add_delay(chan, '-', 'I', par)
+#endif /* LEAF */
+                     ;
     noshare = 0;
   }
 }
@@ -1073,19 +1090,12 @@ share_endstartup(int idx, char *par)
 static void
 share_end(int idx, char *par)
 {
-  putlog(LOG_BOTS, "@", "Ending sharing with %s (%s).", dcc[idx].nick, par);
+  putlog(LOG_BOTS, "*", "Ending sharing with %s (%s).", dcc[idx].nick, par);
   cancel_user_xfer(-idx, 0);
   dcc[idx].status &= ~(STAT_SHARE | STAT_GETTING | STAT_SENDING | STAT_OFFERED | STAT_AGGRESSIVE);
   dcc[idx].u.bot->uff_flags = 0;
 }
 
-/* FIXME: REMOVE THE FEATS CRAP AFTER EVERYONE UPGRADE TO 1.1.6 */
-static void
-share_feats(int idx, char *par)
-{
-}
-
-
 /* Note: these MUST be sorted. */
 static botcmd_t C_share[] = {
   {"!", (Function) share_endstartup},
@@ -1112,7 +1122,6 @@ static botcmd_t C_share[] = {
   {"c", (Function) share_change},
   {"chchinfo", (Function) share_chchinfo},
   {"e", (Function) share_end},
-  {"feats", (Function) share_feats},
   {"h", (Function) share_chhand},
   {"k", (Function) share_killuser},
   {"n", (Function) share_newuser},
@@ -1200,6 +1209,7 @@ shareout_but(struct chanset_t *chan, ...)
   va_end(va);
 }
 
+#ifdef HUB
 /* Flush all tbufs older than 15 minutes.
  */
 static void
@@ -1227,7 +1237,6 @@ check_expired_tbufs()
   }
 }
 
-#ifdef HUB
 static int
 write_tmp_userfile(char *fn, struct userrec *bu, int idx)
 {
@@ -1589,7 +1598,7 @@ cancel_user_xfer(int idx, void *x)
         unlink(dcc[j].u.xfer->filename);
         lostdcc(j);
       }
-      putlog(LOG_BOTS, "@", "(Userlist download aborted.)");
+      putlog(LOG_BOTS, "*", "(Userlist download aborted.)");
     }
     if (dcc[idx].status & STAT_SENDING) {
       j = 0;
@@ -1602,7 +1611,7 @@ cancel_user_xfer(int idx, void *x)
         unlink(dcc[j].u.xfer->filename);
         lostdcc(j);
       }
-      putlog(LOG_BOTS, "@", "(Userlist transmit aborted.)");
+      putlog(LOG_BOTS, "*", "(Userlist transmit aborted.)");
     }
   }
   if (!k)
@@ -1656,8 +1665,12 @@ share_report(int idx, int details)
 void
 share_init()
 {
+#ifdef HUB
   timer_create_secs(60, "check_expired_tbufs", (Function) check_expired_tbufs);
+#endif /* HUB */
+#ifdef LEAF
   timer_create_secs(1, "check_delay", (Function) check_delay);
+#endif /* LEAF */
   def_dcc_bot_kill = DCC_BOT.kill;
   DCC_BOT.kill = cancel_user_xfer;
 }

+ 34 - 101
src/userent.c

@@ -59,17 +59,6 @@ int def_unpack(struct userrec *u, struct user_entry *e)
   return 1;
 }
 
-int def_pack(struct userrec *u, struct user_entry *e)
-{
-  char *tmp = NULL;
-
-  tmp = e->u.string;
-  e->u.list = calloc(1, sizeof(struct list_type));
-  e->u.list->next = NULL;
-  e->u.list->extra = tmp;
-  return 1;
-}
-
 int def_kill(struct user_entry *e)
 {
   free(e->u.string);
@@ -77,12 +66,14 @@ int def_kill(struct user_entry *e)
   return 1;
 }
 
+#ifdef HUB
 int def_write_userfile(FILE * f, struct userrec *u, struct user_entry *e)
 {
   if (lfprintf(f, "--%s %s\n", e->type->name, e->u.string) == EOF)
     return 0;
   return 1;
 }
+#endif /* HUB */
 
 void *def_get(struct userrec *u, struct user_entry *e)
 {
@@ -156,8 +147,9 @@ struct user_entry_type USERENTRY_COMMENT =
   def_gotshare,
   def_dupuser,
   def_unpack,
-  def_pack,
+#ifdef HUB
   def_write_userfile,
+#endif /* HUB */
   def_kill,
   def_get,
   def_set,
@@ -171,8 +163,9 @@ struct user_entry_type USERENTRY_INFO =
   def_gotshare,
   def_dupuser,
   def_unpack,
-  def_pack,
+#ifdef HUB
   def_write_userfile,
+#endif /* HUB */
   def_kill,
   def_get,
   def_set,
@@ -210,8 +203,9 @@ struct user_entry_type USERENTRY_ADDED = {
   def_gotshare,
   def_dupuser,
   def_unpack,
-  def_pack,
+#ifdef HUB
   def_write_userfile,
+#endif /* HUB */
   def_kill,
   def_get,
   def_set,
@@ -286,28 +280,6 @@ int config_unpack(struct userrec *u, struct user_entry *e)
   return 1;
 }
 
-int config_pack(struct userrec *u, struct user_entry *e)
-{
-  struct list_type *t = NULL;
-  struct xtra_key *curr = NULL, *next = NULL;
-
-  curr = e->u.extra;
-  e->u.list = NULL;
-  while (curr) {
-    t = calloc(1, sizeof(struct list_type));
-
-    t->extra = calloc(1, strlen(curr->key) + strlen(curr->data) + 4);
-    sprintf(t->extra, "%s %s", curr->key, curr->data);
-    list_insert((&e->u.list), t);
-    next = curr->next;
-    free(curr->key);
-    free(curr->data);
-    free(curr);
-    curr = next;
-  }
-  return 1;
-}
-
 void config_display(int idx, struct user_entry *e, struct userrec *u)
 {
 #ifdef HUB
@@ -383,6 +355,7 @@ int config_dupuser(struct userrec *new, struct userrec *old, struct user_entry *
   return 1;
 }
 
+#ifdef HUB
 int config_write_userfile(FILE *f, struct userrec *u, struct user_entry *e)
 {
   struct xtra_key *x = NULL;
@@ -391,6 +364,7 @@ int config_write_userfile(FILE *f, struct userrec *u, struct user_entry *e)
     lfprintf(f, "--CONFIG %s %s\n", x->key, x->data);
   return 1;
 }
+#endif /* HUB */
 
 int config_kill(struct user_entry *e)
 {
@@ -411,8 +385,9 @@ struct user_entry_type USERENTRY_CONFIG = {
   config_gotshare,
   config_dupuser,
   config_unpack,
-  config_pack,
+#ifdef HUB
   config_write_userfile,
+#endif /* HUB */
   config_kill,
   def_get,
   config_set,
@@ -464,8 +439,9 @@ struct user_entry_type USERENTRY_STATS = {
   def_gotshare,
   def_dupuser,
   def_unpack,
-  def_pack,
+#ifdef HUB
   def_write_userfile,
+#endif /* HUB */
   def_kill,
   def_get,
   def_set,
@@ -510,8 +486,9 @@ struct user_entry_type USERENTRY_MODIFIED =
   def_gotshare,
   def_dupuser,
   def_unpack,
-  def_pack,
+#ifdef HUB
   def_write_userfile,
+#endif /* HUB */
   def_kill,
   def_get,
   def_set,
@@ -553,14 +530,15 @@ struct user_entry_type USERENTRY_PASS =
 {
   0,
   def_gotshare,
-  0,
+  NULL,
   def_unpack,
-  def_pack,
+#ifdef HUB
   def_write_userfile,
+#endif /* HUB */
   def_kill,
   def_get,
   pass_set,
-  0,
+  NULL,
   "PASS"
 };
 
@@ -590,8 +568,9 @@ struct user_entry_type USERENTRY_SECPASS =
   def_gotshare,
   def_dupuser,
   def_unpack,
-  def_pack,
+#ifdef HUB
   def_write_userfile,
+#endif /* HUB */
   def_kill,
   def_get,
   def_set,
@@ -616,24 +595,7 @@ static int laston_unpack(struct userrec *u, struct user_entry *e)
   return 1;
 }
 
-static int laston_pack(struct userrec *u, struct user_entry *e)
-{
-  char work[1024] = "";
-  struct laston_info *li = NULL;
-  int l;
-
-  li = (struct laston_info *) e->u.extra;
-  l = sprintf(work, "%lu %s", li->laston, li->lastonplace);
-  e->u.list = calloc(1, sizeof(struct list_type));
-  e->u.list->next = NULL;
-  e->u.list->extra = calloc(1, l + 1);
-  strcpy(e->u.list->extra, work);
-  
-  free(li->lastonplace);
-  free(li);
-  return 1;
-}
-
+#ifdef HUB
 static int laston_write_userfile(FILE * f, struct userrec *u, struct user_entry *e)
 {
   struct laston_info *li = (struct laston_info *) e->u.extra;
@@ -643,6 +605,7 @@ static int laston_write_userfile(FILE * f, struct userrec *u, struct user_entry
     return 0;
   return 1;
 }
+#endif /* HUB */
 
 static int laston_kill(struct user_entry *e)
 {
@@ -689,8 +652,9 @@ struct user_entry_type USERENTRY_LASTON =
   0,
   laston_dupuser,
   laston_unpack,
-  laston_pack,
+#ifdef HUB
   laston_write_userfile,
+#endif /* HUB */
   laston_kill,
   def_get,
   laston_set,
@@ -747,27 +711,6 @@ static int botaddr_unpack(struct userrec *u, struct user_entry *e)
 
 }
 
-static int botaddr_pack(struct userrec *u, struct user_entry *e)
-{
-  char work[1024] = "";
-  struct bot_addr *bi = NULL;
-  size_t len;
-
-  Assert(e);
-  Assert(!e->name);
-  bi = (struct bot_addr *) e->u.extra;
-  len = simple_sprintf(work, "%s:%u/%u:%u:%s", bi->address, bi->telnet_port, bi->relay_port, bi->hublevel, bi->uplink);
-  e->u.list = calloc(1, sizeof(struct list_type));
-
-  e->u.list->next = NULL;
-  e->u.list->extra = calloc(1, len + 1);
-  strcpy(e->u.list->extra, work);
-  free(bi->address);
-  free(bi->uplink);
-  free(bi);
-  return 1;
-}
-
 static int botaddr_kill(struct user_entry *e)
 {
   free(((struct bot_addr *) (e->u.extra))->address);
@@ -777,6 +720,7 @@ static int botaddr_kill(struct user_entry *e)
   return 1;
 }
 
+#ifdef HUB
 static int botaddr_write_userfile(FILE *f, struct userrec *u, struct user_entry *e)
 {
   register struct bot_addr *bi = (struct bot_addr *) e->u.extra;
@@ -786,6 +730,7 @@ static int botaddr_write_userfile(FILE *f, struct userrec *u, struct user_entry
     return 0;
   return 1;
 }
+#endif /* HUB */
 
 static int botaddr_set(struct userrec *u, struct user_entry *e, void *buf)
 {
@@ -882,8 +827,9 @@ struct user_entry_type USERENTRY_BOTADDR =
   botaddr_gotshare,
   botaddr_dupuser,
   botaddr_unpack,
-  botaddr_pack,
+#ifdef HUB
   botaddr_write_userfile,
+#endif /* HUB */
   botaddr_kill,
   def_get,
   botaddr_set,
@@ -905,6 +851,7 @@ static int hosts_null(struct userrec *u, struct user_entry *e)
   return 1;
 }
 
+#ifdef HUB
 static int hosts_write_userfile(FILE *f, struct userrec *u, struct user_entry *e)
 {
   struct list_type *h = NULL;
@@ -914,6 +861,7 @@ static int hosts_write_userfile(FILE *f, struct userrec *u, struct user_entry *e
       return 0;
   return 1;
 }
+#endif /* HUB */
 
 static int hosts_kill(struct user_entry *e)
 {
@@ -1011,8 +959,9 @@ struct user_entry_type USERENTRY_HOSTS =
   hosts_gotshare,
   hosts_dupuser,
   hosts_null,
-  hosts_null,
+#ifdef HUB
   hosts_write_userfile,
+#endif /* HUB */
   hosts_kill,
   def_get,
   hosts_set,
@@ -1064,22 +1013,6 @@ int add_entry_type(struct user_entry_type *type)
   return 1;
 }
 
-int del_entry_type(struct user_entry_type *type)
-{
-  struct userrec *u = NULL;
-
-  for (u = userlist; u; u = u->next) {
-    struct user_entry *e = find_user_entry(type, u);
-
-    if (e && !e->name) {
-      e->type->pack(u, e);
-      e->name = strdup(e->type->name);
-      e->type = NULL;
-    }
-  }
-  return list_delete((struct list_type **) &entry_type_list, (struct list_type *) type);
-}
-
 struct user_entry_type *find_entry_type(char *name)
 {
   struct user_entry_type *p = NULL;

+ 2 - 3
src/users.h

@@ -36,8 +36,9 @@ struct user_entry_type {
   int (*dup_user) (struct userrec *, struct userrec *,
 		   struct user_entry *);
   int (*unpack) (struct userrec *, struct user_entry *);
-  int (*pack) (struct userrec *, struct user_entry *);
+#ifdef HUB
   int (*write_userfile) (FILE *, struct userrec *, struct user_entry *);
+#endif /* HUB */
   int (*kill) (struct user_entry *);
   void *(*get) (struct userrec *, struct user_entry *);
   int (*set) (struct userrec *, struct user_entry *, void *);
@@ -95,7 +96,6 @@ struct filesys_stats {
 };
 
 int add_entry_type(struct user_entry_type *);
-int del_entry_type(struct user_entry_type *);
 struct user_entry_type *find_entry_type(char *);
 struct user_entry *find_user_entry(struct user_entry_type *, struct userrec *);
 void *get_user(struct user_entry_type *, struct userrec *);
@@ -161,7 +161,6 @@ struct userrec *check_chanlist_hand();
 /* All the default userentry stuff, for code re-use
  */
 int def_unpack(struct userrec *u, struct user_entry *e);
-int def_pack(struct userrec *u, struct user_entry *e);
 int def_kill(struct user_entry *e);
 int def_write_userfile(FILE *f, struct userrec *u, struct user_entry *e);
 void *def_get(struct userrec *u, struct user_entry *e);