1. 19 Jan, 2012 2 commits
  2. 18 Jan, 2012 4 commits
  3. 17 Jan, 2012 2 commits
  4. 13 Jan, 2012 6 commits
  5. 11 Jan, 2012 1 commit
  6. 09 Jan, 2012 3 commits
  7. 28 Dec, 2011 1 commit
  8. 21 Dec, 2011 3 commits
  9. 20 Dec, 2011 1 commit
  10. 19 Dec, 2011 1 commit
  11. 17 Dec, 2011 3 commits
    • Morris Jette's avatar
      Note recent code changes · f455c48a
      Morris Jette authored
      f455c48a
    • Mark A. Grondona's avatar
      env import: clean up bracket count code · 9e0c20c6
      Mark A. Grondona authored
      When importing an exported shell function, the bracket count
      code didn't handle negative return value from _bracket_cnt(),
      so a shell function (or a shell variable starting with '(')
      would loop until the end of the env output.
      
      Since the test for no open bracket wasn't handled anyway, remove
      this and clean up _bracket_cnt() code (which now returns negative
      if there are more closing than opening brackets).
      
      Also, remove the unneded local integer bracket_cnt from the while
      loops and only continue processing while the bracket tally is > 0.
      
      Note: There are still many unhandled corner cases in this code.
      9e0c20c6
    • Mark A. Grondona's avatar
      env: fix shell function import · 013ac790
      Mark A. Grondona authored
      src/common/env.c:env_array_user_default() tries to import a "default"
      user environment by parsing the output of something like
      
       su - <user> -c "/bin/env" ( or "slurmstepd getenv")
      
      (or an equivalent) when the job is run with --get-user-env. There is some
      code that tries to detect and import exported bash shell functions, which
      usually have the form
      
       func=() { ...
       }
      
      into the job environment. However, one of the many problems with the
      code is that the test for bounds overflow:
      
                    if ((strlen(value) + strlen(line)) >
                        (sizeof(value) - 1))
                           break;
      
      useis sizeof(value) and value is a char *. This means that all multiline
      shell functions are truncated, and the following error appears in
      users batch script output:
      
       /bin/sh: func: line 1: syntax error: unexpected end of file
       /bin/sh: error importing function definition for `func'
      
      This patch fixes the bounds test.
      
      Similar cut-and-paste code in _load_env_cache() was also fixed.
      
      However, it should be noted that there are many other potential cases
      where shell functions will not be properly imported by this code.
      (For example, quoted unbalanced brackets used in the function)
      Someday this should be fixed.
      013ac790
  12. 15 Dec, 2011 1 commit
  13. 14 Dec, 2011 4 commits
  14. 09 Dec, 2011 6 commits
  15. 08 Dec, 2011 2 commits