~ubuntu-branches/ubuntu/utopic/squid3/utopic-proposed

« back to all changes in this revision

Viewing changes to src/referer.cc

  • Committer: Package Import Robot
  • Author(s): Yolanda Robla
  • Date: 2013-07-10 17:12:42 UTC
  • mfrom: (21.2.18 sid)
  • Revision ID: package-import@ubuntu.com-20130710171242-2i9v941ikbpnjyqk
Tags: 3.3.4-1ubuntu1
* Merge from Debian unstable (LP: #1199883).  Remaining changes:
  + debian/control:
    - Update maintainer.
    - Suggests apparmor (>= 2.3)
    - Depends on ssl-cert ((>= 1.0-11ubuntu1), autopkgtests
  + debian/squid3.upstart
    - Move ulimit command to script section so that it applies
      to the started squid daemon. Thanks to Timur Irmatov (LP: 986159)
    - Work around squid not handling SIGHUP by adding respawn to
      upstart job. (LP: 978356)
  + debian/NEWS.Debian: Rename NEWS.debian, add note regarding squid3
    transition in 12.04 (LP: 924739)
  + debian/rules
    - Re-enable all hardening options lost in the squid->squid3
      transition (LP: 986314)
  + squid3.resolvconf, debian/squid3.postinst, debian/squid3.postrm,
    debian/squid3.preinst, debian/squid3.prerm:
    - Convert init script to upstart
  + debian/patches/99-ubuntu-ssl-cert-snakeoil:
    - Use snakeoil certificates.
  + debian/logrotate
    - Use sar-reports rather than sarg-maint. (LP: 26616)
  + debian/patches/90-cf.data.ubuntu.dpatch:
    - Add an example refresh pattern for debs.
      (foundations-lucid-local-report spec)
  + Add disabled by default AppArmor profile (LP: 497790)
    - debian/squid3.upstart: load profile in pre-start stanza
    - add debian/usr.sbin.squid3 profile
    - debian/rules:
      + install debian/usr.sbin.squid3, etc/apparmor.d/force-complain and
        etc/apparmor.d/disable into $(INSTALLDIR)
      + use dh_apparmor
    - debian/squid3.install: install etc/apparmor.d/disable, force-complain
      and usr.sbin.squid3
    - debian/squid3.preinst: disable profile on clean install or upgrades
      from earlier than when we shipped the profile
  + debian/tests:
    - Add autopkgtests.

* Dropped:
  - debian/patches: dropped patches, superseded by new release:
    + 98-CVE-2012-5643.patch
    + 99-lp1117517_r12473.patch
  - debian/rules: fix FTBFS, removed --with-cppunit-basedir flag,
    included in Debian.
  - debian/control: Dropped transitional packages from squid, no
    longer required.

* Refreshed patches:
  - 01-cf.data.debian.patch
  - 02-makefile-defaults.patch
  - 15-cachemgr-default-config.patch

* debian/tests/test-squid.py: fixed case problem with ftp test

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * $Id$
3
 
 *
4
 
 * DEBUG: section 40    Referer Logging
5
 
 * AUTHOR: Joe Ramey <ramey@csc.ti.com> (useragent)
6
 
 *         Jens-S. V�ckler <voeckler@rvs.uni-hannover.de> (mod 4 referer)
7
 
 *
8
 
 * SQUID Web Proxy Cache          http://www.squid-cache.org/
9
 
 * ----------------------------------------------------------
10
 
 *
11
 
 *  Squid is the result of efforts by numerous individuals from
12
 
 *  the Internet community; see the CONTRIBUTORS file for full
13
 
 *  details.   Many organizations have provided support for Squid's
14
 
 *  development; see the SPONSORS file for full details.  Squid is
15
 
 *  Copyrighted (C) 2001 by the Regents of the University of
16
 
 *  California; see the COPYRIGHT file for full details.  Squid
17
 
 *  incorporates software developed and/or copyrighted by other
18
 
 *  sources; see the CREDITS file for full details.
19
 
 *
20
 
 *  This program is free software; you can redistribute it and/or modify
21
 
 *  it under the terms of the GNU General Public License as published by
22
 
 *  the Free Software Foundation; either version 2 of the License, or
23
 
 *  (at your option) any later version.
24
 
 *
25
 
 *  This program is distributed in the hope that it will be useful,
26
 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
27
 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28
 
 *  GNU General Public License for more details.
29
 
 *
30
 
 *  You should have received a copy of the GNU General Public License
31
 
 *  along with this program; if not, write to the Free Software
32
 
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
33
 
 *
34
 
 */
35
 
 
36
 
#include "squid.h"
37
 
 
38
 
#include "SquidTime.h"
39
 
 
40
 
#if USE_REFERER_LOG
41
 
static Logfile *refererlog = NULL;
42
 
#endif
43
 
 
44
 
void
45
 
refererOpenLog(void)
46
 
{
47
 
#if USE_REFERER_LOG
48
 
    assert(NULL == refererlog);
49
 
 
50
 
    if (!Config.Log.referer || (0 == strcmp(Config.Log.referer, "none"))) {
51
 
        debugs(40, 1, "Referer logging is disabled.");
52
 
        return;
53
 
    }
54
 
 
55
 
    refererlog = logfileOpen(Config.Log.referer, 0, 1);
56
 
#endif
57
 
}
58
 
 
59
 
void
60
 
refererRotateLog(void)
61
 
{
62
 
#if USE_REFERER_LOG
63
 
 
64
 
    if (NULL == refererlog)
65
 
        return;
66
 
 
67
 
    logfileRotate(refererlog);
68
 
 
69
 
#endif
70
 
}
71
 
 
72
 
void
73
 
logReferer(const char *client, const char *referer, const char *uri)
74
 
{
75
 
#if USE_REFERER_LOG
76
 
 
77
 
    if (NULL == refererlog)
78
 
        return;
79
 
 
80
 
    logfilePrintf(refererlog, "%9d.%03d %s %s %s\n",
81
 
                  (int) current_time.tv_sec,
82
 
                  (int) current_time.tv_usec / 1000,
83
 
                  client,
84
 
                  referer,
85
 
                  uri ? uri : "-");
86
 
 
87
 
#endif
88
 
}
89
 
 
90
 
void
91
 
refererCloseLog(void)
92
 
{
93
 
#if USE_REFERER_LOG
94
 
 
95
 
    if (NULL == refererlog)
96
 
        return;
97
 
 
98
 
    logfileClose(refererlog);
99
 
 
100
 
    refererlog = NULL;
101
 
 
102
 
#endif
103
 
}