Codebase list libapache2-mod-qos / upstream/11.9
Imported Upstream version 11.9 Sergey B Kirpichev 9 years ago
47 changed file(s) with 952 addition(s) and 470 deletion(s). Raw diff Collapse all Expand all
11 Quality of service module for Apache Web Server.
22 http://opensource.adnovum.ch/mod_qos/
33
4 Copyright (C) 2007-2014 Pascal Buchbinder
4 Copyright (C) 2007-2015 Pascal Buchbinder
55
66 This program is free software; you can redistribute it and/or
77 modify it under the terms of the GNU General Public License
1414 * See http://opensource.adnovum.ch/mod_qos/ for further
1515 * details.
1616 *
17 * Copyright (C) 2007-2014 Pascal Buchbinder
17 * Copyright (C) 2007-2015 Pascal Buchbinder
1818 *
1919 * This program is free software; you can redistribute it and/or
2020 * modify it under the terms of the GNU General Public License
3939 /************************************************************************
4040 * Version
4141 ***********************************************************************/
42 static const char revision[] = "$Id: mod_qos.c,v 5.522 2014/11/24 19:25:39 pbuchbinder Exp $";
43 static const char g_revision[] = "11.7";
42 static const char revision[] = "$Id: mod_qos.c,v 5.527 2015/01/20 21:20:35 pbuchbinder Exp $";
43 static const char g_revision[] = "11.9";
4444
4545 /************************************************************************
4646 * Includes
100100 #define QOS_COOKIE_NAME "MODQOS"
101101 #define QOS_USER_TRACKING "mod_qos_user_id"
102102 #define QOS_USER_TRACKING_NEW "QOS_USER_ID_NEW"
103 #define QOS_DISABLE_UTC_ENFORCEMENT "DISABLE_UTC_ENFORCEMENT"
103104 #define QOS_MILESTONE "mod_qos_milestone"
104105 #define QOS_MILESTONE_TIMEOUT 3600
105106 #define QOS_MILESTONE_COOKIE "QSSCD"
624625 char *user_tracking_cookie;
625626 char *user_tracking_cookie_force;
626627 int user_tracking_cookie_session;
628 char *user_tracking_cookie_domain;
627629 int max_age;
628630 unsigned char key[EVP_MAX_KEY_LENGTH];
629631 int keyset;
18401842 int len = QOS_RAN + QOS_MAGIC_LEN + 2 + strlen(new_user);
18411843 unsigned char *value = apr_pcalloc(r->pool, len + 1);
18421844 char *c;
1845 char *domain = NULL;
18431846 apr_time_exp_gmt(&n, r->request_time);
18441847 apr_strftime(tstr, &retcode, sizeof(tstr), "%m", &n);
18451848 RAND_bytes(value, QOS_RAN);
18481851 memcpy(&value[QOS_RAN+QOS_MAGIC_LEN+2], new_user, strlen(new_user));
18491852 value[len] = '\0';
18501853 c = qos_encrypt(r, sconf, value, len + 1);
1851 /* valid for 300 days */
1852 sc = apr_psprintf(r->pool, "%s=%s; Path=/;%s",
1854 if(sconf->user_tracking_cookie_domain != NULL) {
1855 domain = apr_pstrcat(r->pool, "; Domain=", sconf->user_tracking_cookie_domain, NULL);
1856 }
1857 /* set cookie valid for 300 days or for this session only */
1858 sc = apr_psprintf(r->pool, "%s=%s; Path=/%s%s",
18531859 sconf->user_tracking_cookie, c,
1854 sconf->user_tracking_cookie_session < 1 ? " Max-Age=25920000" : "");
1860 sconf->user_tracking_cookie_session < 1 ? "; Max-Age=25920000" : "",
1861 domain != NULL ? domain : "");
18551862 if(status != HTTP_MOVED_TEMPORARILY) {
18561863 apr_table_add(r->headers_out, "Set-Cookie", sc);
18571864 } else {
25682575 }
25692576 apr_global_mutex_unlock(sconf->act->lock); /* @CRT7 */
25702577 return c;
2578 }
2579
2580 /**
2581 * Checks the subprocess_env table for the QS_BLOCK
2582 * event and returns its numeric value.
2583 *
2584 * @param r
2585 * @return Number within the variable or 0 if not set
2586 */
2587 static int get_qs_block_event(request_rec *r) {
2588 const char *block = apr_table_get(r->subprocess_env, QS_BLOCK);
2589 if(block == NULL) {
2590 return 0;
2591 }
2592 if(qos_is_num(block) && (strlen(block) > 0)) {
2593 int num = atoi(block);
2594 if(num <= 0) {
2595 num = 1;
2596 }
2597 return num;
2598 }
2599 return 1;
25712600 }
25722601
25732602 /**
36753704 char *var = apr_pstrdup(r->pool, entry[i].val);
36763705 char *value = strchr(var, '=');
36773706 if(value) {
3707 // a value has been defined
36783708 value[0] = '\0';
36793709 value++;
36803710 } else {
3681 value = code;
3711 if(strcmp(var, QS_BLOCK) == 0) {
3712 // QS_Block optionally defines the weight for error codes
3713 value = apr_pstrdup(r->pool, "1");
3714 } else {
3715 // by default, the value becomes the status code
3716 value = code;
3717 }
36823718 }
36833719 apr_table_set(r->subprocess_env, var, value);
36843720 }
47314767 if(sconf->has_qos_cc) {
47324768 int lowrate = 0;
47334769 int unusual_bahavior = 0;
4734 int block_event = !apr_table_get(r->subprocess_env, QS_BLOCK_SEEN) &&
4735 apr_table_get(r->subprocess_env, QS_BLOCK);
4770 int block_event = get_qs_block_event(r);
4771 const char *block_seen = apr_table_get(r->subprocess_env, QS_BLOCK_SEEN);
47364772 qs_conn_ctx *cconf = qos_get_cconf(r->connection);
47374773 qos_user_t *u = qos_get_user_conf(sconf->act->ppool);
47384774 apr_time_t now = apr_time_sec(r->request_time);
47424778 qos_s_entry_t searchEFromHeader;
47434779 searchEFromHeader.ip6[0] = 0;
47444780 searchEFromHeader.ip6[1] = 0;
4781
4782 if(block_seen != NULL) {
4783 block_event = 0;
4784 }
47454785
47464786 if(sconf->qos_cc_prefer_limit || (sconf->req_rate != -1)) {
47474787 qos_ifctx_t *inctx = qos_get_ifctx(r->connection->input_filters);
48544894 rctx->evmsg = apr_pstrcat(r->pool, "r;", rctx->evmsg, NULL);
48554895 }
48564896 if(block_event) {
4857 /* increment block event */
4858 (*e)->block++;
4859 if((*e)->block == 1) {
4860 /* ... and start timer */
4897 if((*e)->block == 0) {
4898 /* start timer */
48614899 (*e)->block_time = now;
48624900 }
4901 /* ...and increment/increase block event counter */
4902 (*e)->block += block_event;
48634903 }
48644904 } else if((*e)->lowrate) {
48654905 /* reset low prio client after 24h */
50355075 }
50365076 if(sconf->qos_cc_block && !excludeFromBlock) {
50375077 apr_time_t now = apr_time_sec(r->request_time);
5038 const char *block_event_str = apr_table_get(r->subprocess_env, QS_BLOCK);
5078 int block_event = get_qs_block_event(r);
50395079 if(((*e)->block_time + sconf->qos_cc_block_time) < now) {
50405080 /* reset expired events */
50415081 if((*e)->blockMsg > QS_LOG_REPEAT) {
50565096 (*e)->block = 0;
50575097 (*e)->block_time = 0;
50585098 }
5059 if(block_event_str) {
5060 /* increment block event */
5061 (*e)->block++;
5062 if((*e)->block == 1) {
5063 /* ... and start timer */
5099 if(block_event) {
5100 if((*e)->block == 0) {
5101 /* start timer */
50645102 (*e)->block_time = now;
50655103 }
5104 /* ... and increment block event */
5105 (*e)->block += block_event;
50665106 /* only once per request */
50675107 apr_table_set(r->subprocess_env, QS_BLOCK_SEEN, "");
50685108 apr_table_set(r->connection->notes, QS_BLOCK_SEEN, "");
69476987 }
69486988 /* Check for vip (by ip) */
69496989 vip = qos_is_excluded_ip(cconf->c, sconf->exclude_ip);
6990 if(vip == 0) {
6991 // check if qos_cc_pc_filter() got vip status form the cc store
6992 vip = cconf->is_vip;
6993 }
69506994 if(vip) {
69516995 /* propagate vip to connection */
69526996 cconf->is_vip = vip;
71817225 char *value = qos_get_remove_cookie(r, sconf->user_tracking_cookie);
71827226 qos_get_create_user_tracking(r, sconf, value);
71837227 if(sconf->user_tracking_cookie_force) {
7184 const char *ignore = apr_table_get(r->subprocess_env, "DISABLE_UTC_ENFORCEMENT");
7228 const char *ignore = apr_table_get(r->subprocess_env, QOS_DISABLE_UTC_ENFORCEMENT);
71857229 if(!ignore) {
71867230 if(strcmp(sconf->user_tracking_cookie_force, r->parsed_uri.path) == 0) {
71877231 /* access to check url */
94119455 if(eventLimitConf) {
94129456 (*e)->limit[limitTableIndex].limit_time = time(NULL);
94139457 (*e)->limit[limitTableIndex].limit = eventLimitConf->limit + 1000;
9458 }
9459 } else if(strcasecmp(cmd, "inclimit") == 0) {
9460 if(eventLimitConf) {
9461 apr_time_t now = apr_time_sec(r->request_time);
9462 if(((*e)->limit[limitTableIndex].limit_time + eventLimitConf->limit_time) < now) {
9463 // expired
9464 (*e)->limit[limitTableIndex].limit = 0;
9465 (*e)->limit[limitTableIndex].limit_time = 0;
9466 }
9467 // increment limit event
9468 (*e)->limit[limitTableIndex].limit++;
9469 if((*e)->limit[limitTableIndex].limit == 1) {
9470 // first, start timer
9471 (*e)->limit[limitTableIndex].limit_time = now;
9472 }
94149473 }
94159474 } else if(strcasecmp(cmd, "search") == 0) {
94169475 /* nothing to do here */
97649823 sconf->user_tracking_cookie = NULL;
97659824 sconf->user_tracking_cookie_force = NULL;
97669825 sconf->user_tracking_cookie_session = -1;
9826 sconf->user_tracking_cookie_domain = NULL;
97679827 sconf->max_age = atoi(QOS_MAX_AGE);
97689828 sconf->header_name = NULL;
97699829 sconf->header_name_drop = 0;
99349994 o->user_tracking_cookie = b->user_tracking_cookie;
99359995 o->user_tracking_cookie_force = b->user_tracking_cookie_force;
99369996 o->user_tracking_cookie_session = b->user_tracking_cookie_session;
9997 o->user_tracking_cookie_domain = b->user_tracking_cookie_domain;
99379998 }
99389999 if(o->keyset == 0) {
993910000 memcpy(o->key, b->key, sizeof(o->key));
1072310784 }
1072410785
1072510786 /** QS_UserTrackingCookieName */
10787
10788 #ifdef AP_TAKE_ARGV
10789 const char *qos_user_tracking_cookie_cmd(cmd_parms *cmd, void *dcfg,
10790 int argc, char *const argv[]) {
10791 qos_srv_config *sconf = (qos_srv_config*)ap_get_module_config(cmd->server->module_config,
10792 &qos_module);
10793 int pos = 1;
10794 if(argc == 0) {
10795 return apr_psprintf(cmd->pool, "%s: takes 1 to 4 arguments",
10796 cmd->directive->directive);
10797 }
10798 sconf->user_tracking_cookie = apr_pstrdup(cmd->pool, argv[0]);
10799 while(pos < argc) {
10800 const char *value = argv[pos];
10801 if(value[0] == '/') {
10802 sconf->user_tracking_cookie_force = apr_pstrdup(cmd->pool, value);
10803 } else if(strcasecmp(value, "session") == 0) {
10804 sconf->user_tracking_cookie_session = 1;
10805 } else {
10806 if(sconf->user_tracking_cookie_domain != NULL) {
10807 return apr_psprintf(cmd->pool, "%s: invalid attribute"
10808 " (expects <name>, <path>, 'session', or <domain>",
10809 cmd->directive->directive);
10810 }
10811 sconf->user_tracking_cookie_domain = apr_pstrdup(cmd->pool, value);
10812 }
10813 pos++;
10814 }
10815 return NULL;
10816 }
10817 #else
1072610818 const char *qos_user_tracking_cookie_cmd(cmd_parms *cmd, void *dcfg,
1072710819 const char *name,
1072810820 const char *option1,
1073110823 &qos_module);
1073210824 const char *force = NULL;
1073310825 sconf->user_tracking_cookie = apr_pstrdup(cmd->pool, name);
10734 sconf->user_tracking_cookie_force = NULL;
1073510826 if(option1) {
1073610827 if(strcasecmp(option1, "session") == 0) {
1073710828 sconf->user_tracking_cookie_session = 1;
1075710848 }
1075810849 return NULL;
1075910850 }
10851 #endif
1076010852
1076110853 /**
1076210854 * session definitions: cookie name and path, expiration/max-age
1085210944 } else {
1085310945 sconf->ip_header_name_drop = 0;
1085410946 }
10947 sconf->has_qos_cc = 1;
1085510948 sconf->ip_header_name = name;
1085610949 return NULL;
1085710950 }
1218012273 " the QS_VipIPHeaderName directive."),
1218112274
1218212275 /* user tracking */
12276 #ifdef AP_TAKE_ARGV
12277 AP_INIT_TAKE_ARGV("QS_UserTrackingCookieName", qos_user_tracking_cookie_cmd, NULL,
12278 RSRC_CONF,
12279 "QS_UserTrackingCookieName <name> [<path>] [<domain>] ['session'],"
12280 " enables the user tracking cookie by defining a cookie"
12281 " name. The \"path\" parameter is an option cookie"
12282 " check page which is used to ensure the client accepts"
12283 " cookies. The \"domain\" option defines the Domain attriibute"
12284 " for the Set-Cookie header. The option \"session\" indicates"
12285 " that the cookie shall be a session cookie expiring when the"
12286 " user closes it's browser."
12287 " User tracking requires mod_unique_id."
12288 " This feature is disabled by default."
12289 " Ignores QS_LogOnly."),
12290 #else
1218312291 AP_INIT_TAKE123("QS_UserTrackingCookieName", qos_user_tracking_cookie_cmd, NULL,
1218412292 RSRC_CONF,
1218512293 "QS_UserTrackingCookieName <name> [<path>] ['session'],"
1219212300 " User tracking requires mod_unique_id."
1219312301 " This feature is disabled by default."
1219412302 " Ignores QS_LogOnly."),
12303 #endif
1219512304
1219612305 /* env vars */
1219712306 AP_INIT_TAKE3("QS_SetEnvIf", qos_event_setenvif_cmd, NULL,
1414 * See http://opensource.adnovum.ch/mod_qos/ for further
1515 * details.
1616 *
17 * Copyright (C) 2007-2014 Pascal Buchbinder
17 * Copyright (C) 2007-2015 Pascal Buchbinder
1818 *
1919 * This program is free software; you can redistribute it and/or
2020 * modify it under the terms of the GNU General Public License
0 Version 11.9
1
2 - QS_Block event may specify a weighting of events
3 defining by how many penalty points the counter shall
4 be increased.
5
6 - Fixed: enables per client data store when using the
7 QS_VipIPHeaderName together with the QS_SrvMaxConn[PerIP]
8 directive.
9
10 Version 11.8
11
12 - New console command 'inclimit' increments the
13 QS_ClientEventLimitCount rule counter.
14
15 - Adds the option "<domain>" to the QS_UserTrackingCookieName
16 directive.
17
018 Version 11.7
119
220 - Man page for the module itself.
2929
3030 See http://opensource.adnovum.ch/mod_qos/ for further details.
3131
32 Copyright (C) 2007-2014 Pascal Buchbinder
32 Copyright (C) 2007-2015 Pascal Buchbinder
3333
3434 This program is free software; you can redistribute it and/or
3535 modify it under the terms of the GNU General Public License
208208 is optimized to be used in a reverse <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy.html">proxy</a> server.<br><br>
209209 Just copy the module into the <code>modules</code> directory of the Apache
210210 server's source code and compile it using the following commands (all
211 examples are using Apache 2.2.24 and mod_qos 11.7):
211 examples are using Apache 2.2.24 and mod_qos 11.9):
212212 <table border="0" cellspacing="5" cellpadding="10" width="100%">
213213 <tr><td bgcolor="#E0EBE0">
214214 <pre>
215215 tar xfz httpd-2.2.24.tar.gz
216 tar xfz mod_qos-11.7-src.tar.gz
216 tar xfz mod_qos-11.9-src.tar.gz
217217 ln -s httpd-2.2.24 httpd
218218 cd httpd
219219 mkdir modules/qos
220 cp ../mod_qos-11.7/apache2/* modules/qos
220 cp ../mod_qos-11.9/apache2/* modules/qos
221221 ./buildconf
222222 ./configure --with-mpm=worker --enable-so --enable-qos=shared --enable-ssl --enable-unique-id
223223 make
247247 <table border="0" cellspacing="5" cellpadding="10" width="100%">
248248 <tr><td bgcolor="#E0EBE0">
249249 <pre>
250 cd mod_qos-11.7/apache2
250 cd mod_qos-11.9/apache2
251251 apxs -i -c mod_qos.c -lcrypto -lpcre
252252 cd ../..
253253 </pre>
269269 <table border="0" cellspacing="5" cellpadding="10" width="100%">
270270 <tr><td bgcolor="#E0EBE0">
271271 <pre>
272 cd mod_qos-11.7/tools
272 cd mod_qos-11.9/tools
273273 ./configure
274274 make
275275 </pre>
649649 </li>
650650 <li>
651651 <a name="QS_Block"></a>
652 <code>QS_Block</code><br>
652 <code>QS_Block[=&lt;number&gt;]</code><br>
653653 Variable processed by the <code><a href="#QS_ClientEventBlockCount">QS_ClientEventBlockCount</a></code>
654 directive.
654 directive.<br>
655 The optional <code>number</code> value defines the penalty points to
656 increase the counter (default is 1).
655657 </li>
656658 <li>
657659 <a name="QS_Limit"></a>
14651467 <li>
14661468 <a name="QS_ClientEventBlockCount"></a>
14671469 <code>QS_ClientEventBlockCount &lt;number&gt; [&lt;seconds&gt;]</code><br>
1468 Defines the maximum number of <code>QS_Block</code> events allowed
1469 within the defined time (default is 600 seconds). Client IP is blocked
1470 when reaching this counter for the specified time (blocked at connection
1471 level: user might not always get a user friendly error response).<br/>
1470 Defines the maximum number of <code><a href="#QS_Block">QS_Block</a></code>
1471 events allowed within the defined time (default is 600 seconds).
1472 Client IP is blocked when reaching this counter for the specified
1473 time (blocked at connection level: user might not always get a
1474 user friendly error response).<br/>
14721475 You may use <code>QS_ClientEventBlockExcludeIP &lt;addr&gt;</code>
14731476 to exclude an IP address from being processed by this limitation
14741477 (e.g. for trusted clients connecting via a proxy server).
15891592 <tr><td bgcolor="#E0EBE0">
15901593 Sample configuration:<br>
15911594 <pre>
1595 # allows not more than 20 events/penalty points per 10 minutes:
1596 QS_ClientEventBlockCount 20
1597
15921598 # don't allow a client to access /app/start.html more than
15931599 # 20 times within 10 minutes:
1594 SetEnvIf Request_URI /app/start.html QS_Block=yes
1595 QS_ClientEventBlockCount 20
1596
1597 # don't allow more than 20 "403" status code responses
1600 SetEnvIf Request_URI /app/start.html QS_Block=1
1601
1602 # don't allow more than 4 "403" status code responses
15981603 # (forbidden) for a client within 10 minutes:
1599 QS_SetEnvIfStatus 403 QS_Block
1604 QS_SetEnvIfStatus 403 QS_Block=5
16001605 </pre>
16011606 </td></tr>
16021607 </table>
16721677 enabling the user tracking.<br> User tracking is based on a unique
16731678 identifier generated by mod_unique_id which is stored as a
16741679 cookie. The user tracking feature is enabled by setting the
1675 <code>QS_UserTrackingCookieName &lt;cookie name&gt; [&lt;path&gt;] ['session']</code>
1680 <code>QS_UserTrackingCookieName &lt;cookie name&gt; [&lt;path&gt;] [&lt;domain&gt;] ['session']</code>
16761681 directive. The <code>cookie name</code> argument defines the name of the
1677 user tracking cookie. <br> The optional <code>path</code> is a local error
1678 document which is shown if a user does not accept the cookie (enforcement)
1679 and the <code>session</code> flag indicates that short a lived (per session) cookie
1680 shall be creaed which won't be stored by the browser.
1682 user tracking cookie. <br>
1683 Options:<br>
1684 <ul><li>The <code>path</code> specifies a local error document
1685 which is shown if a user does not accept the cookie (enforcement).
1686 <br>
16811687 You may disable this enforcement for certain clients by setting the
16821688 <code>DISABLE_UTC_ENFORCEMENT</code> environment variable at server
1683 level (outside Location), e.g., to support crawlers or the do-not-track HTTP request
1684 header.<br>
1685 <code>QS_UserTrackingCookieName</code> ignores the <code>QS_LogOnly</code> directive.
1689 level (outside Location), e.g., to allow crawlers not supporting
1690 cookies to access your site.</li>
1691 <li><code>domain</code> defines the domain attribute for the Set-Cookie
1692 header.</li>
1693 <li>The <code>session</code> flag indicates that a short lived (per
1694 session) cookie shall be creaed which won't be stored by the browser.</li>
1695 </ul>
1696 <small><small>Note:
1697 <code>QS_UserTrackingCookieName</code> ignores the <code>QS_LogOnly</code>
1698 directive.</small></small>
16861699 </li>
16871700 <li>
16881701 <a name="UNIQUE_ID"></a>
17791792 <code>address=&lt;IP address&gt;</code><br>Specifies the IP address of the client to modify.
17801793 </li>
17811794 <li>
1782 <code>action='block'|'unblock'|'limit'|'unlimit'|'setvip'|'unsetvip'|'setlowprio'|'unsetlowprio'|'search'</code><br>Defines the command to be executed, or the attribute to be changed.
1783 <ul>
1784 <li><code>block</code>: blocks the client for the configured period of time, see also <code><a href="#QS_ClientEventBlockCount">QS_ClientEventBlockCount</a></code>.</li>
1795 <code>action='block'|'unblock'|'limit'|'unlimit'|'inclimit'|'setvip'|'unsetvip'|'setlowprio'|'unsetlowprio'|'search'</code><br>Defines the command to be executed, or the attribute to be changed.
1796 <ul>
1797 <li><code>block</code>: blocks the client for the configured period of time,
1798 see also <code><a href="#QS_ClientEventBlockCount">QS_ClientEventBlockCount</a></code>.</li>
17851799 <li><code>unblock</code>: clears the block attribute of the client.</li>
1786 <li><code>limit</code>: blocks (friendly) the client for the configured period of time, see also <code><a href="#QS_ClientEventLimitCount">QS_ClientEventLimitCount</a></code>.</li>
1800 <li><code>limit</code>: blocks (friendly) the client for the configured period
1801 of time, see also <code><a href="#QS_ClientEventLimitCount">QS_ClientEventLimitCount</a></code>.</li>
17871802 <li><code>unlimit</code>: clears the limit attribute of the client.</li>
1803 <li><code>inclimit</code>: increments the client's limit counter.</li>
17881804 <li><code>setvip</code>: sets the client status to <a href="#privilegedusers">VIP</a>.</li>
17891805 <li><code>unsetvip</code>: clears the VIP status for a client.</li>
17901806 <li><code>setlowprio</code>: sets the client's priority to 'low'.</li>
20712087 <hr>
20722088 <a href="http://www.nevis.ch"><img align="right" border="0"
20732089 src="nevis.gif" title="Nevis: The professional source for web application security." alt="Nevis" /></a>
2074 <SMALL><SMALL>&copy; 2007-2014, Pascal Buchbinder</SMALL></SMALL>
2090 <SMALL><SMALL>&copy; 2007-2015, Pascal Buchbinder</SMALL></SMALL>
20752091 </body>
20762092 </html>
Binary diff not shown
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSEXEC</H1>
7 Section: qsexec man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qsexec man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSFILTER2</H1>
7 Section: qsfilter2 man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qsfilter2 man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSGEO</H1>
7 Section: qsgeo man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qsgeo man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSGREP</H1>
7 Section: qsgrep man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qsgrep man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSHEAD</H1>
7 Section: qshead man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qshead man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSLOG</H1>
7 Section: qslog man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qslog man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSLOGGER</H1>
7 Section: qslogger man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qslogger man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSPNG</H1>
7 Section: qspng man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qspng man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSROTATE</H1>
7 Section: qsrotate man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qsrotate man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSSIGN</H1>
7 Section: qssign man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qssign man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
44 <META name='author' content='Pascal Buchbinder' />
55 </HEAD><BODY>
66 <H1>QSTAIL</H1>
7 Section: qstail man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A>
7 Section: qstail man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A>
88 <A HREF="index.html#utilities">Return to Main Contents</A><HR>
99
1010 <P>
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
0 # Makefile.in generated by automake 1.14.1 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
3 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
4
65 # This Makefile.in is free software; the Free Software Foundation
76 # gives unlimited permission to copy and/or distribute it,
87 # with or without modifications, as long as this notice is preserved.
1413
1514 @SET_MAKE@
1615 VPATH = @srcdir@
16 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
17 am__make_running_with_option = \
18 case $${target_option-} in \
19 ?) ;; \
20 *) echo "am__make_running_with_option: internal error: invalid" \
21 "target option '$${target_option-}' specified" >&2; \
22 exit 1;; \
23 esac; \
24 has_opt=no; \
25 sane_makeflags=$$MAKEFLAGS; \
26 if $(am__is_gnu_make); then \
27 sane_makeflags=$$MFLAGS; \
28 else \
29 case $$MAKEFLAGS in \
30 *\\[\ \ ]*) \
31 bs=\\; \
32 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
33 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
34 esac; \
35 fi; \
36 skip_next=no; \
37 strip_trailopt () \
38 { \
39 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
40 }; \
41 for flg in $$sane_makeflags; do \
42 test $$skip_next = yes && { skip_next=no; continue; }; \
43 case $$flg in \
44 *=*|--*) continue;; \
45 -*I) strip_trailopt 'I'; skip_next=yes;; \
46 -*I?*) strip_trailopt 'I';; \
47 -*O) strip_trailopt 'O'; skip_next=yes;; \
48 -*O?*) strip_trailopt 'O';; \
49 -*l) strip_trailopt 'l'; skip_next=yes;; \
50 -*l?*) strip_trailopt 'l';; \
51 -[dEDm]) skip_next=yes;; \
52 -[JT]) skip_next=yes;; \
53 esac; \
54 case $$flg in \
55 *$$target_option*) has_opt=yes; break;; \
56 esac; \
57 done; \
58 test $$has_opt = yes
59 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
60 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
1761 pkgdatadir = $(datadir)/@PACKAGE@
1862 pkgincludedir = $(includedir)/@PACKAGE@
1963 pkglibdir = $(libdir)/@PACKAGE@
3175 PRE_UNINSTALL = :
3276 POST_UNINSTALL = :
3377 subdir = .
34 DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
35 $(srcdir)/Makefile.in $(srcdir)/config.h.in \
36 $(top_srcdir)/configure depcomp install-sh missing
78 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
79 $(top_srcdir)/configure $(am__configure_deps) \
80 $(srcdir)/config.h.in compile depcomp install-sh missing
3781 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
3882 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
3983 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
4488 CONFIG_HEADER = config.h
4589 CONFIG_CLEAN_FILES =
4690 CONFIG_CLEAN_VPATH_FILES =
91 AM_V_P = $(am__v_P_@AM_V@)
92 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
93 am__v_P_0 = false
94 am__v_P_1 = :
95 AM_V_GEN = $(am__v_GEN_@AM_V@)
96 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
97 am__v_GEN_0 = @echo " GEN " $@;
98 am__v_GEN_1 =
99 AM_V_at = $(am__v_at_@AM_V@)
100 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
101 am__v_at_0 = @
102 am__v_at_1 =
47103 SOURCES =
48104 DIST_SOURCES =
49 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
50 html-recursive info-recursive install-data-recursive \
51 install-dvi-recursive install-exec-recursive \
52 install-html-recursive install-info-recursive \
53 install-pdf-recursive install-ps-recursive install-recursive \
54 installcheck-recursive installdirs-recursive pdf-recursive \
55 ps-recursive uninstall-recursive
105 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
106 ctags-recursive dvi-recursive html-recursive info-recursive \
107 install-data-recursive install-dvi-recursive \
108 install-exec-recursive install-html-recursive \
109 install-info-recursive install-pdf-recursive \
110 install-ps-recursive install-recursive installcheck-recursive \
111 installdirs-recursive pdf-recursive ps-recursive \
112 tags-recursive uninstall-recursive
113 am__can_run_installinfo = \
114 case $$AM_UPDATE_INFO_DIR in \
115 n|no|NO) false;; \
116 *) (install-info --version) >/dev/null 2>&1;; \
117 esac
56118 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
57119 distclean-recursive maintainer-clean-recursive
58 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
59 $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
60 distdir dist dist-all distcheck
120 am__recursive_targets = \
121 $(RECURSIVE_TARGETS) \
122 $(RECURSIVE_CLEAN_TARGETS) \
123 $(am__extra_recursive_targets)
124 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
125 cscope distdir dist dist-all distcheck
126 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
127 $(LISP)config.h.in
128 # Read a list of newline-separated strings from the standard input,
129 # and print each of them once, without duplicates. Input order is
130 # *not* preserved.
131 am__uniquify_input = $(AWK) '\
132 BEGIN { nonempty = 0; } \
133 { items[$$0] = 1; nonempty = 1; } \
134 END { if (nonempty) { for (i in items) print i; }; } \
135 '
136 # Make sure the list of sources is unique. This is necessary because,
137 # e.g., the same source file might be shared among _SOURCES variables
138 # for different programs/libraries.
139 am__define_uniq_tagged_files = \
140 list='$(am__tagged_files)'; \
141 unique=`for i in $$list; do \
142 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
143 done | $(am__uniquify_input)`
61144 ETAGS = etags
62145 CTAGS = ctags
146 CSCOPE = cscope
63147 DIST_SUBDIRS = $(SUBDIRS)
64148 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
65149 distdir = $(PACKAGE)-$(VERSION)
70154 && rm -rf "$(distdir)" \
71155 || { sleep 5 && rm -rf "$(distdir)"; }; \
72156 else :; fi
157 am__post_remove_distdir = $(am__remove_distdir)
73158 am__relativize = \
74159 dir0=`pwd`; \
75160 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
97182 reldir="$$dir2"
98183 DIST_ARCHIVES = $(distdir).tar.gz
99184 GZIP_ENV = --best
185 DIST_TARGETS = dist-gzip
100186 distuninstallcheck_listfiles = find . -type f -print
101187 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
102188 | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
103189 distcleancheck_listfiles = find . -type f -print
104190 ACLOCAL = @ACLOCAL@
105191 AMTAR = @AMTAR@
192 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
106193 AUTOCONF = @AUTOCONF@
107194 AUTOHEADER = @AUTOHEADER@
108195 AUTOMAKE = @AUTOMAKE@
229316 $(am__aclocal_m4_deps):
230317
231318 config.h: stamp-h1
232 @if test ! -f $@; then rm -f stamp-h1; else :; fi
233 @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
319 @test -f $@ || rm -f stamp-h1
320 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
234321
235322 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
236323 @rm -f stamp-h1
244331 -rm -f config.h stamp-h1
245332
246333 # This directory's subdirectories are mostly independent; you can cd
247 # into them and run `make' without going through this Makefile.
248 # To change the values of `make' variables: instead of editing Makefiles,
249 # (1) if the variable is set in `config.status', edit `config.status'
250 # (which will cause the Makefiles to be regenerated when you run `make');
251 # (2) otherwise, pass the desired values on the `make' command line.
252 $(RECURSIVE_TARGETS):
253 @fail= failcom='exit 1'; \
254 for f in x $$MAKEFLAGS; do \
255 case $$f in \
256 *=* | --[!k]*);; \
257 *k*) failcom='fail=yes';; \
258 esac; \
259 done; \
334 # into them and run 'make' without going through this Makefile.
335 # To change the values of 'make' variables: instead of editing Makefiles,
336 # (1) if the variable is set in 'config.status', edit 'config.status'
337 # (which will cause the Makefiles to be regenerated when you run 'make');
338 # (2) otherwise, pass the desired values on the 'make' command line.
339 $(am__recursive_targets):
340 @fail=; \
341 if $(am__make_keepgoing); then \
342 failcom='fail=yes'; \
343 else \
344 failcom='exit 1'; \
345 fi; \
260346 dot_seen=no; \
261347 target=`echo $@ | sed s/-recursive//`; \
262 list='$(SUBDIRS)'; for subdir in $$list; do \
348 case "$@" in \
349 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
350 *) list='$(SUBDIRS)' ;; \
351 esac; \
352 for subdir in $$list; do \
263353 echo "Making $$target in $$subdir"; \
264354 if test "$$subdir" = "."; then \
265355 dot_seen=yes; \
274364 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
275365 fi; test -z "$$fail"
276366
277 $(RECURSIVE_CLEAN_TARGETS):
278 @fail= failcom='exit 1'; \
279 for f in x $$MAKEFLAGS; do \
280 case $$f in \
281 *=* | --[!k]*);; \
282 *k*) failcom='fail=yes';; \
283 esac; \
284 done; \
285 dot_seen=no; \
286 case "$@" in \
287 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
288 *) list='$(SUBDIRS)' ;; \
289 esac; \
290 rev=''; for subdir in $$list; do \
291 if test "$$subdir" = "."; then :; else \
292 rev="$$subdir $$rev"; \
293 fi; \
294 done; \
295 rev="$$rev ."; \
296 target=`echo $@ | sed s/-recursive//`; \
297 for subdir in $$rev; do \
298 echo "Making $$target in $$subdir"; \
299 if test "$$subdir" = "."; then \
300 local_target="$$target-am"; \
301 else \
302 local_target="$$target"; \
303 fi; \
304 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
305 || eval $$failcom; \
306 done && test -z "$$fail"
307 tags-recursive:
308 list='$(SUBDIRS)'; for subdir in $$list; do \
309 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
310 done
311 ctags-recursive:
312 list='$(SUBDIRS)'; for subdir in $$list; do \
313 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
314 done
315
316 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
317 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
318 unique=`for i in $$list; do \
319 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
320 done | \
321 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
322 END { if (nonempty) { for (i in files) print i; }; }'`; \
323 mkid -fID $$unique
324 tags: TAGS
325
326 TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
327 $(TAGS_FILES) $(LISP)
367 ID: $(am__tagged_files)
368 $(am__define_uniq_tagged_files); mkid -fID $$unique
369 tags: tags-recursive
370 TAGS: tags
371
372 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
328373 set x; \
329374 here=`pwd`; \
330375 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
340385 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
341386 fi; \
342387 done; \
343 list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
344 unique=`for i in $$list; do \
345 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
346 done | \
347 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
348 END { if (nonempty) { for (i in files) print i; }; }'`; \
388 $(am__define_uniq_tagged_files); \
349389 shift; \
350390 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
351391 test -n "$$unique" || unique=$$empty_fix; \
357397 $$unique; \
358398 fi; \
359399 fi
360 ctags: CTAGS
361 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
362 $(TAGS_FILES) $(LISP)
363 list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
364 unique=`for i in $$list; do \
365 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
366 done | \
367 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
368 END { if (nonempty) { for (i in files) print i; }; }'`; \
400 ctags: ctags-recursive
401
402 CTAGS: ctags
403 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
404 $(am__define_uniq_tagged_files); \
369405 test -z "$(CTAGS_ARGS)$$unique" \
370406 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
371407 $$unique
374410 here=`$(am__cd) $(top_builddir) && pwd` \
375411 && $(am__cd) $(top_srcdir) \
376412 && gtags -i $(GTAGS_ARGS) "$$here"
413 cscope: cscope.files
414 test ! -s cscope.files \
415 || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
416 clean-cscope:
417 -rm -f cscope.files
418 cscope.files: clean-cscope cscopelist
419 cscopelist: cscopelist-recursive
420
421 cscopelist-am: $(am__tagged_files)
422 list='$(am__tagged_files)'; \
423 case "$(srcdir)" in \
424 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
425 *) sdir=$(subdir)/$(srcdir) ;; \
426 esac; \
427 for i in $$list; do \
428 if test -f "$$i"; then \
429 echo "$(subdir)/$$i"; \
430 else \
431 echo "$$sdir/$$i"; \
432 fi; \
433 done >> $(top_builddir)/cscope.files
377434
378435 distclean-tags:
379436 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
437 -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
380438
381439 distdir: $(DISTFILES)
382440 $(am__remove_distdir)
412470 done
413471 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
414472 if test "$$subdir" = .; then :; else \
415 test -d "$(distdir)/$$subdir" \
416 || $(MKDIR_P) "$(distdir)/$$subdir" \
417 || exit 1; \
418 fi; \
419 done
420 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
421 if test "$$subdir" = .; then :; else \
473 $(am__make_dryrun) \
474 || test -d "$(distdir)/$$subdir" \
475 || $(MKDIR_P) "$(distdir)/$$subdir" \
476 || exit 1; \
422477 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
423478 $(am__relativize); \
424479 new_distdir=$$reldir; \
447502 || chmod -R a+r "$(distdir)"
448503 dist-gzip: distdir
449504 tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
450 $(am__remove_distdir)
505 $(am__post_remove_distdir)
451506
452507 dist-bzip2: distdir
453508 tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
454 $(am__remove_distdir)
509 $(am__post_remove_distdir)
455510
456511 dist-lzip: distdir
457512 tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
458 $(am__remove_distdir)
459
460 dist-lzma: distdir
461 tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
462 $(am__remove_distdir)
513 $(am__post_remove_distdir)
463514
464515 dist-xz: distdir
465516 tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
466 $(am__remove_distdir)
517 $(am__post_remove_distdir)
467518
468519 dist-tarZ: distdir
520 @echo WARNING: "Support for shar distribution archives is" \
521 "deprecated." >&2
522 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
469523 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
470 $(am__remove_distdir)
524 $(am__post_remove_distdir)
471525
472526 dist-shar: distdir
527 @echo WARNING: "Support for distribution archives compressed with" \
528 "legacy program 'compress' is deprecated." >&2
529 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
473530 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
474 $(am__remove_distdir)
531 $(am__post_remove_distdir)
475532
476533 dist-zip: distdir
477534 -rm -f $(distdir).zip
478535 zip -rq $(distdir).zip $(distdir)
479 $(am__remove_distdir)
480
481 dist dist-all: distdir
482 tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
483 $(am__remove_distdir)
536 $(am__post_remove_distdir)
537
538 dist dist-all:
539 $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
540 $(am__post_remove_distdir)
484541
485542 # This target untars the dist file and tries a VPATH configuration. Then
486543 # it guarantees that the distribution is self-contained by making another
491548 GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
492549 *.tar.bz2*) \
493550 bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
494 *.tar.lzma*) \
495 lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
496551 *.tar.lz*) \
497552 lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
498553 *.tar.xz*) \
504559 *.zip*) \
505560 unzip $(distdir).zip ;;\
506561 esac
507 chmod -R a-w $(distdir); chmod a+w $(distdir)
508 mkdir $(distdir)/_build
509 mkdir $(distdir)/_inst
562 chmod -R a-w $(distdir)
563 chmod u+w $(distdir)
564 mkdir $(distdir)/_build $(distdir)/_inst
510565 chmod a-w $(distdir)
511566 test -d $(distdir)/_build || exit 0; \
512567 dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
513568 && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
514569 && am__cwd=`pwd` \
515570 && $(am__cd) $(distdir)/_build \
516 && ../configure --srcdir=.. --prefix="$$dc_install_base" \
571 && ../configure \
517572 $(AM_DISTCHECK_CONFIGURE_FLAGS) \
518573 $(DISTCHECK_CONFIGURE_FLAGS) \
574 --srcdir=.. --prefix="$$dc_install_base" \
519575 && $(MAKE) $(AM_MAKEFLAGS) \
520576 && $(MAKE) $(AM_MAKEFLAGS) dvi \
521577 && $(MAKE) $(AM_MAKEFLAGS) check \
538594 && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
539595 && cd "$$am__cwd" \
540596 || exit 1
541 $(am__remove_distdir)
597 $(am__post_remove_distdir)
542598 @(echo "$(distdir) archives ready for distribution: "; \
543599 list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
544600 sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
672728
673729 uninstall-am:
674730
675 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
676 ctags-recursive install-am install-strip tags-recursive
677
678 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
679 all all-am am--refresh check check-am clean clean-generic \
680 ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
681 dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
731 .MAKE: $(am__recursive_targets) all install-am install-strip
732
733 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
734 am--refresh check check-am clean clean-cscope clean-generic \
735 cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
736 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
682737 distcheck distclean distclean-generic distclean-hdr \
683738 distclean-tags distcleancheck distdir distuninstallcheck dvi \
684739 dvi-am html html-am info info-am install install-am \
688743 install-pdf-am install-ps install-ps-am install-strip \
689744 installcheck installcheck-am installdirs installdirs-am \
690745 maintainer-clean maintainer-clean-generic mostlyclean \
691 mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
692 uninstall uninstall-am
746 mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
747 uninstall-am
693748
694749
695750 # Tell versions [3.59,3.63) of GNU make to not export all variables.
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.68 for mod_qos 9.0.
2 # Generated by GNU Autoconf 2.69 for mod_qos 9.0.
33 #
44 # Report bugs to <pbuchbinder@users.sourceforge.net>.
55 #
66 #
7 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
8 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
9 # Foundation, Inc.
7 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
108 #
119 #
1210 # This configure script is free software; the Free Software Foundation
135133 # CDPATH.
136134 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
137135
136 # Use a proper internal environment variable to ensure we don't fall
137 # into an infinite loop, continuously re-executing ourselves.
138 if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
139 _as_can_reexec=no; export _as_can_reexec;
140 # We cannot yet assume a decent shell, so we have to provide a
141 # neutralization value for shells without unset; and this also
142 # works around shells that cannot unset nonexistent variables.
143 # Preserve -v and -x to the replacement shell.
144 BASH_ENV=/dev/null
145 ENV=/dev/null
146 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
147 case $- in # ((((
148 *v*x* | *x*v* ) as_opts=-vx ;;
149 *v* ) as_opts=-v ;;
150 *x* ) as_opts=-x ;;
151 * ) as_opts= ;;
152 esac
153 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
154 # Admittedly, this is quite paranoid, since all the known shells bail
155 # out after a failed `exec'.
156 $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
157 as_fn_exit 255
158 fi
159 # We don't want this to propagate to other subprocesses.
160 { _as_can_reexec=; unset _as_can_reexec;}
138161 if test "x$CONFIG_SHELL" = x; then
139162 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
140163 emulate sh
168191 else
169192 exitcode=1; echo positional parameters were not saved.
170193 fi
171 test x\$exitcode = x0 || exit 1"
194 test x\$exitcode = x0 || exit 1
195 test -x / || exit 1"
172196 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
173197 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
174198 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
213237
214238
215239 if test "x$CONFIG_SHELL" != x; then :
216 # We cannot yet assume a decent shell, so we have to provide a
217 # neutralization value for shells without unset; and this also
218 # works around shells that cannot unset nonexistent variables.
219 # Preserve -v and -x to the replacement shell.
220 BASH_ENV=/dev/null
221 ENV=/dev/null
222 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
223 export CONFIG_SHELL
224 case $- in # ((((
225 *v*x* | *x*v* ) as_opts=-vx ;;
226 *v* ) as_opts=-v ;;
227 *x* ) as_opts=-x ;;
228 * ) as_opts= ;;
229 esac
230 exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
240 export CONFIG_SHELL
241 # We cannot yet assume a decent shell, so we have to provide a
242 # neutralization value for shells without unset; and this also
243 # works around shells that cannot unset nonexistent variables.
244 # Preserve -v and -x to the replacement shell.
245 BASH_ENV=/dev/null
246 ENV=/dev/null
247 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
248 case $- in # ((((
249 *v*x* | *x*v* ) as_opts=-vx ;;
250 *v* ) as_opts=-v ;;
251 *x* ) as_opts=-x ;;
252 * ) as_opts= ;;
253 esac
254 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
255 # Admittedly, this is quite paranoid, since all the known shells bail
256 # out after a failed `exec'.
257 $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
258 exit 255
231259 fi
232260
233261 if test x$as_have_required = xno; then :
330358
331359
332360 } # as_fn_mkdir_p
361
362 # as_fn_executable_p FILE
363 # -----------------------
364 # Test if FILE is an executable regular file.
365 as_fn_executable_p ()
366 {
367 test -f "$1" && test -x "$1"
368 } # as_fn_executable_p
333369 # as_fn_append VAR VALUE
334370 # ----------------------
335371 # Append the text in VALUE to the end of the definition contained in VAR. Take
451487 chmod +x "$as_me.lineno" ||
452488 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
453489
490 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
491 # already done that, so ensure we don't try to do so again and fall
492 # in an infinite loop. This has already happened in practice.
493 _as_can_reexec=no; export _as_can_reexec
454494 # Don't try to exec as it changes $[0], causing all sort of problems
455495 # (the dirname of $[0] is not the place where we might find the
456496 # original and so on. Autoconf is especially sensitive to this).
485525 # ... but there are two gotchas:
486526 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
487527 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
488 # In both cases, we have to default to `cp -p'.
528 # In both cases, we have to default to `cp -pR'.
489529 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
490 as_ln_s='cp -p'
530 as_ln_s='cp -pR'
491531 elif ln conf$$.file conf$$ 2>/dev/null; then
492532 as_ln_s=ln
493533 else
494 as_ln_s='cp -p'
534 as_ln_s='cp -pR'
495535 fi
496536 else
497 as_ln_s='cp -p'
537 as_ln_s='cp -pR'
498538 fi
499539 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
500540 rmdir conf$$.dir 2>/dev/null
506546 as_mkdir_p=false
507547 fi
508548
509 if test -x / >/dev/null 2>&1; then
510 as_test_x='test -x'
511 else
512 if ls -dL / >/dev/null 2>&1; then
513 as_ls_L_option=L
514 else
515 as_ls_L_option=
516 fi
517 as_test_x='
518 eval sh -c '\''
519 if test -d "$1"; then
520 test -d "$1/.";
521 else
522 case $1 in #(
523 -*)set "./$1";;
524 esac;
525 case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
526 ???[sx]*):;;*)false;;esac;fi
527 '\'' sh
528 '
529 fi
530 as_executable_p=$as_test_x
549 as_test_x='test -x'
550 as_executable_p=as_fn_executable_p
531551
532552 # Sed expression to map a string onto a valid CPP name.
533553 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
625645 LDFLAGS
626646 CFLAGS
627647 CC
648 AM_BACKSLASH
649 AM_DEFAULT_VERBOSITY
650 AM_DEFAULT_V
651 AM_V
628652 am__untar
629653 am__tar
630654 AMTAR
689713 ac_subst_files=''
690714 ac_user_opts='
691715 enable_option_checking
716 enable_silent_rules
692717 enable_dependency_tracking
693718 enable_use_static
694719 enable_full_static
11631188 if test "x$host_alias" != x; then
11641189 if test "x$build_alias" = x; then
11651190 cross_compiling=maybe
1166 $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
1167 If a cross compiler is detected then cross compile mode will be used" >&2
11681191 elif test "x$build_alias" != "x$host_alias"; then
11691192 cross_compiling=yes
11701193 fi
13241347 --disable-option-checking ignore unrecognized --enable/--with options
13251348 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
13261349 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
1327 --disable-dependency-tracking speeds up one-time build
1328 --enable-dependency-tracking do not reject slow dependency extractors
1350 --enable-silent-rules less verbose build output (undo: "make V=1")
1351 --disable-silent-rules verbose build output (undo: "make V=0")
1352 --enable-dependency-tracking
1353 do not reject slow dependency extractors
1354 --disable-dependency-tracking
1355 speeds up one-time build
13291356 --enable-use-static Try to use archives instead of shared libraries
13301357 --enable-full-static Try to compile a statical linked executable
13311358 --disable-ssl Disable ssl support (not supported yet)
14161443 if $ac_init_version; then
14171444 cat <<\_ACEOF
14181445 mod_qos configure 9.0
1419 generated by GNU Autoconf 2.68
1420
1421 Copyright (C) 2010 Free Software Foundation, Inc.
1446 generated by GNU Autoconf 2.69
1447
1448 Copyright (C) 2012 Free Software Foundation, Inc.
14221449 This configure script is free software; the Free Software Foundation
14231450 gives unlimited permission to copy, distribute and modify it.
14241451 _ACEOF
17491776 test ! -s conftest.err
17501777 } && test -s conftest$ac_exeext && {
17511778 test "$cross_compiling" = yes ||
1752 $as_test_x conftest$ac_exeext
1779 test -x conftest$ac_exeext
17531780 }; then :
17541781 ac_retval=0
17551782 else
18391866 running configure, to aid debugging if configure makes a mistake.
18401867
18411868 It was created by mod_qos $as_me 9.0, which was
1842 generated by GNU Autoconf 2.68. Invocation command line was
1869 generated by GNU Autoconf 2.69. Invocation command line was
18431870
18441871 $ $0 $@
18451872
21872214
21882215
21892216
2190 am__api_version='1.11'
2217 am__api_version='1.14'
21912218
21922219 ac_aux_dir=
21932220 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
22552282 # by default.
22562283 for ac_prog in ginstall scoinst install; do
22572284 for ac_exec_ext in '' $ac_executable_extensions; do
2258 if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
2285 if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
22592286 if test $ac_prog = install &&
22602287 grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
22612288 # AIX install. It has an incompatible calling convention.
23132340
23142341 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
23152342 $as_echo_n "checking whether build environment is sane... " >&6; }
2316 # Just in case
2317 sleep 1
2318 echo timestamp > conftest.file
23192343 # Reject unsafe characters in $srcdir or the absolute working directory
23202344 # name. Accept space and tab only in the latter.
23212345 am_lf='
23262350 esac
23272351 case $srcdir in
23282352 *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
2329 as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
2353 as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
23302354 esac
23312355
2332 # Do `set' in a subshell so we don't clobber the current shell's
2356 # Do 'set' in a subshell so we don't clobber the current shell's
23332357 # arguments. Must try -L first in case configure is actually a
23342358 # symlink; some systems play weird games with the mod time of symlinks
23352359 # (eg FreeBSD returns the mod time of the symlink's containing
23362360 # directory).
23372361 if (
2338 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
2339 if test "$*" = "X"; then
2340 # -L didn't work.
2341 set X `ls -t "$srcdir/configure" conftest.file`
2342 fi
2343 rm -f conftest.file
2344 if test "$*" != "X $srcdir/configure conftest.file" \
2345 && test "$*" != "X conftest.file $srcdir/configure"; then
2346
2347 # If neither matched, then we have a broken ls. This can happen
2348 # if, for instance, CONFIG_SHELL is bash and it inherits a
2349 # broken ls alias from the environment. This has actually
2350 # happened. Such a system could not be considered "sane".
2351 as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
2352 alias in your environment" "$LINENO" 5
2353 fi
2354
2362 am_has_slept=no
2363 for am_try in 1 2; do
2364 echo "timestamp, slept: $am_has_slept" > conftest.file
2365 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
2366 if test "$*" = "X"; then
2367 # -L didn't work.
2368 set X `ls -t "$srcdir/configure" conftest.file`
2369 fi
2370 if test "$*" != "X $srcdir/configure conftest.file" \
2371 && test "$*" != "X conftest.file $srcdir/configure"; then
2372
2373 # If neither matched, then we have a broken ls. This can happen
2374 # if, for instance, CONFIG_SHELL is bash and it inherits a
2375 # broken ls alias from the environment. This has actually
2376 # happened. Such a system could not be considered "sane".
2377 as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
2378 alias in your environment" "$LINENO" 5
2379 fi
2380 if test "$2" = conftest.file || test $am_try -eq 2; then
2381 break
2382 fi
2383 # Just in case.
2384 sleep 1
2385 am_has_slept=yes
2386 done
23552387 test "$2" = conftest.file
23562388 )
23572389 then
23632395 fi
23642396 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
23652397 $as_echo "yes" >&6; }
2398 # If we didn't sleep, we still need to ensure time stamps of config.status and
2399 # generated files are strictly newer.
2400 am_sleep_pid=
2401 if grep 'slept: no' conftest.file >/dev/null 2>&1; then
2402 ( sleep 1 ) &
2403 am_sleep_pid=$!
2404 fi
2405
2406 rm -f conftest.file
2407
23662408 test "$program_prefix" != NONE &&
23672409 program_transform_name="s&^&$program_prefix&;$program_transform_name"
23682410 # Use a double $ so make ignores it.
23852427 esac
23862428 fi
23872429 # Use eval to expand $SHELL
2388 if eval "$MISSING --run true"; then
2389 am_missing_run="$MISSING --run "
2430 if eval "$MISSING --is-lightweight"; then
2431 am_missing_run="$MISSING "
23902432 else
23912433 am_missing_run=
2392 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
2393 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
2434 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
2435 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
23942436 fi
23952437
23962438 if test x"${install_sh}" != xset; then
24022444 esac
24032445 fi
24042446
2405 # Installed binaries are usually stripped using `strip' when the user
2406 # run `make install-strip'. However `strip' might not be the right
2447 # Installed binaries are usually stripped using 'strip' when the user
2448 # run "make install-strip". However 'strip' might not be the right
24072449 # tool to use in cross-compilation environments, therefore Automake
2408 # will honor the `STRIP' environment variable to overrule this program.
2450 # will honor the 'STRIP' environment variable to overrule this program.
24092451 if test "$cross_compiling" != no; then
24102452 if test -n "$ac_tool_prefix"; then
24112453 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
24242466 IFS=$as_save_IFS
24252467 test -z "$as_dir" && as_dir=.
24262468 for ac_exec_ext in '' $ac_executable_extensions; do
2427 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2469 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
24282470 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
24292471 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
24302472 break 2
24642506 IFS=$as_save_IFS
24652507 test -z "$as_dir" && as_dir=.
24662508 for ac_exec_ext in '' $ac_executable_extensions; do
2467 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2509 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
24682510 ac_cv_prog_ac_ct_STRIP="strip"
24692511 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
24702512 break 2
25152557 test -z "$as_dir" && as_dir=.
25162558 for ac_prog in mkdir gmkdir; do
25172559 for ac_exec_ext in '' $ac_executable_extensions; do
2518 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
2560 as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
25192561 case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
25202562 'mkdir (GNU coreutils) '* | \
25212563 'mkdir (coreutils) '* | \
25442586 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
25452587 $as_echo "$MKDIR_P" >&6; }
25462588
2547 mkdir_p="$MKDIR_P"
2548 case $mkdir_p in
2549 [\\/$]* | ?:[\\/]*) ;;
2550 */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
2551 esac
2552
25532589 for ac_prog in gawk mawk nawk awk
25542590 do
25552591 # Extract the first word of "$ac_prog", so it can be a program name with args.
25682604 IFS=$as_save_IFS
25692605 test -z "$as_dir" && as_dir=.
25702606 for ac_exec_ext in '' $ac_executable_extensions; do
2571 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2607 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
25722608 ac_cv_prog_AWK="$ac_prog"
25732609 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
25742610 break 2
26322668 fi
26332669 rmdir .tst 2>/dev/null
26342670
2671 # Check whether --enable-silent-rules was given.
2672 if test "${enable_silent_rules+set}" = set; then :
2673 enableval=$enable_silent_rules;
2674 fi
2675
2676 case $enable_silent_rules in # (((
2677 yes) AM_DEFAULT_VERBOSITY=0;;
2678 no) AM_DEFAULT_VERBOSITY=1;;
2679 *) AM_DEFAULT_VERBOSITY=1;;
2680 esac
2681 am_make=${MAKE-make}
2682 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
2683 $as_echo_n "checking whether $am_make supports nested variables... " >&6; }
2684 if ${am_cv_make_support_nested_variables+:} false; then :
2685 $as_echo_n "(cached) " >&6
2686 else
2687 if $as_echo 'TRUE=$(BAR$(V))
2688 BAR0=false
2689 BAR1=true
2690 V=1
2691 am__doit:
2692 @$(TRUE)
2693 .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
2694 am_cv_make_support_nested_variables=yes
2695 else
2696 am_cv_make_support_nested_variables=no
2697 fi
2698 fi
2699 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
2700 $as_echo "$am_cv_make_support_nested_variables" >&6; }
2701 if test $am_cv_make_support_nested_variables = yes; then
2702 AM_V='$(V)'
2703 AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
2704 else
2705 AM_V=$AM_DEFAULT_VERBOSITY
2706 AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
2707 fi
2708 AM_BACKSLASH='\'
2709
26352710 if test "`cd $srcdir && pwd`" != "`pwd`"; then
26362711 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
26372712 # is not polluted with repeated "-I."
26822757
26832758 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
26842759
2760 # For better backward compatibility. To be removed once Automake 1.9.x
2761 # dies out for good. For more background, see:
2762 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
2763 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
2764 mkdir_p='$(MKDIR_P)'
2765
26852766 # We need awk for the "check" target. The system "awk" is bad on
26862767 # some platforms.
26872768 # Always define AMTAR for backward compatibility. Yes, it's still used
26882769 # in the wild :-( We should find a proper way to deprecate it ...
26892770 AMTAR='$${TAR-tar}'
26902771
2772
2773 # We'll loop over all known methods to create a tar archive until one works.
2774 _am_tools='gnutar pax cpio none'
2775
26912776 am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
26922777
26932778
26942779
26952780
26962781
2782
2783 # POSIX will say in a future version that running "rm -f" with no argument
2784 # is OK; and we want to be able to make that assumption in our Makefile
2785 # recipes. So use an aggressive probe to check that the usage we want is
2786 # actually supported "in the wild" to an acceptable degree.
2787 # See automake bug#10828.
2788 # To make any issue more visible, cause the running configure to be aborted
2789 # by default if the 'rm' program in use doesn't match our expectations; the
2790 # user can still override this though.
2791 if rm -f && rm -fr && rm -rf; then : OK; else
2792 cat >&2 <<'END'
2793 Oops!
2794
2795 Your 'rm' program seems unable to run without file operands specified
2796 on the command line, even when the '-f' option is present. This is contrary
2797 to the behaviour of most rm programs out there, and not conforming with
2798 the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
2799
2800 Please tell bug-automake@gnu.org about your system, including the value
2801 of your $PATH and any error possibly output before this message. This
2802 can help us improve future automake versions.
2803
2804 END
2805 if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
2806 echo 'Configuration will proceed anyway, since you have set the' >&2
2807 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
2808 echo >&2
2809 else
2810 cat >&2 <<'END'
2811 Aborting the configuration process, to ensure you take notice of the issue.
2812
2813 You can download and install GNU coreutils to get an 'rm' implementation
2814 that behaves properly: <http://www.gnu.org/software/coreutils/>.
2815
2816 If you want to complete the configuration process using your problematic
2817 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
2818 to "yes", and re-run configure.
2819
2820 END
2821 as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
2822 fi
2823 fi
26972824 ac_config_headers="$ac_config_headers config.h"
26982825
26992826
27202847 IFS=$as_save_IFS
27212848 test -z "$as_dir" && as_dir=.
27222849 for ac_exec_ext in '' $ac_executable_extensions; do
2723 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2850 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
27242851 ac_cv_prog_CC="${ac_tool_prefix}gcc"
27252852 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
27262853 break 2
27602887 IFS=$as_save_IFS
27612888 test -z "$as_dir" && as_dir=.
27622889 for ac_exec_ext in '' $ac_executable_extensions; do
2763 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2890 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
27642891 ac_cv_prog_ac_ct_CC="gcc"
27652892 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
27662893 break 2
28132940 IFS=$as_save_IFS
28142941 test -z "$as_dir" && as_dir=.
28152942 for ac_exec_ext in '' $ac_executable_extensions; do
2816 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2943 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
28172944 ac_cv_prog_CC="${ac_tool_prefix}cc"
28182945 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
28192946 break 2
28542981 IFS=$as_save_IFS
28552982 test -z "$as_dir" && as_dir=.
28562983 for ac_exec_ext in '' $ac_executable_extensions; do
2857 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2984 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
28582985 if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
28592986 ac_prog_rejected=yes
28602987 continue
29123039 IFS=$as_save_IFS
29133040 test -z "$as_dir" && as_dir=.
29143041 for ac_exec_ext in '' $ac_executable_extensions; do
2915 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3042 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
29163043 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
29173044 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
29183045 break 2
29563083 IFS=$as_save_IFS
29573084 test -z "$as_dir" && as_dir=.
29583085 for ac_exec_ext in '' $ac_executable_extensions; do
2959 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3086 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
29603087 ac_cv_prog_ac_ct_CC="$ac_prog"
29613088 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
29623089 break 2
34023529 /* end confdefs.h. */
34033530 #include <stdarg.h>
34043531 #include <stdio.h>
3405 #include <sys/types.h>
3406 #include <sys/stat.h>
3532 struct stat;
34073533 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
34083534 struct buf { int x; };
34093535 FILE * (*rcsopen) (struct buf *, struct stat *, int);
34873613 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
34883614 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
34893615 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3616
3617 ac_ext=c
3618 ac_cpp='$CPP $CPPFLAGS'
3619 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3620 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3621 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3622 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
3623 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
3624 if ${am_cv_prog_cc_c_o+:} false; then :
3625 $as_echo_n "(cached) " >&6
3626 else
3627 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3628 /* end confdefs.h. */
3629
3630 int
3631 main ()
3632 {
3633
3634 ;
3635 return 0;
3636 }
3637 _ACEOF
3638 # Make sure it works both with $CC and with simple cc.
3639 # Following AC_PROG_CC_C_O, we do the test twice because some
3640 # compilers refuse to overwrite an existing .o file with -o,
3641 # though they will create one.
3642 am_cv_prog_cc_c_o=yes
3643 for am_i in 1 2; do
3644 if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
3645 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
3646 ac_status=$?
3647 echo "$as_me:$LINENO: \$? = $ac_status" >&5
3648 (exit $ac_status); } \
3649 && test -f conftest2.$ac_objext; then
3650 : OK
3651 else
3652 am_cv_prog_cc_c_o=no
3653 break
3654 fi
3655 done
3656 rm -f core conftest*
3657 unset am_i
3658 fi
3659 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
3660 $as_echo "$am_cv_prog_cc_c_o" >&6; }
3661 if test "$am_cv_prog_cc_c_o" != yes; then
3662 # Losing compiler, so override with the script.
3663 # FIXME: It is wrong to rewrite CC.
3664 # But if we don't then we get into trouble of one sort or another.
3665 # A longer-term fix would be to have automake use am__CC in this case,
3666 # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
3667 CC="$am_aux_dir/compile $CC"
3668 fi
3669 ac_ext=c
3670 ac_cpp='$CPP $CPPFLAGS'
3671 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3672 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3673 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3674
34903675 DEPDIR="${am__leading_dot}deps"
34913676
34923677 ac_config_commands="$ac_config_commands depfiles"
35063691 _am_result=none
35073692 # First try GNU make style include.
35083693 echo "include confinc" > confmf
3509 # Ignore all kinds of additional output from `make'.
3694 # Ignore all kinds of additional output from 'make'.
35103695 case `$am_make -s -f confmf 2> /dev/null` in #(
35113696 *the\ am__doit\ target*)
35123697 am__include=include
35623747 # We make a subdir and do the tests there. Otherwise we can end up
35633748 # making bogus files that we don't know about and never remove. For
35643749 # instance it was reported that on HP-UX the gcc test will end up
3565 # making a dummy file named `D' -- because `-MD' means `put the output
3566 # in D'.
3750 # making a dummy file named 'D' -- because '-MD' means "put the output
3751 # in D".
35673752 rm -rf conftest.dir
35683753 mkdir conftest.dir
35693754 # Copy depcomp to subdir because otherwise we won't find it if we're
35983783 : > sub/conftest.c
35993784 for i in 1 2 3 4 5 6; do
36003785 echo '#include "conftst'$i'.h"' >> sub/conftest.c
3601 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
3602 # Solaris 8's {/usr,}/bin/sh.
3603 touch sub/conftst$i.h
3786 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
3787 # Solaris 10 /bin/sh.
3788 echo '/* dummy */' > sub/conftst$i.h
36043789 done
36053790 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
36063791
3607 # We check with `-c' and `-o' for the sake of the "dashmstdout"
3792 # We check with '-c' and '-o' for the sake of the "dashmstdout"
36083793 # mode. It turns out that the SunPro C++ compiler does not properly
3609 # handle `-M -o', and we need to detect this. Also, some Intel
3610 # versions had trouble with output in subdirs
3794 # handle '-M -o', and we need to detect this. Also, some Intel
3795 # versions had trouble with output in subdirs.
36113796 am__obj=sub/conftest.${OBJEXT-o}
36123797 am__minus_obj="-o $am__obj"
36133798 case $depmode in
36163801 test "$am__universal" = false || continue
36173802 ;;
36183803 nosideeffect)
3619 # after this tag, mechanisms are not by side-effect, so they'll
3620 # only be used when explicitly requested
3804 # After this tag, mechanisms are not by side-effect, so they'll
3805 # only be used when explicitly requested.
36213806 if test "x$enable_dependency_tracking" = xyes; then
36223807 continue
36233808 else
36253810 fi
36263811 ;;
36273812 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
3628 # This compiler won't grok `-c -o', but also, the minuso test has
3813 # This compiler won't grok '-c -o', but also, the minuso test has
36293814 # not run yet. These depmodes are late enough in the game, and
36303815 # so weak that their functioning should not be impacted.
36313816 am__obj=conftest.${OBJEXT-o}
38384023 for ac_prog in grep ggrep; do
38394024 for ac_exec_ext in '' $ac_executable_extensions; do
38404025 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
3841 { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
4026 as_fn_executable_p "$ac_path_GREP" || continue
38424027 # Check for GNU ac_path_GREP and select it if it is found.
38434028 # Check for GNU $ac_path_GREP
38444029 case `"$ac_path_GREP" --version 2>&1` in
39044089 for ac_prog in egrep; do
39054090 for ac_exec_ext in '' $ac_executable_extensions; do
39064091 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
3907 { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
4092 as_fn_executable_p "$ac_path_EGREP" || continue
39084093 # Check for GNU ac_path_EGREP and select it if it is found.
39094094 # Check for GNU $ac_path_EGREP
39104095 case `"$ac_path_EGREP" --version 2>&1` in
46244809
46254810 ac_libobjs=
46264811 ac_ltlibobjs=
4627 U=
46284812 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
46294813 # 1. Remove the extension, and $U if already installed.
46304814 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
46394823 LTLIBOBJS=$ac_ltlibobjs
46404824
46414825
4826 { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
4827 $as_echo_n "checking that generated files are newer than configure... " >&6; }
4828 if test -n "$am_sleep_pid"; then
4829 # Hide warnings about reused PIDs.
4830 wait $am_sleep_pid 2>/dev/null
4831 fi
4832 { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
4833 $as_echo "done" >&6; }
46424834 if test -n "$EXEEXT"; then
46434835 am__EXEEXT_TRUE=
46444836 am__EXEEXT_FALSE='#'
49535145 # ... but there are two gotchas:
49545146 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
49555147 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
4956 # In both cases, we have to default to `cp -p'.
5148 # In both cases, we have to default to `cp -pR'.
49575149 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
4958 as_ln_s='cp -p'
5150 as_ln_s='cp -pR'
49595151 elif ln conf$$.file conf$$ 2>/dev/null; then
49605152 as_ln_s=ln
49615153 else
4962 as_ln_s='cp -p'
5154 as_ln_s='cp -pR'
49635155 fi
49645156 else
4965 as_ln_s='cp -p'
5157 as_ln_s='cp -pR'
49665158 fi
49675159 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
49685160 rmdir conf$$.dir 2>/dev/null
50225214 as_mkdir_p=false
50235215 fi
50245216
5025 if test -x / >/dev/null 2>&1; then
5026 as_test_x='test -x'
5027 else
5028 if ls -dL / >/dev/null 2>&1; then
5029 as_ls_L_option=L
5030 else
5031 as_ls_L_option=
5032 fi
5033 as_test_x='
5034 eval sh -c '\''
5035 if test -d "$1"; then
5036 test -d "$1/.";
5037 else
5038 case $1 in #(
5039 -*)set "./$1";;
5040 esac;
5041 case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
5042 ???[sx]*):;;*)false;;esac;fi
5043 '\'' sh
5044 '
5045 fi
5046 as_executable_p=$as_test_x
5217
5218 # as_fn_executable_p FILE
5219 # -----------------------
5220 # Test if FILE is an executable regular file.
5221 as_fn_executable_p ()
5222 {
5223 test -f "$1" && test -x "$1"
5224 } # as_fn_executable_p
5225 as_test_x='test -x'
5226 as_executable_p=as_fn_executable_p
50475227
50485228 # Sed expression to map a string onto a valid CPP name.
50495229 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
50655245 # values after options handling.
50665246 ac_log="
50675247 This file was extended by mod_qos $as_me 9.0, which was
5068 generated by GNU Autoconf 2.68. Invocation command line was
5248 generated by GNU Autoconf 2.69. Invocation command line was
50695249
50705250 CONFIG_FILES = $CONFIG_FILES
50715251 CONFIG_HEADERS = $CONFIG_HEADERS
51315311 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
51325312 ac_cs_version="\\
51335313 mod_qos config.status 9.0
5134 configured by $0, generated by GNU Autoconf 2.68,
5314 configured by $0, generated by GNU Autoconf 2.69,
51355315 with options \\"\$ac_cs_config\\"
51365316
5137 Copyright (C) 2010 Free Software Foundation, Inc.
5317 Copyright (C) 2012 Free Software Foundation, Inc.
51385318 This config.status script is free software; the Free Software Foundation
51395319 gives unlimited permission to copy, distribute and modify it."
51405320
52255405 _ACEOF
52265406 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
52275407 if \$ac_cs_recheck; then
5228 set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
5408 set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
52295409 shift
52305410 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
52315411 CONFIG_SHELL='$SHELL'
58596039
58606040 case $ac_file$ac_mode in
58616041 "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
5862 # Autoconf 2.62 quotes --file arguments for eval, but not when files
6042 # Older Autoconf quotes --file arguments for eval, but not when files
58636043 # are listed without --file. Let's play safe and only enable the eval
58646044 # if we detect the quoting.
58656045 case $CONFIG_FILES in
58726052 # Strip MF so we end up with the name of the file.
58736053 mf=`echo "$mf" | sed -e 's/:.*$//'`
58746054 # Check whether this is an Automake generated Makefile or not.
5875 # We used to match only the files named `Makefile.in', but
6055 # We used to match only the files named 'Makefile.in', but
58766056 # some people rename them; so instead we look at the file content.
58776057 # Grep'ing the first line is not enough: some people post-process
58786058 # each Makefile.in and add a new line on top of each file to say so.
59066086 continue
59076087 fi
59086088 # Extract the definition of DEPDIR, am__include, and am__quote
5909 # from the Makefile without running `make'.
6089 # from the Makefile without running 'make'.
59106090 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
59116091 test -z "$DEPDIR" && continue
59126092 am__include=`sed -n 's/^am__include = //p' < "$mf"`
5913 test -z "am__include" && continue
6093 test -z "$am__include" && continue
59146094 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
5915 # When using ansi2knr, U may be empty or an underscore; expand it
5916 U=`sed -n 's/^U = //p' < "$mf"`
59176095 # Find all dependency output files, they are included files with
59186096 # $(DEPDIR) in their names. We invoke sed twice because it is the
59196097 # simplest approach to changing $(DEPDIR) to its actual value in the
59206098 # expansion.
59216099 for file in `sed -n "
59226100 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
5923 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
6101 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
59246102 # Make sure the directory exists.
59256103 test -f "$dirpart/$file" && continue
59266104 fdir=`$as_dirname -- "$file" ||
0 .TH MOD_QOS 1 "November 2014" "mod_qos Apache Module" "mod_qos"
0 .TH MOD_QOS 1 "January 2015" "mod_qos Apache Module" "mod_qos"
11 .SH NAME
22 mod_qos \- quality of service module for the Apache Web server
33 .SH DESCRIPTION
9696 .TP
9797 QS_VipIpUser, marks a source IP address as a VIP if the user has been authenticated by the Apache server, e.g. by the standard mod_auth* modules. It works similar to the QS_VipIPHeaderName directive.
9898 .TP
99 QS_UserTrackingCookieName <name> [<path>] ['session'], enables the user tracking cookie by defining a cookie name. The "path" parameter is an option cookie check page which is used to ensure the client accepts cookies. The option "session" indicates that the cookie shall be a session cookie expiring when the user closes it's browser. User tracking requires mod_unique_id. This feature is disabled by default. Ignores QS_LogOnly.
99 QS_UserTrackingCookieName <name> [<path>] [<domain>] ['session'], enables the user tracking cookie by defining a cookie name. The "path" parameter is an option cookie check page which is used to ensure the client accepts cookies. The "domain" option defines the Domain attriibute for the Set\-Cookie header. The option "session" indicates that the cookie shall be a session cookie expiring when the user closes it's browser. User tracking requires mod_unique_id. This feature is disabled by default. Ignores QS_LogOnly.
100100 .TP
101101 QS_SetEnvIf [!]<variable1> [!]<variable1> [!]<variable=value>, sets (or unsets) the 'variable=value' (literal string) if variable1 (literal string) AND variable2 (literal string) are set in the request environment variable list (not case sensitive). This is used to combine multiple variables to a new event type.
102102 .TP
0 .TH QSEXEC 1 "November 2014" "mod_qos utilities 11.7" "qsexec man page
0 .TH QSEXEC 1 "January 2015" "mod_qos utilities 11.9" "qsexec man page
11
22 .SH NAME
33 qsexec \- parses the data received via stdin and executes the defined command on a pattern match.
0 .TH QSFILTER2 1 "November 2014" "mod_qos utilities 11.7" "qsfilter2 man page"
0 .TH QSFILTER2 1 "January 2015" "mod_qos utilities 11.9" "qsfilter2 man page"
11
22 .SH NAME
33 qsfilter2 \- an utility to generate mod_qos request line rules out from existing access/audit log data.
0 .TH QSGEO 1 "November 2014" "mod_qos utilities 11.7" "qsgeo man page"
0 .TH QSGEO 1 "January 2015" "mod_qos utilities 11.9" "qsgeo man page"
11
22 .SH NAME
33 qsgeo \- an utility to lookup a client's country code.
0 .TH QSGREP 1 "November 2014" "mod_qos utilities 11.7" "qsgrep man page"
0 .TH QSGREP 1 "January 2015" "mod_qos utilities 11.9" "qsgrep man page"
11
22 .SH NAME
33 qsgrep \- prints matching patterns within a file.
0 .TH QSHEAD 1 "November 2014" "mod_qos utilities 11.7" "qshead man page"
0 .TH QSHEAD 1 "January 2015" "mod_qos utilities 11.9" "qshead man page"
11
22 .SH NAME
33 qshead \- an utility reading from stdin and printing all lines to stdout until reaching the defined pattern.
0 .TH QSLOG 1 "November 2014" "mod_qos utilities 11.7" "qslog man page"
0 .TH QSLOG 1 "January 2015" "mod_qos utilities 11.9" "qslog man page"
11
22 .SH NAME
33 qslog \- collects request statistics from access log data.
0 .TH QSLOGGER 1 "November 2014" "mod_qos utilities 11.7" "qslogger man page"
0 .TH QSLOGGER 1 "January 2015" "mod_qos utilities 11.9" "qslogger man page"
11
22 .SH NAME
33 qslogger \- another shell command interface to the system log module (syslog).
0 .TH QSPNG 1 "November 2014" "mod_qos utilities 11.7" "qspng man page"
0 .TH QSPNG 1 "January 2015" "mod_qos utilities 11.9" "qspng man page"
11
22 .SH NAME
33 qspng \- an utility to draw a png graph from qslog(1) output data.
0 .TH QSROTATE 1 "November 2014" "mod_qos utilities 11.7" "qsrotate man page"
0 .TH QSROTATE 1 "January 2015" "mod_qos utilities 11.9" "qsrotate man page"
11
22 .SH NAME
33 qsrotate \- a log rotation tool (similar to Apache's rotatelogs).
0 .TH QSSIGN 1 "November 2014" "mod_qos utilities 11.7" "qssign man page"
0 .TH QSSIGN 1 "January 2015" "mod_qos utilities 11.9" "qssign man page"
11
22 .SH NAME
33 qssign \- an utility to sign and verify the integrity of log data.
0 .TH QSTAIL 1 "November 2014" "mod_qos utilities 11.7" "qstail man page"
0 .TH QSTAIL 1 "January 2015" "mod_qos utilities 11.9" "qstail man page"
11
22 .SH NAME
33 qstail \- an utility printing the end of a log file starting at the specified pattern.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
0 # Makefile.in generated by automake 1.14.1 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
3 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
4
65 # This Makefile.in is free software; the Free Software Foundation
76 # gives unlimited permission to copy and/or distribute it,
87 # with or without modifications, as long as this notice is preserved.
1716 # $Id: Makefile.am,v 1.12 2012/09/19 18:48:51 pbuchbinder Exp $
1817
1918 VPATH = @srcdir@
19 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
20 am__make_running_with_option = \
21 case $${target_option-} in \
22 ?) ;; \
23 *) echo "am__make_running_with_option: internal error: invalid" \
24 "target option '$${target_option-}' specified" >&2; \
25 exit 1;; \
26 esac; \
27 has_opt=no; \
28 sane_makeflags=$$MAKEFLAGS; \
29 if $(am__is_gnu_make); then \
30 sane_makeflags=$$MFLAGS; \
31 else \
32 case $$MAKEFLAGS in \
33 *\\[\ \ ]*) \
34 bs=\\; \
35 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
36 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
37 esac; \
38 fi; \
39 skip_next=no; \
40 strip_trailopt () \
41 { \
42 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
43 }; \
44 for flg in $$sane_makeflags; do \
45 test $$skip_next = yes && { skip_next=no; continue; }; \
46 case $$flg in \
47 *=*|--*) continue;; \
48 -*I) strip_trailopt 'I'; skip_next=yes;; \
49 -*I?*) strip_trailopt 'I';; \
50 -*O) strip_trailopt 'O'; skip_next=yes;; \
51 -*O?*) strip_trailopt 'O';; \
52 -*l) strip_trailopt 'l'; skip_next=yes;; \
53 -*l?*) strip_trailopt 'l';; \
54 -[dEDm]) skip_next=yes;; \
55 -[JT]) skip_next=yes;; \
56 esac; \
57 case $$flg in \
58 *$$target_option*) has_opt=yes; break;; \
59 esac; \
60 done; \
61 test $$has_opt = yes
62 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
63 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
2064 pkgdatadir = $(datadir)/@PACKAGE@
2165 pkgincludedir = $(includedir)/@PACKAGE@
2266 pkglibdir = $(libdir)/@PACKAGE@
3882 qsgrep$(EXEEXT) qsexec$(EXEEXT) qscheck$(EXEEXT) \
3983 qsgeo$(EXEEXT) qslogger$(EXEEXT) qshead$(EXEEXT)
4084 subdir = src
41 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
85 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
86 $(top_srcdir)/depcomp
4287 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
4388 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
4489 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
85130 am_qstail_OBJECTS = qstail.$(OBJEXT) qs_util.$(OBJEXT)
86131 qstail_OBJECTS = $(am_qstail_OBJECTS)
87132 qstail_LDADD = $(LDADD)
133 AM_V_P = $(am__v_P_@AM_V@)
134 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
135 am__v_P_0 = false
136 am__v_P_1 = :
137 AM_V_GEN = $(am__v_GEN_@AM_V@)
138 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
139 am__v_GEN_0 = @echo " GEN " $@;
140 am__v_GEN_1 =
141 AM_V_at = $(am__v_at_@AM_V@)
142 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
143 am__v_at_0 = @
144 am__v_at_1 =
88145 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
89146 depcomp = $(SHELL) $(top_srcdir)/depcomp
90147 am__depfiles_maybe = depfiles
91148 am__mv = mv -f
92149 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
93150 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
151 AM_V_CC = $(am__v_CC_@AM_V@)
152 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
153 am__v_CC_0 = @echo " CC " $@;
154 am__v_CC_1 =
94155 CCLD = $(CC)
95156 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
157 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
158 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
159 am__v_CCLD_0 = @echo " CCLD " $@;
160 am__v_CCLD_1 =
96161 SOURCES = $(qscheck_SOURCES) $(qsexec_SOURCES) $(qsfilter2_SOURCES) \
97162 $(qsgeo_SOURCES) $(qsgrep_SOURCES) $(qshead_SOURCES) \
98163 $(qslog_SOURCES) $(qslogger_SOURCES) $(qspng_SOURCES) \
102167 $(qshead_SOURCES) $(qslog_SOURCES) $(qslogger_SOURCES) \
103168 $(qspng_SOURCES) $(qsrotate_SOURCES) $(qssign_SOURCES) \
104169 $(qstail_SOURCES)
170 am__can_run_installinfo = \
171 case $$AM_UPDATE_INFO_DIR in \
172 n|no|NO) false;; \
173 *) (install-info --version) >/dev/null 2>&1;; \
174 esac
175 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
176 # Read a list of newline-separated strings from the standard input,
177 # and print each of them once, without duplicates. Input order is
178 # *not* preserved.
179 am__uniquify_input = $(AWK) '\
180 BEGIN { nonempty = 0; } \
181 { items[$$0] = 1; nonempty = 1; } \
182 END { if (nonempty) { for (i in items) print i; }; } \
183 '
184 # Make sure the list of sources is unique. This is necessary because,
185 # e.g., the same source file might be shared among _SOURCES variables
186 # for different programs/libraries.
187 am__define_uniq_tagged_files = \
188 list='$(am__tagged_files)'; \
189 unique=`for i in $$list; do \
190 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
191 done | $(am__uniquify_input)`
105192 ETAGS = etags
106193 CTAGS = ctags
107194 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
108195 ACLOCAL = @ACLOCAL@
109196 AMTAR = @AMTAR@
197 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
110198 AUTOCONF = @AUTOCONF@
111199 AUTOHEADER = @AUTOHEADER@
112200 AUTOMAKE = @AUTOMAKE@
263351 $(am__aclocal_m4_deps):
264352 install-binPROGRAMS: $(bin_PROGRAMS)
265353 @$(NORMAL_INSTALL)
266 test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
267354 @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
355 if test -n "$$list"; then \
356 echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
357 $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
358 fi; \
268359 for p in $$list; do echo "$$p $$p"; done | \
269360 sed 's/$(EXEEXT)$$//' | \
270 while read p p1; do if test -f $$p; \
271 then echo "$$p"; echo "$$p"; else :; fi; \
361 while read p p1; do if test -f $$p \
362 ; then echo "$$p"; echo "$$p"; else :; fi; \
272363 done | \
273 sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
364 sed -e 'p;s,.*/,,;n;h' \
365 -e 's|.*|.|' \
274366 -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
275367 sed 'N;N;N;s,\n, ,g' | \
276368 $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
291383 @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
292384 files=`for p in $$list; do echo "$$p"; done | \
293385 sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
294 -e 's/$$/$(EXEEXT)/' `; \
386 -e 's/$$/$(EXEEXT)/' \
387 `; \
295388 test -n "$$list" || exit 0; \
296389 echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
297390 cd "$(DESTDIR)$(bindir)" && rm -f $$files
298391
299392 clean-binPROGRAMS:
300393 -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
394
301395 qscheck$(EXEEXT): $(qscheck_OBJECTS) $(qscheck_DEPENDENCIES) $(EXTRA_qscheck_DEPENDENCIES)
302396 @rm -f qscheck$(EXEEXT)
303 $(LINK) $(qscheck_OBJECTS) $(qscheck_LDADD) $(LIBS)
397 $(AM_V_CCLD)$(LINK) $(qscheck_OBJECTS) $(qscheck_LDADD) $(LIBS)
398
304399 qsexec$(EXEEXT): $(qsexec_OBJECTS) $(qsexec_DEPENDENCIES) $(EXTRA_qsexec_DEPENDENCIES)
305400 @rm -f qsexec$(EXEEXT)
306 $(LINK) $(qsexec_OBJECTS) $(qsexec_LDADD) $(LIBS)
401 $(AM_V_CCLD)$(LINK) $(qsexec_OBJECTS) $(qsexec_LDADD) $(LIBS)
402
307403 qsfilter2$(EXEEXT): $(qsfilter2_OBJECTS) $(qsfilter2_DEPENDENCIES) $(EXTRA_qsfilter2_DEPENDENCIES)
308404 @rm -f qsfilter2$(EXEEXT)
309 $(LINK) $(qsfilter2_OBJECTS) $(qsfilter2_LDADD) $(LIBS)
405 $(AM_V_CCLD)$(LINK) $(qsfilter2_OBJECTS) $(qsfilter2_LDADD) $(LIBS)
406
310407 qsgeo$(EXEEXT): $(qsgeo_OBJECTS) $(qsgeo_DEPENDENCIES) $(EXTRA_qsgeo_DEPENDENCIES)
311408 @rm -f qsgeo$(EXEEXT)
312 $(LINK) $(qsgeo_OBJECTS) $(qsgeo_LDADD) $(LIBS)
409 $(AM_V_CCLD)$(LINK) $(qsgeo_OBJECTS) $(qsgeo_LDADD) $(LIBS)
410
313411 qsgrep$(EXEEXT): $(qsgrep_OBJECTS) $(qsgrep_DEPENDENCIES) $(EXTRA_qsgrep_DEPENDENCIES)
314412 @rm -f qsgrep$(EXEEXT)
315 $(LINK) $(qsgrep_OBJECTS) $(qsgrep_LDADD) $(LIBS)
413 $(AM_V_CCLD)$(LINK) $(qsgrep_OBJECTS) $(qsgrep_LDADD) $(LIBS)
414
316415 qshead$(EXEEXT): $(qshead_OBJECTS) $(qshead_DEPENDENCIES) $(EXTRA_qshead_DEPENDENCIES)
317416 @rm -f qshead$(EXEEXT)
318 $(LINK) $(qshead_OBJECTS) $(qshead_LDADD) $(LIBS)
417 $(AM_V_CCLD)$(LINK) $(qshead_OBJECTS) $(qshead_LDADD) $(LIBS)
418
319419 qslog$(EXEEXT): $(qslog_OBJECTS) $(qslog_DEPENDENCIES) $(EXTRA_qslog_DEPENDENCIES)
320420 @rm -f qslog$(EXEEXT)
321 $(LINK) $(qslog_OBJECTS) $(qslog_LDADD) $(LIBS)
421 $(AM_V_CCLD)$(LINK) $(qslog_OBJECTS) $(qslog_LDADD) $(LIBS)
422
322423 qslogger$(EXEEXT): $(qslogger_OBJECTS) $(qslogger_DEPENDENCIES) $(EXTRA_qslogger_DEPENDENCIES)
323424 @rm -f qslogger$(EXEEXT)
324 $(LINK) $(qslogger_OBJECTS) $(qslogger_LDADD) $(LIBS)
425 $(AM_V_CCLD)$(LINK) $(qslogger_OBJECTS) $(qslogger_LDADD) $(LIBS)
426
325427 qspng$(EXEEXT): $(qspng_OBJECTS) $(qspng_DEPENDENCIES) $(EXTRA_qspng_DEPENDENCIES)
326428 @rm -f qspng$(EXEEXT)
327 $(LINK) $(qspng_OBJECTS) $(qspng_LDADD) $(LIBS)
429 $(AM_V_CCLD)$(LINK) $(qspng_OBJECTS) $(qspng_LDADD) $(LIBS)
430
328431 qsrotate$(EXEEXT): $(qsrotate_OBJECTS) $(qsrotate_DEPENDENCIES) $(EXTRA_qsrotate_DEPENDENCIES)
329432 @rm -f qsrotate$(EXEEXT)
330 $(LINK) $(qsrotate_OBJECTS) $(qsrotate_LDADD) $(LIBS)
433 $(AM_V_CCLD)$(LINK) $(qsrotate_OBJECTS) $(qsrotate_LDADD) $(LIBS)
434
331435 qssign$(EXEEXT): $(qssign_OBJECTS) $(qssign_DEPENDENCIES) $(EXTRA_qssign_DEPENDENCIES)
332436 @rm -f qssign$(EXEEXT)
333 $(LINK) $(qssign_OBJECTS) $(qssign_LDADD) $(LIBS)
437 $(AM_V_CCLD)$(LINK) $(qssign_OBJECTS) $(qssign_LDADD) $(LIBS)
438
334439 qstail$(EXEEXT): $(qstail_OBJECTS) $(qstail_DEPENDENCIES) $(EXTRA_qstail_DEPENDENCIES)
335440 @rm -f qstail$(EXEEXT)
336 $(LINK) $(qstail_OBJECTS) $(qstail_LDADD) $(LIBS)
441 $(AM_V_CCLD)$(LINK) $(qstail_OBJECTS) $(qstail_LDADD) $(LIBS)
337442
338443 mostlyclean-compile:
339444 -rm -f *.$(OBJEXT)
356461 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qstail.Po@am__quote@
357462
358463 .c.o:
359 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
360 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
361 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
464 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
465 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
466 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
362467 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
363 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
468 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
364469
365470 .c.obj:
366 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
367 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
368 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
471 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
472 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
473 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
369474 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
370 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
371
372 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
373 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
374 unique=`for i in $$list; do \
375 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
376 done | \
377 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
378 END { if (nonempty) { for (i in files) print i; }; }'`; \
379 mkid -fID $$unique
380 tags: TAGS
381
382 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
383 $(TAGS_FILES) $(LISP)
475 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
476
477 ID: $(am__tagged_files)
478 $(am__define_uniq_tagged_files); mkid -fID $$unique
479 tags: tags-am
480 TAGS: tags
481
482 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
384483 set x; \
385484 here=`pwd`; \
386 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
387 unique=`for i in $$list; do \
388 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
389 done | \
390 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
391 END { if (nonempty) { for (i in files) print i; }; }'`; \
485 $(am__define_uniq_tagged_files); \
392486 shift; \
393487 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
394488 test -n "$$unique" || unique=$$empty_fix; \
400494 $$unique; \
401495 fi; \
402496 fi
403 ctags: CTAGS
404 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
405 $(TAGS_FILES) $(LISP)
406 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
407 unique=`for i in $$list; do \
408 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
409 done | \
410 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
411 END { if (nonempty) { for (i in files) print i; }; }'`; \
497 ctags: ctags-am
498
499 CTAGS: ctags
500 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
501 $(am__define_uniq_tagged_files); \
412502 test -z "$(CTAGS_ARGS)$$unique" \
413503 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
414504 $$unique
417507 here=`$(am__cd) $(top_builddir) && pwd` \
418508 && $(am__cd) $(top_srcdir) \
419509 && gtags -i $(GTAGS_ARGS) "$$here"
510 cscopelist: cscopelist-am
511
512 cscopelist-am: $(am__tagged_files)
513 list='$(am__tagged_files)'; \
514 case "$(srcdir)" in \
515 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
516 *) sdir=$(subdir)/$(srcdir) ;; \
517 esac; \
518 for i in $$list; do \
519 if test -f "$$i"; then \
520 echo "$(subdir)/$$i"; \
521 else \
522 echo "$$sdir/$$i"; \
523 fi; \
524 done >> $(top_builddir)/cscope.files
420525
421526 distclean-tags:
422527 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
559664
560665 .MAKE: install-am install-strip
561666
562 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
563 clean-generic ctags distclean distclean-compile \
564 distclean-generic distclean-tags distdir dvi dvi-am html \
565 html-am info info-am install install-am install-binPROGRAMS \
566 install-data install-data-am install-dvi install-dvi-am \
567 install-exec install-exec-am install-html install-html-am \
568 install-info install-info-am install-man install-pdf \
569 install-pdf-am install-ps install-ps-am install-strip \
570 installcheck installcheck-am installdirs maintainer-clean \
571 maintainer-clean-generic mostlyclean mostlyclean-compile \
572 mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
573 uninstall-am uninstall-binPROGRAMS
667 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
668 clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \
669 distclean distclean-compile distclean-generic distclean-tags \
670 distdir dvi dvi-am html html-am info info-am install \
671 install-am install-binPROGRAMS install-data install-data-am \
672 install-dvi install-dvi-am install-exec install-exec-am \
673 install-html install-html-am install-info install-info-am \
674 install-man install-pdf install-pdf-am install-ps \
675 install-ps-am install-strip installcheck installcheck-am \
676 installdirs maintainer-clean maintainer-clean-generic \
677 mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
678 ps ps-am tags tags-am uninstall uninstall-am \
679 uninstall-binPROGRAMS
574680
575681
576682 # Tell versions [3.59,3.63) of GNU make to not export all variables.
33 * See http://opensource.adnovum.ch/mod_qos/ for further
44 * details.
55 *
6 * Copyright (C) 2007-2014 Pascal Buchbinder
6 * Copyright (C) 2007-2015 Pascal Buchbinder
77 *
88 * This program is free software; you can redistribute it and/or
99 * modify it under the terms of the GNU General Public License
33 * See http://opensource.adnovum.ch/mod_qos/ for further
44 * details.
55 *
6 * Copyright (C) 2007-2014 Pascal Buchbinder
6 * Copyright (C) 2007-2015 Pascal Buchbinder
77 *
88 * This program is free software; you can redistribute it and/or
99 * modify it under the terms of the GNU General Public License
2222 *
2323 */
2424
25 static const char revision[] = "$Id: qs_util.c,v 1.16 2014/06/26 19:12:08 pbuchbinder Exp $";
25 static const char revision[] = "$Id: qs_util.c,v 1.17 2015/01/05 17:35:58 pbuchbinder Exp $";
2626
2727 #include <stdio.h>
2828 #include <pthread.h>
33 * See http://opensource.adnovum.ch/mod_qos/ for further
44 * details.
55 *
6 * Copyright (C) 2007-2014 Pascal Buchbinder
6 * Copyright (C) 2007-2015 Pascal Buchbinder
77 *
88 * This program is free software; you can redistribute it and/or
99 * modify it under the terms of the GNU General Public License
2828 /* ----------------------------------
2929 * version info
3030 * ---------------------------------- */
31 static const char man_version[] = "11.7";
32 static const char man_date[] = "November 2014";
31 static const char man_version[] = "11.9";
32 static const char man_date[] = "January 2015";
3333
3434 /* ----------------------------------
3535 * definitions
55 * See http://opensource.adnovum.ch/mod_qos/ for further
66 * details.
77 *
8 * Copyright (C) 2007-2014 Pascal Buchbinder
8 * Copyright (C) 2007-2015 Pascal Buchbinder
99 *
1010 * This program is free software; you can redistribute it and/or
1111 * modify it under the terms of the GNU General Public License
2424 *
2525 */
2626
27 static const char revision[] = "$Id: qscheck.c,v 1.8 2014/01/09 08:13:07 pbuchbinder Exp $";
27 static const char revision[] = "$Id: qscheck.c,v 1.9 2015/01/05 17:35:58 pbuchbinder Exp $";
2828
2929 #include <stdio.h>
3030 #include <stdlib.h>
44 *
55 * See http://opensource.adnovum.ch/mod_qos/ for further details.
66 *
7 * Copyright (C) 2011-2014 Pascal Buchbinder
7 * Copyright (C) 2011-2015 Pascal Buchbinder
88 *
99 * This program is free software; you can redistribute it and/or
1010 * modify it under the terms of the GNU General Public License
2626 *
2727 */
2828
29 static const char revision[] = "$Id: qsexec.c,v 1.21 2014/03/25 11:57:09 pbuchbinder Exp $";
29 static const char revision[] = "$Id: qsexec.c,v 1.22 2015/01/05 17:35:58 pbuchbinder Exp $";
3030
3131 /* system */
3232 #include <stdio.h>
66 * See http://opensource.adnovum.ch/mod_qos/ for further
77 * details.
88 *
9 * Copyright (C) 2007-2014 Pascal Buchbinder
9 * Copyright (C) 2007-2015 Pascal Buchbinder
1010 *
1111 * This program is free software; you can redistribute it and/or
1212 * modify it under the terms of the GNU General Public License
2828 *
2929 */
3030
31 static const char revision[] = "$Id: qsfilter2.c,v 1.76 2014/01/09 08:13:07 pbuchbinder Exp $";
31 static const char revision[] = "$Id: qsfilter2.c,v 1.77 2015/01/05 17:35:59 pbuchbinder Exp $";
3232
3333 /* system */
3434 #include <stdio.h>
55 * See http://opensource.adnovum.ch/mod_qos/ for further
66 * details.
77 *
8 * Copyright (C) 2007-2014 Pascal Buchbinder
8 * Copyright (C) 2007-2015 Pascal Buchbinder
99 *
1010 * This program is free software; you can redistribute it and/or
1111 * modify it under the terms of the GNU General Public License
2424 *
2525 */
2626
27 static const char revision[] = "$Id: qsgeo.c,v 1.19 2014/08/22 20:06:34 pbuchbinder Exp $";
27 static const char revision[] = "$Id: qsgeo.c,v 1.20 2015/01/05 17:35:59 pbuchbinder Exp $";
2828
2929 #include <stdio.h>
3030 #include <stdlib.h>
44 *
55 * See http://opensource.adnovum.ch/mod_qos/ for further details.
66 *
7 * Copyright (C) 2011-2014 Pascal Buchbinder
7 * Copyright (C) 2011-2015 Pascal Buchbinder
88 *
99 * This program is free software; you can redistribute it and/or
1010 * modify it under the terms of the GNU General Public License
2626 *
2727 */
2828
29 static const char revision[] = "$Id: qsgrep.c,v 1.16 2014/03/25 11:57:09 pbuchbinder Exp $";
29 static const char revision[] = "$Id: qsgrep.c,v 1.17 2015/01/05 17:35:59 pbuchbinder Exp $";
3030
3131 /* system */
3232 #include <stdio.h>
77 * See http://opensource.adnovum.ch/mod_qos/ for further
88 * details.
99 *
10 * Copyright (C) 2012-2014 Pascal Buchbinder
10 * Copyright (C) 2012-2015 Pascal Buchbinder
1111 *
1212 * This program is free software; you can redistribute it and/or
1313 * modify it under the terms of the GNU General Public License
2626 *
2727 */
2828
29 static const char revision[] = "$Id: qshead.c,v 1.3 2014/01/09 08:13:07 pbuchbinder Exp $";
29 static const char revision[] = "$Id: qshead.c,v 1.4 2015/01/05 17:35:59 pbuchbinder Exp $";
3030
3131 #include <stdio.h>
3232 #include <unistd.h>
88 * See http://opensource.adnovum.ch/mod_qos/ for further
99 * details.
1010 *
11 * Copyright (C) 2007-2014 Pascal Buchbinder
11 * Copyright (C) 2007-2015 Pascal Buchbinder
1212 *
1313 * This program is free software; you can redistribute it and/or
1414 * modify it under the terms of the GNU General Public License
2727 *
2828 */
2929
30 static const char revision[] = "$Id: qslog.c,v 1.95 2014/07/09 20:02:05 pbuchbinder Exp $";
30 static const char revision[] = "$Id: qslog.c,v 1.96 2015/01/05 17:35:59 pbuchbinder Exp $";
3131
3232 #include <stdio.h>
3333 #include <string.h>
55 * See http://opensource.adnovum.ch/mod_qos/ for further
66 * details.
77 *
8 * Copyright (C) 2007-2014 Pascal Buchbinder
8 * Copyright (C) 2007-2015 Pascal Buchbinder
99 *
1010 * This program is free software; you can redistribute it and/or
1111 * modify it under the terms of the GNU General Public License
2424 *
2525 */
2626
27 static const char revision[] = "$Id: qslogger.c,v 1.15 2014/01/09 08:13:07 pbuchbinder Exp $";
27 static const char revision[] = "$Id: qslogger.c,v 1.16 2015/01/05 17:35:59 pbuchbinder Exp $";
2828
2929 #include <stdio.h>
3030 #include <stdlib.h>
33 * See http://opensource.adnovum.ch/mod_qos/ for further
44 * details.
55 *
6 * Copyright (C) 2007-2014 Pascal Buchbinder
6 * Copyright (C) 2007-2015 Pascal Buchbinder
77 *
88 * This program is free software; you can redistribute it and/or
99 * modify it under the terms of the GNU General Public License
2222 *
2323 */
2424
25 static const char revision[] = "$Id: qspng.c,v 1.18 2014/01/09 08:13:07 pbuchbinder Exp $";
25 static const char revision[] = "$Id: qspng.c,v 1.19 2015/01/05 17:35:59 pbuchbinder Exp $";
2626
2727 #include <stdio.h>
2828 #include <strings.h>
66 * See http://opensource.adnovum.ch/mod_qos/ for further
77 * details.
88 *
9 * Copyright (C) 2007-2014 Pascal Buchbinder
9 * Copyright (C) 2007-2015 Pascal Buchbinder
1010 *
1111 * This program is free software; you can redistribute it and/or
1212 * modify it under the terms of the GNU General Public License
2525 *
2626 */
2727
28 static const char revision[] = "$Id: qsrotate.c,v 1.24 2014/09/10 05:46:13 pbuchbinder Exp $";
28 static const char revision[] = "$Id: qsrotate.c,v 1.25 2015/01/05 17:35:59 pbuchbinder Exp $";
2929
3030 #include <stdio.h>
3131 #include <string.h>
55 * See http://opensource.adnovum.ch/mod_qos/ for further
66 * details.
77 *
8 * Copyright (C) 2010-2014 Pascal Buchbinder
8 * Copyright (C) 2010-2015 Pascal Buchbinder
99 *
1010 * This program is free software; you can redistribute it and/or
1111 * modify it under the terms of the GNU General Public License
2727 *
2828 */
2929
30 static const char revision[] = "$Id: qssign.c,v 1.30 2014/01/09 08:13:07 pbuchbinder Exp $";
30 static const char revision[] = "$Id: qssign.c,v 1.31 2015/01/05 17:35:59 pbuchbinder Exp $";
3131
3232 #include <stdio.h>
3333 #include <unistd.h>
77 * See http://opensource.adnovum.ch/mod_qos/ for further
88 * details.
99 *
10 * Copyright (C) 2010-2014 Pascal Buchbinder
10 * Copyright (C) 2010-2015 Pascal Buchbinder
1111 *
1212 * This program is free software; you can redistribute it and/or
1313 * modify it under the terms of the GNU General Public License
2626 *
2727 */
2828
29 static const char revision[] = "$Id: qstail.c,v 1.15 2014/01/09 08:13:07 pbuchbinder Exp $";
29 static const char revision[] = "$Id: qstail.c,v 1.16 2015/01/05 17:36:00 pbuchbinder Exp $";
3030
3131 #include <stdio.h>
3232 #include <unistd.h>