mirror of
https://github.com/novatiq/packages.git
synced 2026-07-29 06:53:07 +01:00
haproxy: Update HAProxy to v2.1.2
- Major version jump from v2.0 to v2.1 - Update haproxy download URL and hash - Add new patches (see https://www.haproxy.org/bugs/bugs-2.1.2.html) - Stop building LUA 5.3 in the haproxy build-process and use liblua5.3 as a dependency instead Signed-off-by: Christian Lachner <gladiac@gmail.com>
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
commit c5438ed610bde49957d8d406f6e98a481e68bef3
|
||||
Author: Tim Duesterhus <tim@bastelstu.be>
|
||||
Date: Sun Jan 12 13:55:40 2020 +0100
|
||||
|
||||
MINOR: lua: Add lua-prepend-path configuration option
|
||||
|
||||
lua-prepend-path allows the administrator to specify a custom Lua library
|
||||
path to load custom Lua modules that are useful within the context of HAProxy
|
||||
without polluting the global Lua library folder.
|
||||
|
||||
(cherry picked from commit dd74b5f2372f610cfa60e8cb2e151e2de377357e)
|
||||
Signed-off-by: Willy Tarreau <w@1wt.eu>
|
||||
|
||||
diff --git a/doc/configuration.txt b/doc/configuration.txt
|
||||
index 36291a339..54d155b36 100644
|
||||
--- a/doc/configuration.txt
|
||||
+++ b/doc/configuration.txt
|
||||
@@ -598,6 +598,7 @@ The following keywords are supported in the "global" section :
|
||||
- log-tag
|
||||
- log-send-hostname
|
||||
- lua-load
|
||||
+ - lua-prepend-path
|
||||
- mworker-max-reloads
|
||||
- nbproc
|
||||
- nbthread
|
||||
@@ -1037,6 +1038,31 @@ lua-load <file>
|
||||
This global directive loads and executes a Lua file. This directive can be
|
||||
used multiple times.
|
||||
|
||||
+lua-prepend-path <string> [<type>]
|
||||
+ Prepends the given string followed by a semicolon to Lua's package.<type>
|
||||
+ variable.
|
||||
+ <type> must either be "path" or "cpath". If <type> is not given it defaults
|
||||
+ to "path".
|
||||
+
|
||||
+ Lua's paths are semicolon delimited lists of patterns that specify how the
|
||||
+ `require` function attempts to find the source file of a library. Question
|
||||
+ marks (?) within a pattern will be replaced by module name. The path is
|
||||
+ evaluated left to right. This implies that paths that are prepended later
|
||||
+ will be checked earlier.
|
||||
+
|
||||
+ As an example by specifying the following path:
|
||||
+
|
||||
+ lua-prepend-path /usr/share/haproxy-lua/?/init.lua
|
||||
+ lua-prepend-path /usr/share/haproxy-lua/?.lua
|
||||
+
|
||||
+ When `require "example"` is being called Lua will first attempt to load the
|
||||
+ /usr/share/haproxy-lua/example.lua script, if that does not exist the
|
||||
+ /usr/share/haproxy-lua/example/init.lua will be attempted and the default
|
||||
+ paths if that does not exist either.
|
||||
+
|
||||
+ See https://www.lua.org/pil/8.1.html for the details within the Lua
|
||||
+ documentation.
|
||||
+
|
||||
master-worker [no-exit-on-failure]
|
||||
Master-worker mode. It is equivalent to the command line "-W" argument.
|
||||
This mode will launch a "master" which will monitor the "workers". Using
|
||||
diff --git a/src/hlua.c b/src/hlua.c
|
||||
index 10d615211..a245f9b7d 100644
|
||||
--- a/src/hlua.c
|
||||
+++ b/src/hlua.c
|
||||
@@ -7474,8 +7474,36 @@ static int hlua_prepend_path(struct hlua ctx, char *type, char *path)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int hlua_config_prepend_path(char **args, int section_type, struct proxy *curpx,
|
||||
+ struct proxy *defpx, const char *file, int line,
|
||||
+ char **err)
|
||||
+{
|
||||
+ char *path;
|
||||
+ char *type = "path";
|
||||
+ if (too_many_args(2, args, err, NULL)) {
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ if (!(*args[1])) {
|
||||
+ memprintf(err, "'%s' expects to receive a <path> as argument", args[0]);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ path = args[1];
|
||||
+
|
||||
+ if (*args[2]) {
|
||||
+ if (strcmp(args[2], "path") != 0 && strcmp(args[2], "cpath") != 0) {
|
||||
+ memprintf(err, "'%s' expects <type> to either be 'path' or 'cpath'", args[0]);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ type = args[2];
|
||||
+ }
|
||||
+
|
||||
+ return hlua_prepend_path(gL, type, path);
|
||||
+}
|
||||
+
|
||||
/* configuration keywords declaration */
|
||||
static struct cfg_kw_list cfg_kws = {{ },{
|
||||
+ { CFG_GLOBAL, "lua-prepend-path", hlua_config_prepend_path },
|
||||
{ CFG_GLOBAL, "lua-load", hlua_load },
|
||||
{ CFG_GLOBAL, "tune.lua.session-timeout", hlua_session_timeout },
|
||||
{ CFG_GLOBAL, "tune.lua.task-timeout", hlua_task_timeout },
|
||||
Reference in New Issue
Block a user