{
#------------------------------------------------------------
# How to handle logins from information bay accounts: chroot to the
# files part of the information bay directory.
#------------------------------------------------------------

    use esmith::AccountsDB;

    $OUT .= "";

    my $adb = esmith::AccountsDB->open_ro();
    foreach my $ibay ($adb->ibays)
    {
	my $key = $ibay->key;
	my %properties = $ibay->props;

	next if ($key eq "Primary");

	my $allow;
	my $pass;
	
	my $access = $ibay->prop('PublicAccess') || 'none';

	if ($access eq 'none')
	{
	    $allow   = '127.0.0.1';
	    $pass    = 1;
	}
	elsif ($access eq 'local')
	{
	    $allow   = $localAccess;
	    $pass    = 0;
	}
	elsif ($access eq 'local-pw')
	{
	    $allow   = $localAccess;
	    $pass    = 1;
	}
	elsif ($access eq 'global')
	{
	    $allow   = 'all';
	    $pass    = 0;
	}
	elsif ($access eq 'global-pw')
	{
	    $allow   = 'all';
	    $pass    = 1;
	}
	elsif ($access eq 'global-pw-remote')
	{
	    $allow   = 'all';
	    $pass    = 1;
	}

	# variables: $allow (IP), $pass (bool)

	if ( ($ftp{DisableAnonymous} || 'no') ne 'yes' &&
	     ($ibay->prop('DisableAnonymous') || 'no') ne 'yes' )
	{
	    $OUT .= "\n";
	    $OUT .= "<Anonymous /home/e-smith/files/ibays/$key/files>\n";
	    $OUT .= "    User $key\n";
	    $OUT .= "    Group $key\n";
	    $OUT .= "    AnonRequirePassword " . ($pass ? "on" : "off") . "\n";
	    $OUT .= "    UseFtpUsers on\n";
	    $OUT .= "    MaxClients 10\n";
	    $OUT .= "    DisplayLogin welcome.msg\n";
	    $OUT .= "    DisplayFirstChdir .message\n";
	    $OUT .= "    <Limit LOGIN>\n";
	    $OUT .= "      Order Allow,Deny\n";
	    $OUT .= "      Allow from $allow\n";
	    $OUT .= "      Deny from all\n";
	    $OUT .= "    </Limit>\n";
	    $OUT .= "    <Directory *>\n";
	    $OUT .= "        <Limit WRITE>\n";
	    $OUT .= "            DenyAll\n";
	    $OUT .= "        </Limit>\n";
	    $OUT .= "    </Directory>\n";
	    $OUT .= "</Anonymous>\n";
	}
    }
}
