--- /dev/null
+
+# HG changeset patch
+# User Vinay Sajip <vinay_sajip@yahoo.co.uk>
+# Date 1366621660 -3600
+# Node ID d037847137866e850abc5b8e4136ca60404dcfcb
+# Parent 9df9931fae96ab5f1cd2e516f065dccb9c061c18
+Issue #17795: Reverted backwards-incompatible change in SysLogHandler with Unix domain sockets.
+
+diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
+--- a/Lib/logging/handlers.py
++++ b/Lib/logging/handlers.py
+@@ -1,4 +1,4 @@
+-# Copyright 2001-2012 by Vinay Sajip. All Rights Reserved.
++# Copyright 2001-2013 by Vinay Sajip. All Rights Reserved.
+ #
+ # Permission to use, copy, modify, and distribute this software and its
+ # documentation for any purpose and without fee is hereby granted,
+@@ -18,7 +18,7 @@
+ Additional handlers for the logging package for Python. The core package is
+ based on PEP 282 and comments thereto in comp.lang.python.
+
+-Copyright (C) 2001-2012 Vinay Sajip. All Rights Reserved.
++Copyright (C) 2001-2013 Vinay Sajip. All Rights Reserved.
+
+ To use, simply 'import logging.handlers' and log away!
+ """
+@@ -767,7 +767,7 @@ class SysLogHandler(logging.Handler):
+ }
+
+ def __init__(self, address=('localhost', SYSLOG_UDP_PORT),
+- facility=LOG_USER, socktype=socket.SOCK_DGRAM):
++ facility=LOG_USER, socktype=None):
+ """
+ Initialize a handler.
+
+@@ -786,18 +786,37 @@ class SysLogHandler(logging.Handler):
+ self._connect_unixsocket(address)
+ else:
+ self.unixsocket = False
++ if socktype is None:
++ socktype = socket.SOCK_DGRAM
+ self.socket = socket.socket(socket.AF_INET, socktype)
+ if socktype == socket.SOCK_STREAM:
+ self.socket.connect(address)
++ self.socktype = socktype
+ self.formatter = None
+
+ def _connect_unixsocket(self, address):
+- self.socket = socket.socket(socket.AF_UNIX, self.socktype)
++ use_socktype = self.socktype
++ if use_socktype is None:
++ use_socktype = socket.SOCK_DGRAM
++ self.socket = socket.socket(socket.AF_UNIX, use_socktype)
+ try:
+ self.socket.connect(address)
++ # it worked, so set self.socktype to the used type
++ self.socktype = use_socktype
+ except socket.error:
+ self.socket.close()
+- raise
++ if self.socktype is not None:
++ # user didn't specify falling back, so fail
++ raise
++ use_socktype = socket.SOCK_STREAM
++ self.socket = socket.socket(socket.AF_UNIX, use_socktype)
++ try:
++ self.socket.connect(address)
++ # it worked, so set self.socktype to the used type
++ self.socktype = use_socktype
++ except socket.error:
++ self.socket.close()
++ raise
+
+ def encodePriority(self, facility, priority):
+ """
+diff --git a/Misc/NEWS b/Misc/NEWS
+--- a/Misc/NEWS
++++ b/Misc/NEWS
+@@ -15,6 +15,9 @@
+ Library
+ -------
+
++- Issue #17795: Reverted backwards-incompatible change in SysLogHandler with
++ Unix domain sockets.
++
+ - Issue #17625: In IDLE, close the replace dialog after it is used.
+
+