This folder contains example ACL implementations.

- globus_gridftp_server_acl_log
Simple syncronous implementation that logs the available info for all
authorization requests.  The requests will all return successfully.

- globus_gridftp_server_acl_example
Asynchronous example implementation used for testing. Authorization requests
will randomly return failures.

- globus_gridftp_server_acl_authz_compat
Compatibility module that can be used to maintain support for legacy
globus-authz authorization callouts. x509-based user auth is no longer
supported, but information can be passed to the globus-authz callout via
environment variables. globus-gridftp-server version 17+ will no longer
call globus-authz callouts directly, so this is useful as a bridge before
implementing your callout as an ACL module.


==Building

These implementatons can be built with standard autoconf tools, using steps
similar to the following:

```
cp -a ./globus_gridftp_server_acl_log /build/path
cd /build/path/globus_gridftp_server_acl_log
autoreconf -if
./configure --prefix=/install/path
make clean all && make install
```

Choose appropriate paths for /build/path and /install/path. Run `make install`
with sudo if necessary.  If /install/path is not in the ld library search path,
you will need to set LD_LIBRARY_PATH in globus-gridftp-server configuration in
order to load the module.

You can also run `make dist` after ./configure to produce a distributable
tar package.


==Loading the ACL module

Add configuration to /etc/gridftp.d to set the `acl` parameter, i.e

```
acl log
```
or
```
acl authz_compat
```
