Back to index

openldap  2.4.31
Functions | Variables
network.c File Reference
#include "nssov.h"
#include <ac/socket.h>

Go to the source code of this file.

Functions

 NSSOV_CBPRIV (network, char buf[1024];struct berval name;struct berval addr;)
static int write_network (nssov_network_cbp *cbp, Entry *entry)
 NSSOV_HANDLE (NSSOV_HANDLE(network, byname)
 READ_ADDRESS (fp, addr, len, af)
 if (inet_ntop(af, addr, cbp.buf, sizeof(cbp.buf))==NULL)
 Debug (LDAP_DEBUG_TRACE,"nslcd_network_byaddr(%s)\n", cbp.addr.bv_val, 0, 0)
 nssov_filter_byid (cbp.mi, 1,&cbp.addr,&filter)) NSSOV_HANDLE(network
 Debug (LDAP_DEBUG_TRACE,"nssov_network_all()\n", 0, 0, 0)

Variables

static struct berval = BER_BVC("(objectClass=ipNetwork)")
filter bv_val = fbuf
BER_BVZEROcbp
cbp addr bv_len = strlen(cbp.buf)
 NSLCD_ACTION_NETWORK_BYADDR
 all
 NSLCD_ACTION_NETWORK_ALL
 filter = cbp.mi->mi_filter

Function Documentation

Debug ( LDAP_DEBUG_TRACE  ,
"nslcd_network_byaddr(%s)\n ,
cbp.addr.  bv_val,
,
 
)
Debug ( LDAP_DEBUG_TRACE  ,
"nssov_network_all()\n ,
,
,
 
)
if ( inet_ntop(af, addr, cbp.buf, sizeof(cbp.buf))  = =NULL)

Definition at line 140 of file network.c.

       {
              Debug(LDAP_DEBUG_ANY,"nssov: unable to convert address to string\n",0,0,0);
              return -1;
       }
NSSOV_CBPRIV ( network  ,
char buf;struct berval name;struct berval addr [1024] 
)
nssov_filter_byid ( cbp.  mi,
,
&cbp.  addr,
filter 
)
NSSOV_HANDLE ( NSSOV_HANDLE network,
byname   
)

Definition at line 115 of file network.c.

                              {sizeof(fbuf)};
       filter.bv_val = fbuf;
       BER_BVZERO(&cbp.addr);
       READ_STRING(fp,cbp.buf);
       cbp.name.bv_len = tmpint32;
       cbp.name.bv_val = cbp.buf;,
       Debug(LDAP_DEBUG_TRACE,"nssov_network_byname(%s)\n",cbp.name.bv_val,0,0);,
       NSLCD_ACTION_NETWORK_BYNAME,
       nssov_filter_byname(cbp.mi,0,&cbp.name,&filter)
)

NSSOV_HANDLE(
       network,byaddr,
       int af;
       char addr[64];
       int len=sizeof(addr);
       char fbuf[1024];
       struct berval filter = {sizeof(fbuf)};

Here is the call graph for this function:

READ_ADDRESS ( fp  ,
addr  ,
len  ,
af   
)
static int write_network ( nssov_network_cbp *  cbp,
Entry entry 
) [static]

Definition at line 51 of file network.c.

{
       int32_t tmpint32,tmp2int32,tmp3int32;
       int numaddr,i,numname,dupname;
       struct berval name, *names, *addrs;
       Attribute *a;

       /* get the most canonical name */
       nssov_find_rdnval( &entry->e_nname, cbp->mi->mi_attrs[0].an_desc, &name);
       /* get the other names for the network */
       a = attr_find( entry->e_attrs, cbp->mi->mi_attrs[0].an_desc );
       if ( !a || !a->a_vals )
       {
              Debug(LDAP_DEBUG_ANY,"network entry %s does not contain %s value\n",
                     entry->e_name.bv_val,cbp->mi->mi_attrs[0].an_desc->ad_cname.bv_val,0);
              return 0;
       }
       names = a->a_vals;
       numname = a->a_numvals;
       /* if the name is not yet found, get the first entry from names */
       if (BER_BVISNULL(&name)) {
              name=names[0];
              dupname = 0;
       } else {
              dupname = -1;
        for (i=0; i<numname; i++) {
            if ( bvmatch(&name, &a->a_nvals[i])) {
                dupname = i;
                break;
            }
        }
       }
       /* get the addresses */
       a = attr_find( entry->e_attrs, cbp->mi->mi_attrs[1].an_desc );
       if ( !a || !a->a_vals )
       {
              Debug(LDAP_DEBUG_ANY,"network entry %s does not contain %s value\n",
                     entry->e_name.bv_val, cbp->mi->mi_attrs[1].an_desc->ad_cname.bv_val, 0 );
              return 0;
       }
       addrs = a->a_vals;
       numaddr = a->a_numvals;
       /* write the entry */
       WRITE_INT32(cbp->fp,NSLCD_RESULT_BEGIN);
       WRITE_BERVAL(cbp->fp,&name);
       if ( dupname >= 0 ) {
              WRITE_INT32(cbp->fp,numname-1);
       } else {
              WRITE_INT32(cbp->fp,numname);
       }
       for (i=0;i<numname;i++) {
              if (i == dupname) continue;
              WRITE_BERVAL(cbp->fp,&names[i]);
       }
       WRITE_INT32(cbp->fp,numaddr);
       for (i=0;i<numaddr;i++)
       {
              WRITE_ADDRESS(cbp->fp,&addrs[i]);
       }
       return 0;
}

Here is the call graph for this function:


Variable Documentation

all

Definition at line 153 of file network.c.

static struct berval = BER_BVC("(objectClass=ipNetwork)") [static]

Definition at line 34 of file network.c.

cbp addr bv_len = strlen(cbp.buf)

Definition at line 146 of file network.c.

Definition at line 136 of file network.c.

Definition at line 137 of file network.c.

filter = cbp.mi->mi_filter

Definition at line 160 of file network.c.

Definition at line 158 of file network.c.

Definition at line 147 of file network.c.