Commit b993ddbf authored by Jeff Burke's avatar Jeff Burke
Browse files

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

parents 8cc1c27a 8170966a
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -92,8 +92,6 @@
  <property name="cadcRegistry" value="${lib}/cadcRegistryClient.jar"/>
  <property name="cadcUtil" value="${lib}/cadcUtil.jar"/>
  <property name="cadcUWS" value="${lib}/cadcUWS.jar"/>
  <property name="wsUtil" value="${lib}/wsUtil.jar"/>
  <property name="wsUtil-augment" value="${lib}/wsUtil-augment.jar"/>

  <property name="javacsv" value="${ext.lib}/javacsv.jar"/>
  <property name="jdom2" value="${ext.lib}/jdom2.jar"/>
@@ -103,7 +101,7 @@
  <property name="xerces" value="${ext.lib}/xerces.jar"/>

  <property name="jars"
            value="${javacsv}:${jdom2}:${log4j}:${servlet}:${unboundid}:${xerces}:${cadcAccessControl}:${cadcLog}:${cadcRegistry}:${cadcUtil}:${cadcUWS}:${wsUtil}:${wsUtil-augment}"/>
            value="${javacsv}:${jdom2}:${log4j}:${servlet}:${unboundid}:${xerces}:${cadcAccessControl}:${cadcLog}:${cadcRegistry}:${cadcUtil}:${cadcUWS}"/>

  <target name="build" depends="compile">
    <jar jarfile="${build}/lib/${project}.jar"
+2 −2
Original line number Diff line number Diff line
@@ -453,7 +453,7 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO
                searchResult.getAttributeValue(
                       userLdapAttrib.get(HttpPrincipal.class))));

        Long numericID = searchResult.getAttributeValueAsLong(userLdapAttrib.get(NumericPrincipal.class));
        Integer numericID = searchResult.getAttributeValueAsInteger(userLdapAttrib.get(NumericPrincipal.class));
        logger.debug("Numeric id is: " + numericID);
        if (numericID == null)
        {
@@ -514,7 +514,7 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO
            user.getIdentities().add(new HttpPrincipal(
                searchResult.getAttributeValue(LDAP_UID)));
            user.getIdentities().add(new NumericPrincipal(
                searchResult.getAttributeValueAsLong(LDAP_NUMERICID)));
                searchResult.getAttributeValueAsInteger(LDAP_NUMERICID)));
            user.getIdentities().add(new X500Principal(
                searchResult.getAttributeValue(LDAP_DISTINGUISHED_NAME)));
            user.getIdentities().add(new DNPrincipal(
+1 −1
Original line number Diff line number Diff line
@@ -261,7 +261,7 @@ public abstract class UserActionFactory
        else if (idType.equalsIgnoreCase(IdentityType.CADC.getValue()))
        {
            return new User<NumericPrincipal>(new NumericPrincipal(
                    Long.parseLong(userName)));
                    Integer.parseInt(userName)));
        }
        else if (idType.equalsIgnoreCase(IdentityType.OPENID.getValue()))
        {
+11 −2
Original line number Diff line number Diff line
@@ -92,17 +92,23 @@ import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSocketFactory;
import javax.security.auth.Subject;

import ca.nrc.cadc.ac.*;
import ca.nrc.cadc.auth.HttpPrincipal;
import org.apache.log4j.Logger;

import ca.nrc.cadc.ac.Group;
import ca.nrc.cadc.ac.GroupAlreadyExistsException;
import ca.nrc.cadc.ac.GroupNotFoundException;
import ca.nrc.cadc.ac.Role;
import ca.nrc.cadc.ac.User;
import ca.nrc.cadc.ac.UserNotFoundException;
import ca.nrc.cadc.ac.xml.GroupListReader;
import ca.nrc.cadc.ac.xml.GroupReader;
import ca.nrc.cadc.ac.xml.GroupWriter;
import ca.nrc.cadc.auth.AuthenticationUtil;
import ca.nrc.cadc.auth.HttpPrincipal;
import ca.nrc.cadc.auth.SSLUtil;
import ca.nrc.cadc.net.HttpDownload;
import ca.nrc.cadc.net.HttpPost;
import ca.nrc.cadc.net.HttpTransfer;
import ca.nrc.cadc.net.HttpUpload;
import ca.nrc.cadc.net.InputStreamWrapper;
import ca.nrc.cadc.net.NetUtil;
@@ -408,6 +414,9 @@ public class GMSClient implements TransferListener
            }
        });

        // Disable retries.
        httpDownload.setRetry(0, 0, HttpTransfer.RetryReason.NONE);

        httpDownload.setSSLSocketFactory(getSSLSocketFactory());
        httpDownload.run();

+29 −26
Original line number Diff line number Diff line
@@ -148,7 +148,21 @@ public class UserClient
	        HttpDownload download = new HttpDownload(url, out);
	        download.run();

	        this.handleThrowable(download);
	        int responseCode = download.getResponseCode();
	        if (responseCode == 404) // not found
	        {
	            return;
	        }
	        if (responseCode != 200)
	        {
	            String message = "Error calling /ac to augment subject";
	            if (download.getThrowable() != null)
	            {
	                throw new IllegalStateException(message, download.getThrowable());
	            }
	            throw new IllegalStateException(message);
	        }

	        subject.getPrincipals().clear();
	        subject.getPrincipals().addAll(this.getPrincipals(out));
    	}
@@ -192,17 +206,6 @@ public class UserClient
    	}
    }

    protected void handleThrowable(HttpDownload download)
    {
    	Throwable throwable = download.getThrowable();
        if (throwable != null)
        {
            log.debug("handleThrowable(): throwable (" + download
                    .getResponseCode() + ")", throwable);
            throw new IllegalStateException(throwable.getMessage());
        }
    }
    
    protected URL getURL(Principal principal)
    {
		try