28 lines
1.1 KiB
Diff
28 lines
1.1 KiB
Diff
diff -up openssl-1.0.2a/apps/s_client.c.starttls openssl-1.0.2a/apps/s_client.c
|
|
--- openssl-1.0.2a/apps/s_client.c.starttls 2015-04-22 18:23:12.964387157 +0200
|
|
+++ openssl-1.0.2a/apps/s_client.c 2015-04-22 18:23:56.496414820 +0200
|
|
@@ -134,7 +134,8 @@
|
|
* OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR
|
|
* OTHERWISE.
|
|
*/
|
|
-
|
|
+/* for strcasestr */
|
|
+#define _GNU_SOURCE
|
|
#include <assert.h>
|
|
#include <ctype.h>
|
|
#include <stdio.h>
|
|
@@ -1626,8 +1627,11 @@ int MAIN(int argc, char **argv)
|
|
"xmlns='jabber:client' to='%s' version='1.0'>", host);
|
|
seen = BIO_read(sbio, mbuf, BUFSIZZ);
|
|
mbuf[seen] = 0;
|
|
- while (!strstr
|
|
- (mbuf, "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'")) {
|
|
+ while (!strcasestr
|
|
+ (mbuf, "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'")
|
|
+ && !strcasestr(mbuf,
|
|
+ "<starttls xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\""))
|
|
+ {
|
|
if (strstr(mbuf, "/stream:features>"))
|
|
goto shut;
|
|
seen = BIO_read(sbio, mbuf, BUFSIZZ);
|