<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>It looks like your service defined in auth_http doesn't answer (or no listener on 127.0.0.1 port 9000?)...</p>
<p>try netstat (in cmd as admin):</p>
<p style="padding-left: 30px;">netstat /nabo<br />netstat /nabo | grep -A 1 ":9000\b"</p>
<p>and check whether the listener on port 9000 is bound to 127.0.0.1 (or it is 0.0.0.0 only?) and it is the process you expect to see there (can be "reserved" by some other windows-service).</p>
<p>additionally try to telnet or curl it:</p>
<p style="padding-left: 30px;">curl -H "Auth-Method: plain" -H "Auth-User: user" -H "Auth-Pass: pwd" -H "Auth-Protocol: imap" -H "Auth-Login-Attempt: 1" -i http://127.0.0.1:9000/cgi-bin/nginxauth.cgi</p>
<p>if it does not answer, make another attempt by replace 127.0.0.1 with 0.0.0.0 (or a host-name).</p>
<p>If it answers - see whether it is the expected response (some examples of good and bad responses are described in <a href="http://nginx.org/en/docs/mail/ngx_mail_auth_http_module.html">http://nginx.org/en/docs/mail/ngx_mail_auth_http_module.html</a>).</p>
<p>But I guess if WSASend fails, it would probably (unexpected) reject the connection during the send (or even connect) process.<br />It can be also invalid (unexpected) content-length in keep-alive connect to auth-upstream - so send but still receive is expected (or vice versa).</p>
<p>Also follow this forum topic addressing similar issue: <a href="https://forum.nginx.org/read.php?2,257206,257207#msg-257207">https://forum.nginx.org/read.php?2,257206,257207#msg-257207</a></p>
<p>Anyway it doesn't look to me like an issue of nginx (regardless windows or not), but you can also try some other ready build (for example on my <a href="https://github.com/sebres/nginx/releases/tag/release-1.13.0">GH</a> - <a href="https://github.com/sebres/nginx/files/2246440/nginx.zip">nginx.zip</a>, where it works well).</p>
<p>Regards,<br />Sergey</p>
<p>12.02.2020 03:01, Yury Shpakov wrote:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px"><!-- html ignored --> <!-- head ignored --><!-- meta ignored -->
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: #000000;"><span style="color: #000000; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Hi there,</span></div>
<div>
<div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">Trying to make nginx work as SMTP server and/or SMTP proxy. Done everything according to:</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"><a href="http://nginx.org/en/docs/howto_build_on_win32.html">http://nginx.org/en/docs/howto_build_on_win32.html</a></div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">But excluded (don't care about SSL at this point so don't want to install/configure Perl now):</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"><span>    --with-openssl=objs/lib/openssl-master \<br /> </span>
<div>    --with-openssl-opt=no-asm \</div>
<div>    --with-http_ssl_module \</div>
<span></span></div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">And added:</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"><span>    --with-mail<br /> </span><span></span></div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">nmake was successful and nginx.exe was created.</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">However nginx.exe keeps failing with the error:</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">WSASend() failed (10057: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied) while in http auth state, client: 127.0.0.1, server: 0.0.0.0:8025</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">Windows API says the following about this error:</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">
<table style="border-collapse: collapse; border-spacing: 0px; table-layout: auto; width: 683px; font-size: 0.875rem; color: #171717; font-family: 'Segoe UI',SegoeUI,'Segoe WP','Helvetica Neue',Helvetica,Tahoma,Arial,sans-serif; background-color: #ffffff;">
<tbody>
<tr>
<td style="padding: 0.75rem 1rem; text-align: left; display: table-cell; line-height: 1.5; vertical-align: top; border-right: 0px solid; border-left: 0px solid; border-bottom: 0px solid; border-top-style: solid;"><dl style="margin: 0px;"><dt style="margin: 0px;"><strong style="font-weight: bolder;">WSAENOTCONN</strong></dt><dt style="margin: 0px;">10057</dt></dl></td>
<td style="padding: 0.75rem 1rem; text-align: left; display: table-cell; line-height: 1.5; vertical-align: top; border-right: 0px solid; border-left: 0px solid; border-bottom: 0px solid; border-top-style: solid;"><dl style="margin: 0px;"><dt style="margin: 0px;"><span></span><span></span><span></span>Socket is not connected.</dt><dd style="margin: 0px;">A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using<span> </span><a style="outline: 0px;" href="https://docs.microsoft.com/en-us/windows/desktop/api/winsock/nf-winsock-sendto"><strong style="font-weight: bolder;">sendto</strong></a>) no address was supplied. Any other type of operation might also return this error—for example,<span> </span><a style="outline: 0px;" href="https://docs.microsoft.com/en-us/windows/desktop/api/winsock/nf-winsock-setsockopt"><strong style="font-weight: bolder;">setsockopt</strong></a><span> </span>setting<span> </span><a style="outline: 0px;" href="https://docs.microsoft.com/en-us/windows/desktop/winsock/so-keepalive"><strong style="font-weight: bolder;">SO_KEEPALIVE</strong></a><span> </span>if the connection has been reset.</dd></dl></td>
</tr>
</tbody>
</table>
<a id="LPlnk497731" href="https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2">https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2</a><br />
<div id="LPBorder_GTaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvd2luZG93cy93aW4zMi93aW5zb2NrL3dpbmRvd3Mtc29ja2V0cy1lcnJvci1jb2Rlcy0y" class="LPBorder170815" style="width: 100%; margin-top: 16px; margin-bottom: 16px; position: relative; max-width: 800px; min-width: 424px;">
<table id="LPContainer170815" style="padding: 12px 36px 12px 12px; width: 100%; border-width: 1px; border-style: solid; border-color: #c8c8c8; border-radius: 2px;">
<tbody>
<tr style="border-spacing: 0px;" valign="top">
<td style="width: 100%;">
<div id="LPTitle170815" style="font-size: 21px; font-weight: 300; margin-right: 8px; font-family: wf_segoe-ui_light, 'Segoe UI Light', 'Segoe WP Light', 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; margin-bottom: 12px;"><a id="LPUrlAnchor170815" style="text-decoration: none; color: var(--themeprimary);" href="https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2">Windows Sockets Error Codes (Winsock2.h) - Win32 apps | Microsoft Docs</a></div>
<div id="LPDescription170815" style="font-size: 14px; max-height: 100px; color: #666666; font-family: wf_segoe-ui_normal, 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif; margin-bottom: 12px; margin-right: 8px; overflow: hidden;">Return code/value Description; WSA_INVALID_HANDLE 6: Specified event object handle is invalid. An application attempts to use an event object, but the specified handle is not valid.</div>
<div id="LPMetadata170815" style="font-size: 14px; font-weight: 400; color: #a6a6a6; font-family: wf_segoe-ui_normal, 'Segoe UI', 'Segoe WP', Tahoma, Arial, sans-serif;">docs.microsoft.com</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">Managed to debug your code in VS 2010 a little bit but it's brutal C so it's hard to figure your code out. And this debugger doesn't show you any local variables values.</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">Any recommendation for me to make it work?</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">Tried to play with config (commenting/uncommenting):</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">
<div>#user  nobody;</div>
<div>worker_processes  1;</div>
<div> </div>
<div>#error_log  logs/error.log;</div>
<div>#error_log  logs/error.log  notice;</div>
<div>#error_log  logs/error.log  info;</div>
<div> </div>
<div>#pid        logs/nginx.pid;</div>
<div> </div>
<div> </div>
<div>events {</div>
<div>    worker_connections  1024;</div>
<div>}</div>
<div> </div>
<div> </div>
<div>mail {</div>
<div>    server_name       localhost;</div>
<div>    auth_http         localhost:9000/cgi-bin/nginxauth.cgi;</div>
<div>#    auth_http         none;</div>
<div> </div>
<div>    smtp_auth         none;</div>
<div>#    smtp_auth         login plain cram-md5;</div>
<div>#    smtp_capabilities "SIZE 10485760" ENHANCEDSTATUSCODES 8BITMIME DSN;</div>
<div>    xclient           off;</div>
<div> </div>
<div>    server {</div>
<div>        listen   8025;</div>
<div>        protocol smtp;</div>
<div><span style="font-family: Calibri,Helvetica,sans-serif; background-color: #ffffff; display: inline!important;">       <span> </span></span>proxy    on;</div>
<div><span style="font-family: Calibri,Helvetica,sans-serif; background-color: #ffffff; display: inline!important;">       <span> </span></span>proxy_pass_error_message on;</div>
<div>    }</div>
<div>}</div>
<div> </div>
<span></span>Tried both under a regular user and under admin. Tried on 25, 1025 and 8025 ports.</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;"> </div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">Thank you,</div>
<div style="font-family: Calibri,Helvetica,sans-serif; font-size: 12pt; color: #000000;">Yury</div>
</div>
</div>
<!-- html ignored --><br />
<pre>_______________________________________________
nginx-devel mailing list
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a>
</pre>
</blockquote>
</body></html>