~ubuntu-branches/debian/sid/subversion/sid

« back to all changes in this revision

Viewing changes to subversion/bindings/javahl/native/JNIThreadData.h

  • Committer: Package Import Robot
  • Author(s): James McCoy
  • Date: 2015-08-07 21:32:47 UTC
  • mfrom: (0.2.15) (4.1.7 experimental)
  • Revision ID: package-import@ubuntu.com-20150807213247-ozyewtmgsr6tkewl
Tags: 1.9.0-1
* Upload to unstable
* New upstream release.
  + Security fixes
    - CVE-2015-3184: Mixed anonymous/authenticated path-based authz with
      httpd 2.4
    - CVE-2015-3187: svn_repos_trace_node_locations() reveals paths hidden
      by authz
* Add >= 2.7 requirement for python-all-dev Build-Depends, needed to run
  tests.
* Remove Build-Conflicts against ruby-test-unit.  (Closes: #791844)
* Remove patches/apache_module_dependency in favor of expressing the
  dependencies in authz_svn.load/dav_svn.load.
* Build-Depend on apache2-dev (>= 2.4.16) to ensure ap_some_authn_required()
  is available when building mod_authz_svn and Depend on apache2-bin (>=
  2.4.16) for runtime support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/**
2
 
 * @copyright
3
 
 * ====================================================================
4
 
 *    Licensed to the Apache Software Foundation (ASF) under one
5
 
 *    or more contributor license agreements.  See the NOTICE file
6
 
 *    distributed with this work for additional information
7
 
 *    regarding copyright ownership.  The ASF licenses this file
8
 
 *    to you under the Apache License, Version 2.0 (the
9
 
 *    "License"); you may not use this file except in compliance
10
 
 *    with the License.  You may obtain a copy of the License at
11
 
 *
12
 
 *      http://www.apache.org/licenses/LICENSE-2.0
13
 
 *
14
 
 *    Unless required by applicable law or agreed to in writing,
15
 
 *    software distributed under the License is distributed on an
16
 
 *    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17
 
 *    KIND, either express or implied.  See the License for the
18
 
 *    specific language governing permissions and limitations
19
 
 *    under the License.
20
 
 * ====================================================================
21
 
 * @endcopyright
22
 
 *
23
 
 * @file JNIThreadData.h
24
 
 * @brief Interface of the class JNIThreadData
25
 
 */
26
 
 
27
 
#ifndef JNITHREADDATA_H
28
 
#define JNITHREADDATA_H
29
 
 
30
 
#include <jni.h>
31
 
#include "JNIUtil.h"
32
 
 
33
 
struct apr_threadkey_t;
34
 
 
35
 
/**
36
 
 * This class implements thread local storage for JNIUtil.
37
 
 */
38
 
class JNIThreadData
39
 
{
40
 
 public:
41
 
  static void del(void *);
42
 
  static JNIThreadData *getThreadData();
43
 
  static bool initThreadData();
44
 
  static void pushNewThreadData();
45
 
  static void popThreadData();
46
 
  JNIThreadData();
47
 
  ~JNIThreadData();
48
 
 
49
 
  /**
50
 
   * The current JNI environment.
51
 
   */
52
 
  JNIEnv *m_env;
53
 
 
54
 
  /**
55
 
   * Flag that a Java execption has been detected.
56
 
   */
57
 
  bool m_exceptionThrown;
58
 
 
59
 
  /**
60
 
   * A buffer used for formating messages.
61
 
   */
62
 
  char m_formatBuffer[JNIUtil::formatBufferSize];
63
 
 
64
 
 private:
65
 
  /**
66
 
   * Pointer to previous thread information to enable reentrent
67
 
   * calls.
68
 
   */
69
 
  JNIThreadData *m_previous;
70
 
 
71
 
  /**
72
 
   * The key to address this thread local storage.
73
 
   */
74
 
  static apr_threadkey_t *g_key;
75
 
};
76
 
 
77
 
#endif  // JNITHREADDATA_H