[misc.c ssh_config.5 sshd_config.5]
     Allow config directives to contain whitespace by surrounding them by double
     quotes.  mindrot #482, man page help from jmc@, ok djm@
This commit is contained in:
Damien Miller 2006-03-15 12:05:59 +11:00
parent 8056a9d46a
commit 306d118f72
4 changed files with 28 additions and 5 deletions

View File

@ -220,6 +220,10 @@
Make ssh-keygen handle CR and CRLF line termination when converting IETF Make ssh-keygen handle CR and CRLF line termination when converting IETF
format keys, in adition to vanilla LF. mindrot #1157, tested by Chris format keys, in adition to vanilla LF. mindrot #1157, tested by Chris
Pepper, ok djm@ Pepper, ok djm@
- dtucker@cvs.openbsd.org 2006/03/13 10:14:29
[misc.c ssh_config.5 sshd_config.5]
Allow config directives to contain whitespace by surrounding them by double
quotes. mindrot #482, man page help from jmc@, ok djm@
20060313 20060313
- (dtucker) [configure.ac] Bug #1171: Don't use printf("%lld", longlong) - (dtucker) [configure.ac] Bug #1171: Don't use printf("%lld", longlong)
@ -4121,4 +4125,4 @@
- (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Trim deprecated options from INSTALL. Mention UsePAM
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
$Id: ChangeLog,v 1.4202 2006/03/15 01:05:40 djm Exp $ $Id: ChangeLog,v 1.4203 2006/03/15 01:05:59 djm Exp $

17
misc.c
View File

@ -24,7 +24,7 @@
*/ */
#include "includes.h" #include "includes.h"
RCSID("$OpenBSD: misc.c,v 1.45 2006/02/10 00:27:13 stevesk Exp $"); RCSID("$OpenBSD: misc.c,v 1.46 2006/03/13 10:14:29 dtucker Exp $");
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include <netinet/tcp.h> #include <netinet/tcp.h>
@ -128,6 +128,7 @@ set_nodelay(int fd)
/* Characters considered whitespace in strsep calls. */ /* Characters considered whitespace in strsep calls. */
#define WHITESPACE " \t\r\n" #define WHITESPACE " \t\r\n"
#define QUOTE "\""
/* return next token in configuration line */ /* return next token in configuration line */
char * char *
@ -141,15 +142,27 @@ strdelim(char **s)
old = *s; old = *s;
*s = strpbrk(*s, WHITESPACE "="); *s = strpbrk(*s, WHITESPACE QUOTE "=");
if (*s == NULL) if (*s == NULL)
return (old); return (old);
if (*s[0] == '\"') {
memmove(*s, *s + 1, strlen(*s)); /* move nul too */
/* Find matching quote */
if ((*s = strpbrk(*s, QUOTE)) == NULL) {
return (NULL); /* no matching quote */
} else {
*s[0] = '\0';
return (old);
}
}
/* Allow only one '=' to be skipped */ /* Allow only one '=' to be skipped */
if (*s[0] == '=') if (*s[0] == '=')
wspace = 1; wspace = 1;
*s[0] = '\0'; *s[0] = '\0';
/* Skip any extra whitespace after first token */
*s += strspn(*s + 1, WHITESPACE) + 1; *s += strspn(*s + 1, WHITESPACE) + 1;
if (*s[0] == '=' && !wspace) if (*s[0] == '=' && !wspace)
*s += strspn(*s + 1, WHITESPACE) + 1; *s += strspn(*s + 1, WHITESPACE) + 1;

View File

@ -34,7 +34,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" .\"
.\" $OpenBSD: ssh_config.5,v 1.87 2006/02/26 18:03:10 jmc Exp $ .\" $OpenBSD: ssh_config.5,v 1.88 2006/03/13 10:14:29 dtucker Exp $
.Dd September 25, 1999 .Dd September 25, 1999
.Dt SSH_CONFIG 5 .Dt SSH_CONFIG 5
.Os .Os
@ -92,6 +92,9 @@ and
.Nm sftp .Nm sftp
.Fl o .Fl o
option. option.
Arguments may optionally be enclosed in double quotes
.Pq \&"
in order to represent arguments containing spaces.
.Pp .Pp
The possible The possible
keywords and their meanings are as follows (note that keywords and their meanings are as follows (note that

View File

@ -34,7 +34,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" .\"
.\" $OpenBSD: sshd_config.5,v 1.55 2006/02/26 18:01:13 jmc Exp $ .\" $OpenBSD: sshd_config.5,v 1.56 2006/03/13 10:14:29 dtucker Exp $
.Dd September 25, 1999 .Dd September 25, 1999
.Dt SSHD_CONFIG 5 .Dt SSHD_CONFIG 5
.Os .Os
@ -56,6 +56,9 @@ The file contains keyword-argument pairs, one per line.
Lines starting with Lines starting with
.Ql # .Ql #
and empty lines are interpreted as comments. and empty lines are interpreted as comments.
Arguments may optionally be enclosed in double quotes
.Pq \&"
in order to represent arguments containing spaces.
.Pp .Pp
The possible The possible
keywords and their meanings are as follows (note that keywords and their meanings are as follows (note that