]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
ITS#8719 add crypt_r() support
[openldap] / servers / slapd / slap.h
index c9c7007148b3bd3a9e1d084606f544ea1d325ef8..e401650a868889ade5d835c73487df28698cba27 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2015 The OpenLDAP Foundation.
+ * Copyright 1998-2017 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -979,6 +979,9 @@ struct slap_internal_schema {
        AttributeDescription *si_ad_description;
        AttributeDescription *si_ad_seeAlso;
 
+       /* privateKeys */
+       AttributeDescription *si_ad_x509PrivateKey;
+
        /* Undefined Attribute Type */
        AttributeType   *si_at_undefined;
 
@@ -1167,10 +1170,11 @@ struct Attribute {
 #define SLAP_ATTR_DONT_FREE_DATA       0x4U
 #define SLAP_ATTR_DONT_FREE_VALS       0x8U
 #define        SLAP_ATTR_SORTED_VALS           0x10U   /* values are sorted */
+#define        SLAP_ATTR_BIG_MULTI             0x20U   /* for backends */
 
 /* These flags persist across an attr_dup() */
 #define        SLAP_ATTR_PERSISTENT_FLAGS \
-       SLAP_ATTR_SORTED_VALS
+       (SLAP_ATTR_SORTED_VALS|SLAP_ATTR_BIG_MULTI)
 
        Attribute               *a_next;
 #ifdef LDAP_COMP_MATCH
@@ -2396,8 +2400,8 @@ typedef struct slap_callback {
        struct slap_callback *sc_next;
        slap_response *sc_response;
        slap_response *sc_cleanup;
-       slap_writewait *sc_writewait;
        void *sc_private;
+       slap_writewait *sc_writewait;
 } slap_callback;
 
 struct slap_overinfo;
@@ -2624,6 +2628,8 @@ struct Operation {
        ber_tag_t       o_tag;          /* tag of the request */
        time_t          o_time;         /* time op was initiated */
        int                     o_tincr;        /* counter for multiple ops with same o_time */
+       int                     o_tusec;        /* microsecond timestamp */
+       struct timeval o_qtime; /* time spent in queues before execution */
 
        BackendDB       *o_bd;  /* backend DB processing this op */
        struct berval   o_req_dn;       /* DN of target of request */