Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 351510 - Smartcard Login on Windows (MSCAPI Support)
Summary: Smartcard Login on Windows (MSCAPI Support)
Status: RESOLVED FIXED
Alias: None
Product: Subversive
Classification: Technology
Component: UI (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Igor Burilo CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-08 02:00 EDT by Markus Oberlassnig CLA
Modified: 2011-12-08 12:33 EST (History)
2 users (show)

See Also:


Attachments
This patch enables the feature when using SVNKit Connector (15.15 KB, patch)
2011-07-08 02:19 EDT, Markus Oberlassnig CLA
no flags Details | Diff
The new patch with the header included (16.04 KB, patch)
2011-08-02 05:00 EDT, Markus Oberlassnig CLA
i.vinnykov: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Oberlassnig CLA 2011-07-08 02:00:08 EDT
Build Identifier: 

MSCAPI is supported from SVNKit since version 1.3.3.
(http://svn.svnkit.com/repos/svnkit/tags/1.3.3/changelog.txt)
 
Also Subclipse supports MSCAPI since version 1.6.16.
 
This feature should also be supported by subversive to be able to login with smartcards at least for the SVNKit connector.


Reproducible: Always
Comment 1 Markus Oberlassnig CLA 2011-07-08 02:19:24 EDT
Created attachment 199307 [details]
This patch enables the feature when using SVNKit Connector

MSCAPI support via Java has some restrictions.

There can be used 2 security providers:
1. SunMSCAPI: provided from java itself, which is not available for Java 64 Bit until Java 7 (see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6931562). For Java 32 Bit before version 6u23 you need a patch (see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6578658)
2. CAPI (JACAPI) from keyon (see http://www.keyon.ch/wKeyon/Loesungen/JACAPI/index.php)

The patch works similar to the Subclipse feature (see discussion http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1043&dsMessageId=2625613)
Comment 2 Markus Oberlassnig CLA 2011-07-08 02:21:29 EDT
See attached Patch.
Comment 3 Markus Oberlassnig CLA 2011-07-08 02:31:44 EDT
I reopened it. I'm not sure if I should set it to fixed, if the code is not checked in.

Some more information: the patch is already tested by me and also by some customers of our company.

nice regards,
Markus
Comment 4 Alexander Gurov CLA 2011-07-11 11:27:11 EDT
(In reply to comment #3)
Hello Markus!

Thank you very much for the provided patch. I've checked if we can apply it or not and it seems there is a little problem: Eclipse.org IP process requires from patch contributors that they will place headers like following:

/***************************************************************************
 * Copyright (c) <years> <company info>.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    <contributor name> - Initial API and implementation
 **************************************************************************/

at the start of new files or place their contribution marks in the headers of an existing files, like here, for example (last line):

/***************************************************************************
 * Copyright (c) 2005-2008 Polarion Software.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Alexander Gurov - Initial API and implementation
 *    Gabor Liptak - Speedup Pattern's usage
 **************************************************************************/

Could you please place your headers and marks and resubmit patch with them included, otherwise we can't apply your patch due to legal restrictions?

Thank you in advance.
Comment 5 Markus Oberlassnig CLA 2011-08-02 05:00:45 EDT
Created attachment 200692 [details]
The new patch with the header included

Hello Alexander,

thank you for your comments.
I have now included the header information.

Nice regards,
Markus
Comment 6 Igor Vinnykov CLA 2011-11-21 13:37:51 EST
Markus,

Thank you for the patch, but we can't apply it directly. It's considered as a significant contribution, so it should be approved by Eclipse IP team first (see http://eclipse.org/legal/EclipseLegalProcessPoster.pdf and http://www.eclipse.org/projects/dev_process/ip-process-in-cartoons.php). We've created IP reguest (https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5817) and waiting for approval. We will apply the patch once the IP item will be approved.
Comment 7 Igor Vinnykov CLA 2011-11-22 09:26:25 EST
Hi Markus,

To approve your patch Eclipse requies a formal confirmation in form of comment here that you authored 100% of the code and that you allow code contribution to Eclipse.
Comment 8 Markus Oberlassnig CLA 2011-11-28 05:48:36 EST
With this comment I commit that I authored 100% of the code and I allow to contribute the code to Eclipse.
Comment 9 Alexander Gurov CLA 2011-12-08 12:33:26 EST
Hello Markus, 

I've applied the patch with a minor change, I've replaced the following code fragment:

+        String svnClientText = ""; //$NON-NLS-1$
+        if (ISVNConnectorFactory.DEFAULT_ID != null) {
+        	svnClientText = ISVNConnectorFactory.DEFAULT_ID;
+		}

with this one:
        String svnClientText = CoreExtensionsManager.instance().getSVNConnectorFactory().getId();

The reason for the change is that ISVNConnectorFactory.DEFAULT_ID represents the default client which can be or can be not installed or selected as active. The selected connector could be found by this call: CoreExtensionsManager.instance().getSVNConnectorFactory().

If I've made a mistake with what the code should be doing, please correct me.