ext_edirectory_userip_acl.cc
  
Go to the documentation of this file.
   82 #define EDUI_MAXLEN     4096        /* Modified to improve performance, unless HELPER_INPUT_BUFFER exists */
  255  * Breaks down string, splitting out element <char> into <split-object>, and removing it from string.
  306  * Breaks down Binary Block, splitting out element <char> into <split-object>, and removing it from Block, padding remainder with '\0'.
  360     local_printfx("Squid eDirectory IP Lookup Helper %s.  Copyright (C) 2009-2011 Chad E. Naugle\n", EDUI_PROGRAM_VERSION);
  379     local_printfx(" -t <sec>    : Timeout factor for persistent connections.  (Default is 60 sec, set to 0 for never timeout)\n");
  382     local_printfx(" -s <scope>  : Specify LDAP Search Scope (base, one, sub; defaults to 'one').\n");
  447             local_printfx(" Persistent mode idle timeout: %ld\n", static_cast<long int>(edui_conf.persist_timeout));
  795  * Take an IPv4 address in dot-decimal or IPv6 notation, and convert to 2-digit HEX stored in l->search_ip
  910     char bufa[EDUI_MAXLEN], bufb[EDUI_MAXLEN], bufc[EDUI_MAXLEN], bufd[EDUI_MAXLEN], bufg[EDUI_MAXLEN];
  946             const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s)", bufc, bufc);
  951             const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s)", bufc, bufc);
  955         const int x = snprintf(bufa, sizeof(bufa), "(&%s(|(networkAddress=1\\23%s)%s))", edui_conf.search_filter, bufc, bufd);
  969             const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s)", bufc, bufc);
  973             const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s)", bufc, bufc);
  977         const int x = snprintf(bufa, sizeof(bufa), "(&(&%s(groupMembership=%s%s)(|(networkAddress=1\\23%s)%s)))", edui_conf.search_filter, group, bufg, bufc, bufd);
  989  * Initiate LDAP query, under <scope> levels, filtering matches with <filter> and optionally <attrib>
  999     if ((scope < 0) || (filter == nullptr)) return LDAP_ERR_PARAM;     /* If attrs is NULL, then all attrs will return */
 1072         xstrncpy(edui_conf.attrib, "cn", sizeof(edui_conf.attrib));         /* Make sure edui_conf.attrib is set */
 1076     for (ent = ldap_first_entry(l->lp, l->lm); ent != nullptr; ent = ldap_next_entry(l->lp, ent)) {
 1078         ber = ldap_get_values_len(l->lp, ent, edui_conf.attrib);            /* edui_conf.attrib is the <userid> mapping */
 1120 // broken?                        xstrncpy(l->userid, ber[j]->bv_val, min(sizeof(l->userid),static_cast<size_t>(ber[j]->bv_len)));
 1147 // broken?                        xstrncpy(l->userid, ber[j]->bv_val, min(sizeof(l->userid),static_cast<size_t>(ber[j]->bv_len)));
 1174 // broken?                        xstrncpy(l->userid, ber[j]->bv_val, min(sizeof(l->userid),static_cast<size_t>(ber[j]->bv_len)));
 1516         xstrncpy(edui_conf.search_filter, "(&(objectclass=User)(networkAddress=*))", sizeof(edui_conf.search_filter));
 1588         if ((edui_ldap.status & LDAP_PERSIST_S) && (edui_ldap.status & LDAP_IDLE_S) && (edui_ldap.idle_time > edui_conf.persist_timeout)) {
 1616                 local_printfx("BH message=\"(BindLDAP: %s - %s)\"\n", ErrLDAP(x), ldap_err2string(edui_ldap.err));
 1619                 debug("BindLDAP(-, %s, %s, (LDAP_AUTH_TLS)) -> %s\n", edui_conf.dn, edui_conf.passwd, ErrLDAP(x));
 1627                     local_printfx("BH message=\"(BindLDAP: %s - %s)\"\n", ErrLDAP(x), ldap_err2string(edui_ldap.err));
 1630                     debug("BindLDAP(-, %s, %s, (LDAP_AUTH_SIMPLE)) -> %s\n", edui_conf.dn, edui_conf.passwd, ErrLDAP(x));
 1637                     local_printfx("BH message=\"(BindLDAP: %s - %s)\"\n", ErrLDAP(x), ldap_err2string(edui_ldap.err));
 1683                         x = SearchLDAP(&edui_ldap, edui_ldap.scope, edui_ldap.search_filter, (char **) &search_attrib);
 1689                             debug("SearchLDAP(-, %d, %s, -) -> %s\n", edui_conf.scope, edui_ldap.search_filter, ErrLDAP(x));
 1726                     x = SearchLDAP(&edui_ldap, edui_ldap.scope, edui_ldap.search_filter, (char **) &search_attrib);
static int makeHexString(char *dst, const int dstSize, const char *src, const int srcLen)
Definition: ext_edirectory_userip_acl.cc:771
static int BindLDAP(edui_ldap_t *, char *, char *, unsigned int)
Definition: ext_edirectory_userip_acl.cc:657
static int OpenLDAP(edui_ldap_t *, char *, unsigned int)
Definition: ext_edirectory_userip_acl.cc:552
static int BinarySplit(void *, size_t, char, void *, size_t)
Definition: ext_edirectory_userip_acl.cc:311
Definition: ext_edirectory_userip_acl.cc:111
char search_filter[EDUI_MAXLEN]
Definition: ext_edirectory_userip_acl.cc:118
static struct addrinfo * makeIpBinary(const char *src)
Definition: ext_edirectory_userip_acl.cc:744
char search_filter[EDUI_MAXLEN]
Definition: ext_edirectory_userip_acl.cc:168
static int SearchFilterLDAP(edui_ldap_t *, char *)
Definition: ext_edirectory_userip_acl.cc:906
static int StringSplit(char *, char, char *, size_t)
Definition: ext_edirectory_userip_acl.cc:260
static void local_printfx(const char *,...)
Definition: ext_edirectory_userip_acl.cc:218
Definition: ext_edirectory_userip_acl.cc:160
static int SearchLDAP(edui_ldap_t *, int, char *, char **)
Definition: ext_edirectory_userip_acl.cc:994
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products
