]> granicus.if.org Git - apache/commitdiff
netware build patches by NormW
authorStefan Eissing <icing@apache.org>
Wed, 9 Mar 2016 16:52:55 +0000 (16:52 +0000)
committerStefan Eissing <icing@apache.org>
Wed, 9 Mar 2016 16:52:55 +0000 (16:52 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1734286 13f79535-47bb-0310-9956-ffa450edef68

modules/http2/NWGNUmakefile
modules/http2/NWGNUmod_http2
modules/http2/NWGNUproxyht2 [new file with mode: 0644]
modules/http2/h2_proxy_session.c

index e97efcaa266ed3fa6c1a55993b5b9f0d5f13fce0..d4a51ed3045d44b9b4fb1e664ea450c1b01943aa 100644 (file)
@@ -153,7 +153,7 @@ XDCDATA             =
 #
 TARGET_nlm = \
        $(OBJDIR)/mod_http2.nlm \
-       $(OBJDIR)/mod_http2.nlm \
+       $(OBJDIR)/proxyht2.nlm \
        $(EOLIST)
 
 #
index c471ea470d1692b62e6e43cbbaa5430c6fc9825e..acead82c553e5e26320e8b07b7ed7c318f5e6d9b 100644 (file)
@@ -261,6 +261,7 @@ FILES_nlm_Ximports = \
 #
 FILES_nlm_exports = \
        http2_module \
+       @$(OBJDIR)/mod_http2.imp \        
        $(EOLIST)
 
 #
@@ -274,7 +275,7 @@ FILES_lib_objs := $(sort $(patsubst $(NGH2SRC)/lib/%.c,$(OBJDIR)/%.o,$(wildcard
 
 libs :: $(OBJDIR) $(NGH2SRC)/lib/config.h $(TARGET_lib)
 
-nlms :: libs $(TARGET_nlm)
+nlms :: libs $(OBJDIR)/mod_http2.imp $(TARGET_nlm)
 
 #
 # Updated this target to create necessary directories and copy files to the
@@ -290,7 +291,8 @@ clean ::
 #
 vpath %.c $(NGH2SRC)/lib
 
-$(NGH2SRC)/lib/config.h : NWGNUmakefile
+$(NGH2SRC)/lib/config.h : NWGNUmod_http2
+       @-$(RM) $@
        @echo $(DL)GEN  $@$(DL)
        @echo $(DL)/* For NetWare target.$(DL) > $@
        @echo $(DL)** Do not edit - created by Make!$(DL) >> $@
@@ -352,6 +354,58 @@ $(NGH2SRC)/lib/config.h : NWGNUmakefile
        @echo $(DL)#endif /* NGH2_CONFIG_H */$(DL) >> $@
 
 #
+# Exports from mod_http2 for mod_proxy_http2
+$(OBJDIR)/mod_http2.imp : NWGNUmod_http2
+       @-$(RM) $@
+       @echo $(DL)GEN  $@$(DL)
+       @echo $(DL) (HTTP2)$(DL) > $@
+       @echo $(DL) http2_module,$(DL) >> $@
+       @echo $(DL) h2_ihash_add,$(DL) >> $@
+       @echo $(DL) h2_ihash_clear,$(DL) >> $@
+       @echo $(DL) h2_ihash_count,$(DL) >> $@
+       @echo $(DL) h2_ihash_create,$(DL) >> $@
+       @echo $(DL) h2_ihash_is_empty,$(DL) >> $@
+       @echo $(DL) h2_ihash_iter,$(DL) >> $@
+       @echo $(DL) h2_ihash_remove,$(DL) >> $@
+       @echo $(DL) h2_iq_add,$(DL) >> $@
+       @echo $(DL) h2_iq_create,$(DL) >> $@
+       @echo $(DL) h2_iq_remove,$(DL) >> $@
+       @echo $(DL) h2_proxy_res_ignore_header,$(DL) >> $@
+       @echo $(DL) h2_request_create,$(DL) >> $@
+       @echo $(DL) h2_request_make,$(DL) >> $@
+       @echo $(DL) h2_util_camel_case_header,$(DL) >> $@
+       @echo $(DL) h2_util_frame_print,$(DL) >> $@
+       @echo $(DL) h2_util_ngheader_make_req,$(DL) >> $@
+       @echo $(DL) nghttp2_is_fatal,$(DL) >> $@
+       @echo $(DL) nghttp2_option_del,$(DL) >> $@
+       @echo $(DL) nghttp2_option_new,$(DL) >> $@
+       @echo $(DL) nghttp2_option_set_peer_max_concurrent_streams,$(DL) >> $@
+       @echo $(DL) nghttp2_session_callbacks_del,$(DL) >> $@
+       @echo $(DL) nghttp2_session_callbacks_new,$(DL) >> $@
+       @echo $(DL) nghttp2_session_callbacks_set_before_frame_send_callback,$(DL) >> $@
+       @echo $(DL) nghttp2_session_callbacks_set_on_data_chunk_recv_callback,$(DL) >> $@
+       @echo $(DL) nghttp2_session_callbacks_set_on_frame_recv_callback,$(DL) >> $@
+       @echo $(DL) nghttp2_session_callbacks_set_on_header_callback,$(DL) >> $@
+       @echo $(DL) nghttp2_session_callbacks_set_on_stream_close_callback,$(DL) >> $@
+       @echo $(DL) nghttp2_session_callbacks_set_send_callback,$(DL) >> $@
+       @echo $(DL) nghttp2_session_client_new2,$(DL) >> $@
+       @echo $(DL) nghttp2_session_consume,$(DL) >> $@
+       @echo $(DL) nghttp2_session_del,$(DL) >> $@
+       @echo $(DL) nghttp2_session_get_remote_settings,$(DL) >> $@
+       @echo $(DL) nghttp2_session_get_stream_user_data,$(DL) >> $@
+       @echo $(DL) nghttp2_session_mem_recv,$(DL) >> $@
+       @echo $(DL) nghttp2_session_resume_data,$(DL) >> $@
+       @echo $(DL) nghttp2_session_send,$(DL) >> $@
+       @echo $(DL) nghttp2_session_want_read,$(DL) >> $@
+       @echo $(DL) nghttp2_session_want_write,$(DL) >> $@
+       @echo $(DL) nghttp2_strerror,$(DL) >> $@
+       @echo $(DL) nghttp2_submit_goaway,$(DL) >> $@
+       @echo $(DL) nghttp2_submit_request,$(DL) >> $@
+       @echo $(DL) nghttp2_submit_rst_stream,$(DL) >> $@
+       @echo $(DL) nghttp2_submit_settings,$(DL) >> $@
+       @echo $(DL) nghttp2_submit_window_update,$(DL) >> $@
+       @echo $(DL) nghttp2_version$(DL) >> $@
+
 # Include the 'tail' makefile that has targets that depend on variables defined
 # in this makefile
 #
diff --git a/modules/http2/NWGNUproxyht2 b/modules/http2/NWGNUproxyht2
new file mode 100644 (file)
index 0000000..c2c90c4
--- /dev/null
@@ -0,0 +1,286 @@
+#\r
+# This Makefile requires the environment var NGH2SRC\r
+# pointing to the base directory of nghttp2 source tree.\r
+#\r
+\r
+#\r
+# Declare the sub-directories to be built here\r
+#\r
+\r
+SUBDIRS = \\r
+       $(EOLIST)\r
+\r
+#\r
+# Get the 'head' of the build environment.  This includes default targets and\r
+# paths to tools\r
+#\r
+\r
+include $(AP_WORK)/build/NWGNUhead.inc\r
+\r
+#\r
+# build this level's files\r
+#\r
+# Make sure all needed macro's are defined\r
+#\r
+\r
+#\r
+# These directories will be at the beginning of the include list, followed by\r
+# INCDIRS\r
+#\r
+XINCDIRS       += \\r
+                       $(APR)/include \\r
+                       $(APRUTIL)/include \\r
+                       $(SRC)/include \\r
+                       $(NGH2SRC)/lib/includes \\r
+                       $(STDMOD)/proxy \\r
+                       $(SERVER)/mpm/NetWare \\r
+                       $(NWOS) \\r
+                       $(EOLIST)\r
+\r
+#\r
+# These flags will come after CFLAGS\r
+#\r
+XCFLAGS                += \\r
+                       $(EOLIST)\r
+\r
+#\r
+# These defines will come after DEFINES\r
+#\r
+XDEFINES       += \\r
+                       $(EOLIST)\r
+\r
+#\r
+# These flags will be added to the link.opt file\r
+#\r
+XLFLAGS                += \\r
+                       -L$(OBJDIR) \\r
+                       $(EOLIST)\r
+\r
+#\r
+# These values will be appended to the correct variables based on the value of\r
+# RELEASE\r
+#\r
+ifeq "$(RELEASE)" "debug"\r
+XINCDIRS       += \\r
+                       $(EOLIST)\r
+\r
+XCFLAGS                += \\r
+                       $(EOLIST)\r
+\r
+XDEFINES       += \\r
+                       $(EOLIST)\r
+\r
+XLFLAGS                += \\r
+                       $(EOLIST)\r
+endif\r
+\r
+ifeq "$(RELEASE)" "noopt"\r
+XINCDIRS       += \\r
+                       $(EOLIST)\r
+\r
+XCFLAGS                += \\r
+                       $(EOLIST)\r
+\r
+XDEFINES       += \\r
+                       $(EOLIST)\r
+\r
+XLFLAGS                += \\r
+                       $(EOLIST)\r
+endif\r
+\r
+ifeq "$(RELEASE)" "release"\r
+XINCDIRS       += \\r
+                       $(EOLIST)\r
+\r
+XCFLAGS                += \\r
+                       $(EOLIST)\r
+\r
+XDEFINES       += \\r
+                       $(EOLIST)\r
+\r
+XLFLAGS                += \\r
+                       $(EOLIST)\r
+endif\r
+\r
+#\r
+# These are used by the link target if an NLM is being generated\r
+# This is used by the link 'name' directive to name the nlm.  If left blank\r
+# TARGET_nlm (see below) will be used.\r
+#\r
+NLM_NAME       = proxyht2\r
+\r
+#\r
+# This is used by the link '-desc ' directive.\r
+# If left blank, NLM_NAME will be used.\r
+#\r
+NLM_DESCRIPTION        = Apache $(VERSION_STR) HTTP2 Proxy module\r
+#\r
+# This is used by the '-threadname' directive.  If left blank,\r
+# NLM_NAME Thread will be used.\r
+#\r
+NLM_THREAD_NAME        = $(NLM_NAME)\r
+\r
+#\r
+# If this is specified, it will override VERSION value in\r
+# $(AP_WORK)/build/NWGNUenvironment.inc\r
+#\r
+NLM_VERSION    =\r
+\r
+#\r
+# If this is specified, it will override the default of 64K\r
+#\r
+NLM_STACK_SIZE = 65536\r
+\r
+#\r
+# If this is specified it will be used by the link '-entry' directive\r
+#\r
+NLM_ENTRY_SYM  =\r
+\r
+#\r
+# If this is specified it will be used by the link '-exit' directive\r
+#\r
+NLM_EXIT_SYM   =\r
+\r
+#\r
+# If this is specified it will be used by the link '-check' directive\r
+#\r
+NLM_CHECK_SYM  =\r
+\r
+#\r
+# If this is specified it will be used by the link '-flags' directive\r
+#\r
+NLM_FLAGS      =\r
+\r
+#\r
+# If this is specified it will be linked in with the XDCData option in the def\r
+# file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled\r
+# by setting APACHE_UNIPROC in the environment\r
+#\r
+XDCDATA                =\r
+\r
+#\r
+# Declare all target files (you must add your files here)\r
+#\r
+\r
+#\r
+# If there is an NLM target, put it here\r
+#\r
+TARGET_nlm = \\r
+       $(OBJDIR)/$(NLM_NAME).nlm \\r
+       $(EOLIST)\r
+\r
+#\r
+# If there is an LIB target, put it here\r
+#\r
+TARGET_lib = \\r
+       $(EOLIST)\r
+\r
+#\r
+# These are the OBJ files needed to create the NLM target above.\r
+# Paths must all use the '/' character\r
+#\r
+FILES_nlm_objs = \\r
+       $(OBJDIR)/mod_proxy_http2.o \\r
+       $(OBJDIR)/h2_proxy_session.o \\r
+       $(EOLIST)\r
+\r
+#\r
+# These are the LIB files needed to create the NLM target above.\r
+# These will be added as a library command in the link.opt file.\r
+#\r
+FILES_nlm_libs = \\r
+       $(PRELUDE) \\r
+       $(EOLIST)\r
+\r
+#\r
+# These are the modules that the above NLM target depends on to load.\r
+# These will be added as a module command in the link.opt file.\r
+#\r
+FILES_nlm_modules = \\r
+       Libc \\r
+       Apache2 \\r
+       mod_proxy \\r
+       mod_http2 \\r
+       $(EOLIST)\r
+\r
+#\r
+# If the nlm has a msg file, put it's path here\r
+#\r
+FILE_nlm_msg =\r
+\r
+#\r
+# If the nlm has a hlp file put it's path here\r
+#\r
+FILE_nlm_hlp =\r
+\r
+#\r
+# If this is specified, it will override $(NWOS)\copyright.txt.\r
+#\r
+FILE_nlm_copyright =\r
+\r
+#\r
+# Any additional imports go here\r
+#\r
+FILES_nlm_Ximports = \\r
+       @libc.imp \\r
+       @aprlib.imp \\r
+       @httpd.imp \\r
+       @$(OBJDIR)/mod_http2.imp \\r
+       ap_proxy_acquire_connection \\r
+       ap_proxy_canon_netloc \\r
+       ap_proxy_canonenc \\r
+       ap_proxy_connect_backend \\r
+       ap_proxy_connection_create \\r
+       ap_proxy_cookie_reverse_map \\r
+       ap_proxy_determine_connection \\r
+       ap_proxy_location_reverse_map \\r
+       ap_proxy_port_of_scheme \\r
+       ap_proxy_release_connection \\r
+       ap_proxy_ssl_connection_cleanup \\r
+       proxy_hook_canon_handler \\r
+       proxy_hook_scheme_handler \\r
+       proxy_module \\r
+       proxy_run_detach_backend \\r
+       $(EOLIST)\r
+\r
+#\r
+# Any symbols exported to here\r
+#\r
+FILES_nlm_exports = \\r
+       proxy_http2_module \\r
+       $(EOLIST)\r
+\r
+#\r
+# These are the OBJ files needed to create the LIB target above.\r
+# Paths must all use the '/' character\r
+#\r
+FILES_lib_objs :=\r
+#\r
+# implement targets and dependancies (leave this section alone)\r
+#\r
+\r
+libs :: $(OBJDIR) $(TARGET_lib)\r
+\r
+nlms :: libs $(TARGET_nlm)\r
+\r
+#\r
+# Updated this target to create necessary directories and copy files to the\r
+# correct place.  (See $(AP_WORK)/build/NWGNUhead.inc for examples)\r
+#\r
+install :: nlms FORCE\r
+       $(call COPY,$(OBJDIR)/*.nlm,        $(INSTALLBASE)/modules/)\r
+\r
+clean ::\r
+\r
+#\r
+# Any specialized rules here\r
+#\r
+\r
+#\r
+# Include the 'tail' makefile that has targets that depend on variables defined\r
+# in this makefile\r
+#\r
+\r
+include $(APBUILD)/NWGNUtail.inc\r
+\r
+\r
index 7ca2d70b5134a979baf7eb82eeb8537cafca6126..e3bad329170631b7cb8ea3176a077c6450608e12 100644 (file)
@@ -20,8 +20,8 @@
 #include <mpm_common.h>
 #include <httpd.h>
 #include <mod_proxy.h>
-#include <mod_http2.h>
 
+#include "mod_http2.h"
 #include "h2.h"
 #include "h2_int_queue.h"
 #include "h2_request.h"