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

« back to all changes in this revision

Viewing changes to tools/examples/ExampleAuthnOld.java

  • 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
/* Username/password prompt/save using old org.apache.subversion API.
 
2
 
 
3
   Compile against non-installed Subversion JavaHL build:
 
4
 
 
5
     javac -cp subversion/bindings/javahl/classes -d subversion/bindings/javahl/classes ExampleAuthnOld.java
 
6
 
 
7
   Run:
 
8
 
 
9
     LD_LIBRARY_PATH=subversion/libsvn_auth_gnome_keyring/.libs java -cp subversion/bindings/javahl/classes -Djava.library.path=subversion/bindings/javahl/native/.libs ExampleAuthnOld <URL> <config-dir>
 
10
 
 
11
 */
 
12
import org.apache.subversion.javahl.*;
 
13
import org.apache.subversion.javahl.types.*;
 
14
import org.apache.subversion.javahl.callback.*;
 
15
import java.io.Console;
 
16
 
 
17
public class ExampleAuthnOld {
 
18
 
 
19
    protected static class MyAuthn {
 
20
 
 
21
      public static UserPasswordCallback getAuthn() {
 
22
        return new MyUserPasswordCallback();
 
23
      }
 
24
 
 
25
      private static class MyUserPasswordCallback
 
26
      implements UserPasswordCallback {
 
27
 
 
28
        private String _username = null;
 
29
 
 
30
        public String
 
31
        getUsername() {
 
32
          System.out.println("getUsername");
 
33
          return _username;
 
34
        }
 
35
 
 
36
        private String _password = null;
 
37
 
 
38
        public String
 
39
        getPassword() {
 
40
          System.out.println("getPassword");
 
41
          return _password;
 
42
        }
 
43
 
 
44
        public boolean
 
45
        userAllowedSave() {
 
46
          System.out.println("userAllowedSave");
 
47
          return true;
 
48
        }
 
49
 
 
50
        public boolean
 
51
        askYesNo(String realm, String question, boolean yesIsDefault) {
 
52
          System.out.println("askYesNo");
 
53
          System.out.print(question + " (y/n): ");
 
54
          String s = System.console().readLine();
 
55
          return s.equals("y") ? true : s.equals("") ? yesIsDefault : false;
 
56
        }
 
57
 
 
58
        public boolean
 
59
        prompt(String realm, String username, boolean maySave) {
 
60
          System.out.println("prompt");
 
61
          System.out.println("Realm: " + realm);
 
62
          String prompt;
 
63
          if (username == null) {
 
64
            System.out.print("Username: ");
 
65
            _username = System.console().readLine();
 
66
            prompt = "Password: ";
 
67
          } else {
 
68
            _username = username;
 
69
            prompt = "Password for " + username + ": ";
 
70
          }
 
71
          _password = new String(System.console().readPassword(prompt));
 
72
          return maySave;
 
73
        }
 
74
 
 
75
        public boolean
 
76
        prompt(String realm, String username) {
 
77
          System.out.println("prompt not implemented!");
 
78
          return true;
 
79
        }
 
80
 
 
81
        public String
 
82
        askQuestion(String realm,
 
83
                    String question,
 
84
                    boolean showAnswer,
 
85
                    boolean maySave) {
 
86
          System.out.println("askQuestion not implemented!");
 
87
          return null;
 
88
        }
 
89
 
 
90
        public String
 
91
        askQuestion(String realm, String question, boolean showAnswer) {
 
92
          System.out.println("askQuestion not implemented!");
 
93
          return null;
 
94
        }
 
95
 
 
96
        public int
 
97
        askTrustSSLServer(String info, boolean allowPermanently) {
 
98
          System.out.println("askTrustSSLServer not implemented!");
 
99
          return UserPasswordCallback.AcceptTemporary;
 
100
        }
 
101
      }
 
102
    }
 
103
 
 
104
  public static void main(String argv[]) {
 
105
 
 
106
    if (argv.length != 2) {
 
107
      System.err.println("usage: ExampleAuthnOld <URL> <config-dir>");
 
108
      return;
 
109
    }
 
110
    ISVNClient client = new SVNClient();
 
111
    client.setPrompt(MyAuthn.getAuthn());
 
112
    try {
 
113
      client.setConfigDirectory(argv[1]);
 
114
      client.revProperty(argv[0], "svn:log", Revision.getInstance(0));
 
115
    } catch (Exception e) {
 
116
      e.printStackTrace();
 
117
    }
 
118
  }
 
119
}