ndex: versioncontrol/svn_fs.py =================================================================== --- versioncontrol/svn_fs.py (revision 6673) +++ versioncontrol/svn_fs.py (working copy) @@ -848,6 +848,15 @@ # we _hope_ it's UTF-8, but can't be 100% sure (#4321) message = message and to_unicode(message, 'utf-8') author = author and to_unicode(author, 'utf-8') + + # If the author looks like an x509 Distingished Name (DN) + # then extract just the CN (Common Name). XX and emailAddress? + if author: + if author.find('/CN=') > -1: + author= author[author.find('/CN=')+4:]; + if (author.find('/') > -1): + author= author[:author.find('/')] + _date = self._get_prop(core.SVN_PROP_REVISION_DATE) if _date: ts = core.svn_time_from_cstring(_date, self.pool()) / 1000000 Index: web/auth.py =================================================================== --- web/auth.py (revision 6673) +++ web/auth.py (working copy) @@ -75,6 +75,18 @@ if self.ignore_case: authname = authname.lower() + # If the author looks like an x509 Distingished Name (DN) + # then extract just the CN (Common Name). Note that we + # should not concat things like as the + # very same name is also used for XS controls - and then + # becomes hard to enter from trac-admin. + # + if author: + if author.find('/CN=') > -1: + author= author[author.find('/CN=')+4:]; + if (author.find('/') > -1): + author= author[:author.find('/')] + return authname