<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[openSSL - Server und Client Problem]]></title><description><![CDATA[<p>Hallo,<br />
ich beschäftige mich z.Z. mit openSSL kriege leider aber immer einen Fehler:<br />
Stack around 'buf' was corrupted. Warum?</p>
<p>Client( hier tritt der Fehler auf )</p>
<pre><code class="language-cpp">#define _CRT_SECURE_NO_DEPRECATE

#include &lt;stdio.h&gt;
#include &lt;winsock2.h&gt;

#include &lt;openssl/crypto.h&gt;
#include &lt;openssl/x509.h&gt;
#include &lt;openssl/pem.h&gt;
#include &lt;openssl/ssl.h&gt;
#include &lt;openssl/err.h&gt;

#define MAXHOSTNAMELEN 100

int startWinsock();

int main ()
{
	startWinsock();

        struct sockaddr_in host_addr;
        int size;
        int s;
        struct hostent *host;
        char hostname[MAXHOSTNAMELEN];
        char buf[1000];
        char request[1000];

        SSL_CTX *ctx;
        SSL *ssl;
        int err;

        printf(&quot;\nEnter Hostname: &quot;);
        scanf(&quot;%s&quot;, &amp;hostname);
        host = gethostbyname(hostname);
        if (host == NULL) {
                fprintf(stderr, &quot;Unknown Host %s\n&quot;, hostname);
                return -1;
        }
        fflush(stdout);
        s = socket(PF_INET, SOCK_STREAM, 0);
        if (s &lt; 0) {
                fprintf(stderr, &quot;Socket Error\n&quot;);
                return -1;
        }
        host_addr.sin_family = AF_INET;
        host_addr.sin_addr = *((struct in_addr *)host-&gt;h_addr);
        host_addr.sin_port = htons(334);
        if (connect(s, (struct sockaddr *)&amp;host_addr, sizeof(host_addr)) == -1) {
                closesocket(s);
                fprintf(stderr, &quot;Connection Error\n&quot;);
                return -1;
        }
        SSL_load_error_strings();
        SSL_library_init();
        ctx=SSL_CTX_new(SSLv23_client_method());
        ssl=SSL_new(ctx);
        if(!ssl) {
                closesocket(s);
                fprintf(stderr, &quot;SSL creation error\n&quot;);
                return -1;
        }
        SSL_set_fd(ssl, s);
        err=SSL_connect(ssl);
        if(!err) {
                closesocket(s);
                fprintf(stderr, &quot;SSL connect error\nretval: %d\n&quot;, err);
                err=SSL_get_error(ssl, err);
                fprintf(stderr, &quot;SSL error: %d\n&quot;, err);
                return -1;
        }
        sprintf( request,&quot;Hallo, Welt!\r\n&quot; );
        err=SSL_write(ssl, request, strlen(request));
        if(!err) {
                closesocket(s);
                fprintf(stderr, &quot;SSL write error\n&quot;);
                return -1;
        }

        while(1) 
		{
                int read_size = -1;
                read_size=SSL_read(ssl, buf, sizeof(buf)-1);
                buf[read_size]='\0';
                if (read_size &gt; 0) {
                        printf(&quot;Getting %d Bytes of Data\nData: %s\n&quot;, read_size, buf);
                } else {
                        break;
                }
        }

        SSL_shutdown(ssl);
        SSL_free(ssl);
        SSL_CTX_free(ctx);
        fflush(stdout);
        closesocket(s);
        return 0;
}

int startWinsock()
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&amp;wsa);
}
</code></pre>
<p>Server( hier tritt der Fehler nur auf, wenn man das Kommentar wieder entfernt )</p>
<pre><code class="language-cpp">#define _CRT_SECURE_NO_DEPRECATE

#include &lt;windows.h&gt;
#include &lt;winsock.h&gt;
#include &lt;stdio.h&gt;

#include &lt;openssl/crypto.h&gt;
#include &lt;openssl/x509.h&gt;
#include &lt;openssl/pem.h&gt;
#include &lt;openssl/ssl.h&gt;
#include &lt;openssl/err.h&gt;

//Prototypen
int startWinsock(void);

int main()
{
  long rc;
  SOCKET acceptSocket;
  SOCKET connectedSocket = NULL;
  SOCKADDR_IN addr;
  char buf[1000];
  char buf2[1000];

  SSL_CTX *ctx;
  SSL *ssl;
  int err;

  // Winsock starten
  rc=startWinsock();
  if(rc!=0)
  {
    printf(&quot;Fehler: startWinsock, fehler code: %d\n&quot;,rc);
    return 1;
  }
  else
  {
    printf(&quot;Winsock gestartet!\n&quot;);
  }

  // Socket erstellen
  acceptSocket=socket(AF_INET,SOCK_STREAM,0);
  if(acceptSocket==INVALID_SOCKET)
  {
    printf(&quot;Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Socket erstellt!\n&quot;);
  }

  // Socket binden
  memset(&amp;addr,0,sizeof(SOCKADDR_IN));
  addr.sin_family=AF_INET;
  addr.sin_port=htons(334);
  addr.sin_addr.s_addr=INADDR_ANY;
  rc=bind(acceptSocket,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR_IN));
  if(rc==SOCKET_ERROR)
  {
    printf(&quot;Fehler: bind, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Socket an port gebunden\n&quot;);
  }

  // In den listen Modus
  rc=listen(acceptSocket,10);
  if(rc==SOCKET_ERROR)
  {
    printf(&quot;Fehler: listen, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;acceptSocket ist im listen Modus....\n&quot;);
  }

  // Verbindung annehmen
  connectedSocket=accept(acceptSocket,NULL,NULL);
  if(connectedSocket==INVALID_SOCKET)
  {
    printf(&quot;Fehler: accept, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Neue Verbindung wurde akzeptiert!\n&quot;);
  }

  SSL_load_error_strings();
        SSL_library_init();
        ctx=SSL_CTX_new(SSLv23_server_method());
        ssl=SSL_new(ctx);
        if(!ssl) {
                closesocket(connectedSocket);
                fprintf(stderr, &quot;SSL creation error\n&quot;);
                return -1;
        }
        SSL_set_fd(ssl, connectedSocket);
		err=SSL_accept(ssl);
        if(!err) {
                closesocket(connectedSocket);
                fprintf(stderr, &quot;SSL accept error\nretval: %d\n&quot;, err);
                err=SSL_get_error(ssl, err);
                fprintf(stderr, &quot;SSL error: %d\n&quot;, err);
                return -1;
        }

  // Daten austauschen
  while(1)
  {
	  sprintf( buf, &quot;&quot; );
	  sprintf( buf2, &quot;&quot; );

	  /*
	  int read_size = -1;
                read_size=SSL_read(ssl, buf, sizeof(buf)-1);
                buf[read_size]='\0';
                if (read_size &gt; 0) {
                        printf(&quot;Getting %d Bytes of Data\nData: %s\n&quot;, read_size, buf);
                } else {
                        break;
                }
				*/

		sprintf( buf2,&quot;Du mich auch %s\r\n&quot;, &quot;x&quot; );
        err=SSL_write(ssl, buf2, strlen(buf2));
        if(!err) {
                closesocket(connectedSocket);
                fprintf(stderr, &quot;SSL write error\n&quot;);
                return -1;
        }
  }
  SSL_shutdown(ssl);
  SSL_free(ssl);
  SSL_CTX_free(ctx);
  fflush(stdout);
  closesocket(acceptSocket);
  closesocket(connectedSocket);
  WSACleanup();
  return 0;
}

int startWinsock(void)
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&amp;wsa);
}
</code></pre>
<p>Ich weiß das der Code hässlich aussieht, aber bevor ich was ordentliches mache wollte ichs erstmal ans Laufen kriegen. Wo liegt also der Fehler? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke im Voraus<br />
Nappppp</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/185437/openssl-server-und-client-problem</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 23:05:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/185437.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 25 Jun 2007 15:57:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Mon, 25 Jun 2007 15:57:06 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich beschäftige mich z.Z. mit openSSL kriege leider aber immer einen Fehler:<br />
Stack around 'buf' was corrupted. Warum?</p>
<p>Client( hier tritt der Fehler auf )</p>
<pre><code class="language-cpp">#define _CRT_SECURE_NO_DEPRECATE

#include &lt;stdio.h&gt;
#include &lt;winsock2.h&gt;

#include &lt;openssl/crypto.h&gt;
#include &lt;openssl/x509.h&gt;
#include &lt;openssl/pem.h&gt;
#include &lt;openssl/ssl.h&gt;
#include &lt;openssl/err.h&gt;

#define MAXHOSTNAMELEN 100

int startWinsock();

int main ()
{
	startWinsock();

        struct sockaddr_in host_addr;
        int size;
        int s;
        struct hostent *host;
        char hostname[MAXHOSTNAMELEN];
        char buf[1000];
        char request[1000];

        SSL_CTX *ctx;
        SSL *ssl;
        int err;

        printf(&quot;\nEnter Hostname: &quot;);
        scanf(&quot;%s&quot;, &amp;hostname);
        host = gethostbyname(hostname);
        if (host == NULL) {
                fprintf(stderr, &quot;Unknown Host %s\n&quot;, hostname);
                return -1;
        }
        fflush(stdout);
        s = socket(PF_INET, SOCK_STREAM, 0);
        if (s &lt; 0) {
                fprintf(stderr, &quot;Socket Error\n&quot;);
                return -1;
        }
        host_addr.sin_family = AF_INET;
        host_addr.sin_addr = *((struct in_addr *)host-&gt;h_addr);
        host_addr.sin_port = htons(334);
        if (connect(s, (struct sockaddr *)&amp;host_addr, sizeof(host_addr)) == -1) {
                closesocket(s);
                fprintf(stderr, &quot;Connection Error\n&quot;);
                return -1;
        }
        SSL_load_error_strings();
        SSL_library_init();
        ctx=SSL_CTX_new(SSLv23_client_method());
        ssl=SSL_new(ctx);
        if(!ssl) {
                closesocket(s);
                fprintf(stderr, &quot;SSL creation error\n&quot;);
                return -1;
        }
        SSL_set_fd(ssl, s);
        err=SSL_connect(ssl);
        if(!err) {
                closesocket(s);
                fprintf(stderr, &quot;SSL connect error\nretval: %d\n&quot;, err);
                err=SSL_get_error(ssl, err);
                fprintf(stderr, &quot;SSL error: %d\n&quot;, err);
                return -1;
        }
        sprintf( request,&quot;Hallo, Welt!\r\n&quot; );
        err=SSL_write(ssl, request, strlen(request));
        if(!err) {
                closesocket(s);
                fprintf(stderr, &quot;SSL write error\n&quot;);
                return -1;
        }

        while(1) 
		{
                int read_size = -1;
                read_size=SSL_read(ssl, buf, sizeof(buf)-1);
                buf[read_size]='\0';
                if (read_size &gt; 0) {
                        printf(&quot;Getting %d Bytes of Data\nData: %s\n&quot;, read_size, buf);
                } else {
                        break;
                }
        }

        SSL_shutdown(ssl);
        SSL_free(ssl);
        SSL_CTX_free(ctx);
        fflush(stdout);
        closesocket(s);
        return 0;
}

int startWinsock()
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&amp;wsa);
}
</code></pre>
<p>Server( hier tritt der Fehler nur auf, wenn man das Kommentar wieder entfernt )</p>
<pre><code class="language-cpp">#define _CRT_SECURE_NO_DEPRECATE

#include &lt;windows.h&gt;
#include &lt;winsock.h&gt;
#include &lt;stdio.h&gt;

#include &lt;openssl/crypto.h&gt;
#include &lt;openssl/x509.h&gt;
#include &lt;openssl/pem.h&gt;
#include &lt;openssl/ssl.h&gt;
#include &lt;openssl/err.h&gt;

//Prototypen
int startWinsock(void);

int main()
{
  long rc;
  SOCKET acceptSocket;
  SOCKET connectedSocket = NULL;
  SOCKADDR_IN addr;
  char buf[1000];
  char buf2[1000];

  SSL_CTX *ctx;
  SSL *ssl;
  int err;

  // Winsock starten
  rc=startWinsock();
  if(rc!=0)
  {
    printf(&quot;Fehler: startWinsock, fehler code: %d\n&quot;,rc);
    return 1;
  }
  else
  {
    printf(&quot;Winsock gestartet!\n&quot;);
  }

  // Socket erstellen
  acceptSocket=socket(AF_INET,SOCK_STREAM,0);
  if(acceptSocket==INVALID_SOCKET)
  {
    printf(&quot;Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Socket erstellt!\n&quot;);
  }

  // Socket binden
  memset(&amp;addr,0,sizeof(SOCKADDR_IN));
  addr.sin_family=AF_INET;
  addr.sin_port=htons(334);
  addr.sin_addr.s_addr=INADDR_ANY;
  rc=bind(acceptSocket,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR_IN));
  if(rc==SOCKET_ERROR)
  {
    printf(&quot;Fehler: bind, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Socket an port gebunden\n&quot;);
  }

  // In den listen Modus
  rc=listen(acceptSocket,10);
  if(rc==SOCKET_ERROR)
  {
    printf(&quot;Fehler: listen, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;acceptSocket ist im listen Modus....\n&quot;);
  }

  // Verbindung annehmen
  connectedSocket=accept(acceptSocket,NULL,NULL);
  if(connectedSocket==INVALID_SOCKET)
  {
    printf(&quot;Fehler: accept, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Neue Verbindung wurde akzeptiert!\n&quot;);
  }

  SSL_load_error_strings();
        SSL_library_init();
        ctx=SSL_CTX_new(SSLv23_server_method());
        ssl=SSL_new(ctx);
        if(!ssl) {
                closesocket(connectedSocket);
                fprintf(stderr, &quot;SSL creation error\n&quot;);
                return -1;
        }
        SSL_set_fd(ssl, connectedSocket);
		err=SSL_accept(ssl);
        if(!err) {
                closesocket(connectedSocket);
                fprintf(stderr, &quot;SSL accept error\nretval: %d\n&quot;, err);
                err=SSL_get_error(ssl, err);
                fprintf(stderr, &quot;SSL error: %d\n&quot;, err);
                return -1;
        }

  // Daten austauschen
  while(1)
  {
	  sprintf( buf, &quot;&quot; );
	  sprintf( buf2, &quot;&quot; );

	  /*
	  int read_size = -1;
                read_size=SSL_read(ssl, buf, sizeof(buf)-1);
                buf[read_size]='\0';
                if (read_size &gt; 0) {
                        printf(&quot;Getting %d Bytes of Data\nData: %s\n&quot;, read_size, buf);
                } else {
                        break;
                }
				*/

		sprintf( buf2,&quot;Du mich auch %s\r\n&quot;, &quot;x&quot; );
        err=SSL_write(ssl, buf2, strlen(buf2));
        if(!err) {
                closesocket(connectedSocket);
                fprintf(stderr, &quot;SSL write error\n&quot;);
                return -1;
        }
  }
  SSL_shutdown(ssl);
  SSL_free(ssl);
  SSL_CTX_free(ctx);
  fflush(stdout);
  closesocket(acceptSocket);
  closesocket(connectedSocket);
  WSACleanup();
  return 0;
}

int startWinsock(void)
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&amp;wsa);
}
</code></pre>
<p>Ich weiß das der Code hässlich aussieht, aber bevor ich was ordentliches mache wollte ichs erstmal ans Laufen kriegen. Wo liegt also der Fehler? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke im Voraus<br />
Nappppp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1313482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1313482</guid><dc:creator><![CDATA[Nappppp]]></dc:creator><pubDate>Mon, 25 Jun 2007 15:57:06 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 06:48:44 GMT]]></title><description><![CDATA[<p>Nappppp schrieb:</p>
<blockquote>
<p>Ich weiß das der Code hässlich aussieht, aber bevor ich was ordentliches mache wollte ichs erstmal ans Laufen kriegen. Wo liegt also der Fehler? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke im Voraus<br />
Nappppp</p>
</blockquote>
<p>Du weisst sogar, daß der Code hässlich aussieht und hoffst, daß den dennoch jemand liest? Na dann viel Glück. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1313756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1313756</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Tue, 26 Jun 2007 06:48:44 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 11:13:38 GMT]]></title><description><![CDATA[<p>So hässlich das ihn niemand liest ist er auch wieder nicht. Kann nicht mal jemand kurz drüberschauen und mir sagen was ich falsch gemacht habe? Der Fehler liegt in diesen Zeilen:</p>
<pre><code class="language-cpp">int read_size = -1;

read_size=SSL_read(ssl, buf, sizeof(buf) - 1);
buf[read_size]='\0';

if ( read_size &gt; 0 ) 
{
    printf(&quot;Getting %d Bytes of Data\nData: %s\n&quot;, read_size, buf);
} 
else 
{
    break;
}
</code></pre>
<p>Das ganze lässt sich mit einem &quot;void *buf&quot; zwar beheben, aber ein Datenaustausch findet dann trotzdem och nicht statt. Wie mache ich das richtig? Ich bin verzeweifelt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich würde mich über eine Antwort, die mir weiterhilft sehr freuen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1313922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1313922</guid><dc:creator><![CDATA[Nappppp]]></dc:creator><pubDate>Tue, 26 Jun 2007 11:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 11:27:15 GMT]]></title><description><![CDATA[<p>Hast du read_size mal überprüft? Nicht, dass da -1 drin steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1313932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1313932</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 26 Jun 2007 11:27:15 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 12:14:33 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Hast du read_size mal überprüft? Nicht, dass da -1 drin steht.</p>
</blockquote>
<p>Um ehrlich zu sein: Ja, ich habe das alles schon gemacht und es steht -1 drinne!<br />
Aber ich kann mit diesen Meldungen nichts anfangen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Die Doku ist auch fürn...</p>
<p>Kann sich nicht jemand erbarmen meinen Client/Server funktionstüchtig zu machen?<br />
Von dort aus komme ich dann ganz sicher alleine weiter...</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1313959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1313959</guid><dc:creator><![CDATA[Nappppp]]></dc:creator><pubDate>Tue, 26 Jun 2007 12:14:33 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 13:07:27 GMT]]></title><description><![CDATA[<p>Wenn read_size -1 ist, dann wurden ja keine daten gelesen. Dann kann das hier</p>
<pre><code class="language-cpp">buf[read_size]='\0';
</code></pre>
<p>ja schon zu einem Fehler führen.<br />
Dann mach es erstmal so</p>
<pre><code class="language-cpp">int read_size = SSL_read(ssl, buf, sizeof(buf) - 1);
if ( read_size &gt; 0 )
{
    buf[read_size]='\0';
    printf(&quot;Getting %d Bytes of Data\nData: %s\n&quot;, read_size, buf);
}
else break;
</code></pre>
<p>Negative Werte bedeuten ja einen Fehler. Den solltest du auswerten.<br />
Siehe auch hier<br />
<a href="http://www.openssl.org/docs/ssl/SSL_read.html" rel="nofollow">http://www.openssl.org/docs/ssl/SSL_read.html</a><br />
Das Ganze testen bzw. funktionstüchtig machen kann ich jetzt hier nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1313996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1313996</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 26 Jun 2007 13:07:27 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 13:49:36 GMT]]></title><description><![CDATA[<p>Hallo,<br />
erstmal Danke, der Absturz ist nun nicht mehr da, trotzdem kommt kein Datenaustausch zu Stande <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich weiß aber nicht warum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Hat nicht jemand eine Idee???</p>
<p>Vielen Dank!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314041</guid><dc:creator><![CDATA[Nappppp]]></dc:creator><pubDate>Tue, 26 Jun 2007 13:49:36 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 14:21:12 GMT]]></title><description><![CDATA[<blockquote>
<p>Call SSL_get_error() with the return value ret to find out the reason.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1314069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314069</guid><dc:creator><![CDATA[..................]]></dc:creator><pubDate>Tue, 26 Jun 2007 14:21:12 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 16:08:19 GMT]]></title><description><![CDATA[<p>.................. schrieb:</p>
<blockquote>
<blockquote>
<p>Call SSL_get_error() with the return value ret to find out the reason.</p>
</blockquote>
</blockquote>
<p>Ach tatsächlich!? Dann sag mir was das bedeutet und wie ich es beheben kann:</p>
<pre><code class="language-cpp">printf( &quot;Error: %i\n&quot;, SSL_get_error( ssl, read_size ) );
// Output: Error: 1
</code></pre>
<p>DANKE!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314143</guid><dc:creator><![CDATA[Nappppp]]></dc:creator><pubDate>Tue, 26 Jun 2007 16:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 16:35:36 GMT]]></title><description><![CDATA[<p>Schau doch bei SSL_get_error nach und schau was die 1 bedeutet.<br />
Es könnte z.Bsp. SSL_ERROR_ZERO_RETURN sein. das würde bedeuten, dass deine verbindung geschlossen wurde etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314169</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 26 Jun 2007 16:35:36 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 26 Jun 2007 16:43:26 GMT]]></title><description><![CDATA[<blockquote>
<p>A failure in the SSL library occurred, usually a protocol error. The OpenSSL error queue contains more information on the error.</p>
</blockquote>
<p>Auch das hilft mir nicht weiter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314173</guid><dc:creator><![CDATA[Nappppp]]></dc:creator><pubDate>Tue, 26 Jun 2007 16:43:26 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 11 Sep 2007 13:09:14 GMT]]></title><description><![CDATA[<p>Nappppp schrieb:</p>
<blockquote>
<blockquote>
<p>A failure in the SSL library occurred, usually a protocol error. The OpenSSL error queue contains more information on the error.</p>
</blockquote>
<p>Auch das hilft mir nicht weiter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<pre><code class="language-cpp">ERR_print_errors_fp(stdout);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1363327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363327</guid><dc:creator><![CDATA[surf]]></dc:creator><pubDate>Tue, 11 Sep 2007 13:09:14 GMT</pubDate></item><item><title><![CDATA[Reply to openSSL - Server und Client Problem on Tue, 22 Apr 2008 13:12:27 GMT]]></title><description><![CDATA[<p>hi Nappppp ..</p>
<p>ich schlage mich im moment auch gerade mit openssl herum und habe daher mal die beiträge im forum durchsucht. dabei bin ich auf diesen uralten betrag gestossen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> du bist / oder warst nicht registriert, daher kann ich dir kein e-mail schreiben. Hast du dein beispiel progrämmchen schlussendlich eigentlich zum funktionieren gebracht? und wenn ja.. darf ich den source dazu sehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Das würde mir wohl viel arbeit sparen, da ich kaum beispiele für openssl unter windows finde im web. also.. wenn du vielleich in der zwischenzeit ein registrierter user bist oder einfach sonst zufällig diesen eintrag siehst.. dann wäre das ne gute sache <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>gruss, dominic</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1496187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1496187</guid><dc:creator><![CDATA[bayo]]></dc:creator><pubDate>Tue, 22 Apr 2008 13:12:27 GMT</pubDate></item></channel></rss>