Commit 14fce886 authored by Jeff Burke's avatar Jeff Burke
Browse files

Merge branch 'ac2' of gimli2:/srv/cadc/git/wopencadc into ac2

parents 2e05b2a1 fb839bab
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -149,7 +149,7 @@ public class ProxyServlet extends HttpServlet
                if (st2.countTokens() == 1)
                if (st2.countTokens() == 1)
                {
                {
                    principal = principalStr.trim();
                    principal = principalStr.trim();
                    maxDaysValid = Float.MAX_VALUE; // no limit
                    maxDaysValid = 30.0f;
                }
                }
                else if (st2.countTokens() == 2)
                else if (st2.countTokens() == 2)
                {
                {
+1 −1
Original line number Original line Diff line number Diff line
@@ -208,7 +208,7 @@ public abstract class DelegationAction implements
                    // Time to determine the allowed lifetime of certificate
                    // Time to determine the allowed lifetime of certificate
                    float maxDaysValid = trustedPrincipals.get(trustedPrinc);
                    float maxDaysValid = trustedPrincipals.get(trustedPrinc);
                    if (maxDaysValid < daysValid)
                    if (maxDaysValid < daysValid)
                        throw new ResourceNotFoundException("Requested lifetime limitted to " + maxDaysValid);
                        daysValid = maxDaysValid;


                    if (daysValid == 0)
                    if (daysValid == 0)
                        daysValid = maxDaysValid;
                        daysValid = maxDaysValid;
+19 −9
Original line number Original line Diff line number Diff line
@@ -69,16 +69,13 @@


package ca.nrc.cadc.cred.server.actions;
package ca.nrc.cadc.cred.server.actions;


import ca.nrc.cadc.auth.AuthenticationUtil;
import ca.nrc.cadc.auth.*;
import ca.nrc.cadc.auth.DelegationToken;

import ca.nrc.cadc.auth.HttpPrincipal;
import ca.nrc.cadc.auth.PrincipalExtractor;
import java.util.Map;
import java.util.Map;


import javax.security.auth.x500.X500Principal;
import javax.security.auth.x500.X500Principal;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequest;


import ca.nrc.cadc.auth.X509CertificateChain;
import ca.nrc.cadc.cred.server.CertificateDAO;
import ca.nrc.cadc.cred.server.CertificateDAO;
import ca.nrc.cadc.net.ResourceNotFoundException;
import ca.nrc.cadc.net.ResourceNotFoundException;
import ca.nrc.cadc.profiler.Profiler;
import ca.nrc.cadc.profiler.Profiler;
@@ -225,18 +222,31 @@ public class DelegationActionFactory
            {
            {
                return null;
                return null;
            }
            }

            /**
             * Create and return a SSOCookieCredential from the request
             *
             * @return
             */
            @Override
            public SSOCookieCredential getSSOCookieCredential()
            {
                return null;
            }
        });
        });
        log.debug("augmented: " + s);
        log.debug("augmented: " + s);
        profiler.checkpoint("getUser");
        profiler.checkpoint("getUser");
        
        
        Set<X500Principal> xp = s.getPrincipals(X500Principal.class);
        Set<X500Principal> xp = s.getPrincipals(X500Principal.class);
        if (xp != null && !xp.isEmpty())
        if (xp.isEmpty())
        {
        {
            X500Principal p = xp.iterator().next();
            return p;
        }
            throw new ResourceNotFoundException("user not found: " + userid);
            throw new ResourceNotFoundException("user not found: " + userid);
        }
        }
        else
        {
            return xp.iterator().next();
        }
    }


    /**
    /**
     * Action indicating that a resource could not be found.
     * Action indicating that a resource could not be found.
+1 −1
Original line number Original line Diff line number Diff line
@@ -59,7 +59,7 @@ public class ProxyServletTest
        ProxyServlet testServlet = new ProxyServlet();
        ProxyServlet testServlet = new ProxyServlet();
        ServletConfig configMock = createMock(ServletConfig.class);
        ServletConfig configMock = createMock(ServletConfig.class);
        String expectedDN1 = "cn=test1,ou=hia.nrc.ca,o=grid,c=ca";
        String expectedDN1 = "cn=test1,ou=hia.nrc.ca,o=grid,c=ca";
        Float expectedDaysValid1 = new Float(Float.MAX_VALUE);
        Float expectedDaysValid1 = new Float(30.0f);
        String expectedDN2 = "cn=test2,ou=hia.nrc.ca,o=grid,c=ca";
        String expectedDN2 = "cn=test2,ou=hia.nrc.ca,o=grid,c=ca";
        Float expectedDaysValid2 = new Float(0.5);
        Float expectedDaysValid2 = new Float(0.5);
        expect(configMock.getInitParameter(ProxyServlet.TRUSTED_PRINCIPALS_PARAM))
        expect(configMock.getInitParameter(ProxyServlet.TRUSTED_PRINCIPALS_PARAM))