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

« back to all changes in this revision

Viewing changes to subversion/bindings/javahl/native/CommitCallback.cpp

  • 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:
37
37
 * @param jcallback the Java callback object.
38
38
 */
39
39
CommitCallback::CommitCallback(jobject jcallback)
40
 
{
41
 
  m_callback = jcallback;
42
 
}
 
40
  : m_callback(jcallback)
 
41
{}
43
42
 
44
43
/**
45
44
 * Destroy a CommitCallback object
81
80
  static jmethodID sm_mid = 0;
82
81
  if (sm_mid == 0)
83
82
    {
84
 
      jclass clazz = env->FindClass(JAVA_PACKAGE"/callback/CommitCallback");
 
83
      jclass clazz = env->FindClass(JAVAHL_CLASS("/callback/CommitCallback"));
85
84
      if (JNIUtil::isJavaExceptionThrown())
86
85
        POP_AND_RETURN(SVN_NO_ERROR);
87
86
 
88
87
      sm_mid = env->GetMethodID(clazz,
89
88
                                "commitInfo",
90
 
                                "(L"JAVA_PACKAGE"/CommitInfo;)V");
 
89
                                "(" JAVAHL_ARG("/CommitInfo;") ")V");
91
90
      if (JNIUtil::isJavaExceptionThrown())
92
91
        POP_AND_RETURN(SVN_NO_ERROR);
93
92
    }
97
96
    POP_AND_RETURN(SVN_NO_ERROR);
98
97
 
99
98
  env->CallVoidMethod(m_callback, sm_mid, jcommitInfo);
100
 
  // No need to check for an exception here, because we return anyway.
101
 
 
102
 
  env->PopLocalFrame(NULL);
103
 
  return SVN_NO_ERROR;
 
99
 
 
100
  POP_AND_RETURN_EXCEPTION_AS_SVNERROR();
 
101
}
 
102
 
 
103
 
 
104
PersistentCommitCallback::PersistentCommitCallback(jobject jcallback)
 
105
  : CommitCallback(JNIUtil::getEnv()->NewGlobalRef(jcallback))
 
106
{}
 
107
 
 
108
PersistentCommitCallback::~PersistentCommitCallback()
 
109
{
 
110
  if (m_callback)
 
111
    JNIUtil::getEnv()->DeleteGlobalRef(m_callback);
104
112
}