agent: handle connection errors

nistp521
Roman Zeyde 8 years ago
parent 602e867c7d
commit 092445af71

@ -1,5 +1,6 @@
"""SSH-agent implementation using hardware authentication devices."""
import argparse
import functools
import logging
import os
import re
@ -115,6 +116,19 @@ def run_server(conn, public_key, command, debug, timeout):
log.info('server stopped')
def handle_connection_error(func):
"""Fail with non-zero exit code."""
@functools.wraps(func)
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except IOError as e:
log.error('Connection error: %s', e)
return 1
return wrapper
@handle_connection_error
def run_agent(client_factory=client.Client):
"""Run ssh-agent using given hardware client factory."""
args = create_agent_parser().parse_args()
@ -143,6 +157,7 @@ def run_agent(client_factory=client.Client):
debug=args.debug, timeout=args.timeout)
@handle_connection_error
def run_git(client_factory=client.Client):
"""Run git under ssh-agent using given hardware client factory."""
args = create_git_parser().parse_args()

Loading…
Cancel
Save