 +int ssl_callback_alpn_select(SSL *ssl, const unsigned char **out,
 +							 unsigned char *outlen, const unsigned char *in,
 +							 unsigned int inlen, void *arg);
-+#elif defined(HAVE_TLS_NPN)
++#endif
++#if defined(HAVE_TLS_NPN)
 +int ssl_callback_AdvertiseNextProtos(SSL *ssl, const unsigned char **data, unsigned int *len, void *arg);
 +#endif
 +

 #ifdef HAVE_SRP
 const char *ssl_cmd_SSLSRPVerifierFile(cmd_parms *cmd, void *dcfg, const char *arg);
 const char *ssl_cmd_SSLSRPUnknownUserSeed(cmd_parms *cmd, void *dcfg, const char *arg);
@@ -796,6 +811,14 @@
                                        EVP_CIPHER_CTX *, HMAC_CTX *, int);
 #endif
 

+
+	return SSL_TLSEXT_ERR_OK;
+}
+#endif
+#if defined(HAVE_TLS_NPN)
+/*
+ * This callback function is executed when SSL needs to decide what protocols
+ * to advertise during Next Protocol Negotiation (NPN).  It must produce a
