RT3742: Add xmpp_server to s_client.

Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
Kai Engert 2015-07-29 17:41:00 -04:00 committed by Rich Salz
parent be0c03618a
commit 898ea7b855
2 changed files with 11 additions and 5 deletions

View File

@ -513,7 +513,8 @@ OPTIONS s_client_options[] = {
{"tls1", OPT_TLS1, '-', "Just use TLSv1"}, {"tls1", OPT_TLS1, '-', "Just use TLSv1"},
{"starttls", OPT_STARTTLS, 's', {"starttls", OPT_STARTTLS, 's',
"Use the STARTTLS command before starting TLS"}, "Use the STARTTLS command before starting TLS"},
{"xmpphost", OPT_XMPPHOST, 's', "Host to use with \"-starttls xmpp\""}, {"xmpphost", OPT_XMPPHOST, 's',
"Host to use with \"-starttls xmpp[-server]\""},
{"rand", OPT_RAND, 's', {"rand", OPT_RAND, 's',
"Load the file(s) into the random number generator"}, "Load the file(s) into the random number generator"},
{"sess_out", OPT_SESS_OUT, '>', "File to write SSL session to"}, {"sess_out", OPT_SESS_OUT, '>', "File to write SSL session to"},
@ -608,6 +609,7 @@ typedef enum PROTOCOL_choice {
PROTO_FTP, PROTO_FTP,
PROTO_TELNET, PROTO_TELNET,
PROTO_XMPP, PROTO_XMPP,
PROTO_XMPP_SERVER,
PROTO_CONNECT PROTO_CONNECT
} PROTOCOL_CHOICE; } PROTOCOL_CHOICE;
@ -617,6 +619,7 @@ static OPT_PAIR services[] = {
{"imap", PROTO_IMAP}, {"imap", PROTO_IMAP},
{"ftp", PROTO_FTP}, {"ftp", PROTO_FTP},
{"xmpp", PROTO_XMPP}, {"xmpp", PROTO_XMPP},
{"xmpp-server", PROTO_XMPP_SERVER},
{"telnet", PROTO_TELNET}, {"telnet", PROTO_TELNET},
{NULL} {NULL}
}; };
@ -1548,11 +1551,13 @@ int s_client_main(int argc, char **argv)
} }
break; break;
case PROTO_XMPP: case PROTO_XMPP:
case PROTO_XMPP_SERVER:
{ {
int seen = 0; int seen = 0;
BIO_printf(sbio, "<stream:stream " BIO_printf(sbio, "<stream:stream "
"xmlns:stream='http://etherx.jabber.org/streams' " "xmlns:stream='http://etherx.jabber.org/streams' "
"xmlns='jabber:client' to='%s' version='1.0'>", "xmlns='jabber:%s' to='%s' version='1.0'>",
starttls_proto == PROTO_XMPP ? "client" : "server",
xmpphost ? xmpphost : host); xmpphost ? xmpphost : host);
seen = BIO_read(sbio, mbuf, BUFSIZZ); seen = BIO_read(sbio, mbuf, BUFSIZZ);
mbuf[seen] = 0; mbuf[seen] = 0;

View File

@ -288,12 +288,13 @@ command for more information.
send the protocol-specific message(s) to switch to TLS for communication. send the protocol-specific message(s) to switch to TLS for communication.
B<protocol> is a keyword for the intended protocol. Currently, the only B<protocol> is a keyword for the intended protocol. Currently, the only
supported keywords are "smtp", "pop3", "imap", "ftp" and "xmpp". supported keywords are "smtp", "pop3", "imap", "ftp", "xmpp",
and "xmpp-server".
=item B<-xmpphost hostname> =item B<-xmpphost hostname>
This option, when used with "-starttls xmpp", specifies the host for the This option, when used with "-starttls xmpp" or "-starttls xmpp-server",
"to" attribute of the stream element. specifies the host for the "to" attribute of the stream element.
If this option is not specified, then the host specified with "-connect" If this option is not specified, then the host specified with "-connect"
will be used. will be used.