Commit af6171af authored by Robert Butora's avatar Robert Butora
Browse files

all: set logging levels

parent 50515931
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ public class AuthPolicy

      access = Access.PUBLIC_AND_AUTHORIZED_PRIVATE;

      LOGGER.info("User [Groups]: " + userName + " [ " + String.join(" ", userGroups) + " ]" );
      LOGGER.finer("User [Groups]: " + userName + " [ " + String.join(" ", userGroups) + " ]" );
   }


@@ -67,7 +67,7 @@ public class AuthPolicy
         userName = null;
         userGroups = null;
         userGroupsValid = false;
         LOGGER.info("Non authenticated request (UserPrincipal null in HttpServletRequest)");
         LOGGER.finer("Non authenticated request (UserPrincipal null in HttpServletRequest)");
      }
      else
      {
@@ -81,12 +81,12 @@ public class AuthPolicy

            access = Access.PUBLIC_AND_AUTHORIZED_PRIVATE;

            LOGGER.info("User [Groups]: " + userName + " [ " + String.join(" ", userGroups) + " ]" );
            LOGGER.finer("User [Groups]: " + userName + " [ " + String.join(" ", userGroups) + " ]" );
         }
         else
         {
            userName = principal.getName();
            LOGGER.info("DBG principal not instance of VlkbUser, but has user-name: " + userName);
            LOGGER.finer("DBG principal not instance of VlkbUser, but has user-name: " + userName);
            userGroups = new String[]{""};//{"VLKB.groupA", "AllPrivate"}; // was for shiro
            userGroupsValid = true;
            access = Access.PUBLIC_AND_AUTHORIZED_PRIVATE;
@@ -163,13 +163,13 @@ public class AuthPolicy
      this.dbUserName = dbUserName;
      this.dbPassword = dbPassword;

      LOGGER.info("with String[] trace");
      LOGGER.finer("with String[] trace");
      return filterAuthorized(new ArrayList<String>(Arrays.asList(pubdidArr)), dbConnUrl);
   }

   private String[] filterAuthorized(ArrayList<String> pubdidList, String dbConnUrl)
   {
      //LOGGER.info("with List <String> trace");
      //LOGGER.fine("with List <String> trace");
      switch(access)
      {
         case PUBLIC_ONLY :
@@ -189,25 +189,25 @@ public class AuthPolicy

   private void filterNotPublic(ArrayList<String> pubdids, String dbConnUrl)
   {
      LOGGER.info("trace");
      LOGGER.fine("trace");
      assert pubdids != null;
      //LOGGER.info("PublisherDID list original : " + String.join(" ", pubdids));
      //LOGGER.finer("PublisherDID list original : " + String.join(" ", pubdids));

      List<AuthPolicyDb.PubdidGroups> privateUniqPubdids = db_queryPrivateUniqPubdidGroups(dbConnUrl, pubdids);
      List<String> notAuthorizedUniqPubdids = pubdidsNotPublic(privateUniqPubdids, userGroups);

      LOGGER.info("AuthZ removes: " + String.join(" ", notAuthorizedUniqPubdids));
      LOGGER.finest("AuthZ removes: " + String.join(" ", notAuthorizedUniqPubdids));

      removeNotAuthorized(pubdids, notAuthorizedUniqPubdids);

      //LOGGER.info("PublisherDID list filtered : " + (pubdids.isEmpty() ? "" : String.join(" ", pubdids)));
      //LOGGER.finest("PublisherDID list filtered : " + (pubdids.isEmpty() ? "" : String.join(" ", pubdids)));
   }


   private List<String> pubdidsNotPublic(List<AuthPolicyDb.PubdidGroups> pubdidList, String[] userGroups)
   {
      LOGGER.info("trace");
      //LOGGER.info("userGroups: " + String.join(" ",userGroups));
      LOGGER.fine("trace");
      //LOGGER.finer("userGroups: " + String.join(" ",userGroups));

      List<String> pubdidsNotAuthorizedList = new LinkedList<String>();
      ListIterator<AuthPolicyDb.PubdidGroups> it = pubdidList.listIterator();
@@ -216,7 +216,7 @@ public class AuthPolicy
      {
         AuthPolicyDb.PubdidGroups pubdidGroups = it.next();

         //LOGGER.info(pubdidGroups.pubdid + " : " + String.join(" ",pubdidGroups.groups));
         //LOGGER.finest(pubdidGroups.pubdid + " : " + String.join(" ",pubdidGroups.groups));

         if( true )// isIntersectionEmpty(pubdidGroups.groups, userGroups) )
         {
@@ -231,18 +231,18 @@ public class AuthPolicy

   private void filterNotAuthorized(ArrayList<String> pubdids, String dbConnUrl)
   {
      LOGGER.info("trace");
      LOGGER.fine("trace");
      assert pubdids != null;
      //LOGGER.info("PublisherDID list original : " + String.join(" ", pubdids));
      //LOGGER.finer("PublisherDID list original : " + String.join(" ", pubdids));

      List<AuthPolicyDb.PubdidGroups> privateUniqPubdids = db_queryPrivateUniqPubdidGroups(dbConnUrl, pubdids);
      List<String> notAuthorizedUniqPubdids = pubdidsNotAuthorized(privateUniqPubdids, userGroups);

      LOGGER.info("AuthZ removes: " + String.join(" ", notAuthorizedUniqPubdids));
      LOGGER.finest("AuthZ removes: " + String.join(" ", notAuthorizedUniqPubdids));

      removeNotAuthorized(pubdids, notAuthorizedUniqPubdids);

      //LOGGER.info("PublisherDID list filtered : " + (pubdids.isEmpty() ? "" : String.join(" ", pubdids)));
      //LOGGER.finest("PublisherDID list filtered : " + (pubdids.isEmpty() ? "" : String.join(" ", pubdids)));
   }


@@ -296,8 +296,8 @@ public class AuthPolicy

   private List<String> pubdidsNotAuthorized(List<AuthPolicyDb.PubdidGroups> pubdidList, String[] userGroups)
   {
      LOGGER.info("trace");
      //LOGGER.info("userGroups: " + String.join(" ",userGroups));
      LOGGER.fine("trace");
      //LOGGER.finer("userGroups: " + String.join(" ",userGroups));

      List<String> pubdidsNotAuthorizedList = new LinkedList<String>();
      ListIterator<AuthPolicyDb.PubdidGroups> it = pubdidList.listIterator();
@@ -306,7 +306,7 @@ public class AuthPolicy
      {
         AuthPolicyDb.PubdidGroups pubdidGroups = it.next();

         //LOGGER.info(pubdidGroups.pubdid + " : " + String.join(" ",pubdidGroups.groups));
         //LOGGER.finest(pubdidGroups.pubdid + " : " + String.join(" ",pubdidGroups.groups));

         if( isIntersectionEmpty(pubdidGroups.groups, userGroups) )
         {
+14 −15
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ public class AuthPolicyDb
      //String TheQuery = "SELECT obs_publisher_did,groups FROM permissions "
      //   + "WHERE (obs_publisher_did IN (\'"+commaSepObscorePubdids+"\'));";

      //LOGGER.info(TheQuery);
      //LOGGER.finest(TheQuery);

      List<PubdidGroups> pubdidGroups = new LinkedList<PubdidGroups>();
      try
@@ -134,7 +134,7 @@ public class AuthPolicyDb
      }
      catch (ClassNotFoundException e)
      {
         LOGGER.info("DB driver "+ DB_DRIVER +" not found: " + e.getMessage());
         LOGGER.severe("DB driver "+ DB_DRIVER +" not found: " + e.getMessage());
         e.printStackTrace();
      }
      finally
@@ -148,21 +148,21 @@ public class AuthPolicyDb

   private void closeAll()
   {
         if(res  != null ) try { res.close(); } catch(Exception e) {LOGGER.info("DB ResultSet::close() failed");}
         if(st   != null ) try { st.close();  } catch(Exception e) {LOGGER.info("DB Statement::close() failed");}
         if(conn != null ) try { conn.close();} catch(Exception e) {LOGGER.info("DB Connection::close() failed");} 
         if(res  != null ) try { res.close(); } catch(Exception e) {LOGGER.severe("DB ResultSet::close() failed");}
         if(st   != null ) try { st.close();  } catch(Exception e) {LOGGER.severe("DB Statement::close() failed");}
         if(conn != null ) try { conn.close();} catch(Exception e) {LOGGER.severe("DB Connection::close() failed");} 
  }

   private void logSqlExInfo(SQLException se){

      /* dbconn.print_class_vars(); */

      System.err.println("SQLState : " + se.getSQLState());
      System.err.println("ErrorCode: " + se.getErrorCode());
      System.err.println("Message  : " + se.getMessage());
      LOGGER.severe("SQLState : " + se.getSQLState());
      LOGGER.severe("ErrorCode: " + se.getErrorCode());
      LOGGER.severe("Message  : " + se.getMessage());
      Throwable t = se.getCause();
      while(t != null) {
         System.err.println("Cause: " + t);
         LOGGER.severe("Cause: " + t);
         t = t.getCause();
      }
   }
@@ -184,8 +184,7 @@ public class AuthPolicyDb
         DriverManager.registerDriver(new org.postgresql.Driver());
         */

      /*LOGGER.info(getClasspathString());*/
      LOGGER.info(getRegisteredDriverList());
      LOGGER.finest(getRegisteredDriverList());

      // FIXME seems DriverManager expects jdbc:postgresql driver scheme, it does not support postgresql:// scheme
      // additionally:
@@ -195,7 +194,7 @@ public class AuthPolicyDb
      // by extracting userName and password from the URL-string and prepending 'jdbc:'
      // 

      /*         LOGGER.info("DBMS URL: " + dbConnUrl);
      /*         LOGGER.finest("DBMS URL: " + dbConnUrl);
                 URI dbConnUri = new URI(dbConnUrl);

                 String userInfoString = dbConnUri.getUserInfo(); 
@@ -210,9 +209,9 @@ public class AuthPolicyDb
                 String password = userInfo[1];

                 String dbConnJdbcUrl = "jdbc:" + dbConnUrl.replace(userInfoString + "@", "");
                 */       LOGGER.info("DBMS URL: " + dbConnUrl);
      LOGGER.info("DBMS userName: " + dbUserName);
      LOGGER.info("DBMS password: " + dbPassword);
                 */       LOGGER.finest("DBMS URL: " + dbConnUrl);
      LOGGER.finest("DBMS userName: " + dbUserName);
      LOGGER.finest("DBMS password: " + dbPassword);

      conn = DriverManager.getConnection(dbConnUrl, dbUserName, dbPassword);

+5 −5
Original line number Diff line number Diff line
@@ -21,25 +21,25 @@ import java.security.Principal;

public class IA2TokenConvFilter implements Filter
{
  private static final Logger LOGGER = Logger.getLogger("IA2TokenConvFilter");
  private static final Logger LOGGER = Logger.getLogger(IA2TokenConvFilter.class.getName());

   @Override
   public void init(FilterConfig fc) throws ServletException
   {
      LOGGER.info("trace");
      LOGGER.fine("trace");
   }

   @Override
   public void destroy()
   {
      LOGGER.info("trace");
      LOGGER.fine("trace");
   }

   @Override
   public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
                   throws IOException, ServletException
   {
      LOGGER.info("trace");
      LOGGER.fine("trace");

        HttpServletRequest  request  = (HttpServletRequest)  req;
        HttpServletResponse response = (HttpServletResponse) res;
@@ -47,7 +47,7 @@ public class IA2TokenConvFilter implements Filter
        String authHeader = request.getHeader("Authorization");
        if (authHeader != null)
        {
            LOGGER.info("Authorization header: " + authHeader.substring(0, 7+60) + " ...");
            LOGGER.finer("Authorization header: " + authHeader.substring(0, 7+60) + " ...");
            if (authHeader.startsWith("Bearer "))
            {

+6 −6
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ public class IamSigningKeyResolver extends SigningKeyResolverAdapter
   @Override
   public Key resolveSigningKey(JwsHeader jwsHeader, Claims claims)
   {
      LOGGER.info( "IamSigningKeyResolver::resolveSigningKey" );
      LOGGER.fine( "trace" );

      //inspect the header or claims, lookup and return the signing key

@@ -83,7 +83,7 @@ public class IamSigningKeyResolver extends SigningKeyResolverAdapter
   private Key lookupVerificationKey(String keyId)
         throws Exception, GeneralSecurityException
      {
         LOGGER.info( "IamSigningKeyResolver::lookupVerificationKey" );
         LOGGER.fine( "trace" );

         String jsonKeys = doHttps();

@@ -95,7 +95,7 @@ public class IamSigningKeyResolver extends SigningKeyResolverAdapter

   private String doHttps() throws Exception
   {
      LOGGER.info("doHttps : " + keysURL);
      LOGGER.fine("trace keysURL : " + keysURL);

      URL myUrl = new URL(keysURL);
      HttpsURLConnection conn = (HttpsURLConnection)myUrl.openConnection();
@@ -118,7 +118,7 @@ public class IamSigningKeyResolver extends SigningKeyResolverAdapter
   private Key getKeyFromKeys(String jsonKeys, String keyId)
         throws JsonProcessingException, GeneralSecurityException, IOException
      {
         LOGGER.info( "IamSigningKeyResolver::getKeyFromKeys");
         LOGGER.fine( "trace" );

         Key key = null;

@@ -131,13 +131,13 @@ public class IamSigningKeyResolver extends SigningKeyResolverAdapter
            {
               String nodeContent = mapper.writeValueAsString(node);

               LOGGER.info("key: " + nodeContent);
               LOGGER.finest("key: " + nodeContent);

               Jwk<?> jwk = Jwks.parser().build().parse(nodeContent);

               String jwkkid = jwk.getId();

               LOGGER.info("kid-token : " + keyId + "kid-store : " + jwkkid + " key-type: " + jwk.getType());
               LOGGER.finest("kid-token : " + keyId + "kid-store : " + jwkkid + " key-type: " + jwk.getType());

               if(keyId.equals(jwkkid))
               {
+21 −19
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ import javax.servlet.ServletOutputStream;

public class IamTokenFilter implements Filter
{
   private static final Logger LOGGER = Logger.getLogger("IamTokenFilter");
   private static final Logger LOGGER = Logger.getLogger(IamTokenFilter.class.getName());
   private static final IamTokenSettings settings = IamTokenSettings.getInstance();

   final String RESPONSE_ENCODING = "utf-8";
@@ -64,7 +64,7 @@ public class IamTokenFilter implements Filter
      if(authHeader==null)
      {
         final String AUTH_ERR = "Request without Authorization header. Only authenticated requests allowed.";
         LOGGER.info(AUTH_ERR);
         LOGGER.warning(AUTH_ERR);
         sendAuthenticationError((HttpServletResponse)resp, writer, AUTH_ERR);
      }
      else
@@ -73,7 +73,7 @@ public class IamTokenFilter implements Filter

         if (authHeader.startsWith("Bearer ") && (authHeader.length() > "Bearer ".length()))
         {
            LOGGER.info("Request with Authorization header and has Bearer entry");
            LOGGER.warning("Request with Authorization header and has Bearer entry");
            String token = authHeader.substring("Bearer ".length()).trim();

            doFilterBearer(req, token, resp, chain);
@@ -82,7 +82,7 @@ public class IamTokenFilter implements Filter
         {
            final String AUTH_ERR = "Authorization header with Bearer-token expected, but it starts with : "
               + authHeader.substring(0, "Bearer ".length()) + "...";
            LOGGER.info(AUTH_ERR);
            LOGGER.warning(AUTH_ERR);
            sendUsageError((HttpServletResponse)resp, writer, AUTH_ERR);
         }
      }
@@ -94,6 +94,8 @@ public class IamTokenFilter implements Filter
   private void doFilterBearer(ServletRequest req, String token, ServletResponse resp, FilterChain chain)
         throws IOException, ServletException
      {
         LOGGER.fine("trace");

         HttpServletRequest  request  = (HttpServletRequest) req;
         HttpServletResponse response = (HttpServletResponse)resp;

@@ -112,42 +114,42 @@ public class IamTokenFilter implements Filter
               String ivoidPath = ivoid.getLocalPart();
               String tokenPath = insResp.getPathFromStorageReadScope();

               LOGGER.info("Path from IVOID: " + ivoidPath);
               LOGGER.info("Path from token: " + tokenPath);
               LOGGER.finest("Path from IVOID: " + ivoidPath);
               LOGGER.finest("Path from token: " + tokenPath);

               if(tokenPath.endsWith(ivoidPath))
               {
                  LOGGER.info("Access authorized.");
                  LOGGER.finest("Access authorized.");
                  chain.doFilter(request, response);
               }
               else
               {
                  final String AUTH_ERR = "Bearer token does not authorize access to : " + ivoidPath;
                  LOGGER.info(AUTH_ERR);
                  LOGGER.finer(AUTH_ERR);
                  sendAuthorizationError(response, writer, AUTH_ERR);
               }
            }
            else
            {
               final String AUTH_ERR = "Bearer-token is inactive.";
               LOGGER.info(AUTH_ERR);
               LOGGER.finer(AUTH_ERR);
               sendAuthorizationError(response, writer, AUTH_ERR);
            }

         }
         catch(IndexOutOfBoundsException ex)
         {
            LOGGER.info("IndexOutOfBoundsException: " + ex.getMessage());
            LOGGER.warning("IndexOutOfBoundsException: " + ex.getMessage());
            sendUsageError(response, writer, ex.getMessage());
         }
         catch(IllegalArgumentException ex)
         {
            LOGGER.info("IllegalArgumentException: " + ex.getMessage());
            LOGGER.warning("IllegalArgumentException: " + ex.getMessage());
            sendUsageError(response, writer, ex.getMessage());
         }
         catch(Exception ex)
         {
            LOGGER.info("Exception: " + ex.getMessage());
            LOGGER.severe("Exception: " + ex.getMessage());
            ex.printStackTrace();
            sendError(response, writer, ex.toString());
         }
@@ -240,9 +242,9 @@ public class IamTokenFilter implements Filter

     String  qString = request.getQueryString();
     if(qString == null)
     LOGGER.info(request.getRequestURL().toString());
     LOGGER.finest(request.getRequestURL().toString());
     else
     LOGGER.info(request.getRequestURL() + "    " + qString);
     LOGGER.finest(request.getRequestURL() + "    " + qString);

     String authHeader = request.getHeader("Authorization");
     if (authHeader == null)
@@ -255,7 +257,7 @@ public class IamTokenFilter implements Filter
     }
     else
     {
     LOGGER.info("Request without Authorization header, no Principal added");
     LOGGER.finest("Request without Authorization header, no Principal added");
     response.sendError(HttpServletResponse.SC_BAD_REQUEST,
     "No Authorization in HTTP-header. Only authorized requests allowed.");
     }
@@ -266,7 +268,7 @@ public class IamTokenFilter implements Filter

     if (authHeader.startsWith("Bearer ") && (authHeader.length() > "Bearer ".length()))
     {
     LOGGER.info("Request with Authorization header and has Bearer entry");
     LOGGER.finest("Request with Authorization header and has Bearer entry");

     String jws = authHeader.substring("Bearer ".length());

@@ -345,7 +347,7 @@ public class IamTokenFilter implements Filter

   Claims claims = jws.getBody();

   LOGGER.info("scope: " + (String)claims.get("scope"));
   LOGGER.finest("scope: " + (String)claims.get("scope"));

   List<String> scopes = parseScopes(claims);

@@ -359,11 +361,11 @@ public class IamTokenFilter implements Filter
   }
   }

   LOGGER.info("storage.read: " + storageReadScope);
   LOGGER.finest("storage.read: " + storageReadScope);

   String path = storageReadScope.substring(storageReadScope.lastIndexOf(":") + 1);

   LOGGER.info("path: " + path);
   LOGGER.finest("path: " + path);

   // set User/Principal

Loading