Safer ufun support removed and do_reboot moved to bsd.c to allow better console compi...
authornveid <nveid@cobramush.org>
Tue, 10 Apr 2007 06:33:38 +0000 (06:33 +0000)
committernveid <nveid@cobramush.org>
Tue, 10 Apr 2007 06:33:38 +0000 (06:33 +0000)
game/txt/changes/0.73
hdrs/conf.h
hdrs/dbdefs.h
src/bsd.c
src/conf.c
src/wiz.c

index fb6b6d997322d166f4665202a991d3bad0ce5250..240aacf52bf481d5a8d5dcd2b157e333961ae773 100644 (file)
@@ -10,6 +10,10 @@ CobraMUSH Version 0.73
      controlling ability over the object the function is on. [RLB]
    * Slight formatting fix for privileged WHO [AEJ]
    * netmud and console are now built from the same source [AEJ]
+   * do_reboot moved to bsd.c to allow netmud/console compiling to
+     happen more smoothly. [RLB]
+   * safer_ufun config option support removed.  Behavior is to now act
+     as if safer_ufun is always on. [RLB]
  Flags:
    * LEAVE_BEHIND - When a player leaves the location of 
      someone they're flowing with this flag it unfollows
index 24b3299a5585f022462a15e566a3065004606036..f9c51416b8881b397a954fc0af28247eedddb888 100644 (file)
@@ -191,7 +191,6 @@ struct options_table {
   dbref base_room;     /**< Room which floating checks consider as the base */
   dbref default_home;  /**< Home for the homeless */
   int use_dns;         /**< Should we use DNS lookups? */
-  int safer_ufun;      /**< Should we require security for ufun calls? */
   char dump_warning_1min[256]; /**< 1 minute nonforking dump warning message */
   char dump_warning_5min[256]; /**< 5 minute nonforking dump warning message */
   int noisy_whisper;   /**< Does whisper default to whisper/noisy? */
@@ -407,7 +406,6 @@ int cf_time(const char *opt, const char *val, void *loc, int maxval,
 #define NO_FORK (!options.forking_dump)
 #define PLAYER_NAME_SPACES (options.player_name_spaces)
 #define MAX_ALIASES (options.max_aliases)
-#define SAFER_UFUN (options.safer_ufun)
 #define NOISY_WHISPER (options.noisy_whisper)
 #define POSSESSIVE_GET (options.possessive_get)
 #define POSSGET_ON_DISCONNECTED (options.possessive_get_d)
index 20b176396d093e08f2135a4aca814fb899214b22..c643456556433d73713848c98fabbe39b98883d2 100644 (file)
@@ -214,7 +214,7 @@ extern dbref first_free;    /* pointer to free list */
 
 
 /* This is carefully ordered, from most to least likely. Hopefully. */
-#define CanEval(x,y)    (!(SAFER_UFUN) || !Admin(y) || God(x) || \
+#define CanEval(x,y)    (!Admin(y) || God(x) || \
         ((Director(x) || (Admin(x) && !Director(y))) && !God(y)))
 
 /* AF_PUBLIC overrides SAFER_UFUN */
index 1a500101205ad0e6058081c43f12ba11b4eeca51..bf47b9643016efe4557e7cedafd4004629604caa 100644 (file)
--- a/src/bsd.c
+++ b/src/bsd.c
@@ -183,7 +183,7 @@ static CLIENT_DEFAULTS client_maps[]  = {
   {"TINYFUGUE", CONN_PROMPT},
   {NULL, -1}
 };
-#endif
+#endif /* COMPILE_CONSOLE */
 
 
 /** Is this descriptor connected to a telnet-compatible terminal? */
@@ -5672,3 +5672,62 @@ static int do_su_exit(DESC *d) {
     return 1;
   } else return 0;
 }
+
+/* this should be in wiz.c but console.c likes it here better */
+
+/** Reboot the game without disconnecting players.
+ * \verbatim
+ * This implements @shutdown/reboot, which performs a dump, saves
+ * information about which player is associated with which socket,
+ * and then re-execs the mush process without closing the sockets.
+ * \endverbatim
+ * \param player the enactor.
+ * \param flag if 0, normal dump; if 1, paranoid dump.
+ */
+void
+do_reboot(dbref player, int flag)
+{
+  if (player == NOTHING) {
+    flag_broadcast(0, 0,
+                  T
+                  ("GAME: Reboot w/o disconnect from game account, please wait."));
+  } else {
+    flag_broadcast(0, 0,
+                  T
+                  ("GAME: Reboot w/o disconnect by %s, please wait."),
+                  Name(Owner(player)));
+  }
+  if (flag) {
+    globals.paranoid_dump = 1;
+    globals.paranoid_checkpt = db_top / 5;
+    if (globals.paranoid_checkpt < 1)
+      globals.paranoid_checkpt = 1;
+  }
+#ifdef HAS_OPENSSL
+  close_ssl_connections();
+#endif
+  sql_shutdown();
+  shutdown_queues();
+  fork_and_dump(0);
+#ifndef PROFILING
+#ifndef WIN32
+  /* Some broken libcs appear to retain the itimer across exec!
+   * So we make sure that if we get a SIGPROF in our next incarnation,
+   * we ignore it until our proper handler is set up.
+   */
+  ignore_signal(SIGPROF);
+#endif
+#endif
+  dump_reboot_db();
+#if !defined(COMPILE_CONSOLE) && defined(INFO_SLAVE)
+  kill_info_slave();
+#endif
+  local_shutdown();
+  end_all_logs();
+#ifndef WIN32
+  execl("netmush", "netmush", confname, NULL);
+#else
+  execl("cobramush.exe", "cobramush.exe", "/run", NULL);
+#endif                         /* WIN32 */
+  exit(1);                     /* Shouldn't ever get here, but just in case... */
+}
index be216e1eb39fa35f837e8d808c8d855026ce22fd..9fd662694b62dae7fe8853645939945203197588 100644 (file)
@@ -392,8 +392,6 @@ COBRA_CONF conftable[] = {
    "flags"}
   ,
 
-  {"safer_ufun", cf_bool, &options.safer_ufun, 2, 0, "funcs"}
-  ,
   {"function_side_effects", cf_bool, &options.function_side_effects, 2, 0,
    "funcs"}
   ,
@@ -1133,7 +1131,6 @@ conf_default_set(void)
   strcpy(options.channel_flags, "");
   options.warn_interval = 3600;
   options.use_dns = 1;
-  options.safer_ufun = 1;
   strcpy(options.dump_warning_1min,
         T("GAME: Database will be dumped in 1 minute."));
   strcpy(options.dump_warning_5min,
index 766957d33f34b5e41ea23f2a1a6cb6c7a16823c3..2b289570b604963917fa6abc625295d16b90af4a 100644 (file)
--- a/src/wiz.c
+++ b/src/wiz.c
@@ -1720,65 +1720,6 @@ FUNCTION(fun_playermem)
   safe_integer(tot, buff, bp);
 }
 
-
-/** Reboot the game without disconnecting players.
- * \verbatim
- * This implements @shutdown/reboot, which performs a dump, saves
- * information about which player is associated with which socket,
- * and then re-execs the mush process without closing the sockets.
- * \endverbatim
- * \param player the enactor.
- * \param flag if 0, normal dump; if 1, paranoid dump.
- */
-void
-do_reboot(dbref player, int flag)
-{
-  if (player == NOTHING) {
-    flag_broadcast(0, 0,
-                  T
-                  ("GAME: Reboot w/o disconnect from game account, please wait."));
-  } else {
-    flag_broadcast(0, 0,
-                  T
-                  ("GAME: Reboot w/o disconnect by %s, please wait."),
-                  Name(Owner(player)));
-  }
-  if (flag) {
-    globals.paranoid_dump = 1;
-    globals.paranoid_checkpt = db_top / 5;
-    if (globals.paranoid_checkpt < 1)
-      globals.paranoid_checkpt = 1;
-  }
-#ifdef HAS_OPENSSL
-  close_ssl_connections();
-#endif
-  sql_shutdown();
-  shutdown_queues();
-  fork_and_dump(0);
-#ifndef PROFILING
-#ifndef WIN32
-  /* Some broken libcs appear to retain the itimer across exec!
-   * So we make sure that if we get a SIGPROF in our next incarnation,
-   * we ignore it until our proper handler is set up.
-   */
-  ignore_signal(SIGPROF);
-#endif
-#endif
-  dump_reboot_db();
-#ifdef INFO_SLAVE
-  kill_info_slave();
-#endif
-  local_shutdown();
-  end_all_logs();
-#ifndef WIN32
-  execl("netmush", "netmush", confname, NULL);
-#else
-  execl("cobramush.exe", "cobramush.exe", "/run", NULL);
-#endif                         /* WIN32 */
-  exit(1);                     /* Shouldn't ever get here, but just in case... */
-}
-
-
 static int
 fill_search_spec(dbref player, const char *owner, int nargs, const char **args,
                struct search_spec *spec)