merge changelog
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
commit
4faad3926b
5 changed files with 22 additions and 5 deletions
|
@ -5,6 +5,7 @@ Changelog
|
||||||
* Exception: No braces means author == Nico Schottelius
|
* Exception: No braces means author == Nico Schottelius
|
||||||
|
|
||||||
2.0.11:
|
2.0.11:
|
||||||
|
* Fix insecure file/directory creation: Use umask 077
|
||||||
* Add support for --remote-exec and --remote-copy parameters
|
* Add support for --remote-exec and --remote-copy parameters
|
||||||
|
|
||||||
2.0.10: 2012-05-18
|
2.0.10: 2012-05-18
|
||||||
|
|
|
@ -9,6 +9,8 @@ CORE
|
||||||
- document and add paremeters for remote-copy and remote-exec!
|
- document and add paremeters for remote-copy and remote-exec!
|
||||||
- remove hack, make a feature of it
|
- remove hack, make a feature of it
|
||||||
|
|
||||||
|
- remove var=foo calls on remote side. Use -o SendEnv (yeah, see ssh_config(5))
|
||||||
|
|
||||||
TESTS
|
TESTS
|
||||||
-----
|
-----
|
||||||
- multiple defines of object:
|
- multiple defines of object:
|
||||||
|
|
|
@ -19,7 +19,17 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
VERSION = "2.0.10"
|
import os
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(os.devnull, 'w') as devnull:
|
||||||
|
here = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
VERSION = subprocess.check_output(
|
||||||
|
'cd "%s" && git describe' % here,
|
||||||
|
stderr=devnull, shell=True).decode('utf-8')
|
||||||
|
except:
|
||||||
|
VERSION = "2.0.10"
|
||||||
|
|
||||||
BANNER = """
|
BANNER = """
|
||||||
.. . .x+=:. s
|
.. . .x+=:. s
|
||||||
|
@ -38,8 +48,6 @@ BANNER = """
|
||||||
DOT_CDIST = ".cdist"
|
DOT_CDIST = ".cdist"
|
||||||
|
|
||||||
|
|
||||||
import os
|
|
||||||
|
|
||||||
class Error(Exception):
|
class Error(Exception):
|
||||||
"""Base exception class for this project"""
|
"""Base exception class for this project"""
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -60,6 +60,9 @@ class Local(object):
|
||||||
|
|
||||||
self.log = logging.getLogger(self.target_host)
|
self.log = logging.getLogger(self.target_host)
|
||||||
|
|
||||||
|
# Setup file permissions using umask
|
||||||
|
os.umask(0o077)
|
||||||
|
|
||||||
def create_directories(self):
|
def create_directories(self):
|
||||||
self.mkdir(self.out_path)
|
self.mkdir(self.out_path)
|
||||||
self.mkdir(self.global_explorer_out_path)
|
self.mkdir(self.global_explorer_out_path)
|
||||||
|
@ -73,8 +76,7 @@ class Local(object):
|
||||||
def mkdir(self, path):
|
def mkdir(self, path):
|
||||||
"""Create directory on the local side."""
|
"""Create directory on the local side."""
|
||||||
self.log.debug("Local mkdir: %s", path)
|
self.log.debug("Local mkdir: %s", path)
|
||||||
# FIXME: dont set mode here, fix unittest mkdtemp instead
|
os.makedirs(path, exist_ok=True)
|
||||||
os.makedirs(path, mode=0o700, exist_ok=True)
|
|
||||||
|
|
||||||
def run(self, command, env=None, return_output=False):
|
def run(self, command, env=None, return_output=False):
|
||||||
"""Run the given command with the given environment.
|
"""Run the given command with the given environment.
|
||||||
|
|
|
@ -105,6 +105,10 @@ class Remote(object):
|
||||||
cmd = self._exec.split()
|
cmd = self._exec.split()
|
||||||
cmd.append(self.target_host)
|
cmd.append(self.target_host)
|
||||||
|
|
||||||
|
# Always call umask before actual call to ensure proper file permissions
|
||||||
|
cmd.append("umask 077;")
|
||||||
|
|
||||||
|
# FIXME: replace this by -o SendEnv name -o SendEnv name ... to ssh?
|
||||||
# can't pass environment to remote side, so prepend command with
|
# can't pass environment to remote side, so prepend command with
|
||||||
# variable declarations
|
# variable declarations
|
||||||
if env:
|
if env:
|
||||||
|
|
Loading…
Reference in a new issue