Added Libjection

This commit is contained in:
Breno Silva 2013-04-18 23:00:45 -04:00
parent 417d7daf20
commit e97c12f8a2
6 changed files with 4135 additions and 7319 deletions

View File

@ -1,813 +1,36 @@
/* Copyright 2012, 2013
* Nick Galbreath -- nickg [at] client9 [dot] com
* http://www.client9.com/projects/libinjection/
<!DOCTYPE html> *
<html> * All rights reserved.
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# githubog: http://ogp.me/ns/fb/githubog#"> *
<meta charset='utf-8'> * Redistribution and use in source and binary forms, with or without
<meta http-equiv="X-UA-Compatible" content="IE=edge"> * modification, are permitted provided that the following conditions are
<title>ModSecurity/apache2/libinjection/COPYING.txt at da961d4c1535d2131c1733258b3f809feeabadf5 · client9/ModSecurity · GitHub</title> * met:
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" /> *
<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" /> * Redistributions of source code must retain the above copyright
<link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png" /> * notice, this list of conditions and the following disclaimer.
<link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png" /> *
<link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png" /> * Redistributions in binary form must reproduce the above copyright
<link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png" /> * notice, this list of conditions and the following disclaimer in the
<link rel="logo" type="image/svg" href="http://github-media-downloads.s3.amazonaws.com/github-logo.svg" /> * documentation and/or other materials provided with the distribution.
<link rel="xhr-socket" href="/_sockets"> *
<meta name="msapplication-TileImage" content="/windows-tile.png"> * Neither the name of libinjection nor the names of its
<meta name="msapplication-TileColor" content="#ffffff"> * contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
<link rel="icon" type="image/x-icon" href="/favicon.ico" /> * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
<meta content="authenticity_token" name="csrf-param" /> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
<meta content="CGoQvLlHeyiMHvSldS2zv1DyDXPZq2xEVmkfGD+ECNI=" name="csrf-token" /> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
<link href="https://a248.e.akamai.net/assets.github.com/assets/github-3dae77b1344d5de8d1c932d28c3904033713ed8b.css" media="all" rel="stylesheet" type="text/css" /> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
<link href="https://a248.e.akamai.net/assets.github.com/assets/github2-c15137b0b05c94db05fa047ecd589d7a7df41d85.css" media="all" rel="stylesheet" type="text/css" /> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script src="https://a248.e.akamai.net/assets.github.com/assets/frameworks-010d500708696b4ecee44478b5229d626367e844.js" type="text/javascript"></script> *
<script src="https://a248.e.akamai.net/assets.github.com/assets/github-3faa7311e682eb5f92401a6c1295f98d3fc9eaa8.js" type="text/javascript"></script> * This is the standard "new" BSD license:
* http://www.opensource.org/licenses/bsd-license.php
<meta http-equiv="x-pjax-version" content="58769555cfd6f51aea069970c0fad714"> */
<link data-pjax-transient rel='permalink' href='/client9/ModSecurity/blob/da961d4c1535d2131c1733258b3f809feeabadf5/apache2/libinjection/COPYING.txt'>
<meta property="og:title" content="ModSecurity"/>
<meta property="og:type" content="githubog:gitrepository"/>
<meta property="og:url" content="https://github.com/client9/ModSecurity"/>
<meta property="og:image" content="https://secure.gravatar.com/avatar/a33ae5e2dab2c5f6107c878798f64694?s=420&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
<meta property="og:site_name" content="GitHub"/>
<meta property="og:description" content="ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx that is developed by Trustwave&#39;s SpiderLabs. It has a robust event-based programming language which provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis. With over 10,000 deployments world-wide, ModSecurity is the most widely deployed WAF in existence. "/>
<meta property="twitter:card" content="summary"/>
<meta property="twitter:site" content="@GitHub">
<meta property="twitter:title" content="client9/ModSecurity"/>
<meta name="description" content="ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx that is developed by Trustwave&#39;s SpiderLabs. It has a robust event-based programming language which provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis. With over 10,000 deployments world-wide, ModSecurity is the most widely deployed WAF in existence. " />
<meta name="robots" content="noindex, nofollow">
<link href="https://github.com/client9/ModSecurity/commits/da961d4c1535d2131c1733258b3f809feeabadf5.atom" rel="alternate" title="Recent Commits to ModSecurity:da961d4c1535d2131c1733258b3f809feeabadf5" type="application/atom+xml" />
</head>
<body class="logged_out page-blob vis-public fork env-production ">
<div id="wrapper">
<div class="header header-logged-out">
<div class="container clearfix">
<a class="header-logo-wordmark" href="https://github.com/">Github</a>
<div class="header-actions">
<a class="button primary" href="https://github.com/signup">Sign up for free</a>
<a class="button" href="https://github.com/login?return_to=%2Fclient9%2FModSecurity%2Fblob%2Fda961d4c1535d2131c1733258b3f809feeabadf5%2Fapache2%2Flibinjection%2FCOPYING.txt">Sign in</a>
</div>
<ul class="top-nav">
<li class="explore"><a href="https://github.com/explore">Explore GitHub</a></li>
<li class="search"><a href="https://github.com/search">Search</a></li>
<li class="features"><a href="https://github.com/features">Features</a></li>
<li class="blog"><a href="https://github.com/blog">Blog</a></li>
</ul>
</div>
</div>
<div class="site hfeed" itemscope itemtype="http://schema.org/WebPage">
<div class="hentry">
<div class="pagehead repohead instapaper_ignore readability-menu ">
<div class="container">
<div class="title-actions-bar">
<ul class="pagehead-actions">
<li>
<a href="/login?return_to=%2Fclient9%2FModSecurity"
class="minibutton js-toggler-target star-button entice tooltipped upwards"
title="You must be signed in to use this feature" rel="nofollow">
<span class="mini-icon mini-icon-star"></span>Star
</a>
<a class="social-count js-social-count" href="/client9/ModSecurity/stargazers">
0
</a>
</li>
<li>
<a href="/login?return_to=%2Fclient9%2FModSecurity"
class="minibutton js-toggler-target fork-button entice tooltipped upwards"
title="You must be signed in to fork a repository" rel="nofollow">
<span class="mini-icon mini-icon-fork"></span>Fork
</a>
<a href="/client9/ModSecurity/network" class="social-count">
43
</a>
</li>
</ul>
<h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
<span class="repo-label"><span>public</span></span>
<span class="mega-icon mega-icon-public-repo"></span>
<span class="author vcard">
<a href="/client9" class="url fn" itemprop="url" rel="author">
<span itemprop="title">client9</span>
</a></span> /
<strong><a href="/client9/ModSecurity" class="js-current-repository">ModSecurity</a></strong>
<span class="fork-flag">
<span class="text">forked from <a href="/SpiderLabs/ModSecurity">SpiderLabs/ModSecurity</a></span>
</span>
</h1>
</div>
<ul class="tabs">
<li class="pulse-nav"><a href="/client9/ModSecurity/pulse" highlight="pulse" rel="nofollow"><span class="mini-icon mini-icon-pulse"></span></a></li>
<li><a href="/client9/ModSecurity" class="selected" highlight="repo_source repo_downloads repo_commits repo_tags repo_branches">Code</a></li>
<li><a href="/client9/ModSecurity/network" highlight="repo_network">Network</a></li>
<li><a href="/client9/ModSecurity/pulls" highlight="repo_pulls">Pull Requests <span class='counter'>0</span></a></li>
<li><a href="/client9/ModSecurity/graphs" highlight="repo_graphs repo_contributors">Graphs</a></li>
</ul>
<div class="tabnav">
<span class="tabnav-right">
<ul class="tabnav-tabs">
<li><a href="/client9/ModSecurity/tags" class="tabnav-tab" highlight="repo_tags">Tags <span class="counter ">3</span></a></li>
</ul>
</span>
<div class="tabnav-widget scope">
<div class="select-menu js-menu-container js-select-menu js-branch-menu">
<a class="minibutton select-menu-button js-menu-target" data-hotkey="w" data-ref="">
<span class="mini-icon mini-icon-tree"></span>
<i>tree:</i>
<span class="js-select-button">da961d4c15</span>
</a>
<div class="select-menu-modal-holder js-menu-content js-navigation-container">
<div class="select-menu-modal">
<div class="select-menu-header">
<span class="select-menu-title">Switch branches/tags</span>
<span class="mini-icon mini-icon-remove-close js-menu-close"></span>
</div> <!-- /.select-menu-header -->
<div class="select-menu-filters">
<div class="select-menu-text-filter">
<input type="text" id="commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
</div>
<div class="select-menu-tabs">
<ul>
<li class="select-menu-tab">
<a href="#" data-tab-filter="branches" class="js-select-menu-tab">Branches</a>
</li>
<li class="select-menu-tab">
<a href="#" data-tab-filter="tags" class="js-select-menu-tab">Tags</a>
</li>
</ul>
</div><!-- /.select-menu-tabs -->
</div><!-- /.select-menu-filters -->
<div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket css-truncate" data-tab-filter="branches">
<div data-filterable-for="commitish-filter-field" data-filterable-type="substring">
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/master/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="master" rel="nofollow" title="master">master</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/2.1.0/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/2.1.0" rel="nofollow" title="remotes/2.1.0">remotes/2.1.0</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/2.1.0-rc7/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/2.1.0-rc7" rel="nofollow" title="remotes/2.1.0-rc7">remotes/2.1.0-rc7</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/2.1.x/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/2.1.x" rel="nofollow" title="remotes/2.1.x">remotes/2.1.x</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/2.2.x/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/2.2.x" rel="nofollow" title="remotes/2.2.x">remotes/2.2.x</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/2.5.x/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/2.5.x" rel="nofollow" title="remotes/2.5.x">remotes/2.5.x</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/2.6.x/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/2.6.x" rel="nofollow" title="remotes/2.6.x">remotes/2.6.x</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/2.7.x/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/2.7.x" rel="nofollow" title="remotes/2.7.x">remotes/2.7.x</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.0/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.0" rel="nofollow" title="remotes/tags/2.1.0">remotes/tags/2.1.0</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.0-rc7/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.0-rc7" rel="nofollow" title="remotes/tags/2.1.0-rc7">remotes/tags/2.1.0-rc7</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.1" rel="nofollow" title="remotes/tags/2.1.1">remotes/tags/2.1.1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.1-dev2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.1-dev2" rel="nofollow" title="remotes/tags/2.1.1-dev2">remotes/tags/2.1.1-dev2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.1-dev3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.1-dev3" rel="nofollow" title="remotes/tags/2.1.1-dev3">remotes/tags/2.1.1-dev3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.1-dev4/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.1-dev4" rel="nofollow" title="remotes/tags/2.1.1-dev4">remotes/tags/2.1.1-dev4</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.1-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.1-rc1" rel="nofollow" title="remotes/tags/2.1.1-rc1">remotes/tags/2.1.1-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.1-rc2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.1-rc2" rel="nofollow" title="remotes/tags/2.1.1-rc2">remotes/tags/2.1.1-rc2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.2" rel="nofollow" title="remotes/tags/2.1.2">remotes/tags/2.1.2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.2-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.2-rc1" rel="nofollow" title="remotes/tags/2.1.2-rc1">remotes/tags/2.1.2-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.2-rc2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.2-rc2" rel="nofollow" title="remotes/tags/2.1.2-rc2">remotes/tags/2.1.2-rc2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.2-rc3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.2-rc3" rel="nofollow" title="remotes/tags/2.1.2-rc3">remotes/tags/2.1.2-rc3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.3" rel="nofollow" title="remotes/tags/2.1.3">remotes/tags/2.1.3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.3-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.3-rc1" rel="nofollow" title="remotes/tags/2.1.3-rc1">remotes/tags/2.1.3-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.3-rc2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.3-rc2" rel="nofollow" title="remotes/tags/2.1.3-rc2">remotes/tags/2.1.3-rc2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.4/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.4" rel="nofollow" title="remotes/tags/2.1.4">remotes/tags/2.1.4</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.4-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.4-rc1" rel="nofollow" title="remotes/tags/2.1.4-rc1">remotes/tags/2.1.4-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.4-rc2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.4-rc2" rel="nofollow" title="remotes/tags/2.1.4-rc2">remotes/tags/2.1.4-rc2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.4-rc3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.4-rc3" rel="nofollow" title="remotes/tags/2.1.4-rc3">remotes/tags/2.1.4-rc3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.4-rc4/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.4-rc4" rel="nofollow" title="remotes/tags/2.1.4-rc4">remotes/tags/2.1.4-rc4</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.5/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.5" rel="nofollow" title="remotes/tags/2.1.5">remotes/tags/2.1.5</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.5-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.5-rc1" rel="nofollow" title="remotes/tags/2.1.5-rc1">remotes/tags/2.1.5-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.6/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.6" rel="nofollow" title="remotes/tags/2.1.6">remotes/tags/2.1.6</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.6-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.6-rc1" rel="nofollow" title="remotes/tags/2.1.6-rc1">remotes/tags/2.1.6-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.1.7/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.1.7" rel="nofollow" title="remotes/tags/2.1.7">remotes/tags/2.1.7</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.2.0-dev1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.2.0-dev1" rel="nofollow" title="remotes/tags/2.2.0-dev1">remotes/tags/2.2.0-dev1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.0/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.0" rel="nofollow" title="remotes/tags/2.5.0">remotes/tags/2.5.0</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.0-dev2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.0-dev2" rel="nofollow" title="remotes/tags/2.5.0-dev2">remotes/tags/2.5.0-dev2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.0-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.0-rc1" rel="nofollow" title="remotes/tags/2.5.0-rc1">remotes/tags/2.5.0-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.0-rc2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.0-rc2" rel="nofollow" title="remotes/tags/2.5.0-rc2">remotes/tags/2.5.0-rc2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.0-rc3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.0-rc3" rel="nofollow" title="remotes/tags/2.5.0-rc3">remotes/tags/2.5.0-rc3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.0-rc3-pre2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.0-rc3-pre2" rel="nofollow" title="remotes/tags/2.5.0-rc3-pre2">remotes/tags/2.5.0-rc3-pre2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.0-rc4/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.0-rc4" rel="nofollow" title="remotes/tags/2.5.0-rc4">remotes/tags/2.5.0-rc4</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.1" rel="nofollow" title="remotes/tags/2.5.1">remotes/tags/2.5.1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.1-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.1-rc1" rel="nofollow" title="remotes/tags/2.5.1-rc1">remotes/tags/2.5.1-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.2" rel="nofollow" title="remotes/tags/2.5.2">remotes/tags/2.5.2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.3" rel="nofollow" title="remotes/tags/2.5.3">remotes/tags/2.5.3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.4/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.4" rel="nofollow" title="remotes/tags/2.5.4">remotes/tags/2.5.4</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.5/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.5" rel="nofollow" title="remotes/tags/2.5.5">remotes/tags/2.5.5</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.6/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.6" rel="nofollow" title="remotes/tags/2.5.6">remotes/tags/2.5.6</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.7/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.7" rel="nofollow" title="remotes/tags/2.5.7">remotes/tags/2.5.7</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.7-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.7-rc1" rel="nofollow" title="remotes/tags/2.5.7-rc1">remotes/tags/2.5.7-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.8/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.8" rel="nofollow" title="remotes/tags/2.5.8">remotes/tags/2.5.8</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.9/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.9" rel="nofollow" title="remotes/tags/2.5.9">remotes/tags/2.5.9</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.10/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.10" rel="nofollow" title="remotes/tags/2.5.10">remotes/tags/2.5.10</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.10-dev1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.10-dev1" rel="nofollow" title="remotes/tags/2.5.10-dev1">remotes/tags/2.5.10-dev1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.10-dev2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.10-dev2" rel="nofollow" title="remotes/tags/2.5.10-dev2">remotes/tags/2.5.10-dev2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.10-dev3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.10-dev3" rel="nofollow" title="remotes/tags/2.5.10-dev3">remotes/tags/2.5.10-dev3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.11/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.11" rel="nofollow" title="remotes/tags/2.5.11">remotes/tags/2.5.11</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.12/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.12" rel="nofollow" title="remotes/tags/2.5.12">remotes/tags/2.5.12</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.5.13/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.5.13" rel="nofollow" title="remotes/tags/2.5.13">remotes/tags/2.5.13</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.0/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.0" rel="nofollow" title="remotes/tags/2.6.0">remotes/tags/2.6.0</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.0-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.0-rc1" rel="nofollow" title="remotes/tags/2.6.0-rc1">remotes/tags/2.6.0-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.0-rc2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.0-rc2" rel="nofollow" title="remotes/tags/2.6.0-rc2">remotes/tags/2.6.0-rc2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.1" rel="nofollow" title="remotes/tags/2.6.1">remotes/tags/2.6.1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.2" rel="nofollow" title="remotes/tags/2.6.2">remotes/tags/2.6.2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.2-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.2-rc1" rel="nofollow" title="remotes/tags/2.6.2-rc1">remotes/tags/2.6.2-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.3" rel="nofollow" title="remotes/tags/2.6.3">remotes/tags/2.6.3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.3-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.3-rc1" rel="nofollow" title="remotes/tags/2.6.3-rc1">remotes/tags/2.6.3-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.4/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.4" rel="nofollow" title="remotes/tags/2.6.4">remotes/tags/2.6.4</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.4-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.4-rc1" rel="nofollow" title="remotes/tags/2.6.4-rc1">remotes/tags/2.6.4-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.5/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.5" rel="nofollow" title="remotes/tags/2.6.5">remotes/tags/2.6.5</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.6/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.6" rel="nofollow" title="remotes/tags/2.6.6">remotes/tags/2.6.6</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.7/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.7" rel="nofollow" title="remotes/tags/2.6.7">remotes/tags/2.6.7</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.6.8/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.6.8" rel="nofollow" title="remotes/tags/2.6.8">remotes/tags/2.6.8</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.7.0/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.7.0" rel="nofollow" title="remotes/tags/2.7.0">remotes/tags/2.7.0</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.7.0-rc1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.7.0-rc1" rel="nofollow" title="remotes/tags/2.7.0-rc1">remotes/tags/2.7.0-rc1</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/tags/2.7.0-rc3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/tags/2.7.0-rc3" rel="nofollow" title="remotes/tags/2.7.0-rc3">remotes/tags/2.7.0-rc3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/remotes/trunk/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="remotes/trunk" rel="nofollow" title="remotes/trunk">remotes/trunk</a>
</div> <!-- /.select-menu-item -->
</div>
<div class="select-menu-no-results">Nothing to show</div>
</div> <!-- /.select-menu-list -->
<div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket css-truncate" data-tab-filter="tags">
<div data-filterable-for="commitish-filter-field" data-filterable-type="substring">
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/2.7.3/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="2.7.3" rel="nofollow" title="2.7.3">2.7.3</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/2.7.2/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="2.7.2" rel="nofollow" title="2.7.2">2.7.2</a>
</div> <!-- /.select-menu-item -->
<div class="select-menu-item js-navigation-item js-navigation-target ">
<span class="select-menu-item-icon mini-icon mini-icon-confirm"></span>
<a href="/client9/ModSecurity/blob/2.7.1/apache2/libinjection/COPYING.txt" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="2.7.1" rel="nofollow" title="2.7.1">2.7.1</a>
</div> <!-- /.select-menu-item -->
</div>
<div class="select-menu-no-results">Nothing to show</div>
</div> <!-- /.select-menu-list -->
</div> <!-- /.select-menu-modal -->
</div> <!-- /.select-menu-modal-holder -->
</div> <!-- /.select-menu -->
</div> <!-- /.scope -->
<ul class="tabnav-tabs">
<li><a href="/client9/ModSecurity" class="selected tabnav-tab" highlight="repo_source">Files</a></li>
<li><a href="/client9/ModSecurity/commits/" class="tabnav-tab" highlight="repo_commits">Commits</a></li>
<li><a href="/client9/ModSecurity/branches" class="tabnav-tab" highlight="repo_branches" rel="nofollow">Branches <span class="counter ">77</span></a></li>
</ul>
</div>
</div>
</div><!-- /.repohead -->
<div id="js-repo-pjax-container" class="container context-loader-container" data-pjax-container>
<!-- blob contrib key: blob_contributors:v21:5c68f4723ba6c588604ea19357adea68 -->
<!-- blob contrib frag key: views10/v8/blob_contributors:v21:5c68f4723ba6c588604ea19357adea68 -->
<div id="slider">
<div class="frame-meta">
<p title="This is a placeholder element" class="js-history-link-replace hidden"></p>
<div class="breadcrumb">
<span class='bold'><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/client9/ModSecurity/tree/da961d4c1535d2131c1733258b3f809feeabadf5" class="js-slide-to" data-branch="da961d4c1535d2131c1733258b3f809feeabadf5" data-direction="back" itemscope="url" rel="nofollow"><span itemprop="title">ModSecurity</span></a></span></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/client9/ModSecurity/tree/da961d4c1535d2131c1733258b3f809feeabadf5/apache2" class="js-slide-to" data-branch="da961d4c1535d2131c1733258b3f809feeabadf5" data-direction="back" itemscope="url" rel="nofollow"><span itemprop="title">apache2</span></a></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/client9/ModSecurity/tree/da961d4c1535d2131c1733258b3f809feeabadf5/apache2/libinjection" class="js-slide-to" data-branch="da961d4c1535d2131c1733258b3f809feeabadf5" data-direction="back" itemscope="url" rel="nofollow"><span itemprop="title">libinjection</span></a></span><span class="separator"> / </span><strong class="final-path">COPYING.txt</strong> <span class="js-zeroclipboard zeroclipboard-button" data-clipboard-text="apache2/libinjection/COPYING.txt" data-copied-hint="copied!" title="copy to clipboard"><span class="mini-icon mini-icon-clipboard"></span></span>
</div>
<a href="/client9/ModSecurity/find/da961d4c1535d2131c1733258b3f809feeabadf5" class="js-slide-to" data-hotkey="t" style="display:none">Show File Finder</a>
<div class="commit file-history-tease">
<img class="main-avatar" height="24" src="https://secure.gravatar.com/avatar/a33ae5e2dab2c5f6107c878798f64694?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
<span class="author"><a href="/client9" rel="author">client9</a></span>
<time class="js-relative-date" datetime="2013-04-17T06:01:20-07:00" title="2013-04-17 06:01:20">April 17, 2013</time>
<div class="commit-title">
<a href="/client9/ModSecurity/commit/9826f56db503cd07eed84fad292ec392ae4f05b3" class="message">libinjection sync, add doco</a>
</div>
<div class="participation">
<p class="quickstat"><a href="#blob_contributors_box" rel="facebox"><strong>1</strong> contributor</a></p>
</div>
<div id="blob_contributors_box" style="display:none">
<h2>Users on GitHub who have contributed to this file</h2>
<ul class="facebox-user-list">
<li>
<img height="24" src="https://secure.gravatar.com/avatar/a33ae5e2dab2c5f6107c878798f64694?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
<a href="/client9">client9</a>
</li>
</ul>
</div>
</div>
</div><!-- ./.frame-meta -->
<div class="frames">
<div class="frame" data-permalink-url="/client9/ModSecurity/blob/da961d4c1535d2131c1733258b3f809feeabadf5/apache2/libinjection/COPYING.txt" data-title="ModSecurity/apache2/libinjection/COPYING.txt at da961d4c1535d2131c1733258b3f809feeabadf5 · client9/ModSecurity · GitHub" data-type="blob">
<div id="files" class="bubble">
<div class="file">
<div class="meta">
<div class="info">
<span class="icon"><b class="mini-icon mini-icon-text-file"></b></span>
<span class="mode" title="File Mode">file</span>
<span>38 lines (37 sloc)</span>
<span>1.76 kb</span>
</div>
<div class="actions">
<div class="button-group">
<a class="minibutton js-entice" href=""
data-entice="You must be signed in and on a branch to make or propose changes">Edit</a>
<a href="/client9/ModSecurity/raw/da961d4c1535d2131c1733258b3f809feeabadf5/apache2/libinjection/COPYING.txt" class="button minibutton " id="raw-url">Raw</a>
<a href="/client9/ModSecurity/blame/da961d4c1535d2131c1733258b3f809feeabadf5/apache2/libinjection/COPYING.txt" class="button minibutton ">Blame</a>
<a href="/client9/ModSecurity/commits/da961d4c1535d2131c1733258b3f809feeabadf5/apache2/libinjection/COPYING.txt" class="button minibutton " rel="nofollow">History</a>
</div><!-- /.button-group -->
</div><!-- /.actions -->
</div>
<div class="blob-wrapper data type-text js-blob-data">
<table class="file-code file-diff">
<tr class="file-code-line">
<td class="blob-line-nums">
<span id="L1" rel="#L1">1</span>
<span id="L2" rel="#L2">2</span>
<span id="L3" rel="#L3">3</span>
<span id="L4" rel="#L4">4</span>
<span id="L5" rel="#L5">5</span>
<span id="L6" rel="#L6">6</span>
<span id="L7" rel="#L7">7</span>
<span id="L8" rel="#L8">8</span>
<span id="L9" rel="#L9">9</span>
<span id="L10" rel="#L10">10</span>
<span id="L11" rel="#L11">11</span>
<span id="L12" rel="#L12">12</span>
<span id="L13" rel="#L13">13</span>
<span id="L14" rel="#L14">14</span>
<span id="L15" rel="#L15">15</span>
<span id="L16" rel="#L16">16</span>
<span id="L17" rel="#L17">17</span>
<span id="L18" rel="#L18">18</span>
<span id="L19" rel="#L19">19</span>
<span id="L20" rel="#L20">20</span>
<span id="L21" rel="#L21">21</span>
<span id="L22" rel="#L22">22</span>
<span id="L23" rel="#L23">23</span>
<span id="L24" rel="#L24">24</span>
<span id="L25" rel="#L25">25</span>
<span id="L26" rel="#L26">26</span>
<span id="L27" rel="#L27">27</span>
<span id="L28" rel="#L28">28</span>
<span id="L29" rel="#L29">29</span>
<span id="L30" rel="#L30">30</span>
<span id="L31" rel="#L31">31</span>
<span id="L32" rel="#L32">32</span>
<span id="L33" rel="#L33">33</span>
<span id="L34" rel="#L34">34</span>
<span id="L35" rel="#L35">35</span>
<span id="L36" rel="#L36">36</span>
<span id="L37" rel="#L37">37</span>
</td>
<td class="blob-line-code">
<div class="highlight"><pre><div class='line' id='LC1'>/*</div><div class='line' id='LC2'>&nbsp;* Copyright 2012, 2013</div><div class='line' id='LC3'>&nbsp;* Nick Galbreath -- nickg [at] client9 [dot] com</div><div class='line' id='LC4'>&nbsp;* http://www.client9.com/projects/libinjection/</div><div class='line' id='LC5'>&nbsp;*</div><div class='line' id='LC6'>&nbsp;* All rights reserved.</div><div class='line' id='LC7'>&nbsp;*</div><div class='line' id='LC8'>&nbsp;* Redistribution and use in source and binary forms, with or without</div><div class='line' id='LC9'>&nbsp;* modification, are permitted provided that the following conditions are</div><div class='line' id='LC10'>&nbsp;* met:</div><div class='line' id='LC11'>&nbsp;*</div><div class='line' id='LC12'>&nbsp;* Redistributions of source code must retain the above copyright</div><div class='line' id='LC13'>&nbsp;* notice, this list of conditions and the following disclaimer.</div><div class='line' id='LC14'>&nbsp;*</div><div class='line' id='LC15'>&nbsp;* Redistributions in binary form must reproduce the above copyright</div><div class='line' id='LC16'>&nbsp;* notice, this list of conditions and the following disclaimer in the</div><div class='line' id='LC17'>&nbsp;* documentation and/or other materials provided with the distribution.</div><div class='line' id='LC18'>&nbsp;*</div><div class='line' id='LC19'>&nbsp;* Neither the name of libinjection nor the names of its</div><div class='line' id='LC20'>&nbsp;* contributors may be used to endorse or promote products derived from</div><div class='line' id='LC21'>&nbsp;* this software without specific prior written permission.</div><div class='line' id='LC22'>&nbsp;*</div><div class='line' id='LC23'>&nbsp;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</div><div class='line' id='LC24'>&nbsp;* &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</div><div class='line' id='LC25'>&nbsp;* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</div><div class='line' id='LC26'>&nbsp;* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</div><div class='line' id='LC27'>&nbsp;* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</div><div class='line' id='LC28'>&nbsp;* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</div><div class='line' id='LC29'>&nbsp;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</div><div class='line' id='LC30'>&nbsp;* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</div><div class='line' id='LC31'>&nbsp;* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</div><div class='line' id='LC32'>&nbsp;* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</div><div class='line' id='LC33'>&nbsp;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</div><div class='line' id='LC34'>&nbsp;*</div><div class='line' id='LC35'>&nbsp;* This is the standard &quot;new&quot; BSD license:</div><div class='line' id='LC36'>&nbsp;* http://www.opensource.org/licenses/bsd-license.php</div><div class='line' id='LC37'>&nbsp;*/</div></pre></div>
</td>
</tr>
</table>
</div>
</div>
</div>
<a href="#jump-to-line" rel="facebox" data-hotkey="l" class="js-jump-to-line" style="display:none">Jump to Line</a>
<div id="jump-to-line" style="display:none">
<h2>Jump to Line</h2>
<form accept-charset="UTF-8" class="js-jump-to-line-form">
<input class="textfield js-jump-to-line-field" type="text">
<div class="full-button">
<button type="submit" class="button">Go</button>
</div>
</form>
</div>
</div>
</div>
</div>
<div id="js-frame-loading-template" class="frame frame-loading large-loading-area" style="display:none;">
<img class="js-frame-loading-spinner" src="https://a248.e.akamai.net/assets.github.com/images/spinners/octocat-spinner-128.gif?1359500886" height="64" width="64">
</div>
</div>
</div>
<div class="context-overlay"></div>
</div>
<div id="footer-push"></div><!-- hack for sticky footer -->
</div><!-- end of wrapper - hack for sticky footer -->
<!-- footer -->
<div id="footer">
<div class="container clearfix">
<dl class="footer_nav">
<dt>GitHub</dt>
<dd><a href="https://github.com/about">About us</a></dd>
<dd><a href="https://github.com/blog">Blog</a></dd>
<dd><a href="https://github.com/contact">Contact &amp; support</a></dd>
<dd><a href="http://enterprise.github.com/">GitHub Enterprise</a></dd>
<dd><a href="http://status.github.com/">Site status</a></dd>
</dl>
<dl class="footer_nav">
<dt>Applications</dt>
<dd><a href="http://mac.github.com/">GitHub for Mac</a></dd>
<dd><a href="http://windows.github.com/">GitHub for Windows</a></dd>
<dd><a href="http://eclipse.github.com/">GitHub for Eclipse</a></dd>
<dd><a href="http://mobile.github.com/">GitHub mobile apps</a></dd>
</dl>
<dl class="footer_nav">
<dt>Services</dt>
<dd><a href="http://get.gaug.es/">Gauges: Web analytics</a></dd>
<dd><a href="http://speakerdeck.com">Speaker Deck: Presentations</a></dd>
<dd><a href="https://gist.github.com">Gist: Code snippets</a></dd>
<dd><a href="http://jobs.github.com/">Job board</a></dd>
</dl>
<dl class="footer_nav">
<dt>Documentation</dt>
<dd><a href="http://help.github.com/">GitHub Help</a></dd>
<dd><a href="http://developer.github.com/">Developer API</a></dd>
<dd><a href="http://github.github.com/github-flavored-markdown/">GitHub Flavored Markdown</a></dd>
<dd><a href="http://pages.github.com/">GitHub Pages</a></dd>
</dl>
<dl class="footer_nav">
<dt>More</dt>
<dd><a href="http://training.github.com/">Training</a></dd>
<dd><a href="https://github.com/edu">Students &amp; teachers</a></dd>
<dd><a href="http://shop.github.com">The Shop</a></dd>
<dd><a href="/plans">Plans &amp; pricing</a></dd>
<dd><a href="http://octodex.github.com/">The Octodex</a></dd>
</dl>
<hr class="footer-divider">
<p class="right">&copy; 2013 <span title="0.05088s from fe19.rs.github.com">GitHub</span>, Inc. All rights reserved.</p>
<a class="left" href="https://github.com/">
<span class="mega-icon mega-icon-invertocat"></span>
</a>
<ul id="legal">
<li><a href="https://github.com/site/terms">Terms of Service</a></li>
<li><a href="https://github.com/site/privacy">Privacy</a></li>
<li><a href="https://github.com/security">Security</a></li>
</ul>
</div><!-- /.container -->
</div><!-- /.#footer -->
<div class="fullscreen-overlay js-fullscreen-overlay" id="fullscreen_overlay">
<div class="fullscreen-container js-fullscreen-container">
<div class="textarea-wrap">
<textarea name="fullscreen-contents" id="fullscreen-contents" class="js-fullscreen-contents" placeholder="" data-suggester="fullscreen_suggester"></textarea>
<div class="suggester-container">
<div class="suggester fullscreen-suggester js-navigation-container" id="fullscreen_suggester"
data-url="/client9/ModSecurity/suggestions/commit">
</div>
</div>
</div>
</div>
<div class="fullscreen-sidebar">
<a href="#" class="exit-fullscreen js-exit-fullscreen tooltipped leftwards" title="Exit Zen Mode">
<span class="mega-icon mega-icon-normalscreen"></span>
</a>
<a href="#" class="theme-switcher js-theme-switcher tooltipped leftwards"
title="Switch themes">
<span class="mini-icon mini-icon-brightness"></span>
</a>
</div>
</div>
<div id="ajax-error-message" class="flash flash-error">
<span class="mini-icon mini-icon-exclamation"></span>
Something went wrong with that request. Please try again.
<a href="#" class="mini-icon mini-icon-remove-close ajax-error-dismiss"></a>
</div>
<span id='server_response_time' data-time='0.05128' data-host='fe19'></span>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,682 @@
#ifndef _SQLPARSE_DATA_H
#define _SQLPARSE_DATA_H
#include "sqlparse.h"
static const char* operators2[] = {
"!!",
"!<",
"!=",
"!>",
"!~",
"%=",
"&&",
"&=",
"*=",
"+=",
"-=",
"/=",
":=",
"<<",
"<=",
"<>",
"<@",
">=",
">>",
"@>",
"^=",
"|/",
"|=",
"||",
"~*",
};
static const size_t operators2_sz = 25;
static const keyword_t sql_keywords[] = {
{"ABS", 'f'},
{"ACCESSIBLE", 'k'},
{"ACOS", 'f'},
{"ADD", 'k'},
{"ADDDATE", 'f'},
{"ADDTIME", 'f'},
{"AES_DECRYPT", 'f'},
{"AES_ENCRYPT", 'f'},
{"AGAINST", 'k'},
{"ALL_USERS", 'k'},
{"ALTER", 'k'},
{"ANALYZE", 'k'},
{"AND", '&'},
{"AS", 'k'},
{"ASC", 'k'},
{"ASCII", 'f'},
{"ASENSITIVE", 'k'},
{"ASIN", 'f'},
{"ATAN", 'f'},
{"ATAN2", 'f'},
{"AVG", 'f'},
{"BEFORE", 'k'},
{"BEGIN", 'k'},
{"BENCHMARK", 'f'},
{"BETWEEN", 'k'},
{"BIGINT", 'k'},
{"BIN", 'f'},
{"BINARY", 'k'},
{"BINARY_DOUBLE_INFINITY", '1'},
{"BINARY_DOUBLE_NAN", '1'},
{"BINARY_FLOAT_INFINITY", '1'},
{"BINARY_FLOAT_NAN", '1'},
{"BINBINARY", 'f'},
{"BIT_AND", 'f'},
{"BIT_COUNT", 'f'},
{"BIT_LENGTH", 'f'},
{"BIT_OR", 'f'},
{"BIT_XOR", 'f'},
{"BLOB", 'k'},
{"BOOLEAN", 'k'},
{"BOTH", 'k'},
{"BY", 'n'},
{"CALL", 'k'},
{"CASCADE", 'k'},
{"CASE", 'o'},
{"CAST", 'f'},
{"CEIL", 'f'},
{"CEILING", 'f'},
{"CHANGE", 'k'},
{"CHAR", 'f'},
{"CHARACTER", 'k'},
{"CHARACTER_LENGTH", 'f'},
{"CHARSET", 'f'},
{"CHAR_LENGTH", 'f'},
{"CHECK", 'k'},
{"CHR", 'f'},
{"COALESCE", 'k'},
{"COERCIBILITY", 'f'},
{"COLLATE", 'k'},
{"COLLATION", 'f'},
{"COLUMN", 'k'},
{"COMPRESS", 'f'},
{"CONCAT", 'f'},
{"CONCAT_WS", 'f'},
{"CONDITION", 'k'},
{"CONNECTION_ID", 'f'},
{"CONSTRAINT", 'k'},
{"CONTINUE", 'k'},
{"CONV", 'f'},
{"CONVERT", 'f'},
{"CONVERT_TZ", 'f'},
{"COS", 'f'},
{"COT", 'f'},
{"COUNT", 'f'},
{"CRC32", 'f'},
{"CREATE", 'k'},
{"CTXSYS.DRITHSX.SN", 'f'},
{"CURDATE", 'f'},
{"CURRENT_DATE", 'k'},
{"CURRENT_DATECURRENT_TIME", 'f'},
{"CURRENT_TIME", 'k'},
{"CURRENT_TIMESTAMP", 'k'},
{"CURRENT_USER", 'k'},
{"CURSOR", 'k'},
{"CURTIME", 'f'},
{"DATABASE", 'k'},
{"DATABASES", 'k'},
{"DATE", 'f'},
{"DATEDIFF", 'f'},
{"DATE_ADD", 'f'},
{"DATE_FORMAT", 'f'},
{"DATE_SUB", 'f'},
{"DAY", 'f'},
{"DAYNAME", 'f'},
{"DAYOFMONTH", 'f'},
{"DAYOFWEEK", 'f'},
{"DAYOFYEAR", 'f'},
{"DAY_HOUR", 'k'},
{"DAY_MICROSECOND", 'k'},
{"DAY_MINUTE", 'k'},
{"DAY_SECOND", 'k'},
{"DBMS_PIPE.RECEIVE_MESSAGE", 'f'},
{"DEC", 'k'},
{"DECIMAL", 'k'},
{"DECLARE", 'k'},
{"DECODE", 'f'},
{"DEFAULT", 'k'},
{"DEGREES", 'f'},
{"DELAY", 'k'},
{"DELAYED", 'k'},
{"DELETE", 'k'},
{"DESC", 'k'},
{"DESCRIBE", 'k'},
{"DES_DECRYPT", 'f'},
{"DES_ENCRYPT", 'f'},
{"DETERMINISTIC", 'k'},
{"DISTINCROW", 'k'},
{"DISTINCT", 'k'},
{"DIV", 'o'},
{"DROP", 'k'},
{"DUAL", 'k'},
{"EACH", 'k'},
{"ELSE", 'k'},
{"ELSEIF", 'k'},
{"ELT", 'f'},
{"ENCLOSED", 'k'},
{"ENCODE", 'f'},
{"ENCRYPT", 'f'},
{"ESCAPED", 'k'},
{"EXEC", 'k'},
{"EXECUTE", 'k'},
{"EXISTS", 'k'},
{"EXIT", 'k'},
{"EXP", 'f'},
{"EXPLAIN", 'k'},
{"EXPORT_SET", 'f'},
{"EXTRACT", 'f'},
{"EXTRACTVALUE", 'f'},
{"EXTRACT_VALUE", 'f'},
{"FALSE", '1'},
{"FETCH", 'k'},
{"FIELD", 'f'},
{"FIND_IN_SET", 'f'},
{"FLOOR", 'f'},
{"FOR", 'n'},
{"FORCE", 'k'},
{"FOREIGN", 'k'},
{"FORMAT", 'f'},
{"FOUND_ROWS", 'f'},
{"FROM", 'k'},
{"FROM_DAYS", 'f'},
{"FROM_UNIXTIME", 'f'},
{"FULLTEXT", 'k'},
{"GENERATE_SERIES", 'f'},
{"GET_FORMAT", 'f'},
{"GET_LOCK", 'f'},
{"GOTO", 'k'},
{"GRANT", 'k'},
{"GREATEST", 'f'},
{"GROUP", 'n'},
{"GROUP_CONCAT", 'f'},
{"HAVING", 'k'},
{"HEX", 'f'},
{"HIGH_PRIORITY", 'k'},
{"HOST_NAME", 'f'},
{"HOUR", 'f'},
{"HOUR_MICROSECOND", 'k'},
{"HOUR_MINUTE", 'k'},
{"HOUR_SECOND", 'k'},
{"IF", 'k'},
{"IFF", 'f'},
{"IFNULL", 'f'},
{"IGNORE", 'k'},
{"IIF", 'f'},
{"IN", 'n'},
{"INDEX", 'k'},
{"INET_ATON", 'f'},
{"INET_NTOA", 'f'},
{"INFILE", 'k'},
{"INNER", 'k'},
{"INOUT", 'k'},
{"INSENSITIVE", 'k'},
{"INSERT", 'k'},
{"INSTR", 'f'},
{"INT", 'k'},
{"INT1", 'k'},
{"INT2", 'k'},
{"INT3", 'k'},
{"INT4", 'k'},
{"INT8", 'k'},
{"INTEGER", 'k'},
{"INTERVAL", 'k'},
{"INTO", 'k'},
{"IS", 'o'},
{"ISNULL", 'f'},
{"IS_FREE_LOCK", 'f'},
{"IS_MEMBERIS_SRVROLEMEMBER", 'f'},
{"IS_USED_LOCK", 'f'},
{"ITERATE", 'k'},
{"JOIN", 'k'},
{"KEYS", 'k'},
{"KILL", 'k'},
{"LAST_INSERT_ID", 'f'},
{"LCASE", 'f'},
{"LEADING", 'k'},
{"LEAST", 'f'},
{"LEAVE", 'k'},
{"LEFT", 'n'},
{"LENGTH", 'f'},
{"LIKE", 'o'},
{"LIMIT", 'k'},
{"LINEAR", 'k'},
{"LINES", 'k'},
{"LN", 'f'},
{"LOAD", 'k'},
{"LOAD_FILE", 'f'},
{"LOCALTIME", 'k'},
{"LOCALTIMESTAMP", 'k'},
{"LOCATE", 'f'},
{"LOCK", 'n'},
{"LOG", 'f'},
{"LOG10", 'f'},
{"LOG2", 'f'},
{"LONGBLOB", 'k'},
{"LONGTEXT", 'k'},
{"LOOP", 'k'},
{"LOWER", 'f'},
{"LOW_PRIORITY", 'k'},
{"LPAD", 'f'},
{"LTRIM", 'f'},
{"MAKEDATE", 'f'},
{"MAKE_SET", 'f'},
{"MASTER_BIND", 'k'},
{"MASTER_POS_WAIT", 'f'},
{"MASTER_SSL_VERIFY_SERVER_CERT", 'k'},
{"MATCH", 'k'},
{"MAX", 'f'},
{"MAXVALUE", 'k'},
{"MD5", 'f'},
{"MEDIUMBLOB", 'k'},
{"MEDIUMINT", 'k'},
{"MEDIUMTEXT", 'k'},
{"MERGE", 'k'},
{"MICROSECOND", 'f'},
{"MID", 'f'},
{"MIDDLEINT", 'k'},
{"MIN", 'f'},
{"MINUTE", 'f'},
{"MINUTE_MICROSECOND", 'k'},
{"MINUTE_SECOND", 'k'},
{"MOD", 'o'},
{"MODE", 'n'},
{"MODIFIES", 'k'},
{"MONTH", 'f'},
{"MONTHNAME", 'f'},
{"NAME_CONST", 'f'},
{"NOT", 'o'},
{"NOW", 'f'},
{"NO_WRITE_TO_BINLOG", 'k'},
{"NULL", '1'},
{"NULLIF", 'f'},
{"NUMERIC", 'k'},
{"OCT", 'f'},
{"OCTET_LENGTH", 'f'},
{"OFFSET", 'k'},
{"OLD_PASSWORD", 'f'},
{"ONE_SHOT", 'k'},
{"OPEN", 'k'},
{"OPENDATASOURCE", 'f'},
{"OPENQUERY", 'f'},
{"OPENROWSET", 'f'},
{"OPENXML", 'f'},
{"OPTIMIZE", 'k'},
{"OPTION", 'k'},
{"OPTIONALLY", 'k'},
{"OR", '&'},
{"ORD", 'f'},
{"ORDER", 'n'},
{"OUT", 'k'},
{"OUTFILE", 'k'},
{"OWN3D", 'k'},
{"PARTITION", 'k'},
{"PASSWORD", 'k'},
{"PERIOD_ADD", 'f'},
{"PERIOID_DIFF", 'f'},
{"PG_ADVISORY_LOCK", 'f'},
{"PG_SLEEP", 'f'},
{"PI", 'f'},
{"POSITION", 'f'},
{"POW", 'f'},
{"POWER", 'f'},
{"PRECISION", 'k'},
{"PRIMARY", 'k'},
{"PROCEDURE", 'k'},
{"PURGE", 'k'},
{"QUARTER", 'f'},
{"QUOTE", 'f'},
{"RADIANS", 'f'},
{"RAND", 'f'},
{"RANDOMBLOB", 'f'},
{"RANGE", 'k'},
{"READ", 'k'},
{"READS", 'k'},
{"READ_WRITE", 'k'},
{"REAL", 'n'},
{"REFERENCES", 'k'},
{"REGEXP", 'o'},
{"RELEASE", 'k'},
{"RELEASE_LOCK", 'f'},
{"RENAME", 'k'},
{"REPEAT", 'k'},
{"REPLACE", 'k'},
{"REQUIRE", 'k'},
{"RESIGNAL", 'k'},
{"RESTRICT", 'k'},
{"RETURN", 'k'},
{"REVERSE", 'f'},
{"REVOKE", 'k'},
{"RIGHT", 'n'},
{"RLIKE", 'o'},
{"ROUND", 'f'},
{"ROW", 'f'},
{"ROW_COUNT", 'f'},
{"RPAD", 'f'},
{"RTRIM", 'f'},
{"SCHEMA", 'k'},
{"SCHEMAS", 'k'},
{"SECOND_MICROSECOND", 'k'},
{"SEC_TO_TIME", 'f'},
{"SELECT", 'k'},
{"SENSITIVE", 'k'},
{"SEPARATOR", 'k'},
{"SESSION_USER", 'f'},
{"SET", 'k'},
{"SHA", 'f'},
{"SHA1", 'f'},
{"SHA2", 'f'},
{"SHOW", 'n'},
{"SHUTDOWN", 'k'},
{"SIGN", 'f'},
{"SIGNAL", 'k'},
{"SIMILAR", 'k'},
{"SIN", 'f'},
{"SLEEP", 'f'},
{"SMALLINT", 'k'},
{"SOUNDEX", 'f'},
{"SOUNDS", 'o'},
{"SPACE", 'f'},
{"SPATIAL", 'k'},
{"SPECIFIC", 'k'},
{"SQL", 'k'},
{"SQLEXCEPTION", 'k'},
{"SQLSTATE", 'k'},
{"SQLWARNING", 'k'},
{"SQL_BIG_RESULT", 'k'},
{"SQL_CALC_FOUND_ROWS", 'k'},
{"SQL_SMALL_RESULT", 'k'},
{"SQRT", 'f'},
{"SSL", 'k'},
{"STARTING", 'k'},
{"STDDEV", 'f'},
{"STDDEV_POP", 'f'},
{"STDDEV_SAMP", 'f'},
{"STRAIGHT_JOIN", 'k'},
{"STRCMP", 'f'},
{"STR_TO_DATE", 'f'},
{"SUBDATE", 'f'},
{"SUBSTR", 'f'},
{"SUBSTRING", 'f'},
{"SUBSTRING_INDEX", 'f'},
{"SUBTIME", 'f'},
{"SUM", 'f'},
{"SYS.STRAGG", 'f'},
{"SYSCOLUMNS", 'k'},
{"SYSDATE", 'f'},
{"SYSOBJECTS", 'k'},
{"SYSTEM_USER", 'f'},
{"SYSUSERS", 'k'},
{"TABLE", 'k'},
{"TAN", 'f'},
{"TERMINATED", 'k'},
{"THEN", 'k'},
{"TIME", 'k'},
{"TIMEDIFF", 'f'},
{"TIMESTAMP", 'f'},
{"TIMESTAMPADD", 'f'},
{"TIME_FORMAT", 'f'},
{"TIME_TO_SEC", 'f'},
{"TINYBLOB", 'k'},
{"TINYINT", 'k'},
{"TINYTEXT", 'k'},
{"TOP", 'k'},
{"TO_CHAR", 'f'},
{"TO_DAYS", 'f'},
{"TO_SECONDS", 'f'},
{"TRAILING", 'n'},
{"TRIGGER", 'k'},
{"TRIM", 'f'},
{"TRUE", '1'},
{"TRUNCATE", 'f'},
{"UCASE", 'f'},
{"UNCOMPRESS", 'f'},
{"UNCOMPRESS_LENGTH", 'f'},
{"UNDO", 'k'},
{"UNHEX", 'f'},
{"UNION", 'U'},
{"UNIQUE", 'n'},
{"UNIX_TIMESTAMP", 'f'},
{"UNI_ON", 'U'},
{"UNLOCK", 'k'},
{"UNSIGNED", 'k'},
{"UPDATE", 'k'},
{"UPDATEXML", 'f'},
{"UPPER", 'f'},
{"USAGE", 'k'},
{"USE", 'k'},
{"USING", 'f'},
{"UTC_DATE", 'k'},
{"UTC_TIME", 'k'},
{"UTC_TIMESTAMP", 'k'},
{"UTL_INADDR.GET_HOST_ADDRESS", 'f'},
{"UUID", 'f'},
{"UUID_SHORT", 'f'},
{"VALUES", 'k'},
{"VARBINARY", 'k'},
{"VARCHAR", 'k'},
{"VARCHARACTER", 'k'},
{"VARIANCE", 'f'},
{"VARYING", 'k'},
{"VAR_POP", 'f'},
{"VAR_SAMP", 'f'},
{"VERSION", 'f'},
{"WAITFOR", 'k'},
{"WEEK", 'f'},
{"WEEKDAY", 'f'},
{"WEEKOFYEAR", 'f'},
{"WHEN", 'k'},
{"WHERE", 'k'},
{"WHILE", 'k'},
{"WITH", 'k'},
{"XMLELEMENT", 'f'},
{"XMLFOREST", 'f'},
{"XMLFORMAT", 'f'},
{"XMLTYPE", 'f'},
{"XOR", 'o'},
{"XP_EXECRESULTSET", 'k'},
{"YEAR", 'f'},
{"YEARWEEK", 'f'},
{"YEAR_MONTH", 'k'},
{"ZEROFILL", 'k'},
};
static const size_t sql_keywords_sz = 450;
static const char* multikeywords_start[] = {
"ALTER",
"CROSS",
"FULL",
"GROUP",
"IN",
"IN BOOLEAN",
"INTERSECT",
"IS",
"LEFT",
"LOCK",
"NATURAL",
"NOT",
"NOT SIMILAR",
"ORDER",
"OWN3D",
"READ",
"RIGHT",
"SELECT",
"SIMILAR",
"SOUNDS",
"UNION",
};
static const size_t multikeywords_start_sz = 21;
static const keyword_t multikeywords[] = {
{"ALTER DOMAIN", 'k'},
{"ALTER TABLE", 'k'},
{"CROSS JOIN", 'k'},
{"FULL OUTER", 'k'},
{"GROUP BY", 'B'},
{"IN BOOLEAN", 'n'},
{"IN BOOLEAN MODE", 'k'},
{"INTERSECT ALL", 'o'},
{"IS NOT", 'o'},
{"LEFT JOIN", 'k'},
{"LEFT OUTER", 'k'},
{"LOCK TABLE", 'k'},
{"LOCK TABLES", 'k'},
{"NATURAL FULL", 'k'},
{"NATURAL INNER", 'k'},
{"NATURAL JOIN", 'k'},
{"NATURAL LEFT", 'k'},
{"NATURAL OUTER", 'k'},
{"NATURAL RIGHT", 'k'},
{"NOT BETWEEN", 'o'},
{"NOT IN", 'o'},
{"NOT LIKE", 'o'},
{"NOT REGEXP", 'o'},
{"NOT RLIKE", 'o'},
{"NOT SIMILAR", 'o'},
{"NOT SIMILAR TO", 'o'},
{"ORDER BY", 'B'},
{"OWN3D BY", 'B'},
{"READ WRITE", 'k'},
{"RIGHT JOIN", 'k'},
{"RIGHT OUTER", 'k'},
{"SELECT ALL", 'k'},
{"SIMILAR TO", 'o'},
{"SOUNDS LIKE", 'o'},
{"UNION ALL", 'U'},
};
static const size_t multikeywords_sz = 35;
typedef size_t (*pt2Function)(sfilter *sf);
static const pt2Function char_parse_map[] = {
&parse_white, /* 0 */
&parse_white, /* 1 */
&parse_white, /* 2 */
&parse_white, /* 3 */
&parse_white, /* 4 */
&parse_white, /* 5 */
&parse_white, /* 6 */
&parse_white, /* 7 */
&parse_white, /* 8 */
&parse_white, /* 9 */
&parse_white, /* 10 */
&parse_white, /* 11 */
&parse_white, /* 12 */
&parse_white, /* 13 */
&parse_white, /* 14 */
&parse_white, /* 15 */
&parse_white, /* 16 */
&parse_white, /* 17 */
&parse_white, /* 18 */
&parse_white, /* 19 */
&parse_white, /* 20 */
&parse_white, /* 21 */
&parse_white, /* 22 */
&parse_white, /* 23 */
&parse_white, /* 24 */
&parse_white, /* 25 */
&parse_white, /* 26 */
&parse_white, /* 27 */
&parse_white, /* 28 */
&parse_white, /* 29 */
&parse_white, /* 30 */
&parse_white, /* 31 */
&parse_white, /* 32 */
&parse_operator2, /* 33 */
&parse_string, /* 34 */
&parse_eol_comment, /* 35 */
&parse_white, /* 36 */
&parse_operator1, /* 37 */
&parse_operator2, /* 38 */
&parse_string, /* 39 */
&parse_char, /* 40 */
&parse_char, /* 41 */
&parse_operator2, /* 42 */
&parse_operator1, /* 43 */
&parse_char, /* 44 */
&parse_dash, /* 45 */
&parse_number, /* 46 */
&parse_slash, /* 47 */
&parse_number, /* 48 */
&parse_number, /* 49 */
&parse_number, /* 50 */
&parse_number, /* 51 */
&parse_number, /* 52 */
&parse_number, /* 53 */
&parse_number, /* 54 */
&parse_number, /* 55 */
&parse_number, /* 56 */
&parse_number, /* 57 */
&parse_char, /* 58 */
&parse_char, /* 59 */
&parse_operator2, /* 60 */
&parse_operator2, /* 61 */
&parse_operator2, /* 62 */
&parse_other, /* 63 */
&parse_var, /* 64 */
&parse_word, /* 65 */
&parse_word, /* 66 */
&parse_word, /* 67 */
&parse_word, /* 68 */
&parse_word, /* 69 */
&parse_word, /* 70 */
&parse_word, /* 71 */
&parse_word, /* 72 */
&parse_word, /* 73 */
&parse_word, /* 74 */
&parse_word, /* 75 */
&parse_word, /* 76 */
&parse_word, /* 77 */
&parse_word, /* 78 */
&parse_word, /* 79 */
&parse_word, /* 80 */
&parse_word, /* 81 */
&parse_word, /* 82 */
&parse_word, /* 83 */
&parse_word, /* 84 */
&parse_word, /* 85 */
&parse_word, /* 86 */
&parse_word, /* 87 */
&parse_word, /* 88 */
&parse_word, /* 89 */
&parse_word, /* 90 */
&parse_other, /* 91 */
&parse_backslash, /* 92 */
&parse_other, /* 93 */
&parse_operator1, /* 94 */
&parse_word, /* 95 */
&parse_word, /* 96 */
&parse_word, /* 97 */
&parse_word, /* 98 */
&parse_word, /* 99 */
&parse_word, /* 100 */
&parse_word, /* 101 */
&parse_word, /* 102 */
&parse_word, /* 103 */
&parse_word, /* 104 */
&parse_word, /* 105 */
&parse_word, /* 106 */
&parse_word, /* 107 */
&parse_word, /* 108 */
&parse_word, /* 109 */
&parse_word, /* 110 */
&parse_word, /* 111 */
&parse_word, /* 112 */
&parse_word, /* 113 */
&parse_word, /* 114 */
&parse_word, /* 115 */
&parse_word, /* 116 */
&parse_word, /* 117 */
&parse_word, /* 118 */
&parse_word, /* 119 */
&parse_word, /* 120 */
&parse_word, /* 121 */
&parse_word, /* 122 */
&parse_other, /* 123 */
&parse_operator2, /* 124 */
&parse_other, /* 125 */
&parse_operator1, /* 126 */
&parse_white, /* 127 */
};
#endif

File diff suppressed because one or more lines are too long