gdb/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Sun, 6 May 2012 15:31:04 +0000 (15:31 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Sun, 6 May 2012 15:31:04 +0000 (15:31 +0000)
* auto-load.c (set_auto_load_safe_path): Reset AUTO_LOAD_SAFE_PATH
back to DEFAULT_AUTO_LOAD_SAFE_PATH if it is being set to "".
(show_auto_load_safe_path): Check any-directory by comparison with "/".
(add_auto_load_safe_path): Change the error message.
(_initialize_auto_load): Change the "safe-path" help text.
* configure: Regenerate
* configure.ac (--without-auto-load-safe-path): Set
WITH_AUTO_LOAD_SAFE_PATH to /.

gdb/doc/
* gdb.texinfo (Auto-loading safe path): Make 'directories'
for 'set auto-load safe-path' optional.  Mention if it is omitted.
Change disabling security protection condition to "/", twice.

gdb/ChangeLog
gdb/auto-load.c
gdb/configure
gdb/configure.ac
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo

index 4542e84..480fd0d 100644 (file)
@@ -1,3 +1,14 @@
+2012-05-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * auto-load.c (set_auto_load_safe_path): Reset AUTO_LOAD_SAFE_PATH
+       back to DEFAULT_AUTO_LOAD_SAFE_PATH if it is being set to "".
+       (show_auto_load_safe_path): Check any-directory by comparison with "/".
+       (add_auto_load_safe_path): Change the error message.
+       (_initialize_auto_load): Change the "safe-path" help text.
+       * configure: Regenerate
+       * configure.ac (--without-auto-load-safe-path): Set
+       WITH_AUTO_LOAD_SAFE_PATH to /.
+
 2012-05-05  Sergio Durigan Junior  <sergiodj@redhat.com>
 
        * stap-probe.h: Do not include unecessary `probe.h'.
index 187e852..9d4d0bc 100644 (file)
@@ -181,6 +181,12 @@ auto_load_safe_path_vec_update (void)
 static void
 set_auto_load_safe_path (char *args, int from_tty, struct cmd_list_element *c)
 {
+  if (auto_load_safe_path[0] == '\0')
+    {
+      xfree (auto_load_safe_path);
+      auto_load_safe_path = xstrdup (DEFAULT_AUTO_LOAD_SAFE_PATH);
+    }
+
   auto_load_safe_path_vec_update ();
 }
 
@@ -190,7 +196,7 @@ static void
 show_auto_load_safe_path (struct ui_file *file, int from_tty,
                          struct cmd_list_element *c, const char *value)
 {
-  if (*value == 0)
+  if (strcmp (value, "/") == 0)
     fprintf_filtered (file, _("Auto-load files are safe to load from any "
                              "directory.\n"));
   else
@@ -209,8 +215,9 @@ add_auto_load_safe_path (char *args, int from_tty)
 
   if (args == NULL || *args == 0)
     error (_("\
-Adding empty directory element disables the auto-load safe-path security.  \
-Use 'set auto-load safe-path' instead if you mean that."));
+Directory argument required.\n\
+Use 'set auto-load safe-path /' for disabling the auto-load safe-path security.\
+"));
 
   s = xstrprintf ("%s%c%s", auto_load_safe_path, DIRNAME_SEPARATOR, args);
   xfree (auto_load_safe_path);
@@ -1029,8 +1036,10 @@ Set the list of directories from which it is safe to auto-load files."), _("\
 Show the list of directories from which it is safe to auto-load files."), _("\
 Various files loaded automatically for the 'set auto-load ...' options must\n\
 be located in one of the directories listed by this option.  Warning will be\n\
-printed and file will not be used otherwise.  Use empty string (or even\n\
-empty directory entry) to allow any file for the 'set auto-load ...' options.\n\
+printed and file will not be used otherwise.\n\
+Setting this parameter to an empty list resets it to its default value.\n\
+Setting this parameter to '/' (without the quotes) allows any file\n\
+for the 'set auto-load ...' options.\n\
 This option is ignored for the kinds of files having 'set auto-load ... off'.\n\
 This options has security implications for untrusted inferiors."),
                                     set_auto_load_safe_path,
index 12260de..c1775b7 100755 (executable)
@@ -4964,7 +4964,7 @@ $as_echo_n "checking for default auto-load safe-path... " >&6; }
 # Check whether --with-auto-load-safe-path was given.
 if test "${with_auto_load_safe_path+set}" = set; then :
   withval=$with_auto_load_safe_path; if test "$with_auto_load_safe_path" = "no"; then
-   with_auto_load_safe_path=""
+   with_auto_load_safe_path="/"
  fi
 else
   with_auto_load_safe_path="$prefix"
index b45c57d..ce7515b 100644 (file)
@@ -141,7 +141,7 @@ AC_ARG_WITH(auto-load-safe-path,
 AS_HELP_STRING([--with-auto-load-safe-path=PATH], [directories safe to hold auto-loaded files])
 AS_HELP_STRING([--without-auto-load-safe-path], [do not restrict auto-loaded files locations]),
 [if test "$with_auto_load_safe_path" = "no"; then
-   with_auto_load_safe_path=""
+   with_auto_load_safe_path="/"
  fi],
 [with_auto_load_safe_path="$prefix"])
 AC_DEFINE_DIR(DEFAULT_AUTO_LOAD_SAFE_PATH, with_auto_load_safe_path,
index 8dd273c..f6de7f6 100644 (file)
@@ -1,3 +1,9 @@
+2012-05-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * gdb.texinfo (Auto-loading safe path): Make 'directories'
+       for 'set auto-load safe-path' optional.  Mention if it is omitted.
+       Change disabling security protection condition to "/", twice.
+
 2012-05-03  Siva Chandra Reddy  <sivachandra@google.com>
 
        * gdb.texinfo (Symbol Tables In Python): Add documentation about
index 014b39b..ad9edac 100644 (file)
@@ -21219,9 +21219,12 @@ The list of trusted directories is controlled by the following commands:
 @table @code
 @anchor{set auto-load safe-path}
 @kindex set auto-load safe-path
-@item set auto-load safe-path @var{directories}
+@item set auto-load safe-path @r{[}@var{directories}@r{]}
 Set the list of directories (and their subdirectories) trusted for automatic
 loading and execution of scripts.  You can also enter a specific trusted file.
+If you omit @var{directories}, @samp{auto-load safe-path} will be reset to
+its default value as specified during @value{GDBN} compilation.
+
 The list of directories uses directory separator (@samp{:} on GNU and Unix
 systems, @samp{;} on MS-Windows and MS-DOS) to separate directories, similarly
 to the @env{PATH} environment variable.
@@ -21240,7 +21243,7 @@ loading and execution of scripts.  Multiple entries may be delimited by the
 host platform directory separator in use.
 @end table
 
-Setting this variable to an empty string disables this security protection.
+Setting this variable to @file{/} disables this security protection.
 This variable is supposed to be set to the system directories writable by the
 system superuser only.  Users can add their source directories in init files in
 their home directories (@pxref{Home Directory Init File}).  See also deprecated
@@ -21260,7 +21263,7 @@ by @samp{show auto-load safe-path} (such as @samp{/usr:/bin} in this example).
 Specify this directory as in the previous case but just for a single
 @value{GDBN} session.
 
-@item @kbd{gdb -iex "set auto-load safe-path" @dots{}}
+@item @kbd{gdb -iex "set auto-load safe-path /" @dots{}}
 Disable auto-loading safety for a single @value{GDBN} session.
 This assumes all the files you debug during this @value{GDBN} session will come
 from trusted sources.