~ubuntu-branches/ubuntu/wily/trafficserver/wily

« back to all changes in this revision

Viewing changes to proxy/http/remap/UrlMapping.cc

  • Committer: Package Import Robot
  • Author(s): Adam Conrad
  • Date: 2012-12-17 22:28:16 UTC
  • mfrom: (5.1.8 raring-proposed)
  • Revision ID: package-import@ubuntu.com-20121217222816-7xwjsx5k76zkb63d
Tags: 3.2.0-1ubuntu1
* Revert FreeBSD strerror_r() fixes that give errors with glibc 2.16.
* Apply patch from Konstantinos Margaritis to define barriers on ARM.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
  limitations under the License.
22
22
 */
23
23
 
 
24
#include "ink_port.h"
24
25
#include "UrlMapping.h"
25
26
 
26
27
/**
90
91
  redirect_tag_str *rc;
91
92
  acl_filter_rule *afr;
92
93
 
93
 
  if (tag) {
94
 
    tag = (char *) xfree_null(tag);
95
 
  }
96
 
 
97
 
  if (filter_redirect_url) {
98
 
    filter_redirect_url = (char *) xfree_null(filter_redirect_url);
99
 
  }
 
94
  tag = (char *)ats_free_null(tag);
 
95
  filter_redirect_url = (char *)ats_free_null(filter_redirect_url);
100
96
 
101
97
  while ((r = referer_list) != 0) {
102
98
    referer_list = r->next;
126
122
void
127
123
url_mapping::Print()
128
124
{
129
 
  char from_url_buf[32768], to_url_buf[32768];
 
125
  char from_url_buf[131072], to_url_buf[131072];
130
126
 
131
127
  fromURL.string_get_buf(from_url_buf, (int) sizeof(from_url_buf));
132
128
  toUrl.string_get_buf(to_url_buf, (int) sizeof(to_url_buf));
164
160
        if ((r->type = type) == 's') {
165
161
          char svd = *c;
166
162
          *c = 0;
167
 
          r->chunk_str = xstrdup(url);
 
163
          r->chunk_str = ats_strdup(url);
168
164
          *c = svd;
169
165
          url = c;
170
166
        } else
183
179
/**
184
180
 *
185
181
**/
186
 
referer_info::referer_info(char *_ref, bool *error_flag, char *errmsgbuf, int errmsgbuf_size):next(0), referer(0), referer_size(0), any(false), negative(false),
187
 
regx_valid(false)
 
182
referer_info::referer_info(char *_ref, bool *error_flag, char *errmsgbuf, int errmsgbuf_size)
 
183
  : next(0),
 
184
    referer(0),
 
185
    referer_size(0),
 
186
    any(false),
 
187
    negative(false),
 
188
    regx_valid(false)
188
189
{
189
190
  const char *error;
190
191
  int erroffset;
198
199
      negative = true;
199
200
      _ref++;
200
201
    }
201
 
    if ((referer = xstrdup(_ref)) != 0) {
 
202
    if ((referer = ats_strdup(_ref)) != 0) {
202
203
      referer_size = strlen(referer);
203
204
      if (!strcmp(referer, "*"))
204
205
        any = true;
206
207
        regx = pcre_compile(referer, PCRE_CASELESS, &error, &erroffset, NULL);
207
208
        if (!regx) {
208
209
          if (errmsgbuf && (errmsgbuf_size - 1) > 0)
209
 
            ink_strncpy(errmsgbuf, error, errmsgbuf_size - 1);
 
210
            ink_strlcpy(errmsgbuf, error, errmsgbuf_size);
210
211
          if (error_flag)
211
212
            *error_flag = true;
212
213
        } else
222
223
**/
223
224
referer_info::~referer_info()
224
225
{
225
 
  if (referer)
226
 
    xfree(referer);
 
226
  ats_free(referer);
227
227
  referer = 0;
228
228
  referer_size = 0;
229
229