summaryrefslogtreecommitdiffstats
path: root/sshuttle/ssyslog.py
blob: 630c00e9466e13c13c418f595c9d6cfea3e1e8cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import sys
import os
import subprocess as ssubprocess


_p = None


def start_syslog():
    global _p
    with open(os.devnull, 'w') as devnull:
        _p = ssubprocess.Popen(
            ['logger', '-p', 'daemon.notice', '-t', 'sshuttle'],
            stdin=ssubprocess.PIPE,
            stdout=devnull,
            stderr=devnull
        )


def close_stdin():
    sys.stdin.close()


def stdout_to_syslog():
    sys.stdout.flush()
    os.dup2(_p.stdin.fileno(), sys.stdout.fileno())


def stderr_to_syslog():
    sys.stderr.flush()
    os.dup2(_p.stdin.fileno(), sys.stderr.fileno())