]> git.sur5r.net Git - openldap/commitdiff
use an "unknown" listener name/url when faking connections
authorPierangelo Masarati <ando@openldap.org>
Tue, 11 Mar 2003 18:25:51 +0000 (18:25 +0000)
committerPierangelo Masarati <ando@openldap.org>
Tue, 11 Mar 2003 18:25:51 +0000 (18:25 +0000)
servers/slapd/globals.c
servers/slapd/proto-slap.h
servers/slapd/slapi/slapi_ops.c

index 68eda098a11c14444567ee587fb3c95ff0661b0a..557d8d464de15da519d0e62def5444ae503c8bbe 100644 (file)
@@ -17,4 +17,5 @@
  */
 
 const struct berval slap_empty_bv = { 0, "" };
+const struct berval slap_unknown_bv = { sizeof("unknown") - 1, "unknown" };
 
index 9396fa5e678a83494194cdbca3b6a274c6c6eaac..a3b75fd30570cba0e3965ba4a2ac3dc4b4ffcebe 100644 (file)
@@ -387,8 +387,6 @@ LDAP_SLAPD_F (void) slapd_clr_read LDAP_P((ber_socket_t s, int wake));
 #define dn_match(dn1, dn2)     ( ber_bvcmp((dn1), (dn2)) == 0 )
 #define bvmatch(bv1, bv2)      ( ((bv1)->bv_len == (bv2)->bv_len) && (memcmp((bv1)->bv_val, (bv2)->bv_val, (bv1)->bv_len) == 0) )
 
-LDAP_SLAPD_V( const struct berval ) slap_empty_bv;
-
 LDAP_SLAPD_F (int) dnValidate LDAP_P((
        Syntax *syntax, 
        struct berval *val ));
@@ -548,6 +546,13 @@ LDAP_SLAPD_F (int) test_filter LDAP_P((
        Backend *be, Connection *conn, Operation *op,
        Entry *e, Filter *f ));
 
+/*
+ * globals.c
+ */
+
+LDAP_SLAPD_V( const struct berval ) slap_empty_bv;
+LDAP_SLAPD_V( const struct berval ) slap_unknown_bv;
+
 /*
  * index.c
  */
index 8e59193b4109ed78128a1b76e09c3e5ef86f1c1a..b3fed4b35cdba2381f7cc8e390cc5e3e23947f06 100644 (file)
  */
 
 #include "portable.h"
+//#include "../../../libraries/liblber/lber-int.h"
 #include <slap.h>
+#include <lber_pvt.h>
 #include <slapi.h>
-#include <lber.h>
-#include "../../../libraries/liblber/lber-int.h"
 
+/*
+ * use a fake listener when faking a connection,
+ * so it can be used in ACLs
+ */
+static struct slap_listener slap_unknown_listener = {
+       BER_BVC("unknown"),     /* FIXME: use a URI form? */
+       BER_BVC("UNKNOWN")
+};
 
 int bvptr2obj( struct berval **bvptr, struct berval **bvobj );
 
@@ -184,11 +192,9 @@ fakeConnection(
        c->c_ndn.bv_len = 0;
        c->c_groups = NULL;
 
-       c->c_listener = NULL;
-       c->c_peer_domain.bv_val = NULL;
-       c->c_peer_domain.bv_len = 0;
-       c->c_peer_name.bv_val = NULL;
-       c->c_peer_name.bv_len = 0;
+       c->c_listener = &slap_unknown_listener;
+       ber_dupbv( &c->c_peer_domain, (struct berval *)&slap_unknown_bv );
+       ber_dupbv( &c->c_peer_name, (struct berval *)&slap_unknown_bv );
 
        LDAP_STAILQ_INIT( &c->c_ops );