2 | • Making interactive stuff is easy.
3 | • This page is loaded from form.txt
4 | • Access jquery-confirm's DOM via this.$b, you can then use jQuery traversing methods to get what you need.
5 |
6 |
7 |
8 |
9 |
10 |
The modal is prevented to close until the input is valid!
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-confirm/jquery-confirm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-confirm/jquery-confirm.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_flat_0_aaaaaa_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_flat_0_aaaaaa_40x100.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_55_fbf9ee_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_55_fbf9ee_1x400.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_65_ffffff_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_65_ffffff_1x400.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_75_dadada_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_75_dadada_1x400.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_75_e6e6e6_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_75_e6e6e6_1x400.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_75_ffffff_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_glass_75_ffffff_1x400.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_222222_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_222222_256x240.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_2e83ff_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_2e83ff_256x240.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_454545_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_454545_256x240.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_888888_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_888888_256x240.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_cd0a0a_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_cd0a0a_256x240.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_f6cf3b_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/images/ui-icons_f6cf3b_256x240.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/jquery.ui.1.10.0.ie.css:
--------------------------------------------------------------------------------
1 |
2 | .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-left, .ui-corner-bottom{ border-radius:0px;}
3 | /*
4 | * jQuery UI Tabs 1.9.0
5 | *
6 | * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
7 | * Dual licensed under the MIT or GPL Version 2 licenses.
8 | * http://jquery.org/license
9 | *
10 | * http://jqueryui.com/tabs/
11 | */
12 |
13 | .ui-state-active,.ui-tabs-selected { border-radius:0px;}
14 | .ui-tabs-selected { border-radius:0px;}
15 | .ui-tabs .ui-tabs-nav li{ filter:none;}
16 | .ui-tabs .ui-tabs-nav li a { border-radius:0px; }
17 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery-ui/custom-theme/jquery.ui.1.9.2.ie.css:
--------------------------------------------------------------------------------
1 |
2 | .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-left, .ui-corner-bottom{ border-radius:0px;}
3 | /*
4 | * jQuery UI Tabs 1.9.0
5 | *
6 | * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
7 | * Dual licensed under the MIT or GPL Version 2 licenses.
8 | * http://jquery.org/license
9 | *
10 | * http://jqueryui.com/tabs/
11 | */
12 |
13 | .ui-state-active,.ui-tabs-selected { border-radius:0px;}
14 | .ui-tabs-selected { border-radius:0px;}
15 | .ui-tabs .ui-tabs-nav li{ filter:none;}
16 | .ui-tabs .ui-tabs-nav li a { border-radius:0px; }
17 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery",
3 | "version": "2.1.3",
4 | "main": "dist/jquery.js",
5 | "license": "MIT",
6 | "ignore": [
7 | "**/.*",
8 | "build",
9 | "speed",
10 | "test",
11 | "*.md",
12 | "AUTHORS.txt",
13 | "Gruntfile.js",
14 | "package.json"
15 | ],
16 | "devDependencies": {
17 | "sizzle": "2.1.1-jquery.2.1.2",
18 | "requirejs": "2.1.10",
19 | "qunit": "1.14.0",
20 | "sinon": "1.8.1"
21 | },
22 | "keywords": [
23 | "jquery",
24 | "javascript",
25 | "library"
26 | ]
27 | }
28 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/ajax/parseJSON.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | // Support: Android 2.3
6 | // Workaround failure to string-cast null input
7 | jQuery.parseJSON = function( data ) {
8 | return JSON.parse( data + "" );
9 | };
10 |
11 | return jQuery.parseJSON;
12 |
13 | });
14 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/ajax/parseXML.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | // Cross-browser xml parsing
6 | jQuery.parseXML = function( data ) {
7 | var xml, tmp;
8 | if ( !data || typeof data !== "string" ) {
9 | return null;
10 | }
11 |
12 | // Support: IE9
13 | try {
14 | tmp = new DOMParser();
15 | xml = tmp.parseFromString( data, "text/xml" );
16 | } catch ( e ) {
17 | xml = undefined;
18 | }
19 |
20 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
21 | jQuery.error( "Invalid XML: " + data );
22 | }
23 | return xml;
24 | };
25 |
26 | return jQuery.parseXML;
27 |
28 | });
29 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/ajax/var/nonce.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../../core"
3 | ], function( jQuery ) {
4 | return jQuery.now();
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/ajax/var/rquery.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | return (/\?/);
3 | });
4 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/attributes.js:
--------------------------------------------------------------------------------
1 | define([
2 | "./core",
3 | "./attributes/attr",
4 | "./attributes/prop",
5 | "./attributes/classes",
6 | "./attributes/val"
7 | ], function( jQuery ) {
8 |
9 | // Return jQuery for attributes-only inclusion
10 | return jQuery;
11 | });
12 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/core/var/rsingleTag.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | // Match a standalone tag
3 | return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
4 | });
5 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/css/addGetHookIf.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 |
3 | function addGetHookIf( conditionFn, hookFn ) {
4 | // Define the hook, we'll check on the first run if it's really needed.
5 | return {
6 | get: function() {
7 | if ( conditionFn() ) {
8 | // Hook not needed (or it's not possible to use it due
9 | // to missing dependency), remove it.
10 | delete this.get;
11 | return;
12 | }
13 |
14 | // Hook needed; redefine it so that the support test is not executed again.
15 | return (this.get = hookFn).apply( this, arguments );
16 | }
17 | };
18 | }
19 |
20 | return addGetHookIf;
21 |
22 | });
23 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/css/hiddenVisibleSelectors.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core",
3 | "../selector"
4 | ], function( jQuery ) {
5 |
6 | jQuery.expr.filters.hidden = function( elem ) {
7 | // Support: Opera <= 12.12
8 | // Opera reports offsetWidths and offsetHeights less than zero on some elements
9 | return elem.offsetWidth <= 0 && elem.offsetHeight <= 0;
10 | };
11 | jQuery.expr.filters.visible = function( elem ) {
12 | return !jQuery.expr.filters.hidden( elem );
13 | };
14 |
15 | });
16 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/css/var/cssExpand.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | return [ "Top", "Right", "Bottom", "Left" ];
3 | });
4 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/css/var/getStyles.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | return function( elem ) {
3 | // Support: IE<=11+, Firefox<=30+ (#15098, #14150)
4 | // IE throws on elements created in popups
5 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
6 | if ( elem.ownerDocument.defaultView.opener ) {
7 | return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
8 | }
9 |
10 | return window.getComputedStyle( elem, null );
11 | };
12 | });
13 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/css/var/isHidden.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../../core",
3 | "../../selector"
4 | // css is assumed
5 | ], function( jQuery ) {
6 |
7 | return function( elem, el ) {
8 | // isHidden might be called from jQuery#filter function;
9 | // in that case, element will be second argument
10 | elem = el || elem;
11 | return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
12 | };
13 | });
14 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/css/var/rmargin.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | return (/^margin/);
3 | });
4 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/css/var/rnumnonpx.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../../var/pnum"
3 | ], function( pnum ) {
4 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/data/accepts.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | /**
6 | * Determines whether an object can have data
7 | */
8 | jQuery.acceptData = function( owner ) {
9 | // Accepts only:
10 | // - Node
11 | // - Node.ELEMENT_NODE
12 | // - Node.DOCUMENT_NODE
13 | // - Object
14 | // - Any
15 | /* jshint -W018 */
16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
17 | };
18 |
19 | return jQuery.acceptData;
20 | });
21 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/data/var/data_priv.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../Data"
3 | ], function( Data ) {
4 | return new Data();
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/data/var/data_user.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../Data"
3 | ], function( Data ) {
4 | return new Data();
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/deprecated.js:
--------------------------------------------------------------------------------
1 | define([
2 | "./core",
3 | "./traversing"
4 | ], function( jQuery ) {
5 |
6 | // The number of elements contained in the matched element set
7 | jQuery.fn.size = function() {
8 | return this.length;
9 | };
10 |
11 | jQuery.fn.andSelf = jQuery.fn.addBack;
12 |
13 | });
14 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/effects/animatedSelector.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core",
3 | "../selector",
4 | "../effects"
5 | ], function( jQuery ) {
6 |
7 | jQuery.expr.filters.animated = function( elem ) {
8 | return jQuery.grep(jQuery.timers, function( fn ) {
9 | return elem === fn.elem;
10 | }).length;
11 | };
12 |
13 | });
14 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/event/ajax.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core",
3 | "../event"
4 | ], function( jQuery ) {
5 |
6 | // Attach a bunch of functions for handling common AJAX events
7 | jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) {
8 | jQuery.fn[ type ] = function( fn ) {
9 | return this.on( type, fn );
10 | };
11 | });
12 |
13 | });
14 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/event/support.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../var/support"
3 | ], function( support ) {
4 |
5 | support.focusinBubbles = "onfocusin" in window;
6 |
7 | return support;
8 |
9 | });
10 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/manipulation/_evalUrl.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../ajax"
3 | ], function( jQuery ) {
4 |
5 | jQuery._evalUrl = function( url ) {
6 | return jQuery.ajax({
7 | url: url,
8 | type: "GET",
9 | dataType: "script",
10 | async: false,
11 | global: false,
12 | "throws": true
13 | });
14 | };
15 |
16 | return jQuery._evalUrl;
17 |
18 | });
19 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/manipulation/var/rcheckableType.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | return (/^(?:checkbox|radio)$/i);
3 | });
4 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/outro.js:
--------------------------------------------------------------------------------
1 | }));
2 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/queue/delay.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core",
3 | "../queue",
4 | "../effects" // Delay is optional because of this dependency
5 | ], function( jQuery ) {
6 |
7 | // Based off of the plugin by Clint Helfers, with permission.
8 | // http://blindsignals.com/index.php/2009/07/jquery-delay/
9 | jQuery.fn.delay = function( time, type ) {
10 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
11 | type = type || "fx";
12 |
13 | return this.queue( type, function( next, hooks ) {
14 | var timeout = setTimeout( next, time );
15 | hooks.stop = function() {
16 | clearTimeout( timeout );
17 | };
18 | });
19 | };
20 |
21 | return jQuery.fn.delay;
22 | });
23 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/selector-sizzle.js:
--------------------------------------------------------------------------------
1 | define([
2 | "./core",
3 | "sizzle"
4 | ], function( jQuery, Sizzle ) {
5 |
6 | jQuery.find = Sizzle;
7 | jQuery.expr = Sizzle.selectors;
8 | jQuery.expr[":"] = jQuery.expr.pseudos;
9 | jQuery.unique = Sizzle.uniqueSort;
10 | jQuery.text = Sizzle.getText;
11 | jQuery.isXMLDoc = Sizzle.isXML;
12 | jQuery.contains = Sizzle.contains;
13 |
14 | });
15 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/selector.js:
--------------------------------------------------------------------------------
1 | define([ "./selector-sizzle" ]);
2 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/traversing/var/rneedsContext.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../../core",
3 | "../../selector"
4 | ], function( jQuery ) {
5 | return jQuery.expr.match.needsContext;
6 | });
7 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/arr.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | return [];
3 | });
4 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/class2type.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | // [[Class]] -> type pairs
3 | return {};
4 | });
5 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/concat.js:
--------------------------------------------------------------------------------
1 | define([
2 | "./arr"
3 | ], function( arr ) {
4 | return arr.concat;
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/hasOwn.js:
--------------------------------------------------------------------------------
1 | define([
2 | "./class2type"
3 | ], function( class2type ) {
4 | return class2type.hasOwnProperty;
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/indexOf.js:
--------------------------------------------------------------------------------
1 | define([
2 | "./arr"
3 | ], function( arr ) {
4 | return arr.indexOf;
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/pnum.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | return (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
3 | });
4 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/push.js:
--------------------------------------------------------------------------------
1 | define([
2 | "./arr"
3 | ], function( arr ) {
4 | return arr.push;
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/rnotwhite.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | return (/\S+/g);
3 | });
4 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/slice.js:
--------------------------------------------------------------------------------
1 | define([
2 | "./arr"
3 | ], function( arr ) {
4 | return arr.slice;
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/strundefined.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | return typeof undefined;
3 | });
4 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/support.js:
--------------------------------------------------------------------------------
1 | define(function() {
2 | // All support tests are defined in their respective modules.
3 | return {};
4 | });
5 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/jquery/src/var/toString.js:
--------------------------------------------------------------------------------
1 | define([
2 | "./class2type"
3 | ], function( class2type ) {
4 | return class2type.toString;
5 | });
6 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | indent_style = space
3 | end_of_line = lf
4 |
5 | [*.js]
6 | indent_size = 2
7 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist/js/i18n/build.txt
3 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/.jshintignore:
--------------------------------------------------------------------------------
1 | src/js/banner.*.js
2 | src/js/wrapper.*.js
3 | tests/vendor/*.js
4 | tests/helpers.js
5 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "bitwise": true,
3 | "camelcase": true,
4 | "curly": true,
5 | "es3": true,
6 | "eqnull": true,
7 | "freeze": true,
8 | "globals": {
9 | "console": false,
10 | "define": false,
11 | "document": false,
12 | "expect": false,
13 | "MockContainer": false,
14 | "module": false,
15 | "require": false,
16 | "test": false,
17 | "window": false
18 | },
19 | "indent": 2,
20 | "maxlen": 80,
21 | "noarg": true,
22 | "nonew": true,
23 | "quotmark": "single",
24 | "undef": true
25 | }
26 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 |
3 | node_js:
4 | - 0.10
5 |
6 | env:
7 | global:
8 | - secure: XMNK8GVxkwKa6oLl7nJwgg/wmY1YDk5rrMd+UXz26EDCsMDbiy1P7GhN2fEiBSLaQ7YfEuvaDcmzQxTrT0YTHp1PDzb2o9J4tIDdEkqPcv1y8xMaYDfmsN0rBPdBwZEg9H5zUgi7OdUbrGswSYxsKCE3x8EOqK89104HyOo1LN4=
9 | - secure: BU5BPRx6H4O3WJ509YPixjUxg+hDF3z2BVJX6NiGmKWweqvCEYFfiiHLwDEgp/ynRcF9vGVi1V4Ly1jq7f8NIajbDZ5q443XchZFYFg78K/EwD5mK6LYt16zb7+Jn0KbzwHeGRGzc9AvcEYlW6i634cSCm4n3BnqtF5PpogSzdw=
10 |
11 | script:
12 | - grunt ci
13 |
14 | notifications:
15 | email: false
16 | irc:
17 | channels:
18 | - "chat.freenode.net#select2"
19 | on_success: change
20 | on_failure: always
21 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2",
3 | "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
4 | "main": [
5 | "dist/js/select2.js",
6 | "dist/css/select2.css"
7 | ],
8 | "repository": {
9 | "type": "git",
10 | "url": "git@github.com:select2/select2.git"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2",
3 | "repo": "select/select2",
4 | "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
5 | "version": "4.0.0-rc.2",
6 | "demo": "https://select2.github.io/",
7 | "keywords": [
8 | "jquery"
9 | ],
10 | "main": "dist/js/select2.js",
11 | "styles": [
12 | "dist/css/select2.css"
13 | ],
14 | "scripts": [
15 | "dist/js/select2.js",
16 | "dist/js/i18n/*.js"
17 | ],
18 | "license": "MIT"
19 | }
20 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2/select2",
3 | "description": "Select2 is a jQuery based replacement for select boxes.",
4 | "type": "component",
5 | "homepage": "https://select2.github.io/",
6 | "license": "MIT",
7 | "require": {
8 | "robloach/component-installer": "*"
9 | },
10 | "extra": {
11 | "component": {
12 | "scripts": [
13 | "dist/js/select2.js"
14 | ],
15 | "files": [
16 | "dist/js/select2.js",
17 | "dist/js/i18n/*.js",
18 | "dist/css/select2.css"
19 | ]
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/dist/js/i18n/zh-TW.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.0-rc.2 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/.gitignore:
--------------------------------------------------------------------------------
1 | _site
2 | dist
3 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ak.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ak.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/al.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/al.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ar.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/az.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/az.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ca.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ca.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/co.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/co.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ct.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ct.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/de.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/fl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/fl.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ga.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ga.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/hi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/hi.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ia.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/id.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/il.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/il.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/in.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/in.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ks.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ky.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ky.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/la.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/la.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ma.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/md.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/md.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/me.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/me.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/mi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/mi.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/mn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/mn.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/mo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/mo.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ms.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/mt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/mt.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nc.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nd.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ne.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ne.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nh.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nj.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nm.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/nv.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ny.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/oh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/oh.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ok.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/or.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/or.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/pa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/pa.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ri.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ri.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/sc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/sc.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/sd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/sd.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/tn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/tn.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/tx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/tx.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/ut.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/va.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/va.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/vt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/vt.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/wa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/wa.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/wi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/wi.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/wv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/wv.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/wy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/search_head_gui/static/theme/plugins/select2/docs/vendor/images/flags/wy.png
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/src/js/banner.end.js:
--------------------------------------------------------------------------------
1 | // Return the AMD loader configuration so it can be used outside of this file
2 | return {
3 | define: S2.define,
4 | require: S2.require
5 | };
6 | }());
7 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/src/js/banner.start.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | // Restore the Select2 AMD loader so it can be used
3 | // Needed mostly in the language files, where the loader is not inserted
4 | if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
5 | var S2 = jQuery.fn.select2.amd;
6 | }
7 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/src/js/jquery.shim.js:
--------------------------------------------------------------------------------
1 | /* global jQuery:false, $:false */
2 | define(function () {
3 | var _$ = jQuery || $;
4 |
5 | if (_$ == null && console && console.error) {
6 | console.error(
7 | 'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
8 | 'found. Make sure that you are including jQuery before Select2 on your ' +
9 | 'web page.'
10 | );
11 | }
12 |
13 | return _$;
14 | });
15 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/src/js/select2/dropdown/attachContainer.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function AttachContainer (decorated, $element, options) {
5 | decorated.call(this, $element, options);
6 | }
7 |
8 | AttachContainer.prototype.position =
9 | function (decorated, $dropdown, $container) {
10 | var $dropdownContainer = $container.find('.dropdown-wrapper');
11 | $dropdownContainer.append($dropdown);
12 |
13 | $dropdown.addClass('select2-dropdown--below');
14 | $container.addClass('select2-container--below');
15 | };
16 |
17 | return AttachContainer;
18 | });
19 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/src/js/select2/keys.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | var KEYS = {
5 | BACKSPACE: 8,
6 | TAB: 9,
7 | ENTER: 13,
8 | SHIFT: 16,
9 | CTRL: 17,
10 | ALT: 18,
11 | ESC: 27,
12 | SPACE: 32,
13 | PAGE_UP: 33,
14 | PAGE_DOWN: 34,
15 | END: 35,
16 | HOME: 36,
17 | LEFT: 37,
18 | UP: 38,
19 | RIGHT: 39,
20 | DOWN: 40,
21 | DELETE: 46
22 | };
23 |
24 | return KEYS;
25 | });
26 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/src/js/wrapper.end.js:
--------------------------------------------------------------------------------
1 | // Autoload the jQuery bindings
2 | // We know that all of the modules exist above this, so we're safe
3 | var select2 = S2.require('jquery.select2');
4 |
5 | // Hold the AMD module references on the jQuery function that was just loaded
6 | // This allows Select2 to use the internal loader outside of this file, such
7 | // as in the language files.
8 | $.fn.select2.amd = S2;
9 |
10 | // Return the Select2 instance for anyone who is importing it.
11 | return select2;
12 | }));
13 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/static/theme/plugins/select2/src/scss/_single.scss:
--------------------------------------------------------------------------------
1 | .select2-selection--single {
2 | box-sizing: border-box;
3 |
4 | cursor: pointer;
5 | display: block;
6 |
7 | height: 28px;
8 |
9 | user-select: none;
10 | -webkit-user-select: none;
11 |
12 | .select2-selection__rendered {
13 | display: block;
14 | padding-left: 8px;
15 | padding-right: 20px;
16 |
17 | overflow: hidden;
18 | text-overflow: ellipsis;
19 | white-space: nowrap;
20 | }
21 | }
22 |
23 | &[dir="rtl"] {
24 | .select2-selection--single {
25 | .select2-selection__rendered {
26 | padding-right: 8px;
27 | padding-left: 20px;
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/core/apps/search_head_gui/views/login.py:
--------------------------------------------------------------------------------
1 | from django.views.generic.base import TemplateView
2 | from django.conf import settings
3 |
4 |
5 | class ForgotPasswordView(TemplateView):
6 | template_name = 'auth/forgot_password.html'
7 |
8 | def get_context_data(self, **kwargs):
9 | context = super().get_context_data(**kwargs)
10 |
11 | context['splash_title'] = settings.SPLASH_TITLE
12 | context['splash_text'] = settings.SPLASH_TEXT
13 |
14 | return context
15 |
--------------------------------------------------------------------------------
/core/apps/stats_api/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/stats_api/__init__.py
--------------------------------------------------------------------------------
/core/apps/stats_api/urls.py:
--------------------------------------------------------------------------------
1 | from django.conf.urls import url
2 |
3 | from apps.stats_api.views import StatsByGroup, GroupsByStat
4 |
5 | urlpatterns = [
6 | url(r'^by-group$', StatsByGroup.as_view(), name='by-group'),
7 | url(r'^by-stat$', GroupsByStat.as_view(), name='by-stat')
8 | ]
9 |
--------------------------------------------------------------------------------
/core/apps/task_api/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/apps/task_api/__init__.py
--------------------------------------------------------------------------------
/core/apps/task_api/urls.py:
--------------------------------------------------------------------------------
1 | from django.conf.urls import url
2 |
3 | from apps.task_api.views import TaskTrackDTView, MyTasks
4 |
5 | urlpatterns = [
6 | url(r'^dt_tasks$', TaskTrackDTView.as_view(), name='dt_tasks'),
7 | url(r'^mytasks$', MyTasks.as_view(), name='mytasks'),
8 | ]
9 |
--------------------------------------------------------------------------------
/core/bin/README:
--------------------------------------------------------------------------------
1 | This directory is for binaries and scripts for managing the system in general.
--------------------------------------------------------------------------------
/core/bin/make_confs.py:
--------------------------------------------------------------------------------
1 |
2 | import django
3 | django.setup()
4 |
5 | from django.conf import settings
6 | from django.template import Template, Context
7 |
8 | import logging
9 | log = logging.getLogger(__name__)
10 |
11 | # Use the configuration info above to render some config templates for other things on the system
12 | with open(settings.SITE_ROOT/'etc'/'syslog.conf.tmpl') as tmpl_file:
13 | with open(settings.SITE_ROOT/'etc'/'syslog.conf', 'w') as out_file:
14 | _syslog_conf = Template(tmpl_file.read())
15 | _context = Context({'log_path': settings.SITE_ROOT/'log'/'capture.log'})
16 | out_file.write(_syslog_conf.render(_context))
17 |
18 |
19 |
--------------------------------------------------------------------------------
/core/bin/random_data.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | INFILE=/data/data.pcap
4 | OUTFILE=/data/random.pcap
5 | IFACE=eth10
6 |
7 | #modprobe dummy
8 | #ip link set name eth10 dev dummy0
9 |
10 | SEED=9813
11 | while true; do
12 | SEED=$(expr ${SEED} + 1)
13 | tcprewrite -i $INFILE -o $OUTFILE -s ${SEED}
14 | tcpreplay -x 100.0 -i ${IFACE} ${OUTFILE}
15 | done
16 |
--------------------------------------------------------------------------------
/core/bin/sudo/README:
--------------------------------------------------------------------------------
1 | The commands in this directory are all wrappers for things meant to be run as root.
2 | Many of the commands themselves are rather dangerous, and the sudoers file
3 | format isn't flexible enough to allow us to make these safe enough for a non-root
4 | user to execute.
--------------------------------------------------------------------------------
/core/bin/sudo/get_dev_uuid.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # This runs the blkid command on some /dev device. We don't particularly care which one,
4 | # since this command only reads.
5 |
6 | PATH="$( dirname "${BASH_SOURCE[0]}" )"
7 | source ${PATH}/libs.sh
8 |
9 | if check_arg "$1" "$DEVICE_RE"; then
10 | /sbin/blkid -o value -s UUID "$1"
11 | fi
12 |
--------------------------------------------------------------------------------
/core/bin/sudo/libs.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Only allow md and sd devices
4 | DEVICE_RE='/dev/(md[0-9]+|(sd|xvd)[a-z]+[0-9]*|loop[0-9])'
5 | MD_DEVICE_RE='/dev/md[0-9]+'
6 |
7 | function check_arg {
8 | echo "$1" | /bin/grep -E "^$2$" > /dev/null
9 | }
10 |
11 | function is_int {
12 | check_arg "$1" "[0-9]+"
13 | }
14 |
15 | function is_label {
16 | check_arg "$1" "[0-9a-zA-Z_]+"
17 | }
18 |
19 | function is_mounted {
20 | # This checks for the device and any partitions on the device.
21 | /bin/grep -E "^$1[^a-z]*" /proc/mounts
22 | }
23 |
--------------------------------------------------------------------------------
/core/bin/sudo/mdadm_add_spare.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Add a spare disk to the given md device
4 | # Args
5 | # $1 The MD device to add the spare to
6 | # $2 The spare disk
7 |
8 | MDADMIN_PATH=/sbin/mdadm
9 |
10 | PATH="$( dirname "${BASH_SOURCE[0]}" )"
11 | source ${PATH}/libs.sh
12 |
13 | if check_arg "$1" "$MD_DEVICE_RE" && check_arg "$2" "$DEVICE_RE"; then
14 | ${MDADMIN_PATH} $1 -a $2
15 | exit $?
16 | fi
17 | exit 2
18 |
--------------------------------------------------------------------------------
/core/bin/sudo/mdadm_create.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Create a new MD device
4 | # Args
5 | # $1 The name the MD device should have
6 | # $2 The number of disks in the RAID
7 | # $3 The level of the RAID
8 | # $4... The disks that will comprise this RAID
9 |
10 | MDADMIN_PATH=/sbin/mdadm
11 |
12 | PATH="$( dirname "${BASH_SOURCE[0]}" )"
13 | source ${PATH}/libs.sh
14 |
15 | for arg in ${@:4}; do
16 | if ! check_arg "$arg" "$DEVICE_RE"; then
17 | exit 1;
18 | fi
19 | done
20 |
21 | if check_arg "$1" "$MD_DEVICE_RE" && is_int "$2" && is_int "$3"; then
22 | ${MDADMIN_PATH} --create "$1" -v --raid-devices=${2} --level=${3} ${@:4}
23 | exit $?
24 | fi
25 | exit 2
26 |
--------------------------------------------------------------------------------
/core/bin/sudo/mdadm_create_index.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Create a new MD device for an index. It's a 1 disk Raid 1, which will be expanded later.
4 | # Args
5 | # $1 The name the MD device should have
6 | # $2 The initial disk for the RAID
7 |
8 | MDADMIN_PATH=/sbin/mdadm
9 |
10 | PATH="$( dirname "${BASH_SOURCE[0]}" )"
11 | source ${PATH}/libs.sh
12 |
13 | for arg in ${@:4}; do
14 | if ! check_arg "$arg" "$DEVICE_RE"; then
15 | exit 1;
16 | fi
17 | done
18 |
19 | if check_arg "$1" "$MD_DEVICE_RE" && check_arg "$2" "$DEVICE_RE"; then
20 | ${MDADMIN_PATH} --create "$1" -v --raid-devices=2 --level=1 $2 missing
21 | exit $?
22 | fi
23 |
24 | /sbin/udevadm trigger
25 |
26 | exit 2
27 |
--------------------------------------------------------------------------------
/core/bin/sudo/mdadm_destroy.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Destroy the given RAID component. This just uses Mdadm to zero the device's superblock.
4 | # Args
5 | # $1... The raid components to destroy
6 |
7 | MDADMIN_PATH=/sbin/mdadm
8 |
9 | PATH="$( dirname "${BASH_SOURCE[0]}" )"
10 | source ${PATH}/libs.sh
11 |
12 | for arg in ${@:3}; do
13 | if ! check_arg "$arg" "$DEVICE_RE"; then
14 | exit 1;
15 | fi
16 | if is_mounted "$1"; then
17 | exit 1;
18 | fi
19 | done
20 |
21 | ${MDADMIN_PATH} --zero-superblock $@
22 | exit $?
23 |
--------------------------------------------------------------------------------
/core/bin/sudo/mdadm_remove_spare.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Remove a spare disk from the given md device
4 | # Args
5 | # $1 The MD device to remove the spare from
6 | # $2 The spare disk
7 |
8 | MDADMIN_PATH=/sbin/mdadm
9 |
10 | PATH="$( dirname "${BASH_SOURCE[0]}" )"
11 | source ${PATH}/libs.sh
12 |
13 | if check_arg "$1" "$MD_DEVICE_RE" && check_arg "$2" "$DEVICE_RE"; then
14 | ${MDADMIN_PATH} $1 -remove $2
15 | exit $?
16 | fi
17 | exit 2
18 |
--------------------------------------------------------------------------------
/core/bin/sudo/mdadm_stop.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Stop the given MD device.
4 | # Args
5 | # $1 The MD device to stop
6 |
7 | MDADMIN_PATH=/sbin/mdadm
8 |
9 | PATH="$( dirname "${BASH_SOURCE[0]}" )"
10 | source ${PATH}/libs.sh
11 |
12 | if check_arg "$1" "$MD_DEVICE_RE"; then
13 | ${MDADMIN_PATH} --stop "$1"
14 | exit $?
15 | fi
16 | exit 1
17 |
--------------------------------------------------------------------------------
/core/bin/sudo/mkfs.xfs.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Build an XFS filesystem on the given device
4 | # Args
5 | # $1 The device to format
6 | # $2 (optional) The label for the device.
7 |
8 | MKXFS_PATH=/sbin/mkfs.xfs
9 |
10 | PATH="$( dirname "${BASH_SOURCE[0]}" )"
11 | source ${PATH}/libs.sh
12 |
13 | LABEL=
14 | if [ $# -eq 2 ] && is_label $2; then
15 | LABEL="-L $2"
16 | fi
17 |
18 | if check_arg "$1" "$DEVICE_RE"; then
19 | is_mounted "$1" && exit 1
20 |
21 | ${MKXFS_PATH} -f -q ${LABEL} "$1"
22 | exit $?
23 | fi
24 |
25 | /sbin/udevadm trigger
26 |
27 | exit 1
28 |
--------------------------------------------------------------------------------
/core/bin/sudo/udev_trigger.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Tell udev to refresh its info.
4 |
5 | UDEVADMIN_PATH=/sbin/udevadm
6 |
7 | $UDEVADMIN_PATH trigger
8 |
--------------------------------------------------------------------------------
/core/libs/README:
--------------------------------------------------------------------------------
1 | This should contain project specific libraries.
2 | Generic libraries should be installed in the project virtual environment.
--------------------------------------------------------------------------------
/core/libs/__init__.py:
--------------------------------------------------------------------------------
1 | __author__ = 'scmcleni'
2 |
--------------------------------------------------------------------------------
/core/libs/custom_tags/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/libs/custom_tags/__init__.py
--------------------------------------------------------------------------------
/core/libs/custom_tags/templatetags/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/libs/custom_tags/templatetags/__init__.py
--------------------------------------------------------------------------------
/core/libs/custom_tags/templatetags/dictionary_lookup.py:
--------------------------------------------------------------------------------
1 | from django import template
2 | register = template.Library()
3 |
4 |
5 | @register.filter(name='get_item')
6 | def get_item(dictionary, key):
7 | """Returns the value at a given variable key"""
8 | return dictionary.get(key)
9 |
10 |
--------------------------------------------------------------------------------
/core/libs/custom_tags/templatetags/json_tags.py:
--------------------------------------------------------------------------------
1 | from django import template
2 |
3 | register = template.Library()
4 |
5 | import json
6 |
7 |
8 | @register.filter(name='pretty_json')
9 | def pretty_json(value):
10 | """Removes all values of arg from the given string"""
11 | return json.dumps(value, indent=4)
--------------------------------------------------------------------------------
/core/libs/model_singleton/__init__.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 |
4 | class SingletonModel(models.Model):
5 | """This helps us build a model with a single row. This is typically for configuration
6 | data."""
7 | class Meta:
8 | abstract = True
9 |
10 | def save(self, *args, **kwargs):
11 | self.__class__.objects.exclude(id=self.id).delete()
12 | super(SingletonModel, self).save(*args, **kwargs)
13 |
14 | @classmethod
15 | def load(cls):
16 | """:rtype cls"""
17 | try:
18 | return cls.objects.get()
19 | except cls.DoesNotExist:
20 | return cls()
21 |
22 |
--------------------------------------------------------------------------------
/core/libs/view_helpers/__init__.py:
--------------------------------------------------------------------------------
1 | def format_errors(errors):
2 | """Format serializer errors to conform to our messaging format. (ie, sending a list of
3 | messages or a single message under 'success', 'info', 'warning', or 'failure').
4 | :param errors: An error dictionary as produced by rest_framework serializers.
5 | :returns: A list of messages."""
6 | out_errors = []
7 |
8 | for key in errors:
9 | for msg in errors[key]:
10 | if key != 'non_field_errors':
11 | out_errors.append('{}: {}'.format(key, msg))
12 | else:
13 | out_errors.append(msg)
14 |
15 | return out_errors
16 |
17 |
--------------------------------------------------------------------------------
/core/manage.py:
--------------------------------------------------------------------------------
1 | #!../bin/python3
2 | import os
3 | import sys
4 |
5 | if __name__ == "__main__":
6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings.settings")
7 |
8 | from django.core.management import execute_from_command_line
9 |
10 | execute_from_command_line(sys.argv)
11 |
--------------------------------------------------------------------------------
/core/runcelery:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | QUEUES=
4 |
5 | # Capture Nodes should have a queue named after their hostname
6 | if grep -iq '\s*capture_node\s*=\s*true\s*' ../etc/pcapdb.cfg; then
7 | QUEUES=${QUEUES},$(hostname)
8 | fi
9 |
10 | # Search heads should have a search_head and celery queue
11 | if grep -iq '\s*search_head\s*=\s*true\s*' ../etc/pcapdb.cfg; then
12 | QUEUES=${QUEUES},search_head,celery
13 | fi
14 |
15 | ../bin/celery -A settings.celery worker -B --queue=${QUEUES} -l DEBUG --logfile=../log/celery.log
16 |
--------------------------------------------------------------------------------
/core/runserver:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | HTTP_PORT=$(grep ^http_port ../etc/pcapdb.cfg | awk -F= '{{ print $2 }}' | tr -d '[[:space:]]')
4 |
5 | if [ -z "${HTTP_PORT}" ]; then
6 | URI=$(hostname)
7 | else
8 | URI=$(hostname):${HTTP_PORT}
9 | fi
10 |
11 | ../bin/python manage.py runserver ${URI}
12 |
--------------------------------------------------------------------------------
/core/settings/__init__.py:
--------------------------------------------------------------------------------
1 | from .celery import app as celery_app
2 |
--------------------------------------------------------------------------------
/core/settings/celery.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.settings')
4 | import django
5 | from django.conf import settings
6 |
7 | from celery import Celery
8 |
9 | __author__ = 'pflarr'
10 |
11 | app = Celery()
12 |
13 | # Configure celery logging
14 | app.config_from_object('django.conf:settings')
15 | app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
16 |
--------------------------------------------------------------------------------
/core/settings/celery_start.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.settings')
4 | import django
5 | django.setup()
6 |
7 | from settings.celery import *
8 |
--------------------------------------------------------------------------------
/core/settings/devel.py:
--------------------------------------------------------------------------------
1 | __author__ = 'pflarr'
2 |
3 | # Import everything from the common config so we can override bits of it.
4 | from .common import *
5 | import os
6 |
7 | SECRET_KEY = 'volcanic_tuft'
8 |
9 | INSTALLED_APPS.append('debug_toolbar')
10 | DEBUG_TOOLBAR_PATCH_SETTINGS = False
11 | MIDDLEWARE_CLASSES = ('debug_toolbar.middleware.DebugToolbarMiddleware',) + MIDDLEWARE_CLASSES
12 | INTERNAL_IPS = ''
13 |
14 | DEBUG = True
15 |
16 | CAPTURE_USER = os.getlogin()
17 | CAPTURE_GROUP = 'users'
18 |
19 | # Should be in application configuration.
20 | EMAIL_HOST = ''
21 | LDAP_PORT = 389
22 | LDAP_SERVER = ''
23 | LDAP_SSL_PORT = 636
24 | TIME_ZONE = 'US/Mountain'
25 |
--------------------------------------------------------------------------------
/core/settings/prod.py:
--------------------------------------------------------------------------------
1 | # Import everything from the common config so we can override bits of it.
2 | from .common import *
3 | import os
4 | import socket
5 | import uuid
6 |
7 | __author__ = 'pflarr'
8 |
9 |
10 | if IS_SEARCH_HEAD:
11 | SECRET_KEY = config.get('pcapdb', 'session_secret')
12 | else:
13 | # We need to set this for the capture nodes, but it doesn't need to actually be
14 | # consistent
15 | SECRET_KEY = str(uuid.uuid4())
16 |
17 | os.environ['HTTPS'] = 'on'
18 | os.environ['wsgi.url_scheme'] = 'https'
19 | SESSION_COOKIE_SECURE = True
20 | CSRF_COOKIE_SECURE = True
21 |
22 | DEBUG = False
23 |
24 | CAPTURE_USER = 'capture'
25 | CAPTURE_GROUP = 'capture'
26 |
27 |
--------------------------------------------------------------------------------
/core/settings/wsgi.py:
--------------------------------------------------------------------------------
1 | """
2 | WSGI config for PcapDB interface project.
3 |
4 | It exposes the WSGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.wsgi import get_wsgi_application
13 |
14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings.settings")
15 |
16 | application = get_wsgi_application()
17 |
--------------------------------------------------------------------------------
/core/unused_apps/config/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/unused_apps/config/__init__.py
--------------------------------------------------------------------------------
/core/unused_apps/config/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/core/unused_apps/config/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/core/unused_apps/config/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/core/unused_apps/configuration_api/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/unused_apps/configuration_api/__init__.py
--------------------------------------------------------------------------------
/core/unused_apps/configuration_api/serializers/__init__.py:
--------------------------------------------------------------------------------
1 | from rest_framework import serializers
2 |
3 |
4 | class UpdateConfigSerializer(serializers.Serializer):
5 | key = serializers.CharField()
6 | value = serializers.CharField()
7 |
8 |
9 | class NewConfigSerializer(serializers.Serializer):
10 | category = serializers.CharField()
11 | key = serializers.CharField()
12 | value = serializers.CharField()
13 |
14 |
15 | class DeleteConfigSerializer(serializers.Serializer):
16 | key = serializers.CharField()
--------------------------------------------------------------------------------
/core/unused_apps/configuration_api/urls.py:
--------------------------------------------------------------------------------
1 | from django.conf.urls import url
2 | from .views import GetConfigurationData
3 | from .views import UpdateConfig
4 | from .views import AddConfig
5 | from .views import DeleteConfig
6 | from .views import GetConfigurationHistory
7 |
8 | urlpatterns = [
9 | # url(r'^$', SOMETHING_ASVIEW, name="main"),
10 | url(r'^current/$', GetConfigurationData.as_view(), name="current"),
11 | url(r'^update/$', UpdateConfig.as_view(), name="update"),
12 | url(r'^add/$', AddConfig.as_view(), name="add"),
13 | url(r'^delete/$', DeleteConfig.as_view(), name="delete"),
14 | url(r'^history/$', GetConfigurationHistory.as_view(), name="history"),
15 | ]
--------------------------------------------------------------------------------
/core/unused_apps/configuration_gui/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/unused_apps/configuration_gui/__init__.py
--------------------------------------------------------------------------------
/core/unused_apps/configuration_gui/templatetags/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/core/unused_apps/configuration_gui/templatetags/__init__.py
--------------------------------------------------------------------------------
/core/unused_apps/configuration_gui/urls.py:
--------------------------------------------------------------------------------
1 | from django.conf.urls import url
2 | from .views import ConfigurationManagement
3 |
4 | urlpatterns = [
5 | url(r'^$', ConfigurationManagement.as_view(), name="main"),
6 | ]
--------------------------------------------------------------------------------
/docker/TODO.md:
--------------------------------------------------------------------------------
1 | Things that need fixin'
2 | =======================
3 |
4 | - Are we going to need cron?
5 | - Registration emails come from docker container hostname, how can we override that with $PCAPDB_HOSTNAME?
6 |
7 |
8 | pfring
9 | ------
10 |
11 | `/etc/init.d/pf_ring` wants to load a kernel module.
12 | It calls dkms, which promptly explodes,
13 | since debian doesn't have kernel headers for a coreos kernel.
14 | We are going to have to figure this out.
15 |
16 | Mount Points
17 | ------------
18 |
19 | The following directories are thins you would want to persist across deploys
20 |
21 | - `/var/lib/postgres`
22 | -
23 |
--------------------------------------------------------------------------------
/docker/docs/img/AddUserAdmin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/AddUserAdmin.png
--------------------------------------------------------------------------------
/docker/docs/img/AddUserAdminSuccess.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/AddUserAdminSuccess.png
--------------------------------------------------------------------------------
/docker/docs/img/CaptureNodeAddDNS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/CaptureNodeAddDNS.png
--------------------------------------------------------------------------------
/docker/docs/img/CaptureNodesAddedDNS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/CaptureNodesAddedDNS.png
--------------------------------------------------------------------------------
/docker/docs/img/CaptureNodesBlank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/CaptureNodesBlank.png
--------------------------------------------------------------------------------
/docker/docs/img/CreateRaidIndex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/CreateRaidIndex.png
--------------------------------------------------------------------------------
/docker/docs/img/DisksBlank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/DisksBlank.png
--------------------------------------------------------------------------------
/docker/docs/img/DisksDevices.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/DisksDevices.png
--------------------------------------------------------------------------------
/docker/docs/img/EnabledCaptureDisk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/EnabledCaptureDisk.png
--------------------------------------------------------------------------------
/docker/docs/img/InitCaptureDisk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/InitCaptureDisk.png
--------------------------------------------------------------------------------
/docker/docs/img/SelfsignedCertError.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/SelfsignedCertError.png
--------------------------------------------------------------------------------
/docker/docs/img/SetAdminPassword.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/SetAdminPassword.png
--------------------------------------------------------------------------------
/docker/docs/img/SitesBlank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/SitesBlank.png
--------------------------------------------------------------------------------
/docker/docs/img/SitesNewlyCreatedUsers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/SitesNewlyCreatedUsers.png
--------------------------------------------------------------------------------
/docker/docs/img/dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/dashboard.png
--------------------------------------------------------------------------------
/docker/docs/img/dashboard_withCaptureSite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/dashboard_withCaptureSite.png
--------------------------------------------------------------------------------
/docker/docs/img/pcapdb_login_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/docker/docs/img/pcapdb_login_screen.png
--------------------------------------------------------------------------------
/etc/README:
--------------------------------------------------------------------------------
1 | General system configuration files and templates go here. The final versions will be installed by
2 | make. If building in place, those final versions will end up here too.
--------------------------------------------------------------------------------
/etc/supervisord_cn.conf.tmpl:
--------------------------------------------------------------------------------
1 | [program:capture_runner]
2 | command=DESTDIR/bin/python DESTDIR/core/bin/capture_runner.py
3 | startsecs=5
4 | autorestart=true
5 | user=root
6 | environment=LD_LIBRARY_PATH='/usr/local/lib',SITE_ROOT='DESTDIR'
7 | stopwaitsecs=180
8 |
--------------------------------------------------------------------------------
/etc/supervisord_common.conf.tmpl:
--------------------------------------------------------------------------------
1 | [program:pcapdb_celery]
2 | command=DESTDIR/bin/celery -A settings.celery worker -B --logfile=DESTDIR/log/celery.log -l DEBUG -c 1
3 | autorestart=true
4 | user=capture
5 | environment=PYTHONPATH="DESTDIR/core"
6 |
--------------------------------------------------------------------------------
/etc/supervisord_sh.conf.tmpl:
--------------------------------------------------------------------------------
1 | [program:pcapdb_uwsgi]
2 | command=DESTDIR/bin/uwsgi --ini DESTDIR/etc/uwsgi.ini --uid capture --gid WWW_USER --logto DESTDIR/log/uwsgi.log
3 | autorestart=true
4 | user=root
5 | stopsignal=KILL
6 |
7 |
--------------------------------------------------------------------------------
/etc/uwsgi.ini.tmpl:
--------------------------------------------------------------------------------
1 | [uwsgi]
2 |
3 | chdir = DESTDIR/core
4 | module = settings.wsgi
5 | home = DESTDIR
6 |
7 | master = true
8 | processes = 10
9 | socket = DESTDIR/pcapdb.sock
10 | chmod-socket= 664
11 | vacuum = true
12 | # Some pcapdb requests are larger than normal, necessitating a larger than normal
13 | # buffer for request headers.
14 | buffer-size = 8192
15 |
--------------------------------------------------------------------------------
/indexer/Makefile:
--------------------------------------------------------------------------------
1 | DESTDIR=/var/pcapdb
2 |
3 | BUILD: build/Makefile
4 | make -C build
5 |
6 | build/Makefile:
7 | mkdir -p build
8 | cd build; cmake -DCMAKE_INSTALL_PREFIX="" ../
9 |
10 | install: install_scripts BUILD
11 | make -C build install
12 |
13 | install_scripts:
14 | install scripts/* ${DESTDIR}/bin/
15 |
16 | clean:
17 | rm -rf build
18 |
--------------------------------------------------------------------------------
/indexer/cmake/FindNUMA.cmake:
--------------------------------------------------------------------------------
1 | if (LIBNUMA_LIBRARIES AND LIBNUMA_INCLUDE_DIRS)
2 | set (LibNuma_FIND_QUIETLY TRUE)
3 | endif (LIBNUMA_LIBRARIES AND LIBNUMA_INCLUDE_DIRS)
4 |
5 | find_path(LIBNUMA_INCLUDE_DIRS NAMES numa.h)
6 | find_library(LIBNUMA_LIBRARIES NAMES numa)
7 |
8 | include (FindPackageHandleStandardArgs)
9 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(
10 | LibNuma
11 | DEFAULT_MSG
12 | LIBNUMA_LIBRARIES
13 | LIBNUMA_INCLUDE_DIRS)
14 |
15 | mark_as_advanced(
16 | LIBNUMA_INCLUDE_DIRS
17 | LIBNUMA_LIBRARIES)
--------------------------------------------------------------------------------
/indexer/cmake/FindPFRing.cmake:
--------------------------------------------------------------------------------
1 | FIND_LIBRARY(PFRING_LIBRARY
2 | NAMES
3 | pfring
4 | )
5 |
6 | FIND_PATH(PFRING_INCLUDE_DIR
7 | NAMES
8 | pfring.h
9 | )
10 |
11 | SET(PFRING_INCLUDE_DIRS ${PFRING_INCLUDE_DIR})
12 | SET(PFRING_LIBRARIES ${PFRING_LIBRARY})
13 |
14 | INCLUDE(CheckFunctionExists)
15 | SET(CMAKE_REQUIRED_INCLUDES ${PFRING_INCLUDE_DIRS})
16 | SET(CMAKE_REQUIRED_LIBRARIES ${PFRING_LIBRARIES})
17 |
18 | IF(PFRING_INCLUDE_DIRS AND PFRING_LIBRARIES)
19 | SET( PFRING_FOUND "YES" )
20 | ENDIF(PFRING_INCLUDE_DIRS AND PFRING_LIBRARIES)
21 |
22 | MARK_AS_ADVANCED(
23 | PFRING_LIBRARIES
24 | PFRING_INCLUDE_DIRS
25 | )
26 |
--------------------------------------------------------------------------------
/indexer/event.h:
--------------------------------------------------------------------------------
1 | #ifndef __CORNET_EVENT_H__
2 | #define __CORNET_EVENT_H__
3 |
4 | #include
5 | #include
6 |
7 | #define EVENT_INIT {0, PTHREAD_MUTEX_INITIALIZER}
8 |
9 | struct event {
10 | uint8_t status;
11 | pthread_mutex_t lock;
12 | } event;
13 |
14 | // Initialize the event struct, setting status to 0. Can be
15 | // statically initialized with EVENT_INIT.
16 | void event_init(struct event *);
17 | // Set the event to true.
18 | void event_set(struct event *);
19 | // Set the event to false.
20 | void event_clear(struct event *);
21 | // Check the status of the event.
22 | uint8_t event_check(struct event *);
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/indexer/pdf/Makefile:
--------------------------------------------------------------------------------
1 | %.pdf: ../$*
2 | vim -R -c "hardcopy > $*.ps" -c "quit" ../$*
3 | ps2pdf $*.ps $*.pdf
4 | rm $*.ps
5 |
6 | clean:
7 | rm -f *.pdf
8 | rm -f *.ps
9 |
--------------------------------------------------------------------------------
/indexer/scripts/count_free_hugepages:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # This returns the number of free hugepages.
4 |
5 | FREE_PAGES=$(cat /proc/meminfo | grep HugePages_Free | awk '{ print $NF }')
6 |
7 | exit $FREE_PAGES
8 |
--------------------------------------------------------------------------------
/indexer/search/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.11)
2 |
3 | set(TEST_DATA_PATH ${CMAKE_SOURCE_DIR}/search/tests/data/)
4 | set(OFFSET_DATA_PATH ${TEST_DATA_PATH}/subindex_offsets/)
5 |
6 | add_test(and_tt WORKING_DIRECTORY ${OFFSET_DATA_PATH})
--------------------------------------------------------------------------------
/indexer/search/tests/Makefile:
--------------------------------------------------------------------------------
1 | all:
2 |
3 | test: gen_test_index.py
4 | time python3 gen_test_index.py
5 | time ./test.sh
6 |
7 | clean:
8 | rm -f *results_py
9 | rm -f *results_c
10 | rm -f test_flow test_ipv4 test_ipv6 test_port
11 | rm -f test.sh
12 |
--------------------------------------------------------------------------------
/indexer/search/tests/fail_test_queries:
--------------------------------------------------------------------------------
1 | # Octet too large
2 | 10.256.3.4
3 | # Mask too large
4 | 10.1.1.1/33
5 | # Mask too small
6 | 10.1.1.1/0
7 | # Invalid Mask
8 | 10.1.1.1/255.0.0.1
9 | # Mask octet too large
10 | 10.1.1.1/255.256.0.0
11 | # Non hex character
12 | abcd:efgh::0001
13 | # Too many groups
14 | abcd:ef00:1000:1000:1000:1000:1000:1000:1000:10
15 | # Invalid port
16 | port 0
17 | # Invalid port (Ports max out at 2^16 - 1
18 | src port 65536
19 | # To many specifiers
20 | src dst port port 25
21 | # To many specifiers
22 | src dst 10.1.1.1
23 | 10.1.1.1/255.255.255.0/23
24 | 10.1.1.1/23/255.255.255.0
25 | 10.1.1.1/255.0.0.0/255.255.255.0
26 | 10.1.1.1/23/23
27 | 10.1.1.1:23:23
28 |
--------------------------------------------------------------------------------
/indexer/search/tests/test_queries:
--------------------------------------------------------------------------------
1 | 192.168.0.0/16:25
2 | 10.5.4.0/255.255.255.0
3 | src 10.5.4.1 dst port 8080
4 | # Surrounding and extra white space is ok.
5 | dst ae35:bc22::0001 port 80
6 | # The last item is a port #
7 | abcd:ef00:1000:1000:1000:1000:1000:1000:1000
8 |
9 |
--------------------------------------------------------------------------------
/indexer/show_keys.c:
--------------------------------------------------------------------------------
1 | #include "keys.h"
2 |
3 | #define USAGE "show_keys [-h]\n"\
4 | " Print out the capture system key types used to identify various\n"\
5 | " indices, and their names.\n"
6 |
7 | int main(int argc, char ** argv) {
8 | if (argc != 1) {
9 | fprintf(stderr, USAGE);
10 | return 1;
11 | }
12 |
13 | int i;
14 | printf(" ID - Key Name\n");
15 | printf("------------------------------\n");
16 | for (i=0; i <= tt_LAST; i++) {
17 | printf("%4d - %s\n", i, kt_name(i));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/indexer/tests/data/converted_fcap.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/converted_fcap.pcap
--------------------------------------------------------------------------------
/indexer/tests/data/empty.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/empty.pcap
--------------------------------------------------------------------------------
/indexer/tests/data/many_sess/FLOW:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/many_sess/FLOW
--------------------------------------------------------------------------------
/indexer/tests/data/many_sess/SRCPORT:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/many_sess/SRCPORT
--------------------------------------------------------------------------------
/indexer/tests/data/many_sess/SRCv4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/many_sess/SRCv4
--------------------------------------------------------------------------------
/indexer/tests/data/many_sess/SRCv6:
--------------------------------------------------------------------------------
1 | FIDX tsus' tsus
--------------------------------------------------------------------------------
/indexer/tests/data/many_sess/many_sessions.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/many_sess/many_sessions.pcap
--------------------------------------------------------------------------------
/indexer/tests/data/many_sessions.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/many_sessions.pcap
--------------------------------------------------------------------------------
/indexer/tests/data/subindex_offsets/5_i_4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/subindex_offsets/5_i_4
--------------------------------------------------------------------------------
/indexer/tests/data/subindex_offsets/5_i_5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/subindex_offsets/5_i_5
--------------------------------------------------------------------------------
/indexer/tests/data/subindex_offsets/5_r_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/subindex_offsets/5_r_1
--------------------------------------------------------------------------------
/indexer/tests/data/subindex_offsets/5_r_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/subindex_offsets/5_r_2
--------------------------------------------------------------------------------
/indexer/tests/data/subindex_offsets/5_r_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/subindex_offsets/5_r_3
--------------------------------------------------------------------------------
/indexer/tests/data/subindex_offsets/and_5f3fe3d92e54febd1bb579f1f40daf6d834cd43940ab0a5d5cc9524693a070fd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/subindex_offsets/and_5f3fe3d92e54febd1bb579f1f40daf6d834cd43940ab0a5d5cc9524693a070fd
--------------------------------------------------------------------------------
/indexer/tests/data/subindex_offsets/and_results:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/subindex_offsets/and_results
--------------------------------------------------------------------------------
/indexer/tests/data/subindex_offsets/or_results:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/data/subindex_offsets/or_results
--------------------------------------------------------------------------------
/indexer/tests/data/test.pcap:
--------------------------------------------------------------------------------
1 | /tmp/test.pcap
--------------------------------------------------------------------------------
/indexer/tests/enum.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dirtbags/pcapdb/c1b737b8480ecf8149990dd0b4e4b01fac1e0017/indexer/tests/enum.pcap
--------------------------------------------------------------------------------
/indexer/tests/make_test_db:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python3
2 |
3 | import django
4 | os.environ.setdefault("DJANGO_SETTINGS_MODULE")
5 |
6 | path = "../../capture/"
7 | if path not in sys.path:
8 | sys.path.append(path)
9 |
10 | django.setup()
11 |
12 | from disks.models import
13 |
--------------------------------------------------------------------------------
/indexer/tests/test_args.h:
--------------------------------------------------------------------------------
1 | // Process arguments for a test process.
2 | // Returns the final non-positional argument (assuming there is only one).
3 | char * test_args(
4 | int, // argc
5 | char **, // argv
6 | struct system_state *); // The capture state structure.
7 |
8 | void usage();
9 |
10 | // Tries to find a reasonable working directory.
11 | void fix_working_dir();
--------------------------------------------------------------------------------
/indexer/tests/test_ips:
--------------------------------------------------------------------------------
1 | 10.100.150.200
2 | 10.100.200.150
3 | 10.150.100.200
4 | 10.150.200.100
5 | 10.200.100.150
6 | 10.200.150.100
7 | 100.10.150.200
8 | 100.10.200.150
9 | 100.150.10.200
10 | 100.150.200.10
11 | 100.200.10.150
12 | 100.200.150.10
13 | 150.10.100.200
14 | 150.10.200.100
15 | 150.100.10.200
16 | 150.100.200.10
17 | 150.200.10.100
18 | 150.200.100.10
19 | 200.10.100.150
20 | 200.10.150.100
21 | 200.100.10.150
22 | 200.100.150.10
23 | 200.150.10.100
24 | 200.150.100.10
25 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | Django==1.9
2 | django-hosts>=1.2
3 | django-auth-ldap-ng
4 | djangorestframework==3.7.3
5 | djangorestframework-jwt>=1.5.0
6 | django-braces==1.9
7 | netifaces>=0.10.4
8 | requests>=2.2.1
9 | postgres
10 | psutil>=3.3.0
11 | python-dateutil>=2.2
12 | ldap3
13 | #psycopg2>=2.6.0
14 | netaddr # required for netfields
15 | # This external django-postgres package is required.
16 | # The official postgres fields does not support JSONB
17 | # https://bitbucket.org/schinckel/django-postgres/get/ee37d8ece8e4.zip
18 | path.py
19 | django-celery
20 | celery<4.0
21 | uwsgi
22 | validate_email
23 | daemonize
24 | zxcvbn-py3
25 | iso8601
26 |
--------------------------------------------------------------------------------
/system/ld.so.conf:
--------------------------------------------------------------------------------
1 | /usr/local/lib
2 |
--------------------------------------------------------------------------------
/system/pcapdb.sudoers:
--------------------------------------------------------------------------------
1 | %users localhost=
2 |
--------------------------------------------------------------------------------