Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1024#discussion_r82625392
  
    --- Diff: iocore/net/SSLCertLookup.cc ---
    @@ -160,7 +160,40 @@ ticket_block_alloc(unsigned count)
     
       return ptr;
     }
    +ssl_ticket_key_block *
    +ssl_create_ticket_key_block_buffer(char *ticket_key_data, int 
ticket_key_len)
    +{
    +  ssl_ticket_key_block *keyblock = NULL;
    +  int num_ticket_keys            = ticket_key_len / 
sizeof(ssl_ticket_key_t);
    +  if (num_ticket_keys == 0) {
    +    Error("SSL session ticket key is too short (>= 48 bytes are 
required)");
    +    goto fail;
    +  }
    +
    +  // Increase the stats.
    +  if (ssl_rsb != NULL) { // ssl_rsb is not initialized during the first 
run.
    +    SSL_INCREMENT_DYN_STAT(ssl_total_ticket_keys_renewed_stat);
    +  }
    --- End diff --
    
    Sure, but the single responsibility of this function is to load a ticket 
block. If the caller needs a metric to track how many times it is called, the 
caller should do it. By pushing higher level responsibilities into library 
code, we are breaking the single responsibility principle and making the code 
less reusable and harder to reason about.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to