[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Allow custom user agent string

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2007-11-15 21:50:51 CET

David Glasser wrote:

>> [[[
>> Allow the user-agent string sent over http to be defined by the
>> client. The define CLIENT_USER_AGENT is used as the string. If it is
>> not defined, the default "SVN/" is used.
>
> Let's call it SVN_CLIENT_USER_AGENT... No namespace stomping and all.
> a la SVN_DEBUG and friends.

revised patch attached.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

[[[
Allow the user-agent string sent over http to be defined by the
client. The define SVN_CLIENT_USER_AGENT is used as the string. If it is
not defined, the default "SVN/" is used.

* subversion/libsvn_ra_neon/session.c,
  subversion/libsvn_ra_serf/ra_serf.h : use define for user agent
    string instead of fixed string.
]]]
Index: subversion/libsvn_ra_neon/session.c
===================================================================
--- subversion/libsvn_ra_neon/session.c (revision 27831)
+++ subversion/libsvn_ra_neon/session.c (working copy)
@@ -44,6 +44,7 @@
 
 #define DEFAULT_HTTP_TIMEOUT 3600
 
+
 
 /* a cleanup routine attached to the pool that contains the RA session
    baton. */
@@ -930,9 +931,13 @@
     ne_set_read_timeout(sess2, timeout);
   }
 
+#ifdef CLIENT_USER_AGENT
+ ne_set_useragent(sess, "SVN/" SVN_VERSION " (" APR_STRINGIFY(SVN_CLIENT_USER_AGENT) ")");
+ ne_set_useragent(sess2,"SVN/" SVN_VERSION " (" APR_STRINGIFY(SVN_CLIENT_USER_AGENT) ")");
+#else
   ne_set_useragent(sess, "SVN/" SVN_VERSION);
- ne_set_useragent(sess2, "SVN/" SVN_VERSION);
-
+ ne_set_useragent(sess2,"SVN/" SVN_VERSION);
+#endif
   /* clean up trailing slashes from the URL */
   len = strlen(uri->path);
   if (len > 1 && (uri->path)[len - 1] == '/')
@@ -1206,4 +1211,4 @@
 #define VTBL neon_vtable
 #define INITFUNC svn_ra_neon__init
 #define COMPAT_INITFUNC svn_ra_dav_init
-#include "../libsvn_ra/wrapper_template.h"
+#include "../libsvn_ra/wrapper_template.h"
\ No newline at end of file
Index: subversion/libsvn_ra_serf/ra_serf.h
===================================================================
--- subversion/libsvn_ra_serf/ra_serf.h (revision 27831)
+++ subversion/libsvn_ra_serf/ra_serf.h (working copy)
@@ -38,11 +38,22 @@
 /** Use this to silence compiler warnings about unused parameters. */
 #define UNUSED_CTX(x) ((void)(x))
 
+#ifndef CLIENT_USER_AGENT
+#define CLIENT_USER_AGENT SVN/
+#endif
 /** Our User-Agent string. */
-#define USER_AGENT "SVN/" SVN_VERSION " serf/" \
+#ifdef CLIENT_USER_AGENT
+#define USER_AGENT SVN_VERSION " serf/" \
                    APR_STRINGIFY(SERF_MAJOR_VERSION) "." \
                    APR_STRINGIFY(SERF_MINOR_VERSION) "." \
+ APR_STRINGIFY(SERF_PATCH_VERSION) \
+ " (" APR_STRINGIFY(SVN_CLIENT_USER_AGENT) ")"
+#else
+#define USER_AGENT SVN_VERSION " serf/" \
+ APR_STRINGIFY(SERF_MAJOR_VERSION) "." \
+ APR_STRINGIFY(SERF_MINOR_VERSION) "." \
                    APR_STRINGIFY(SERF_PATCH_VERSION)
+#endif
 
 
 /* Forward declarations. */
@@ -1238,4 +1249,4 @@
                          serf_bucket_t *response,
                          apr_pool_t *pool);
 
-#endif /* SVN_LIBSVN_RA_SERF_RA_SERF_H */
+#endif /* SVN_LIBSVN_RA_SERF_RA_SERF_H */
\ No newline at end of file

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Nov 15 21:51:41 2007

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.