=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/misc.c,v retrieving revision 1.132 retrieving revision 1.133 diff -u -r1.132 -r1.133 --- src/usr.bin/ssh/misc.c 2018/10/03 06:38:35 1.132 +++ src/usr.bin/ssh/misc.c 2018/10/05 14:26:09 1.133 @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.132 2018/10/03 06:38:35 djm Exp $ */ +/* $OpenBSD: misc.c,v 1.133 2018/10/05 14:26:09 naddy Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005,2006 Damien Miller. All rights reserved. @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -299,13 +300,16 @@ int a2port(const char *s) { + struct servent *se; long long port; const char *errstr; port = strtonum(s, 0, 65535, &errstr); - if (errstr != NULL) - return -1; - return (int)port; + if (errstr == NULL) + return (int)port; + if ((se = getservbyname(s, "tcp")) != NULL) + return ntohs(se->s_port); + return -1; } int