Alien-SVN

 view release on metacpan or  search on metacpan

src/subversion/CHANGES  view on Meta::CPAN

  - General:
    * require serf as client-side http library (neon support removed) (r1349694)
    * deprecate the Berkeley DB FS backend (libsvn_fs_base) (r1464985 et al)

  - Major new features:
    * working copy records moves as first-class operation (issue #3631, #4232)
    * merge uses reintegrate mode automatically when needed (r1369896 et al)
    * FSFS: Packing of revision property shards (issue #3944)
    * support inheritable properties (r1395109)
    * repository can suggest config for autoprops and ignores (r1401908)
    * support gpg-agent for password caching (r1151069)
    * authz rules can be stored inside the repository (r1424780)

  - Minor new features and improvements (client-side):
    * doubled svn:// protocol throughput (r1325899)
    * optimize file/dir truename checks on Windows (r1435527)
    * new 'commit --include-externals' option (related to issues #1167, #3563)
    * new --include-externals option for 'svn list' (issue #4225)
    * remove extraneous externals output from 'svn status -q' (issue #1935)
    * reject some attempts to merge between unrelated branches (r1215273)
    * new --ignore-properties option for 'svn diff' (r1239553, -617)

src/subversion/CHANGES  view on Meta::CPAN

    * fix bug in global/per-server config handling in serf (r1421516)
    * properly display errors from serf (r1398742)
    * fix crash in ra_serf (r1408291)
    * fixed svnmucc propset and propdel on repository root (issue #3663)
    * fix 'svn info' output with ancient svnserve servers (pre-1.2) (r1409732)
    * ra_serf shows error message for 408 Request Timeout response (r1410983)
    * fix handling of "\ No newline ..." in diff/patch (r1411723, r1412382)
    * allow infinite http timeout in ra_serf (r1411976)
    * using unknown svn: property names now requires --force (issue #4261)
    * fix handling of case insensitive configuration files (r1215089)
    * properly handle errors during password caching (r1380695)
    * fix svnversion output not always a number (issue #4226)
    * fix conflict resolver losing executable bit of a file (r1391019)
    * fix redundant notifications when merging with ra_serf (issue #3802)
    * fix 'svn add --force /path/to/wcroot' should work (issue #4241)
    * fix file permissions changed after commit (issue #4331)
    * improve handling of http errors in ra_serf (1452792, 1452870)
    * include checksum of missing pristines in error message (r1452800)
    * fix an assert when merging against a replaced source (issue #4132)
    * fix replacement in merge source has incorrect notification (issue #4138)
    * improve performance of checkout (r1453791)

src/subversion/CHANGES  view on Meta::CPAN

  - Client- and server-side bugfixes:
    * fix memory read bug (r137614)
    * update Chinese translation

  - Client-side bugfixes:
    * fix issues with applying Git patch files (r1374800, et al)
    * fix status does not descend into dir externals after upgrade (issue #4016)
    * fix file externals don't update with old mod_dav_svn (issue #4224)
    * fix external diff tool duplicates Index: lines with 'svn diff' (r1380697)
    * fix GNOME keyring library fails with very old glib (r1378847)
    * fix unknown password stores in config file cause error (r1375052)
    * fix assertions in ra_serf running against server root (r1365519, et al)
    * fix ra_serf checkout/export aborts early on Windows (issue #4174)
 
  - Server-side bugfixes:
    * fix an assert with SVNAutoVersioning in mod_dav_svn (issue #4231)
    * fix unbounded memory use with SVNPathAuthz short_circuit (r1387943)
    * fix svndumpfilter exclude --targets requires leading slash (issue #4234)
    * fix connection ttl for memcache should be 50 seconds (r1391641)
    * stabilize order of paths in dumpfiles with APR 1.4.6 (r1344864, et al)

src/subversion/CHANGES  view on Meta::CPAN

    * relax requirements for canonicalization in mod_dav_svn (r1236173)
    * fix a rare source of FSFS corruption (r1240752)
    * allow committing the result of some copy operations (issue #4059)
    * prevent one-byte buffer overflow in base64 decoding (r1242337)

  Developer-visible changes:
    * JavaHL: Add missing notify action, fixing an exception (r1221793)
    * fix swig-py memory leak (r1235264, -296, -302, -736)
    * fix spurious test suite failure (r1220742, -50)
    * allow running tests on UNC shares (r1225491)
    * bindings: see platform-specific password providers (r1242660, -1)
    * skip 'svnrdump dump' tests over ra_serf (r1242537)
    * convert a few ra_serf assertions to errors (r1242607)


Version 1.7.2
(02 Dec 2011, from /branches/1.7.x)
http://svn.apache.org/repos/asf/subversion/tags/1.7.2

  User-visible changes:
   * fix working copy corruption after interrupted update/switch (issue #4040)

src/subversion/CHANGES  view on Meta::CPAN

http://svn.apache.org/repos/asf/subversion/tags/1.6.6

 User-visible changes:
  * fix crash during 'svn update' (r39673)
  * respect Apache's ServerSignature directive (r40008, -21, -31)
  * don't add a file with mixed line endings, and then abort (issue #2713)
  * support Neon 0.29.
  * fix a crash in 'svn rm --force' (r37953)
  * handle tree conflicts involving replacements (issue #3486)
  * allow non-threadsafe sqlite if APR has no threads (r39301)
  * print newline before plaintext SSL cert / password prompts (r38982, r39302)
  * improve merge performance with implicit subtree mergeinfo (issue #3443)
  * fix "libsvn_ra_svn/marshal.c assertion failed (opt || cstr)" (issue #3485)
  * make file externals work for binary files (issue #3368)
  * perform MIME type matching case-insensitively (issue #3479)
  * do not treat non-existent revisions as HEAD in 'svn export' (issue #3400)
  * revert r36720's default MIME type change back to "text/plain" (issue #3508)
  * improve "tree conflict already exists" error message (r38872)
  * fix failure to commit replacement of a directory (issue #3281)
  * fix mod_dav_svn parent dir links to preserve peg revisions (issue #3425)

src/subversion/CHANGES  view on Meta::CPAN

    * file-externals support for intra-repository files (issue #937)
    * "tree" conflicts now handled more gracefully (issue #2282, #2908)
    * repository root relative URL support on most commands (issue #3193)

  - Minor new features and improvements:
    * pre-lock hook can now specify lock tokens via stdout (r32778)
    * svnmucc: support '--with-revprop' (r29492)
    * merge: log include-descendants in operational log (r30426, r30428)
    * improved operational logging for 'svn switch' (r30517)
    * new 'Header' keyword, similar to 'Id' but with full URL (r35386)
    * warn/disallow when storing plain-text passwords (r31046)
    * support KWallet and GNOME keyring for password storage (r31241, -337)
    * client now caches SSL client cert passphrases (issue #2489)
    * add '--prefix-file' option to 'svndumpfilter' (issue #2697)
    * add '--ignore-externals' option to 'svn cp' (issue #3365)
    * add '--with-no-revprops' to 'svn log' (issue #3286)
    * new 'svnadmin pack' command to compress FSFS filesystems
    * new SVNAllowBulkUpdates mod_dav_svn directive (issue #3121)
    * new public mod_dav_svn URI syntax:  path?[p=PEG][&r=REV] (r34076)
    * new 'svnsync info' command to show synchronization information (r35053)
    * conflict resolver supports display-conflict, mine-conflict and theirs-conflict

src/subversion/CHANGES  view on Meta::CPAN

  * support Berkeley DB 4.7 (r32017, -29)
  * fixed: make serf usable with root-level authz (r31464)
  * fixed: 'svndumpfilter' partial-path matching bug (r31833)
  * fixed: crash on invalid dates in 'log' and 'blame' (issue #2721)
  * fixed: 'svn status --xml' outputting invalid XML (issue #2887)
  * fixed: 'svn merge' prints incorrect range (r30746, -47)
  * fixed: using neon/serf, can not replace branch (issue #2939)
  * fixed: 'file not found' error when merging to a broken symlink (r31159, -79)
  * fixed: using serf, crash or endless loop fetching authn data (r31619)
  * fixed: ArrayIndexOutOfBoundsException in JavaHL bindings (r31719, -806)
  * fixed: authn password lookup used wrong username (issue #2242)
  * fixed: unbounded memory usage in wc-to-wc copy and move (r31868)
  * fixed: subtree merges broken for non-intersecting ranges (issue #3199)
  * fixed: invalid XML from 'svn log --xml' against pre-1.2 servers (r31875)
  * fixed: 'svnlook diff' ignores --diff-copy-from for properties (issue #3248)
  * fixed: 'svnlook diff' doesn't report that binary files differ (issue #3249)
  * fixed: bogus results from commits to subtrees added by merge (issue #3240)
  * fixed: non-existent subtree in destination breaks the merge (issue #3067)
  * fixed: serf merge bug too complex to describe here (r32056)
  * fixed: 'svn log -g' correctness and speed (issue #3220, issue #3235)
  * fixed: merge chokes on renamed subtrees (issue #3174)

src/subversion/CHANGES  view on Meta::CPAN

      - 'svn diff --summarize' (issue #2015)
      - 'svn merge/blame -x' (r18716 -20) (r18602 -857)
    * 'svn log' now supports peg revisions (issue #2287)
    * 'svn export' now creates intermediate directories if needed (r20030)
    * use switch/relocate when svn:externals updated (issue #2209)
    * internal diff can ignore whitespace and eol style changes (issue #2121)
    * conflict markers now match the file's eol style (issue #1325)
    * new svn2cl, svn-viewdiff and svn-resolve contrib scripts
    * numerous improvements to svnmerge.py, vc-svn and psvn
    * translation updates for all languages
    * Mac OS X: store cached passwords encrypted in Keychain (r17619 -43)
    * fixed: 'svn ls' slow over ra_dav (issue #2151)
    * fixed: 'svn import' not handling eol-style correctly (issue #2433)
    * fixed: 'svn blame' should default operative rev range to peg rev (r18400)
    * fixed: 'svn blame' ignores eol-style (issue #2431)
    * fixed: 'svn checkout' should default operative rev to peg rev (r18422)
    * fixed: 'svn diff' supports all eol styles (r17624 -8 -61 18195 -392)
    * fixed: 'svn diff' multi-target memory leak (r17518)
    * fixed: 'svn merge' showing wrong status with external diff3 (issue #1914)
    * fixed: 'svn merge' not merging added dir into deleted dir (issue #2515)
    * fixed: 'svn rm' of non-existent item should fail (issue #2440)
    * fixed: 'svn status' should skip unversioned files (issue #2030)
    * fixed: 'svn status' shows added and conflicted files as added (r20382)
    * fixed: 'svn switch --relocate' may set wrong repos root (r17031)
    * fixed: 'svn switch --relocate' memory leak (r19535)
    * fixed: 'svn switch --relocate' not caching passwords (issue #2360)
    * fixed: 'svn info' not showing locks sometimes (r19777)
    * fixed: incorrect merge of add of binary file already in WC (issue #2403)
    * fixed: possible dataloss if editing immediately after merge (r20609 -12)
    * fixed: lots of diff wc<->repos bugs
    * fixed: unfriendly error message on propget on nonexistent path (r19399)
    * fixed: spurious revert report after manual conflict removal (issue #2517)
    * fixed: don't allow -rPREV on schedule add path (issue #2315)
    * fixed: keywords with dollar signs cause badness (issue #1780)
    * fixed: really revert file with locally modified keywords (issue #1663)
    * fixed: deleting schedule add file leaves working props file (issue #2419)

src/subversion/CHANGES  view on Meta::CPAN

    * support for BDB 4.4, including automatic recovery (issue #2449)
    * new contrib hook scripts:
      - enforcer
      - detect-merge-conflict.sh
      - case-insensitive.py
    * new tools script svn-backup-dumps.py
    * new tools hook script log-police.py
    * svnserve improvements:
      - can now run as a native Windows service (r18855)
      - new option --pid-file (r17836)
      - allow the password database to be read-only (r16840)
    * mod_dav_svn improvements:
      - fixed: error conversion crash (r19516)
      - fixed: unfriendly error when locking already locked path (issue #2275)
      - fixed: xml escaping bugs (r19760 -85 -86)
    * authorization improvements:
      - new mod_dontdothat apache module (r19531)
      - new mod_authz_svn directive AuthzSVNNoAuthWhenAnonymousAllowed (r18680)
      - error out when authz rules contain unexpected characters (r19471)
    * support .wsf hook scripts on Windows (r18972, 19076)
    * lots of improvements to mailer.py and commit-email.pl

src/subversion/CHANGES  view on Meta::CPAN

       - add ruby documentation (make install-swig-rb-doc) (r20166)
       - add APIs for adding a provider (r21079)
     - SWIG/perl bindings:
       - new support for svn_client_info (r18758)
       - minor corrections to SVN::Fs (r19312)
 * javahl bindings:
     - APIs to get version info for the native libraries  (r17604 -07)
     - API for path validation (r18989, r19079)
     - C++/Java code refactoring, cleanup, and consolidation
     - fixed: handle possible errors from date/time conversions (r17213)
     - fixed: SVNClient username/password JVM crash on null input (r19803 -13)
     - fixed: specify default UUID load action (r18030)
     - fixed: compile error on Visual Studio 2005 (r18054)


Version 1.3.2
(23 May 2006, from /branches/1.3.x)
http://svn.apache.org/repos/asf/subversion/tags/1.3.2

 User-visible changes:
  - Client:

src/subversion/CHANGES  view on Meta::CPAN


See the 1.2 release notes for a more verbose overview of the changes since
the 1.1 release:  http://subversion.apache.org/docs/release-notes/1.2.html

 User-visible changes:
  - Client:
    * add peg-rev syntax to co/blame/cat/ls/pget/plist/export (issue #1093)
    * 'svn info' now works on URLs (r13123, 13144)
    * 'svn* --version' now shows available repository back-ends (r13761)
    * new fixed-length keywords (for placement in binary files) (issue #2095)
    * on Windows, disk-cached passwords are now encrypted (r13888)
    * performance improvements:
       - 'svn status' does much less disk parsing (r11677, 11704)
       - 'svn st -u' no longer asks server to generate textdeltas (issue #2259)
       - 'svn revert -R' doing much less work (r13883)
       - utf8<->native conversions are faster now (issue #2016)
    * new switches added:
       - 'svn commit --no-unlock           - retain lock in wc upon commit
       - 'svn log --limit N'               - show only first N log messages
       - 'svn info --revision'             - show info on older object (r13265)
       - 'svn list --xml'                  - output listing in XML

src/subversion/CHANGES  view on Meta::CPAN


See the 1.1 release notes for a more verbose overview of the changes since
1.0.x: http://subversion.apache.org/docs/release-notes/1.1.html

 User-visible changes:
 * new non-database repository back-end (libsvn_fs_fs)
 * symlinks can now be placed under version control (unix systems only)
 * cmdline client now supports psuedo-IRIs and autoescapes chars (issue #1910)
 * 'svnadmin recover' no longer waits forever for a lock (new '--wait' option)
 * new $Revision$ synonym for $Rev$ and $LastChangedRevision$
 * new runtime option 'store-passwords = ' gives finer control (r10794)x
 * fixed: working copies now shareable by multiple users (issue #1509)
 * fixed: diff and other subcommands correctly follow renames (issue #1093)
     - new 'peg' syntax for diff/merge:  'svn diff -r X:Y TARGET@REV'
     - now able to compare working copy with URL: 'svn diff --old WC --new URL'
 * new framework for localized error/info/help messages, initial translations:
     - German, Polish, Swedish, Norwegian Bokmål, Traditional Chinese,
       Japanese, Brazilian Portuguese.
 * speed improvements:
     - faster 'svn up' on complex working copies -- no more repos txns (r8840)
     - faster 'svn status' -- fewer stat() calls (r9182)

src/subversion/CHANGES  view on Meta::CPAN

 * too many big and small internal code cleanups and fixes to mention here



Version 0.36.0 [Beta Interim 1]
(branching 13 January 2004, from /branches/1.0-stabilization)
http://svn.apache.org/repos/asf/subversion/tags/0.36.0

 User-visible changes:
 * add cancellation support to svnadmin and svnlook (r8222)
 * runtime 'store-password' option renamed to 'store-auth-creds' (r8014)
 * 'svn blame' changes:
    - now shows correct revision info (r8035-6)
    - responds to cancellation better (r8129)
 * svnserve changes:
    - added '--inetd' option;  now required to speak with stdin/stdout (r8205)
    - added '--listen-port' and '--listen-host' options  (r8001-2)
    - removed '-u' option (r8003)
    - ignore SIGPIPE (no more repos lockups when you terminate a pipe) (r8140)
 * lots of Book work (many newly-documented Apache and svnserve topics)

src/subversion/CHANGES  view on Meta::CPAN


Version 0.24.0 (released 15 June 2003, revision 6234, branches/release-0.24.0)

 User-visible changes:
 * new 'svn diff [--old OLD] [--new NEW]' syntax (#1142)
 * new --relocate option for svn switch (#951)
 * new --version option for svnadmin and svnlook
 * new path-based authorization module for apache
 * make 'svn checkout' and not just 'svn update' resume a checkout
 * .svn directories now hidden on Windows
 * config variable 'store-password = no' now actually works
 * fix 'svn merge --dry-run'
 * fix 'properties hanging after a rename' issue (#1303)
 * fix odd behavior of 'svn up -r PREV filename' (#1304)
 * fix delete-tracking bug (#1348)
 * fix dump and load corner cases (#1290)
 * ra_dav server more resilient for foreign deltaV clients
 * numerous ra_svn changes - must update clients and servers
 * fix export over ra_svn (#1318)
 * fix ra_svn error transmission bug (#1146)
 * fix ra_svn corruption in tunnel mode (#1145)

src/subversion/CHANGES  view on Meta::CPAN

 * new 'fast-clean' vs. 'clean' Makefile targets
 * various bugfixes, tweaks, cleanups.


Version 0.14.2 [Alpha Interim 2] (released 22 Aug 2002, revision 3033)

 User-visible changes:
 * fs schema change, see issue #842. **NOTE: repos dump/load cycle required!**
 * new 'svn ls -R' option
 * new status code `~', for type changes
 * add --username and --password options to 'svn ls'
 * new script tools/client-side/svn_all_diffs.pl
 * new script tools/examples/blame.py (draft)

 Developer-visible changes:
 * test suite now does XFAIL and XPASS
 * test suite over DAV now uses SVNParentPath, no longer depends on symlinks
 * DAV tests now work on Windows
 * upgrade to neon 0.22.0
 * 'make install' notices the $(DESTDIR) parameter
 * new dav prop namespaces, but old still sent for compat; see issue #840

src/subversion/INSTALL  view on Meta::CPAN

      * Python, Perl, Java, Ruby  (OPTIONAL)

         Subversion is mostly a collection of C libraries with
         well-defined APIs, with a small collection of programs that
         use the APIs.  If you want to build Subversion API bindings
         for other languages, you need to have those languages
         available at build time.

      * KDELibs, GNOME Keyring  (OPTIONAL for client)

         Subversion contains optional support for storing passwords in
         KWallet (KDE 4) or GNOME Keyring.

      * libmagic

         If the libmagic library is detected at compile time,
         it will be used to determine mime-types of binary files
         which are added to version control. Note that mime-types
         configured via auto-props or the mime-types-file option
         take precedence.

src/subversion/INSTALL  view on Meta::CPAN


      16. Qt 4  (Unix only, OPTIONAL)

      Qt is a cross-platform application framework. QtCore, QtDBus and QtGui
      modules are required for support for KWallet. pkg-config is needed
      to find Qt headers and libraries.


      17. KDELibs 4  (Unix only, OPTIONAL)

      Subversion contains optional support for storing passwords in KWallet.
      KDELibs contains core KDE libraries. Subversion uses libkdecore and libkdeui
      libraries when support for KWallet is enabled. kde4-config is used to get
      some necessary options. pkg-config, D-Bus and Qt 4 are also required.
      If you want to build support for KWallet, then pass the '--with-kwallet'
      option to `configure`. If KDE is installed in a non-standard prefix, then
      use:

          --with-kwallet=/path/to/KDE/prefix

      18. GLib 2  (Unix only, OPTIONAL)

      GLib is a general-purpose utility library. GLib is required for support
      for GNOME Keyring. pkg-config is needed to find GLib headers and library.


      19. GNOME Keyring  (Unix only, OPTIONAL)

      Subversion contains optional support for storing passwords in GNOME Keyring.
      pkg-config is needed to find GNOME Keyring headers and library. D-Bus and
      GLib are also required. If you want to build support for GNOME Keyring,
      then pass the '--with-gnome-keyring' option to `configure`.


      20. Ctypesgen  (OPTIONAL)

      Ctypesgen is Python wrapper generator for ctypes. It is used to generate
      a part of Subversion Ctypes Python bindings (CSVN). If you want to build
      CSVN, then pass the '--with-ctypesgen' option to `configure`. If ctypesgen.py

src/subversion/configure  view on Meta::CPAN

with_berkeley_db
enable_bdb6
with_sasl
enable_keychain
with_gpg_agent
with_gnome_keyring
enable_ev2_impl
enable_nls
with_libmagic
with_kwallet
enable_plaintext_password_storage
with_openssl
enable_debug
enable_optimize
enable_disallowing_of_undefined_references
enable_maintainer_mode
enable_full_version_match
with_editor
with_zlib
enable_mod_activation
enable_gcov

src/subversion/configure  view on Meta::CPAN

                          does not work on some platforms (Darwin, OpenBSD,
                          ...).
  --enable-bdb6           Allow building against BDB 6+. See
                          --with-berkeley-db for specifying the location of
                          the Berkeley DB installation. Using BDB 6 will fail
                          if this option is not used.
  --disable-keychain      Disable use of Mac OS KeyChain for auth credentials
  --enable-ev2-impl       Use Ev2 implementations, where available
                          [EXPERIMENTAL]
  --disable-nls           Disable gettext functionality
  --disable-plaintext-password-storage
                          Disable on-disk caching of plaintext passwords and
                          passphrases. (Leaving this functionality enabled
                          will not force Subversion to store passwords in
                          plaintext, but does permit users to explicitly allow
                          that behavior via runtime configuration.)
  --enable-debug          Turn on debugging
  --enable-optimize       Turn on optimizations
  --enable-disallowing-of-undefined-references
                          Use -Wl,--no-undefined flag during linking of some
                          libraries to disallow undefined references
  --enable-maintainer-mode
                          Turn on debugging and very strict compile-time
                          warnings

src/subversion/configure  view on Meta::CPAN





if test "$svn_lib_kwallet" = "yes"; then

$as_echo "#define SVN_HAVE_KWALLET 1" >>confdefs.h

fi

# Check whether --enable-plaintext-password-storage was given.
if test "${enable_plaintext_password_storage+set}" = set; then :
  enableval=$enable_plaintext_password_storage;
   if test "$enableval" = "no"; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: Disabling plaintext password/passphrase storage" >&5
$as_echo "$as_me: Disabling plaintext password/passphrase storage" >&6;}

$as_echo "#define SVN_DISABLE_PLAINTEXT_PASSWORD_STORAGE 1" >>confdefs.h

   fi

fi



INSTALL_STATIC_RULES="install-bin install-docs"

src/subversion/configure.ac  view on Meta::CPAN

AC_SUBST(SVN_MAGIC_LIBS)

dnl KWallet -------------------
SVN_LIB_KWALLET

if test "$svn_lib_kwallet" = "yes"; then
  AC_DEFINE([SVN_HAVE_KWALLET], 1,
            [Defined if KWallet support is enabled])
fi

dnl plaintext passwords -------------------
AC_ARG_ENABLE(plaintext-password-storage,
AS_HELP_STRING([--disable-plaintext-password-storage],
               [Disable on-disk caching of plaintext passwords and passphrases.
                (Leaving this functionality enabled will not force Subversion
                to store passwords in plaintext, but does permit users to
                explicitly allow that behavior via runtime configuration.)]),
[
   if test "$enableval" = "no"; then
      AC_MSG_NOTICE([Disabling plaintext password/passphrase storage])
      AC_DEFINE(SVN_DISABLE_PLAINTEXT_PASSWORD_STORAGE, 1,
                [Defined if plaintext password/passphrase storage is disabled])
   fi
])

dnl Build and install rules -------------------

INSTALL_STATIC_RULES="install-bin install-docs"
INSTALL_RULES="install-fsmod-lib install-ramod-lib install-lib install-include install-static"
INSTALL_RULES="$INSTALL_RULES $INSTALL_APACHE_RULE"
BUILD_RULES="fsmod-lib ramod-lib lib bin test sub-test $BUILD_APACHE_RULE tools"

src/subversion/doc/user/cvs-crossover-guide.html  view on Meta::CPAN

    <dl>
      <dt>Commands:</dt>
      <dd><tt>$&nbsp;svn&nbsp;<em>command</em>&nbsp;<em>URL</em>&hellip;</tt></dd>
      <dd><tt>Password&nbsp;for&nbsp;'user':&nbsp;&nbsp;XXXXXXX</tt></dd>

      <dt>Explanation:</dt>

      <dd>The client's authentication credentials are "pulled" from
      the user interactively, and only when the server deems that a
      challenge needs to be made.  (And contrary to popular belief,
      the <tt>--username</tt> and <tt>--password</tt> options are
      merely values to be used <em>if</em> the server issues a
      challenge; they do not "push" the credentials at the
      server.)</dd>

    </dl>
  </td>
</tr>
</table>

<dl class="bookref">

src/subversion/subversion/bindings/ctypes-python/csvn/auth.py  view on Meta::CPAN

#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#    KIND, either express or implied.  See the License for the
#    specific language governing permissions and limitations
#    under the License.


from csvn.core import *

class User(object):

    def __init__(self, username=None, password=None):
        """Create a user object which represents a user
           with the specified username and password."""

        self._username = username
        self._password = password
        self.pool = Pool()

    def username(self):
        """Return the current username.

           By default, this function just returns the username
           which was supplied in the constructor, but subclasses
           may behave differently."""
        return self._username

    def password(self):
        """Return the current password.

           By default, this function just returns the password
           which was supplied in the constructor, but subclasses
           may behave differently."""
        return self._password

    def allow_access(self, requested_access, path):
        """Check whether the current user has the REQUESTED_ACCESS
           to PATH.

           If PATH is None, this function should check if the
           REQUESTED_ACCESS is granted for at least one path
           in the repository.

           REQUESTED_ACCESS is an integer which may consist of

src/subversion/subversion/bindings/ctypes-python/csvn/auth.py  view on Meta::CPAN

           haven't implemented higher-level authz yet.
        """

        return True

    def setup_auth_baton(self, auth_baton):

        # Setup the auth baton using the default options from the
        # command-line client
        svn_cmdline_setup_auth_baton(auth_baton, TRUE,
            self._username, self._password, NULL, TRUE, POINTER(svn_config_t)(),
            svn_cancel_func_t(), NULL, self.pool)

src/subversion/subversion/bindings/ctypes-python/examples/mucc.py  view on Meta::CPAN

"""

# Read and parse options
parser = OptionParser(usage=usage)
parser.add_option("-m", "--message", dest="message",
                  help="use MESSAGE as a log message")
parser.add_option("-F", "--file", dest="file",
                  help="read log message from FILE")
parser.add_option("-u", "--username", dest="username",
                  help="commit the changes as USERNAME")
parser.add_option("-p", "--password", dest="password",
                  help="use password PASSWORD")
parser.add_option("-U", "--root-url", dest="root_url",
                  help="Interpret all action URLs as relative to ROOT_URL")
parser.add_option("-r", "--revision", dest="rev",
                  help="Use REV as baseline for changes")
parser.add_option("-X", "--extra-args ARG", dest="extra_args",
                  help='append arguments from file EXTRA_ARGS (one per line; '
                       'use "-" to read from standard input)')

(options, args) = parser.parse_args()

src/subversion/subversion/bindings/javahl/native/ClientContext.cpp  view on Meta::CPAN


    /* The whole list of registered providers */
    apr_array_header_t *providers;

    /* Populate the registered providers with the platform-specific providers */
    SVN_JNI_ERR(svn_auth_get_platform_specific_client_providers(&providers,
                                                                config,
                                                                pool),
                NULL);

    /* Use the prompter (if available) to prompt for password and cert
     * caching. */
    svn_auth_plaintext_prompt_func_t plaintext_prompt_func = NULL;
    void *plaintext_prompt_baton = NULL;
    svn_auth_plaintext_passphrase_prompt_func_t plaintext_passphrase_prompt_func;
    void *plaintext_passphrase_prompt_baton = NULL;

    if (m_prompter != NULL)
    {
        plaintext_prompt_func = Prompter::plaintext_prompt;
        plaintext_prompt_baton = m_prompter;
        plaintext_passphrase_prompt_func = Prompter::plaintext_passphrase_prompt;
        plaintext_passphrase_prompt_baton = m_prompter;
    }

    /* The main disk-caching auth providers, for both
     * 'username/password' creds and 'username' creds.  */
    svn_auth_provider_object_t *provider;

    svn_auth_get_simple_provider2(&provider, plaintext_prompt_func,
                                  plaintext_prompt_baton, pool);
    APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;

    svn_auth_get_username_provider(&provider, pool);
    APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;

    /* The server-cert, client-cert, and client-cert-password providers. */
    SVN_JNI_ERR(svn_auth_get_platform_specific_provider(&provider,
                                                        "windows",
                                                        "ssl_server_trust",
                                                        pool),
                NULL);

    if (provider)
        APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;

    svn_auth_get_ssl_server_trust_file_provider(&provider, pool);
    APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;
    svn_auth_get_ssl_client_cert_file_provider(&provider, pool);
    APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;
    svn_auth_get_ssl_client_cert_pw_file_provider2(&provider,
                        plaintext_passphrase_prompt_func,
                        plaintext_passphrase_prompt_baton, pool);
    APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;

    if (m_prompter != NULL)
    {
        /* Two basic prompt providers: username/password, and just username.*/
        provider = m_prompter->getProviderSimple(in_pool);

        APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;

        provider = m_prompter->getProviderUsername(in_pool);
        APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;

        /* Three ssl prompt providers, for server-certs, client-certs,
         * and client-cert-passphrases.  */
        provider = m_prompter->getProviderServerSSLTrust(in_pool);

src/subversion/subversion/bindings/javahl/native/ClientContext.cpp  view on Meta::CPAN

        provider = m_prompter->getProviderClientSSL(in_pool);
        APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;

        provider = m_prompter->getProviderClientSSLPassword(in_pool);
        APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;
    }

    /* Build an authentication baton to give to libsvn_client. */
    svn_auth_open(&ab, providers, pool);

    /* Place any default --username or --password credentials into the
     * auth_baton's run-time parameter hash.  ### Same with --no-auth-cache? */
    if (!m_userName.empty())
        svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_USERNAME,
                               apr_pstrdup(in_pool.getPool(),
                                           m_userName.c_str()));
    if (!m_passWord.empty())
        svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_PASSWORD,
                               apr_pstrdup(in_pool.getPool(),
                                           m_passWord.c_str()));
    /* Store where to retrieve authentication data? */

src/subversion/subversion/bindings/javahl/native/ClientContext.cpp  view on Meta::CPAN

    return ctx;
}

void
ClientContext::username(const char *pi_username)
{
    m_userName = (pi_username == NULL ? "" : pi_username);
}

void
ClientContext::password(const char *pi_password)
{
    m_passWord = (pi_password == NULL ? "" : pi_password);
}

void
ClientContext::setPrompt(Prompter *prompter)
{
    delete m_prompter;
    m_prompter = prompter;
}

void

src/subversion/subversion/bindings/javahl/native/ClientContext.h  view on Meta::CPAN


 public:
  ClientContext(jobject jsvnclient, SVN::Pool &pool);
  ~ClientContext();

  static svn_error_t *checkCancel(void *cancelBaton);

  svn_client_ctx_t *getContext(CommitMessage *message, SVN::Pool &in_pool);

  void username(const char *pi_username);
  void password(const char *pi_password);
  void setPrompt(Prompter *prompter);
  void cancelOperation();
  const char *getConfigDirectory() const;

  /**
   * Set the configuration directory, taking the usual steps to
   * ensure that Subversion's config file templates exist in the
   * specified location.
   */
  void setConfigDirectory(const char *configDir);

src/subversion/subversion/bindings/javahl/native/Prompter.cpp  view on Meta::CPAN

    }

  jstring ret = static_cast<jstring>(env->CallObjectMethod(m_prompter, mid));
  if (JNIUtil::isJavaExceptionThrown())
    POP_AND_RETURN_NULL;

  return (jstring) env->PopLocalFrame(ret);
}

/**
 * Retrieve the password from the Java object
 * @return Java string for the password or NULL
 */
jstring Prompter::password()
{
  JNIEnv *env = JNIUtil::getEnv();

  // Create a local frame for our references
  env->PushLocalFrame(LOCAL_FRAME_SIZE);
  if (JNIUtil::isJavaExceptionThrown())
    return NULL;

  // The method id will not change during the time this library is
  // loaded, so it can be cached.

src/subversion/subversion/bindings/javahl/native/Prompter.cpp  view on Meta::CPAN

    reinterpret_cast<svn_auth_cred_simple_t*>(apr_pcalloc(pool, sizeof(*ret)));
  if (!that->prompt(realm, username, may_save ? true : false))
    return svn_error_create(SVN_ERR_RA_NOT_AUTHORIZED, NULL,
                            _("User canceled dialog"));
  jstring juser = that->username();
  JNIStringHolder user(juser);
  if (user == NULL)
    return svn_error_create(SVN_ERR_RA_NOT_AUTHORIZED, NULL,
                            _("User canceled dialog"));
  ret->username = apr_pstrdup(pool,user);
  jstring jpass = that->password();
  JNIStringHolder pass(jpass);
  if (pass == NULL)
    return svn_error_create(SVN_ERR_RA_NOT_AUTHORIZED, NULL,
                            _("User canceled dialog"));
  else
    {
      ret->password  = apr_pstrdup(pool, pass);
      ret->may_save = that->m_maySave;
    }
  *cred_p = ret;

  return SVN_NO_ERROR;
}

svn_error_t *Prompter::username_prompt(svn_auth_cred_username_t **cred_p,
                                       void *baton,
                                       const char *realm,

src/subversion/subversion/bindings/javahl/native/Prompter.cpp  view on Meta::CPAN

{
  Prompter *that = static_cast<Prompter *>(baton);
  svn_auth_cred_ssl_client_cert_pw_t *ret =
    reinterpret_cast<svn_auth_cred_ssl_client_cert_pw_t*>(apr_pcalloc(pool, sizeof(*ret)));
  const char *info = that->askQuestion(realm,
                                       _("client certificate passphrase: "),
                                       false, may_save ? true : false);
  if (info == NULL)
    return svn_error_create(SVN_ERR_RA_NOT_AUTHORIZED, NULL,
                            _("User canceled dialog"));
  ret->password = apr_pstrdup(pool, info);
  ret->may_save = that->m_maySave;
  *cred_p = ret;
  return SVN_NO_ERROR;
}

svn_error_t *
Prompter::plaintext_prompt(svn_boolean_t *may_save_plaintext,
                           const char *realmstring,
                           void *baton,
                           apr_pool_t *pool)
{
  Prompter *that = static_cast<Prompter *>(baton);

  bool result = that->askYesNo(realmstring,
                               _("Store password unencrypted?"),
                               false);

  *may_save_plaintext = (result ? TRUE : FALSE);

  return SVN_NO_ERROR;
}

svn_error_t *
Prompter::plaintext_passphrase_prompt(svn_boolean_t *may_save_plaintext,
                                      const char *realmstring,

src/subversion/subversion/bindings/javahl/native/Prompter.h  view on Meta::CPAN

 */

#ifndef PROMPTER_H
#define PROMPTER_H

#include <jni.h>
#include "svn_auth.h"
#include <string>
#include "Pool.h"
/**
 * This class requests username/password and informations about
 * ssl-certificates from the user.
 */
class Prompter
{
 private:
  /**
   * The Java callback object.
   */
  jobject m_prompter;

src/subversion/subversion/bindings/javahl/native/Prompter.h  view on Meta::CPAN

   * configuration.
   */
  bool m_maySave;

  Prompter(jobject jprompter);
  bool prompt(const char *realm, const char *pi_username, bool maySave);
  bool askYesNo(const char *realm, const char *question, bool yesIsDefault);
  const char *askQuestion(const char *realm, const char *question,
                          bool showAnswer, bool maySave);
  int askTrust(const char *question, bool maySave);
  jstring password();
  jstring username();
  static svn_error_t *simple_prompt(svn_auth_cred_simple_t **cred_p,
                                    void *baton, const char *realm,
                                    const char *username,
                                    svn_boolean_t may_save,
                                    apr_pool_t *pool);
  static svn_error_t *username_prompt
    (svn_auth_cred_username_t **cred_p,
     void *baton,
     const char *realm,

src/subversion/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp  view on Meta::CPAN

      return;
    }
  JNIStringHolder username(jusername);
  if (JNIUtil::isExceptionThrown())
    return;

  cl->getClientContext().username(username);
}

JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_password
(JNIEnv *env, jobject jthis, jstring jpassword)
{
  JNIEntry(SVNClient, password);
  SVNClient *cl = SVNClient::getCppObject(jthis);
  if (cl == NULL)
    {
      JNIUtil::throwError(_("bad C++ this"));
      return;
    }
  if (jpassword == NULL)
    {
      JNIUtil::raiseThrowable("java/lang/IllegalArgumentException",
                              _("Provide a password (null is not supported)"));
      return;
    }
  JNIStringHolder password(jpassword);
  if (JNIUtil::isExceptionThrown())
    return;

  cl->getClientContext().password(password);
}

JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_setPrompt
(JNIEnv *env, jobject jthis, jobject jprompter)
{
  JNIEntry(SVNClient, setPrompt);
  SVNClient *cl = SVNClient::getCppObject(jthis);
  if (cl == NULL)
    {

src/subversion/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java  view on Meta::CPAN

              Depth depth, int direntFields, boolean fetchLocks,
              ListCallback callback)
            throws ClientException;

    /**
     * Sets the username used for authentication.
     * @param username The username, ignored if the empty string.  Set
     * to the empty string to clear it.
     * @throws IllegalArgumentException If <code>username</code> is
     * <code>null</code>.
     * @see #password(String)
     */
    void username(String username);

    /**
     * Sets the password used for authentication.
     * @param password The password, ignored if the empty string.  Set
     * to the empty string to clear it.
     * @throws IllegalArgumentException If <code>password</code> is
     * <code>null</code>.
     * @see #username(String)
     */
    void password(String password);

    /**
     * Register callback interface to supply username and password on demand.
     * This callback can also be used to provide theequivalent of the
     * <code>--no-auth-cache</code> and <code>--non-interactive</code> arguments
     * accepted by the command-line client.
     * @param prompt the callback interface
     */
    void setPrompt(UserPasswordCallback prompt);

    /**
     * Retrieve the log messages for an item.
     * @param path          path or url to get the log message for.

src/subversion/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java  view on Meta::CPAN

                              StatusCallback callback)
            throws ClientException;

    public native void list(String url, Revision revision,
                            Revision pegRevision, Depth depth, int direntFields,
                            boolean fetchLocks, ListCallback callback)
            throws ClientException;

    public native void username(String username);

    public native void password(String password);

    public native void setPrompt(UserPasswordCallback prompt);

    public native void logMessages(String path, Revision pegRevision,
                                   List<RevisionRange> revisionRanges,
                                   boolean stopOnCopy, boolean discoverPath,
                                   boolean includeMergedRevisions,
                                   Set<String> revProps, long limit,
                                   LogMessageCallback callback)
            throws ClientException;

src/subversion/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java  view on Meta::CPAN

    /**
     * If there are problems with the certifcate of the SSL-server, this
     * callback will be used to deside if the connection will be used.
     * @param info              the probblems with the certificate.
     * @param allowPermanently  if AcceptPermantly is a legal answer
     * @return                  one of Reject/AcceptTemporary/AcceptPermanently
     */
    public int askTrustSSLServer(String info, boolean allowPermanently);

    /**
     * Ask the user for username and password
     * The entered username/password is retrieved by the getUsername
     * getPasswort methods.
     *
     * @param realm     for which server realm this information is requested.
     * @param username  the default username
     * @return Whether the prompt for authentication credentials was
     * successful (e.g. in a GUI application whether the dialog box
     * was canceled).
     */
    public boolean prompt(String realm, String username);

src/subversion/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java  view on Meta::CPAN

    public String askQuestion(String realm, String question,
                              boolean showAnswer);

    /**
     * retrieve the username entered during the prompt call
     * @return the username
     */
    public String getUsername();

    /**
     * retrieve the password entered during the prompt call
     * @return the password
     */
    public String getPassword();

    /**
     * Request a user name and password from the user, and (usually)
     * store the auth credential caching preference specified by
     * <code>maySave</code> (used by {@link #userAllowedSave()}).
     * Applications wanting to emulate the behavior of
     * <code>--non-interactive</code> will implement this method in a
     * manner which does not require user interaction (e.g. a no-op
     * which assumes pre-cached auth credentials).
     *
     * @param realm The realm from which the question originates.
     * @param username The name of the user in <code>realm</code>.
     * @param maySave Whether caching of credentials is allowed.

src/subversion/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java  view on Meta::CPAN

package org.tigris.subversion.javahl;

/**
 * The original interface for receiving callbacks for authentication.
 * Consider this code deprecated -- new applications should use
 * PromptUserPassword3 instead.
 */
public interface PromptUserPassword
{
    /**
     * Ask the user for username and password
     * The entered username/password is retrieved by the getUsername
     * getPasswort methods.
     *
     * @param realm     for which server realm this information is requested.
     * @param username  the default username
     * @return Whether the prompt for authentication credentials was
     * successful (e.g. in a GUI application whether the dialog box
     * was canceled).
     */
    public boolean prompt(String realm, String username);

src/subversion/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java  view on Meta::CPAN

    public String askQuestion(String realm, String question,
                              boolean showAnswer);

    /**
     * retrieve the username entered during the prompt call
     * @return the username
     */
    public String getUsername();

    /**
     * retrieve the password entered during the prompt call
     * @return the password
     */
    public String getPassword();
}

src/subversion/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword3.java  view on Meta::CPAN

 * user.  Should the javahl bindings need the matching information,
 * these methodes will be called.</p>
 *
 * <p>This callback can also be used to provide the equivalent of the
 * <code>--no-auth-cache</code> and <code>--non-interactive</code>
 * arguments accepted by the command-line client.</p>
 */
public interface PromptUserPassword3 extends PromptUserPassword2
{
    /**
     * Request a user name and password from the user, and (usually)
     * store the auth credential caching preference specified by
     * <code>maySave</code> (used by {@link #userAllowedSave()}).
     * Applications wanting to emulate the behavior of
     * <code>--non-interactive</code> will implement this method in a
     * manner which does not require user interaction (e.g. a no-op
     * which assumes pre-cached auth credentials).
     *
     * @param realm The realm from which the question originates.
     * @param username The name of the user in <code>realm</code>.
     * @param maySave Whether caching of credentials is allowed.

src/subversion/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java  view on Meta::CPAN

     * @since 1.0
     */
    public void username(String username)
    {
        aSVNClient.username(username);
    }

    /**
     * @since 1.0
     */
    public void password(String password)
    {
        aSVNClient.password(password);
    }

    private class PromptUser1Wrapper
        implements org.apache.subversion.javahl.callback.UserPasswordCallback
    {
        PromptUserPassword oldPrompt;
        PromptUserPassword2 oldPrompt2;
        PromptUserPassword3 oldPrompt3;

        PromptUser1Wrapper(PromptUserPassword prompt)

src/subversion/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java  view on Meta::CPAN

              int depth, int direntFields, boolean fetchLocks,
              ListCallback callback)
            throws ClientException;

    /**
     * Sets the username used for authentication.
     * @param username The username, ignored if the empty string.  Set
     * to the empty string to clear it.
     * @throws IllegalArgumentException If <code>username</code> is
     * <code>null</code>.
     * @see #password(String)
     * @since 1.0
     */
    void username(String username);

    /**
     * Sets the password used for authentication.
     * @param password The password, ignored if the empty string.  Set
     * to the empty string to clear it.
     * @throws IllegalArgumentException If <code>password</code> is
     * <code>null</code>.
     * @see #username(String)
     * @since 1.0
     */
    void password(String password);

    /**
     * Register callback interface to supply username and password on demand.
     * This callback can also be used to provide theequivalent of the
     * <code>--no-auth-cache</code> and <code>--non-interactive</code> arguments
     * accepted by the command-line client.
     * @param prompt the callback interface
     * @since 1.0
     */
    void setPrompt(PromptUserPassword prompt);

    /**
     * Retrieve the log messages for an item

src/subversion/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java  view on Meta::CPAN

    {
        synchronized(clazz)
        {
            worker.username(username);
        }
    }

    /**
     * @since 1.0
     */
    public void password(String password)
    {
        synchronized(clazz)
        {
            worker.password(password);
        }
    }

    /**
     * @since 1.0
     */
    public void setPrompt(PromptUserPassword prompt)
    {
        synchronized(clazz)
        {

src/subversion/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java  view on Meta::CPAN

        }
        this.localTmp.mkdir();
        this.conf.mkdir();

        this.repositories.mkdir();
        this.workingCopies.mkdir();
    }

    /**
     * Initialize {@link #client}, setting up its notifier, commit
     * message handler, user name, password, config directory, and
     * expected commit items.
     */
    private void initClient()
        throws SubversionException
    {
        this.client = new SVNClient();
        this.client.notification2(new MyNotifier());
        this.client.setPrompt(new DefaultPromptUserPassword());
        this.client.username(USERNAME);
        this.client.setProgressCallback(new DefaultProgressListener());

src/subversion/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java  view on Meta::CPAN

        }
        this.localTmp.mkdir();
        this.conf.mkdir();

        this.repositories.mkdir();
        this.workingCopies.mkdir();
    }

    /**
     * Initialize {@link #client}, setting up its notifier, commit
     * message handler, user name, password, config directory, and
     * expected commit items.
     */
    private void initClient()
        throws SubversionException
    {
        this.client = new SVNClientSynchronized();
        this.client.notification2(new MyNotifier());
        this.client.commitMessageHandler(new MyCommitMessage());
        this.client.setPrompt(new DefaultPromptUserPassword());
        this.client.username("jrandom");

src/subversion/subversion/bindings/swig/core.i  view on Meta::CPAN

    const char *default_value,
    /* svn_config_read_auth_data */
    const char *config_dir, 
    /* svn_diff_file_output_merge */
    const char *conflict_original,
    const char *conflict_modified,
    const char *conflict_latest,
    const char *conflict_separator,
    /* svn_cmdline_create_auth_baton */
    const char *username,
    const char *password
};

/* -----------------------------------------------------------------------
   fix up the svn_stream_read() ptr/len arguments
*/
#ifdef SWIGPYTHON
%typemap(in) (char *buffer, apr_size_t *len) ($*2_type temp) {
    if (PyLong_Check($input)) {
        temp = PyLong_AsLong($input);
    }

src/subversion/subversion/bindings/swig/core.i  view on Meta::CPAN



%inline %{
/* Helper function to set the gnome-keyring unlock prompt function. This
 * C function accepts an auth baton, a function and a prompt baton, but
 * the below callback_typemap uses both the function and the prompt
 * baton, so the resulting binding has just two arguments: The auth
 * baton and the prompt function.
 * The prompt function should again have two arguments: The keyring name
 * (string) and a pool (except for the ruby version, which doesn't have
 * the pool argument). It should return the entered password (string).
 * This binding generated for this function generates a reference to the
 * prompt function that was passed into this. The caller should store
 * that reference somewhere, to prevent the function from being garbage
 * collected...
 */
static void svn_auth_set_gnome_keyring_unlock_prompt_func(svn_auth_baton_t *ab,
                                                          svn_auth_gnome_keyring_unlock_prompt_func_t prompt_func,
                                                          void *prompt_baton) {
    svn_auth_set_parameter(ab, SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC,
                           prompt_func);

src/subversion/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c  view on Meta::CPAN


    if (SWIG_ConvertPtr(auth_baton,
                        (void **)&(*cb)->auth_baton, _SWIG_TYPE("svn_auth_baton_t *"),0) < 0) {
	croak("Unable to convert from SWIG Type");
    }
    *c_baton = perl_callbacks;
    svn_swig_pl_hold_ref_in_pool(pool, perl_callbacks);
    return SVN_NO_ERROR;
}

svn_error_t *svn_swig_pl_thunk_gnome_keyring_unlock_prompt(char **keyring_password,
                                                           const char *keyring_name,
                                                           void *baton,
                                                           apr_pool_t *pool)
{
    SV *result;
    STRLEN len;
    /* The baton is the actual prompt function passed from perl, so we
     * call that one and process the result. */
    svn_swig_pl_callback_thunk(CALL_SV,
                               baton, &result,
                               "sS", keyring_name,
                               pool, POOLINFO);
    if (!SvOK(result) || result == &PL_sv_undef) {
        *keyring_password = NULL;
    }
    else if (SvPOK(result)) {
        *keyring_password = apr_pstrdup(pool, SvPV(result, len));
    }
    else {
        SvREFCNT_dec(result);
        croak("not a string");
    }

    SvREFCNT_dec(result);
    return SVN_NO_ERROR;
}

src/subversion/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h  view on Meta::CPAN

                                          void *baton,
                                          apr_pool_t *pool);

/* ra callbacks. */
svn_error_t *svn_ra_make_callbacks(svn_ra_callbacks_t **cb,
				   void **c_baton,
				   SV *perl_callbacks,
				   apr_pool_t *pool);

/* thunked gnome_keyring_unlock_prompt callback function */
svn_error_t *svn_swig_pl_thunk_gnome_keyring_unlock_prompt(char **keyring_password,
                                                           const char *keyring_name,
                                                           void *baton,
                                                           apr_pool_t *pool);
/* thunked simple_prompt callback function */
svn_error_t *svn_swig_pl_thunk_simple_prompt(svn_auth_cred_simple_t **cred,
                                             void *baton,
                                             const char *realm,
                                             const char *username,
                                             svn_boolean_t may_save,
                                             apr_pool_t *pool);

src/subversion/subversion/bindings/swig/perl/native/Client.pm  view on Meta::CPAN


    sub simple_prompt {
      my ($cred, $realm, $default_username, $may_save, $pool) = @_;

      print "Enter authentication info for realm: $realm\n";
      print "Username: ";
      my $username = <>;
      chomp($username);
      $cred->username($username);
      print "Password: ";
      my $password = <>;
      chomp($password);
      $cred->password($password);
    }

=head1 DESCRIPTION

SVN::Client wraps the highest level of functions provided by
subversion to accomplish specific tasks in an object oriented API.
Methods are similar to the functions provided by the C API and
as such the documentation for it may be helpful in understanding
this interface.

src/subversion/subversion/bindings/swig/perl/native/Client.pm  view on Meta::CPAN

first parameter each of these subroutines receive is a credential object.  The
subroutines return the response by setting members of that object.  Members may
be set like so: $cred-E<gt>username("breser");  These functions and credential
objects always have a may_save member which specifies if the authentication
data will be cached.

The providers are as follows:

        NAME                WHAT IT HANDLES
        ----------------    ----------------------------------------
        simple              username and password pairs

        username            username only

        ssl_server_trust    server certificates and failures
                            authenticating them

        ssl_client_cert     client side certificate files

        ssl_client_cert_pw  password for a client side certificate file.


=over 4

=item SVN::Client::get_simple_provider

Returns a simple provider that returns information from previously cached
sessions.  Takes no parameters or one pool parameter.

=item SVN::Client::get_simple_prompt_provider

Returns a simple provider that prompts the user via a callback.  Takes two or
three parameters, the first is the callback subroutine, the 2nd is the number
of retries to allow, the 3rd is optionally a pool.  The subroutine gets called
with the following parameters: a svn_auth_cred_simple_t object, a realm string,
a default username, may_save, and a pool.  The svn_auth_cred_simple has the
following members: username, password, and may_save.

=item SVN::Client::get_username_provider

Returns a username provider that returns information from a previously cached
sessions.  Takes no parameters or one pool parameter.

=item SVN::Client::get_username_prompt_provider

Returns a username provider that prompts the user via a callback.  Takes two or
three parameters, the first is the callback subroutine, the 2nd is the number

src/subversion/subversion/bindings/swig/perl/native/Client.pm  view on Meta::CPAN

Returns a client certificate provider that prompts the user via a callback.
Takes two or three parameters: the first is the callback subroutine, the 2nd is
the number of retries to allow, the 3rd is optionally a pool parameter.  The
subroutine gets called with the following parameters.  A
svn_auth_cred_ssl_client_cert object, a realm string, may_save, and a pool.
The svn_auth_cred_ssl_client_cert the following members: cert_file and
may_save.

=item SVN::Client::get_ssl_client_cert_pw_file_provider

Returns a client certificate password provider that returns information from
previously cached sessions.  Takes no parameters or optionally a pool
parameter.

=item SVN::Client::get_ssl_client_cert_pw_prompt_provider

Returns a client certificate password provider that prompts the user via a
callback. Takes two or three parameters, the first is the callback subroutine,
the 2nd is the number of retries to allow, the 3rd is optionally a pool
parameter.  The subroutine gets called with the following parameters.  A
svn_auth_cred_ssl_client_cert_pw object, a realm string, may_save, and a pool.
The svn_auth_cred_ssl_client_cert_pw has the following members: password and
may_save.

=back

=head1 OBJECTS

These are some of the object types that are returned from the methods
and functions.  Others are documented in L<SVN::Core> and L<SVN::Wc>.
If an object is not documented, it is more than likely opaque and
not something you can do anything with, except pass to other functions

src/subversion/subversion/bindings/swig/perl/native/Core.pm  view on Meta::CPAN

use SVN::Base qw(Core svn_auth_cred_simple_t_);

=head2 svn_auth_cred_simple_t

=over 4

=item $simple-E<gt>username()

Username.

=item $simple-E<gt>password()

Password.

=item $simple-E<gt>may_save()

Indicates if the credentials may be saved (to disk).

=back

=cut

src/subversion/subversion/bindings/swig/perl/native/Core.pm  view on Meta::CPAN


=cut

package _p_svn_auth_cred_ssl_client_cert_pw_t;
use SVN::Base qw(Core svn_auth_cred_ssl_client_cert_pw_t_);

=head2 svn_auth_cred_ssl_client_cert_pw_t

=over 4

=item $ccertpw-E<gt>password()

Certificate password.

=item $ccertpw-E<gt>may_save()

Indicates if the credentials may be saved (to disk).

=back

=cut

=head1 CONSTANTS

src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN




/* Helper function to set the gnome-keyring unlock prompt function. This
 * C function accepts an auth baton, a function and a prompt baton, but
 * the below callback_typemap uses both the function and the prompt
 * baton, so the resulting binding has just two arguments: The auth
 * baton and the prompt function.
 * The prompt function should again have two arguments: The keyring name
 * (string) and a pool (except for the ruby version, which doesn't have
 * the pool argument). It should return the entered password (string).
 * This binding generated for this function generates a reference to the
 * prompt function that was passed into this. The caller should store
 * that reference somewhere, to prevent the function from being garbage
 * collected...
 */
static void svn_auth_set_gnome_keyring_unlock_prompt_func(svn_auth_baton_t *ab,
                                                          svn_auth_gnome_keyring_unlock_prompt_func_t prompt_func,
                                                          void *prompt_baton) {
    svn_auth_set_parameter(ab, SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC,
                           prompt_func);

src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN

    int res10 ;
    int argvi = 0;
    svn_error_t *result = 0 ;
    dXSARGS;
    
    {
      _global_pool = arg11 = svn_swig_pl_make_pool (ST(items-1));
    }
    arg1 = &temp1;
    if ((items < 9) || (items > 10)) {
      SWIG_croak("Usage: svn_cmdline_create_auth_baton(non_interactive,username,password,config_dir,no_auth_cache,trust_server_cert,cfg,cancel_func,cancel_baton,pool);");
    }
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "svn_cmdline_create_auth_baton" "', argument " "2"" of type '" "svn_boolean_t""'");
    } 
    arg2 = (svn_boolean_t)(val2);
    res3 = SWIG_AsCharPtrAndSize(ST(1), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "svn_cmdline_create_auth_baton" "', argument " "3"" of type '" "char const *""'");
    }

src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN

    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_svn_auth_cred_simple_t_password_set) {
  {
    struct svn_auth_cred_simple_t *arg1 = (struct svn_auth_cred_simple_t *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: svn_auth_cred_simple_t_password_set(self,password);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_svn_auth_cred_simple_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "svn_auth_cred_simple_t_password_set" "', argument " "1"" of type '" "struct svn_auth_cred_simple_t *""'"); 
    }
    arg1 = (struct svn_auth_cred_simple_t *)(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "svn_auth_cred_simple_t_password_set" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = (char *)(buf2);
    if (arg2) {
      size_t size = strlen((const char *)((const char *)(arg2))) + 1;
      arg1->password = (char const *)(char *)memcpy((char *)malloc((size)*sizeof(char)), arg2, sizeof(char)*(size));
    } else {
      arg1->password = 0;
    }
    ST(argvi) = sv_newmortal();
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    SWIG_croak_null();
  }
}


XS(_wrap_svn_auth_cred_simple_t_password_get) {
  {
    struct svn_auth_cred_simple_t *arg1 = (struct svn_auth_cred_simple_t *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    char *result = 0 ;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: svn_auth_cred_simple_t_password_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_svn_auth_cred_simple_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "svn_auth_cred_simple_t_password_get" "', argument " "1"" of type '" "struct svn_auth_cred_simple_t *""'"); 
    }
    arg1 = (struct svn_auth_cred_simple_t *)(argp1);
    result = (char *) ((arg1)->password);
    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN

    ST(argvi) = sv_newmortal();
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_svn_auth_cred_ssl_client_cert_pw_t_password_set) {
  {
    struct svn_auth_cred_ssl_client_cert_pw_t *arg1 = (struct svn_auth_cred_ssl_client_cert_pw_t *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: svn_auth_cred_ssl_client_cert_pw_t_password_set(self,password);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_svn_auth_cred_ssl_client_cert_pw_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "svn_auth_cred_ssl_client_cert_pw_t_password_set" "', argument " "1"" of type '" "struct svn_auth_cred_ssl_client_cert_pw_t *""'"); 
    }
    arg1 = (struct svn_auth_cred_ssl_client_cert_pw_t *)(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "svn_auth_cred_ssl_client_cert_pw_t_password_set" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = (char *)(buf2);
    if (arg2) {
      size_t size = strlen((const char *)((const char *)(arg2))) + 1;
      arg1->password = (char const *)(char *)memcpy((char *)malloc((size)*sizeof(char)), arg2, sizeof(char)*(size));
    } else {
      arg1->password = 0;
    }
    ST(argvi) = sv_newmortal();
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    SWIG_croak_null();
  }
}


XS(_wrap_svn_auth_cred_ssl_client_cert_pw_t_password_get) {
  {
    struct svn_auth_cred_ssl_client_cert_pw_t *arg1 = (struct svn_auth_cred_ssl_client_cert_pw_t *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    char *result = 0 ;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: svn_auth_cred_ssl_client_cert_pw_t_password_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_svn_auth_cred_ssl_client_cert_pw_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "svn_auth_cred_ssl_client_cert_pw_t_password_get" "', argument " "1"" of type '" "struct svn_auth_cred_ssl_client_cert_pw_t *""'"); 
    }
    arg1 = (struct svn_auth_cred_ssl_client_cert_pw_t *)(argp1);
    result = (char *) ((arg1)->password);
    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN

{"SVN::_Core::new_svn_auth_provider_t", _wrap_new_svn_auth_provider_t},
{"SVN::_Core::delete_svn_auth_provider_t", _wrap_delete_svn_auth_provider_t},
{"SVN::_Core::svn_auth_provider_object_t_vtable_set", _wrap_svn_auth_provider_object_t_vtable_set},
{"SVN::_Core::svn_auth_provider_object_t_vtable_get", _wrap_svn_auth_provider_object_t_vtable_get},
{"SVN::_Core::svn_auth_provider_object_t_provider_baton_set", _wrap_svn_auth_provider_object_t_provider_baton_set},
{"SVN::_Core::svn_auth_provider_object_t_provider_baton_get", _wrap_svn_auth_provider_object_t_provider_baton_get},
{"SVN::_Core::new_svn_auth_provider_object_t", _wrap_new_svn_auth_provider_object_t},
{"SVN::_Core::delete_svn_auth_provider_object_t", _wrap_delete_svn_auth_provider_object_t},
{"SVN::_Core::svn_auth_cred_simple_t_username_set", _wrap_svn_auth_cred_simple_t_username_set},
{"SVN::_Core::svn_auth_cred_simple_t_username_get", _wrap_svn_auth_cred_simple_t_username_get},
{"SVN::_Core::svn_auth_cred_simple_t_password_set", _wrap_svn_auth_cred_simple_t_password_set},
{"SVN::_Core::svn_auth_cred_simple_t_password_get", _wrap_svn_auth_cred_simple_t_password_get},
{"SVN::_Core::svn_auth_cred_simple_t_may_save_set", _wrap_svn_auth_cred_simple_t_may_save_set},
{"SVN::_Core::svn_auth_cred_simple_t_may_save_get", _wrap_svn_auth_cred_simple_t_may_save_get},
{"SVN::_Core::new_svn_auth_cred_simple_t", _wrap_new_svn_auth_cred_simple_t},
{"SVN::_Core::delete_svn_auth_cred_simple_t", _wrap_delete_svn_auth_cred_simple_t},
{"SVN::_Core::svn_auth_cred_username_t_username_set", _wrap_svn_auth_cred_username_t_username_set},
{"SVN::_Core::svn_auth_cred_username_t_username_get", _wrap_svn_auth_cred_username_t_username_get},
{"SVN::_Core::svn_auth_cred_username_t_may_save_set", _wrap_svn_auth_cred_username_t_may_save_set},
{"SVN::_Core::svn_auth_cred_username_t_may_save_get", _wrap_svn_auth_cred_username_t_may_save_get},
{"SVN::_Core::new_svn_auth_cred_username_t", _wrap_new_svn_auth_cred_username_t},
{"SVN::_Core::delete_svn_auth_cred_username_t", _wrap_delete_svn_auth_cred_username_t},
{"SVN::_Core::svn_auth_cred_ssl_client_cert_t_cert_file_set", _wrap_svn_auth_cred_ssl_client_cert_t_cert_file_set},
{"SVN::_Core::svn_auth_cred_ssl_client_cert_t_cert_file_get", _wrap_svn_auth_cred_ssl_client_cert_t_cert_file_get},
{"SVN::_Core::svn_auth_cred_ssl_client_cert_t_may_save_set", _wrap_svn_auth_cred_ssl_client_cert_t_may_save_set},
{"SVN::_Core::svn_auth_cred_ssl_client_cert_t_may_save_get", _wrap_svn_auth_cred_ssl_client_cert_t_may_save_get},
{"SVN::_Core::new_svn_auth_cred_ssl_client_cert_t", _wrap_new_svn_auth_cred_ssl_client_cert_t},
{"SVN::_Core::delete_svn_auth_cred_ssl_client_cert_t", _wrap_delete_svn_auth_cred_ssl_client_cert_t},
{"SVN::_Core::svn_auth_cred_ssl_client_cert_pw_t_password_set", _wrap_svn_auth_cred_ssl_client_cert_pw_t_password_set},
{"SVN::_Core::svn_auth_cred_ssl_client_cert_pw_t_password_get", _wrap_svn_auth_cred_ssl_client_cert_pw_t_password_get},
{"SVN::_Core::svn_auth_cred_ssl_client_cert_pw_t_may_save_set", _wrap_svn_auth_cred_ssl_client_cert_pw_t_may_save_set},
{"SVN::_Core::svn_auth_cred_ssl_client_cert_pw_t_may_save_get", _wrap_svn_auth_cred_ssl_client_cert_pw_t_may_save_get},
{"SVN::_Core::new_svn_auth_cred_ssl_client_cert_pw_t", _wrap_new_svn_auth_cred_ssl_client_cert_pw_t},
{"SVN::_Core::delete_svn_auth_cred_ssl_client_cert_pw_t", _wrap_delete_svn_auth_cred_ssl_client_cert_pw_t},
{"SVN::_Core::svn_auth_ssl_server_cert_info_t_hostname_set", _wrap_svn_auth_ssl_server_cert_info_t_hostname_set},
{"SVN::_Core::svn_auth_ssl_server_cert_info_t_hostname_get", _wrap_svn_auth_ssl_server_cert_info_t_hostname_get},
{"SVN::_Core::svn_auth_ssl_server_cert_info_t_fingerprint_set", _wrap_svn_auth_ssl_server_cert_info_t_fingerprint_set},
{"SVN::_Core::svn_auth_ssl_server_cert_info_t_fingerprint_get", _wrap_svn_auth_ssl_server_cert_info_t_fingerprint_get},
{"SVN::_Core::svn_auth_ssl_server_cert_info_t_valid_from_set", _wrap_svn_auth_ssl_server_cert_info_t_valid_from_set},
{"SVN::_Core::svn_auth_ssl_server_cert_info_t_valid_from_get", _wrap_svn_auth_ssl_server_cert_info_t_valid_from_get},

src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN

    sv_setsv(sv, SWIG_FromCharPtr("svn:auth:"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_AUTH_PARAM_DEFAULT_USERNAME", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("svn:auth:username"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_AUTH_PARAM_DEFAULT_PASSWORD", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("svn:auth:password"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_AUTH_PARAM_NON_INTERACTIVE", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("svn:auth:non-interactive"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_AUTH_PARAM_DONT_STORE_PASSWORDS", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("svn:auth:dont-store-passwords"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_AUTH_PARAM_STORE_PLAINTEXT_PASSWORDS", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("svn:auth:store-plaintext-passwords"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_AUTH_PARAM_DONT_STORE_SSL_CLIENT_CERT_PP", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("svn:auth:dont-store-ssl-client-cert-pp"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_AUTH_PARAM_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("svn:auth:store-ssl-client-cert-pp-plaintext"));

src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN

    sv_setsv(sv, SWIG_FromCharPtr("http-proxy-port"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_HTTP_PROXY_USERNAME", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("http-proxy-username"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_HTTP_PROXY_PASSWORD", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("http-proxy-password"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_HTTP_PROXY_EXCEPTIONS", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("http-proxy-exceptions"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_HTTP_TIMEOUT", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("http-timeout"));

src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN

    sv_setsv(sv, SWIG_FromCharPtr("ssl-trust-default-ca"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_SSL_CLIENT_CERT_FILE", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("ssl-client-cert-file"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_SSL_CLIENT_CERT_PASSWORD", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("ssl-client-cert-password"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_SSL_PKCS11_PROVIDER", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("ssl-pkcs11-provider"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_HTTP_LIBRARY", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("http-library"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_STORE_PASSWORDS", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("store-passwords"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_STORE_PLAINTEXT_PASSWORDS", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("store-plaintext-passwords"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_STORE_AUTH_CREDS", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("store-auth-creds"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_STORE_SSL_CLIENT_CERT_PP", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("store-ssl-client-cert-pp"));

src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN

    sv_setsv(sv, SWIG_FromCharPtr("config"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_SECTION_AUTH", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("auth"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_PASSWORD_STORES", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("password-stores"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_KWALLET_WALLET", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("kwallet-wallet"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_KWALLET_SVN_APPLICATION_NAME_WITH_PID", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("kwallet-svn-application-name-with-pid"));

src/subversion/subversion/bindings/swig/perl/native/core.c  view on Meta::CPAN

    sv_setsv(sv, SWIG_FromCharPtr("anon-access"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_AUTH_ACCESS", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("auth-access"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_PASSWORD_DB", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("password-db"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_REALM", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("realm"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CONFIG_OPTION_AUTHZ_DB", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("authz-db"));

src/subversion/subversion/bindings/swig/perl/native/svn_client.c  view on Meta::CPAN

    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(svn_client_diff_summarize_kind_deleted)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CLIENT_AUTH_USERNAME", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("username"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SVN_CLIENT_AUTH_PASSWORD", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_FromCharPtr("password"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:/home/breser/wandisco/rm/1.8.11/prefix/share/swig/2.0.9/perl5/perltypemaps.swg,65,%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SWIG_SVN_INFO_SIZE_UNKNOWN", TRUE | 0x2 | GV_ADDMULTI);
    sv_setsv(sv, SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1((unsigned long)(-1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  ST(0) = &PL_sv_yes;
  XSRETURN(1);
}

src/subversion/subversion/bindings/swig/perl/native/t/3client.t  view on Meta::CPAN

# TEST
isa_ok($ph2,'HASH','propget returns HASH');
# TEST
is(scalar(keys %$ph2),0,
   'No properties after deleting a property');

SKIP: {
    # This is ugly.  It is included here as an aide to understand how
    # to test this and because it makes my life easier as I only have
    # one command to run to test it.  If you want to use this you need
    # to change the usernames, passwords, and paths to the client cert.
    # It assumes that there is a repo running on localhost port 443 at
    # via SSL.  The repo cert should trip a client trust issue.  The
    # client cert should be encrypted and require a pass to use it.
    # Finally uncomment the skip line below.

    # Before shipping make sure the following line is uncommented.
    skip 'Impossible to test without external effort to setup https', 7;

    sub simple_prompt {
        my $cred = shift;
        my $realm = shift;
        my $username_passed = shift;
        my $may_save = shift;
        my $pool = shift;

        ok(1,'simple_prompt called');
        $cred->username('breser');
        $cred->password('foo');
    }

    sub ssl_server_trust_prompt {
        my $cred = shift;
        my $realm = shift;
        my $failures = shift;
        my $cert_info = shift;
        my $may_save = shift;
        my $pool = shift;

src/subversion/subversion/bindings/swig/perl/native/t/3client.t  view on Meta::CPAN

        ok(1,'ssl_client_cert_prompt called');
        $cred->cert_file('/home/breser/client-pass.p12');
    }

    sub ssl_client_cert_pw_prompt {
        my $cred = shift;
        my $may_save = shift;
        my $pool = shift;

        ok(1,'ssl_client_cert_pw_prompt called');
        $cred->password('test');
    }

    my $oldauthbaton = $ctx->auth();

    # TEST
    isa_ok($ctx->auth(SVN::Client::get_simple_prompt_provider(
                                sub { simple_prompt(@_,'x') },2),
               SVN::Client::get_ssl_server_trust_prompt_provider(
                                \&ssl_server_trust_prompt),
               SVN::Client::get_ssl_client_cert_prompt_provider(



( run in 1.552 second using v1.01-cache-2.11-cpan-49f99fa48dc )