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 4542e84f7bbe85aeffc43a8d2ec81c854f62ec4a..480fd0da75b46f9e97cdcdedf40ac4b26dc929bd 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 187e8520f9a72725800cc6a2488044282d3aa09a..9d4d0bcb9cccf33779029b9392501a70672a5ffc 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 12260dea3be0e19057e34f355aa0ffef235b05eb..c1775b7cf278acb8e1fa0ccca0e9a456ee5ecc8e 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 b45c57d72024a156cfa1d53eda4f6b6c5f854557..ce7515b195c39613fa837c15f442c1500351d65b 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 8dd273c0615b2e665f8c45d8056c8709f2a58e1b..f6de7f61cf2601d9198512adc382d6c11f9582f0 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 014b39b9d7bca3cdc71da65ac300ec0629b2916e..ad9edaca89d5c2a8e3b6039c1919d73cdba78fb4 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.