# # AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: 0\n" "POT-Creation-Date: 2013-09-18T00:49:43\n" "PO-Revision-Date: 2013-09-18T00:49:43\n" "Last-Translator: Automatically generated\n" "Language-Team: None\n" "MIME-Version: 1.0\n" "Content-Type: application/x-publican; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Tag: programlisting #, no-c-format msgid "\n" "// Wrap the POSIX file descriptor. This is an internal NSPR\n" "// function, but it is very unlikely to change.\n" "PRFileDesc* nspr = PR_ImportTCPSocket(sockfd);\n" "sockfd = -1; // Has been taken over by NSPR.\n" "\n" "// Add the SSL layer.\n" "{\n" " PRFileDesc *model = PR_NewTCPSocket();\n" " PRFileDesc *newfd = SSL_ImportFD(NULL, model);\n" " if (newfd == NULL) {\n" " const PRErrorCode err = PR_GetError();\n" " fprintf(stderr, \"error: NSPR error code %d: %s\n" "\",\n" " err, PR_ErrorToName(err));\n" " exit(1);\n" " }\n" " model = newfd;\n" " newfd = NULL;\n" " if (SSL_OptionSet(model, SSL_ENABLE_SSL2, PR_FALSE) != SECSuccess) {\n" " const PRErrorCode err = PR_GetError();\n" " fprintf(stderr, \"error: set SSL_ENABLE_SSL2 error %d: %s\n" "\",\n" " err, PR_ErrorToName(err));\n" " exit(1);\n" " }\n" " if (SSL_OptionSet(model, SSL_V2_COMPATIBLE_HELLO, PR_FALSE) != SECSuccess) {\n" " const PRErrorCode err = PR_GetError();\n" " fprintf(stderr, \"error: set SSL_V2_COMPATIBLE_HELLO error %d: %s\n" "\",\n" " err, PR_ErrorToName(err));\n" " exit(1);\n" " }\n" " if (SSL_OptionSet(model, SSL_ENABLE_DEFLATE, PR_FALSE) != SECSuccess) {\n" " const PRErrorCode err = PR_GetError();\n" " fprintf(stderr, \"error: set SSL_ENABLE_DEFLATE error %d: %s\n" "\",\n" " err, PR_ErrorToName(err));\n" " exit(1);\n" " }\n" "\n" " // Allow overriding invalid certificate.\n" " if (SSL_BadCertHook(model, bad_certificate, (char *)host) != SECSuccess) {\n" " const PRErrorCode err = PR_GetError();\n" " fprintf(stderr, \"error: SSL_BadCertHook error %d: %s\n" "\",\n" " err, PR_ErrorToName(err));\n" " exit(1);\n" " }\n" "\n" " newfd = SSL_ImportFD(model, nspr);\n" " if (newfd == NULL) {\n" " const PRErrorCode err = PR_GetError();\n" " fprintf(stderr, \"error: SSL_ImportFD error %d: %s\n" "\",\n" " err, PR_ErrorToName(err));\n" " exit(1);\n" " }\n" " nspr = newfd;\n" " PR_Close(model);\n" "}\n" "\n" "// Perform the handshake.\n" "if (SSL_ResetHandshake(nspr, PR_FALSE) != SECSuccess) {\n" " const PRErrorCode err = PR_GetError();\n" " fprintf(stderr, \"error: SSL_ResetHandshake error %d: %s\n" "\",\n" " err, PR_ErrorToName(err));\n" " exit(1);\n" "}\n" "if (SSL_SetURL(nspr, host) != SECSuccess) {\n" " const PRErrorCode err = PR_GetError();\n" " fprintf(stderr, \"error: SSL_SetURL error %d: %s\n" "\",\n" " err, PR_ErrorToName(err));\n" " exit(1);\n" "}\n" "if (SSL_ForceHandshake(nspr) != SECSuccess) {\n" " const PRErrorCode err = PR_GetError();\n" " fprintf(stderr, \"error: SSL_ForceHandshake error %d: %s\n" "\",\n" " err, PR_ErrorToName(err));\n" " exit(1);\n" "}\n" "" msgstr ""