Annotate

tools/migration/Makefile @ 12181:783056b4e448 0.11 0.11.12

util.xml: Do not allow doctypes, comments or processing instructions Yes. This is as bad as it sounds. CVE pending. In Prosody itself, this only affects mod_websocket, which uses util.xml to parse the <open/> frame, thus allowing unauthenticated remote DoS using Billion Laughs. However, third-party modules using util.xml may also be affected by this. This commit installs handlers which disallow the use of doctype declarations and processing instructions without any escape hatch. It, by default, also introduces such a handler for comments, however, there is a way to enable comments nontheless. This is because util.xml is used to parse human-facing data, where comments are generally a desirable feature, and also because comments are generally harmless.
author Jonas Schäfer <jonas@wielicki.name>
date Mon, 10 Jan 2022 18:23:54 +0100
parent 6574:cd0088c73daf
child 10003:4d702f0c6273
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4216
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 include ../../config.unix
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 BIN = $(DESTDIR)$(PREFIX)/bin
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 CONFIG = $(DESTDIR)$(SYSCONFDIR)
6574
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 5402
diff changeset
6 SOURCE = $(DESTDIR)$(LIBDIR)/prosody
4216
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 DATA = $(DESTDIR)$(DATADIR)
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 MAN = $(DESTDIR)$(PREFIX)/share/man
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9
6574
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 5402
diff changeset
10 INSTALLEDSOURCE = $(LIBDIR)/prosody
4216
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 INSTALLEDCONFIG = $(SYSCONFDIR)
6574
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 5402
diff changeset
12 INSTALLEDMODULES = $(LIBDIR)/prosody/modules
4216
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 INSTALLEDDATA = $(DATADIR)
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14
4224
8b8d2b8e4d0b tools/migration/Makefile: Don't install main.lua (we already install it as prosody-migrator) (thanks Enrico)
Matthew Wild <mwild1@gmail.com>
parents: 4216
diff changeset
15 SOURCE_FILES = migrator/*.lua
4216
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16
4229
f15b4e9ba688 tools/migration: Rename main.lua -> prosody-migrator.lua and update the Makefile
Matthew Wild <mwild1@gmail.com>
parents: 4224
diff changeset
17 all: prosody-migrator.install migrator.cfg.lua.install prosody-migrator.lua $(SOURCE_FILES)
4216
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 install: prosody-migrator.install migrator.cfg.lua.install
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 install -d $(BIN) $(CONFIG) $(SOURCE) $(SOURCE)/migrator
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 install -d $(MAN)/man1
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 install -d $(SOURCE)/migrator
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23 install -m755 ./prosody-migrator.install $(BIN)/prosody-migrator
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 install -m644 $(SOURCE_FILES) $(SOURCE)/migrator
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25 test -e $(CONFIG)/migrator.cfg.lua || install -m644 migrator.cfg.lua.install $(CONFIG)/migrator.cfg.lua
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 clean:
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28 rm -f prosody-migrator.install
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29 rm -f migrator.cfg.lua.install
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30
4229
f15b4e9ba688 tools/migration: Rename main.lua -> prosody-migrator.lua and update the Makefile
Matthew Wild <mwild1@gmail.com>
parents: 4224
diff changeset
31 prosody-migrator.install: prosody-migrator.lua
5402
cb6f0afd8468 tools/migration/Makefile: Apply Lua runtime override (see 53f741a5a73a)
Kim Alvefur <zash@zash.se>
parents: 4229
diff changeset
32 sed "1s/\blua\b/$(RUNWITH)/; \
cb6f0afd8468 tools/migration/Makefile: Apply Lua runtime override (see 53f741a5a73a)
Kim Alvefur <zash@zash.se>
parents: 4229
diff changeset
33 s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \
4216
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34 s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|;" \
4229
f15b4e9ba688 tools/migration: Rename main.lua -> prosody-migrator.lua and update the Makefile
Matthew Wild <mwild1@gmail.com>
parents: 4224
diff changeset
35 < prosody-migrator.lua > prosody-migrator.install
4216
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
36
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
37 migrator.cfg.lua.install: migrator.cfg.lua
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
38 sed "s|^local data_path = .*;$$|local data_path = '$(INSTALLEDDATA)';|;" \
ff80a8471e86 tools/migration/*: Numerous changes and restructuring, and the addition of a Makefile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
39 < migrator.cfg.lua > migrator.cfg.lua.install