---
name: "ext_edirectory_userip_acl"
section: "8"
platform: "linux"
package: "squid"
version: "7.7-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ext_edirectory_userip_acl"
---

# ext\_edirectory\_userip\_acl(8)

Squid eDirectory IP Lookup Helper Version 2.0

## NAME

ext\_edirectory\_userip\_acl - Squid eDirectory IP Lookup Helper

Version 2.0

## SYNOPSIS

**ext\_edirectory\_userip\_acl** **\[-h \| --help \| --usage\]**\
 **ext\_edirectory\_userip\_acl** **-H**  host **-p**  port **\[-Z\] \[-P\] \[-v**  LDAP version **\] -b**  basedn **-s**  scope **-D**  binddn **-W**  bindpass **-F**  filter **\[-G\]**

## DESCRIPTION

**ext\_edirectory\_userip\_acl** is an installed binary.

This program has been written in order to solve the problems associated with running the Perl  **squid\_ip\_lookup.pl** as a squid external helper.

The limitations of the Perl script involved memory/cpu utilization, speed, the lack of eDirectory 8.8 support, and IPv6 support.

## OPTIONS

- **-4**

  Force Addresses to be in IPv4 (0.0.0.0 format).

- **-6**

  Force Addresses to be in IPv6 (:: format).

- **-b** *base*

  Specify  **base** DN. For example;  **o=ORG**

- **-d**

  Write debug info to stderr.

- **-D***binddn*

  Specify binding DN. For example;  **cn=squid,o=ORG**

- **-F** *filter*

  Specify LDAP search filter. For example;  **(objectClass=User)**

- **-G**

  Specify if LDAP search group is required. For example;  **groupMembership=**

- **-h \| --help \| --usage**

  Display the binary help and command line syntax info using stderr.

- **-H** *host*

  Specify hostname or IP of server

- **-p** *port*

  Port number.

- **-P**

  Use persistent connections.

- **-t** *seconds*

  Timeout factor for persistent connections. Set to  **0** for never timeout. Default is  **60** seconds.

- **-s** *base\|one\|sub*

  search scope. Defaults to **sub**

-

  **base** object only,

-

  **one** level below the base object or

-

  **sub**tree below the base object

- **-u** *attribute*

  Set userid  **attribute .** Default is **cn**

- **-v** *1\|2\|3*

  Set LDAP  **version**

- **-V**

  Display version information and exit.

- **-W** *password*

  Specify binding  **password**

- **-Z**

  Enable TLS security.

## CONFIGURATION

**external\_acl\_type IPUser %SRC /usr/sbin/ext\_edirectory\_userip\_acl**\
 **acl edirectory\_users\_allowed external IPUser cn=Internet\_Allowed,ou=ORG,o=BASE** **acl edirectory\_users\_denied external IPUser cn=Internet\_Denied,ou=ORG,o=BASE**\
 **http\_access deny edirectory\_users\_denied** **http\_access allow edirectory\_users\_allowed** **http\_access deny all**

In this example, the  **Internet\_Allowed** and  **Internet\_Denied** are Groups that users may be used to control internet access, which can also be stacked against other ACL's. Use of the groups is optional, unless the '-G' option has been passed.  Please note that you need to specify the full LDAP object for this, as shown above.

## KNOWN ISSUES

IPv6 support has yet to be tested in a real IPv6 environment, but the code is in place to read IPv6 networkAddress fields, please attempt this in a TESTING environment first.  Please contact the author regarding IPv6 support development.

There is a known issue regarding Novell's Client for Windows, that is mostly fixed by using version 4.91 SP3+, with the 'Auto-Reconnect' feature not re-populating the networkAddress field in eDirectory.

I have also experienced an issue related to using NetWare 6.5 (SP6 and lower?) and connection licensing. It appears that whenever a server runs low on connection licenses, that it  I sometimes  does not populate the networkAddress fields correctly.

Majority of Proxy Authentication issues can be resolved by having the users'  **reboot** if their networkAddress is not correct, or using  **basic\_ldap\_auth** as a fallback.  Check ConsoleOne, etc to verify their networkAddress fields to troubleshoot.

## AUTHOR

This program was written by *Chad E. Naugle \<chad.naugle@travimp.com\>*

This manual was written by *Chad E. Naugle \<chad.naugle@travimp.com\>* *Amos Jeffries \<amosjeffries@squid-cache.org\>*

## COPYRIGHT

 \* Copyright (C) 1996-2026 The Squid Software Foundation and contributors\
  \*\
  \* Squid software is distributed under GPLv2+ license and includes\
  \* contributions from numerous individuals and organizations.\
  \* Please see the COPYING and CONTRIBUTORS files for details.

This program and documentation is copyright to the authors named above.

Distributed under the GNU General Public License (GNU GPL) version 2 or later (GPLv2+).

## QUESTIONS

Questions on the usage of this program can be sent to the *Squid Users mailing list* \<squid-users@lists.squid-cache.org\>

## REPORTING BUGS

I  **STRONGLY RECOMMEND** using the latest version of the Novell Client in all situations  **before** seeking support!  You may also need to make sure your servers have the latest service packs installed, and that your servers are properly synchronizing partitions.

Bug reports need to be made in English. See https://wiki.squid-cache.org/SquidFaq/BugReporting for details of what you need to include with your bug report.

Report bugs or bug fixes using https://bugs.squid-cache.org/

Report serious security bugs to *Squid Bugs \<squid-bugs@lists.squid-cache.org\>*

Report ideas for new improvements to the *Squid Developers mailing list* \<squid-dev@lists.squid-cache.org\>

## SEE ALSO

[**squid**(8)](/squid/8.md),  [**basic\_ldap\_auth**(8)](/basic_ldap_auth/8.md),  **GPL**(7), \
 The Squid FAQ wiki https://wiki.squid-cache.org/SquidFaq\
 The Squid Configuration Manual http://www.squid-cache.org/Doc/config/
