Don't crash on listen unix: (#4259)

Fixes #4225.

* don't crash on listen unix:

* correctly merge #4221
This commit is contained in:
Erica Portnoy 2017-02-27 13:35:29 -08:00 committed by Brad Warren
parent 7d02e129f9
commit e5909d379c
2 changed files with 10 additions and 3 deletions

View file

@ -586,9 +586,10 @@ def _parse_server_raw(server):
continue
if directive[0] == 'listen':
addr = obj.Addr.fromstring(directive[1])
parsed_server['addrs'].add(addr)
if addr.ssl:
parsed_server['ssl'] = True
if addr:
parsed_server['addrs'].add(addr)
if addr.ssl:
parsed_server['ssl'] = True
elif directive[0] == 'server_name':
parsed_server['names'].update(
_get_servernames(directive[1]))

View file

@ -323,6 +323,12 @@ class NginxParserTest(util.NginxTest):
])
self.assertTrue(server['ssl'])
def test_parse_server_raw_unix(self):
server = parser._parse_server_raw([ #pylint: disable=protected-access
['listen', 'unix:/var/run/nginx.sock']
])
self.assertEqual(len(server['addrs']), 0)
def test_parse_server_global_ssl_applied(self):
nparser = parser.NginxParser(self.config_path, self.ssl_options)
server = nparser.parse_server([