AFS

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

 * Two of the hash key names returned by the VLDB method "listaddrs" have
   changed in version 2.4.1 (see POD doku AFS::VLDB)
 * This release does not support any features and interfaces from
   AFSPerl "version 1"

 User-visible changes:
 * compiles with OpenAFS system libraries version 1.4.12
 * fixed method AFS::VLDB->listvldb: fixed segmentation error
 * improved Makefile.PL script for Perl 5.10.0 and "threaded PIC" libraries
 * updated example scripts for the modules AFS::VLDB and AFS::VOS
 * improved test drivers for the modules AFS::VLDB and AFS::VOS;


 Developer-visible changes:
 * convertet all VERSION variables to "dotted decimal version" with leading "v"
 * changed argument type from "int" to "string" for method AFS::VLDB->removeaddr



Version 2.6.1 (released 17 Nov 2008, revision 906)
http://www.mpa-garching.mpg.de/~nog/perl/AFS-2.6.1.tar.gz

CHANGES  view on Meta::CPAN

   changed in version 2.4.1 (see POD doku AFS::VLDB)
 * This release does not support any features and interfaces from
   AFSPerl "version 1"

 User-visible changes:
 * compiles now with Perl 5.10.0
 * HTML documentation updated in order to include cross-references


 Developer-visible changes:
 * runs some tests only for module author
 * recognizes "automated tests" from CPAN testers



Version 2.4.1 (released 23 Oct 2008, revision 836/863)
http://www.mpa-garching.mpg.de/~nog/perl/AFS-2.4.1.tar.gz

 NOTICE:
 * This release does not support AFS system libraries version 3.4 or
   version 3.5
 * Two of the hash key names returned by the VLDB method "listaddrs" have
   changed (see POD doku AFS::VLDB)

 User-visible changes:
 * improved several test drivers;
 * updated example scripts for the modules AFS:VOS, AFS::VLDB,
   AFS::Cell, AFS::CM, AFS::FS, AFS::BOS, and AFS::KTC_EKEY
 * improved POD documentation for AFS::FS and AFS
 * POD documentation gets installed automatically
 * fixed method AFS::VLDB->listaddrs: lists now all servers
 * fixed method AFS::VOS->listvol: returns correct name and volid when
   volume is busy
 * fixed method AFS::VOS->listvldb: returns proper "release" strings
 * improved error messages when OpenAFS configuration files are missing
 * compiles now with OpenAFS system libraries newer than 1.4.4

CHANGES  view on Meta::CPAN

Version 2.4.0 (released 20 Feb 2006, revision 777)

 NOTICE:
 * This release does not support AFS system libraries version 3.4 or
   version 3.5

 User-visible changes:
 * implementation of most commands of the BOS command suite
 * POD documentation for the module AFS::BOS
 * compiles now with OpenAFS 1.4 system libraries
 * improved several test drivers;
 * fixed method AFS::VOS->listvolume: returns volume name when
   volume id number is given
 * patched function fs_getquota
 * improved POD documentation for AFS::VOS


 Developer-visible changes:
 * all unit test drivers are now using Test::More
 * modified the computing of the VERSION numbers
 * added dummy function "GetUInt32"
 * modified internal function set_code



Version 2.2.3 (released 17 Feb 2005, revision 679)

 NOTICE:
 * This release does not support AFS system libraries version 3.4 or

CHANGES  view on Meta::CPAN


Version 2.2.2 (released 07 May 2004, revision 627)

 NOTICE:
 * This release does not support AFS system libraries version 3.4 or
   version 3.5
 * This release does ONLY work with Perl "unthreaded" versions (this
   is true for all versions 2.2.X)

 User-visible changes:
 * improved most test drivers;
 * included checks for Perl "unthreaded" version;


 Developer-visible changes:
 * modified AFS.xs function "isafs": patched error handling




Version 2.2.1 (released 09 March 2004, revision 594)

CHANGES  view on Meta::CPAN

 * implementation of the VOS command suite
 * POD documentation for the modules AFS::VLDB and AFS::VOS
 * changed VERSION numbering schema.  Beginning with version 2.2.0,
   the version number convention has been changed to a "dotted
   integer" scheme that is more commonly found in open source
   projects.  Maintenance versions of v2.2.0 will be released as
   v2.2.1, v2,2.2 etc.  The next development series following v2.2.0
   will be numbered v2.3.x, beginning with v2.3.0, and the next major
   production release following v2.2.0 will be v2.4.0.
 * improved Makefile.PL script
 * improved several test drivers by generalizing test cases.
 * extended POD documentation for AFS::CM; now enumerates the hash key
   names for the C structure "VolumeStatus".
 * support for the CM function 'getvolstats'
 * fixed kas->getentry method because the returned values for the
   packed variable were wrong


 Developer-visible changes:
 * rewrite of the DESTROY function for KAS and PTS
 * changed memcpy and bcopy to Copy for most XS functions

CHANGES  view on Meta::CPAN




Version 2.04 (never released, revision 297)

 User-visible changes:
 * fixed function "constant"


 Developer-visible changes:
 * switched test drivers to Test::More
 * rewrite of several test drivers
   ACL.t, CM.t, Cell.t, FS.t, Utils.t
 * VERSION variable now under SVN control
 * fixed function AUTOLOAD



Version 2.03 (released 15 October 2002, revision 230)

 User-visible changes:
 * Makefile.PL

CHANGES  view on Meta::CPAN





Version 1.11 (released 6 December 2001, revision 80)

 User-visible changes:
 * major rewrite of the Make.PL script
 * patched functions lsmount, rmmount (the values of an input argument
   got corrupted)
 * improved test driver for module AFS.pm
 * updated README

 Developer-visible changes:
 * ACL->length, ACL->nlength, ACL->keys, ACL->nkeys:
   keyword "keys" changed to CORE::keys


Version 1.10 (released 24 July 2001, revision 71)

 User-visible changes:

INSTALL  view on Meta::CPAN


This is the INSTALL file for the Perl extension module AFS (Version v2.6.3)
for the OpenAFS 32-bit version

README
    Read the README file first.


AVAILABILITY
    The latest version of the AFS module bundle is currently available at

        http://www.MPA-Garching.MPG.de/~nog/perl/AFS-<version>.tar.gz
        http://www.cpan.org/authors/id/N/NO/NOG/AFS-<version>.tar.gz


RECOMMENDATIONS
    It is highly recommended to place the installation directory in
    the AFS file system.  Otherwise most of the test cases
    ('make test') are skipped.


REQUIREMENTS
    Before you can build the AFS module bundle you need to have the
    following installed on your system:

        * Perl v5.10.0 or newer
        * C compiler
        * OpenAFS system libraries 32-bit version

INSTALL  view on Meta::CPAN

    Building the modules is straightforward. The AFS module bundle is
    distributed as a single gzipped tar archive file:

            AFS-<version>.tar.gz

    Unpack the archive to create an AFS installation directory:

        gunzip AFS-<version>.tar.gz
        tar xvf AFS-<version>.tar

    'cd' into that directory, make, test and install the modules.

    You have to specify the location of the AFS system
    libraries. While running the 'perl Makefile.PL' step you will be
    prompted for the location of the AFS system libraries.  If you
    want to avoid that query, you should specify the environment
    variable 'AFSPATH' before you start [1].

    If your AFS system type is not yet known by the make file because
    you can't run the "fs sysname" command, you can specify the
    environment variable 'AFS_SYSNAME' before you start [2].

INSTALL  view on Meta::CPAN

        setenv AFSPATH 'path_to_the_AFS_system_libraries' # tcsh-shell
        export AFSPATH='path_to_the_AFS_system_libraries' # sh-shell

        [2] this step is optional
        setenv AFS_SYSNAME 'AFS_system_type'              # tcsh-shell
        export AFS_SYSNAME 'AFS_system_type'              # sh-shell

        perl Makefile.PL
             ---->  Which AFS system libraries should be used? [/usr/afsws]
        make
        make test
        make install
        make html   ;#(if you want to get the HTML documentation, see also next section)


PLATFORMS
    In the meantime I have only access to Linux machines. Therefore I
    have tested this version of the AFS module bundle only on the Linux
    platform with the following combinations

        OS             @sys         compiler    OpenAFS    Perl   (threaded/non-threaded)
        ---------------------------------------------------------------------------------
        Linux 32-bit   i386_linux26   gcc       1.4.10     5.10.0  non-threaded
                       i386_linux26   gcc       1.4.12     5.10.0  non-threaded
                       i386_linux26   gcc       1.4.14     5.10.0  non-threaded

                       i386_linux26   gcc       1.4.10     5.12.4  non-threaded
                       i386_linux26   gcc       1.4.12     5.12.4  non-threaded

INSTALL_64  view on Meta::CPAN


This is the INSTALL file for the Perl extension module AFS (Version v2.6.3)
for the OpenAFS 64-bit version

README
    Read the README file first.


AVAILABILITY
    The latest version of the AFS module bundle is currently available at

        http://www.MPA-Garching.MPG.de/~nog/perl/AFS-<version>.tar.gz
        http://www.cpan.org/authors/id/N/NO/NOG/AFS-<version>.tar.gz


RECOMMENDATIONS
    It is highly recommended to place the installation directory in
    the AFS file system.  Otherwise most of the test cases
    ('make test') are skipped.


REQUIREMENTS
    Before you can build the AFS module bundle you need to have the
    following installed on your system:

        * Perl v5.10.0 or newer
        * C compiler
        * OpenAFS system libraries 64-bit version (PIC type or standard)


WHAT TYPE OF OpenAFS SYSTEM LIBRARIES ARE NEEDED
    Depending on the installed Perl version you have to use the proper
    type of OpenAFS system libraries. If you have a "threaded" version
    of Perl, you have to link the AFS modules against the PIC type
    system libraries, for a "non-threaded" Perl you have to use the
    standard libraries.

    To find out what type of Perl you are using, just run the command:

       perl ./test_ptype

    If it says
                'Your Perl is 'Non-Threaded Perl'
    then you need the standard system libraries and you can skip to
    the next section (BUILDING & INSTALLING).

    If it says
                Your Perl is 'Threaded Perl'
    then you need the PIC type system libraries.  Unfortunately the
    PIC type system libraries are not created for OpenAFS 1.4.X by

INSTALL_64  view on Meta::CPAN

    Building the modules is straightforward. The AFS module bundle is
    distributed as a single gzipped tar archive file:

            AFS-<version>.tar.gz

    Unpack the archive to create an AFS installation directory:

        gunzip AFS-<version>.tar.gz
        tar xvf AFS-<version>.tar

    'cd' into that directory, make, test and install the modules.

    You have to specify the location of the AFS system
    libraries. While running the 'perl Makefile.PL' step you will be
    prompted for the location of the AFS system libraries.  If you
    want to avoid that query, you should specify the environment
    variable 'AFSPATH' before you start [1].

    If your AFS system type is not yet known by the make file because
    you can't run the "fs sysname" command, you can specify the
    environment variable 'AFS_SYSNAME' before you start [2].

INSTALL_64  view on Meta::CPAN

        setenv AFSPATH 'path_to_the_AFS_system_libraries' # tcsh-shell
        export AFSPATH='path_to_the_AFS_system_libraries' # sh-shell

        [2] this step is optional
        setenv AFS_SYSNAME 'AFS_system_type'              # tcsh-shell
        export AFS_SYSNAME 'AFS_system_type'              # sh-shell

        perl Makefile.PL
             ---->  Which AFS system libraries should be used? [/usr/afsws]
        make
        make test
        make install
        make html   ;#(if you want to get the HTML documentation, see also next section)


PLATFORMS
    In the meantime I have only access to Linux machines.  Therefore I
    have tested this version of the AFS module bundle only on the
    Linux platform with the following combinations

        OS             @sys         compiler    OpenAFS    Perl   (threaded/non-threaded)
        ---------------------------------------------------------------------------------
        Linux 64-bit   amd64_linux26  gcc       1.4.11     5.10.0  non-threaded
                       amd64_linux26  gcc       1.4.12     5.10.0  non-threaded

                       amd64_linux26  gcc       1.4.12(*)  5.10.0  threaded
                                                (*) => modified libraries libafsrpc.a
                                                       and libafsauthent.a

LICENCES/Artistic  view on Meta::CPAN

fall under the restrictions of Paragraphs 3 and 4, provided that you do
not represent such an executable image as a Standard Version of this
Package.

7. C subroutines (or comparably compiled subroutines in other
languages) supplied by you and linked into this Package in order to
emulate subroutines and variables of the language defined by this
Package shall not be considered part of this Package, but are the
equivalent of input as in Paragraph 6, provided these subroutines do
not change the language in any way that would cause it to fail the
regression tests for the language.

8. Aggregation of this Package with a commercial distribution is always
permitted provided that the use of this Package is embedded; that is,
when no overt attempt is made to make this Package's interfaces visible
to the end user of the commercial distribution.  Such use shall not be
construed as a distribution of this Package.

9. The name of the Copyright Holder may not be used to endorse or promote
products derived from this software without specific prior written permission.

LICENCES/COPYING  view on Meta::CPAN

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,

LICENCES/COPYING  view on Meta::CPAN

all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to

LICENCES/COPYING  view on Meta::CPAN

OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

		     END OF TERMS AND CONDITIONS

	Appendix: How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) 19yy  <name of author>

MANIFEST  view on Meta::CPAN

examples/v2/acl/apply
examples/v2/acl/ascii2rights
examples/v2/acl/cleanacl
examples/v2/acl/copyacl
examples/v2/acl/crights
examples/v2/acl/is_clean
examples/v2/acl/modifyacl
examples/v2/acl/retrieve
examples/v2/acl/rights2ascii
examples/v2/base/constant
examples/v2/base/error_test
examples/v2/bos/addhost
examples/v2/bos/addkey
examples/v2/bos/adduser
examples/v2/bos/blockscanner
examples/v2/bos/constructor
examples/v2/bos/create
examples/v2/bos/delete
examples/v2/bos/exec
examples/v2/bos/getlog
examples/v2/bos/getrestart

MANIFEST  view on Meta::CPAN

src/typemap
src/Utils/Makefile.PL
src/Utils/t/Utils.t
src/Utils/Utils.pm
src/VLDB/Makefile.PL
src/VLDB/t/VLDB.t
src/VLDB/VLDB.pm
src/VOS/Makefile.PL
src/VOS/t/VOS.t
src/VOS/VOS.pm
test_ptype
TODO
META.yml                                 Module YAML meta-data (added by MakeMaker)
META.json                                Module JSON meta-data (added by MakeMaker)

TODO  view on Meta::CPAN

 any guaranteed future functionality of the AFS module.  Please contact the
 maintainer if you wish to help implement anything here.  All help is welcome,
 but do check first to make sure someone isn't already tackling the item
 in question.  Any other suggestions, ideas, patches gratefully received.

 Written by Norbert E Gruener <nog@MPA-Garching.MPG.DE>


 SHORT TERM
 ----------
 * improve the test suites


 MID TERM
 --------
 * remove the module AFS::KAS
 * upgrade AFS::KTC_TOKEN


 LONG TERM
 ---------
 * verify whether all OpenAFS constants are included in the 'constant'
   function
 * develop sufficient test suites

examples/README  view on Meta::CPAN

    methods are stored in the directory "v2".  All scripts in "v2"
    conform with the interface version 2.  For more details read the
    appropriate POD documentations.



HOW TO USE THE EXAMPLES
    All scripts in "v2" are designed that you can run them without
    prior installation of the AFS module bundle.  After you have
    performed the steps "perl Makefile.pl", "make", and eventually
    "make test" you can run these test scripts.  Just step into the
    different subdirectories and run the available examples, e.g:
    
        cd AFS-2.6.4/examples/v2/base
        ./error_test


examples/v2/bos/addkey  view on Meta::CPAN


die "Usage: $0 server [cell]\n" if $#ARGV < 0;

$server   = shift;
$cellname = shift;

if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else           { $bos = AFS::BOS->new($server); }
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

die "not yet tested ... \n";

print "bos->addkey()...\n";

my $ok = $bos->addkey(2); # kvno = 2
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);
print "Something went wrong\n" unless $ok;

$ok = $bos->addkey(3, 'I will not tell you'); # kvno = 3
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);
print "Something went wrong\n" unless $ok;

examples/v2/bos/constructor  view on Meta::CPAN

die "Usage: $0 server [cell]\n" if $#ARGV < 0;

$server   = shift;
$cellname = shift;

if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else           { $bos = AFS::BOS->new($server); }
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { print "OK \n"; }

test_it($bos);

sub test_it {
    my $self = shift;
    $self->DESTROY;
}

examples/v2/bos/removekey  view on Meta::CPAN


die "Usage: $0 server [cell]\n" if $#ARGV < 0;

$server   = shift;
$cellname = shift;

if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else           { $bos = AFS::BOS->new($server); }
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

die "not yet tested ... \n";

print "bos->removekey()...\n";

my $ok = $bos->removekey(15); # single key
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);

$ok = $bos->removekey([12, 15]); # multiple keys as array-ref
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);

$bos->DESTROY;

examples/v2/bos/salvage  view on Meta::CPAN


die "Usage: $0 server [cell]\n" if $#ARGV < 0;

$server   = shift;
$cellname = shift;

if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else           { $bos = AFS::BOS->new($server); }
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

die "not yet tested ... \n";

print "bos->salvage()...\n";

# these are all possible non MR-AFS parameters:
my ($partition, $volume) = ('/vicepa', 'u.vanilla');
my $all                  = 0;
my $outName              = ''; # salvage log output file
my $showlog              = 0;
my ($parallel, $tmpDir)  = ('', '');
my $orphans              = 'ignore'; # ignore | remove | attach

examples/v2/bos/setauth  view on Meta::CPAN


die "Usage: $0 server [cell]\n" if $#ARGV < 0;

$server   = shift;
$cellname = shift;

if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else           { $bos = AFS::BOS->new($server); }
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

die "not yet tested ... \n";

print "bos->setauth()...\n";

my $ok = $bos->setauth('on'); # or 'off'
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);
print "Something went wrong\n" unless $ok;

$bos->DESTROY;

examples/v2/bos/setcellname  view on Meta::CPAN


die "Usage: $0 server [cell]\n" if $#ARGV < 0;

$server   = shift;
$cellname = shift;

if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else           { $bos = AFS::BOS->new($server); }
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

die "not yet tested ... \n";

my $ok = $bos->setcellname('newcell.example.com');
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);

$bos->DESTROY;

examples/v2/kas/constructor  view on Meta::CPAN

use strict;
use AFS::KAS;
use AFS::KTC_TOKEN;

die "Usage: $0 \n" if $#ARGV != -1;

my $kas = AFS::KAS->AuthServerConn(AFS::KTC_TOKEN->nulltoken, &AFS::KA_MAINTENANCE_SERVICE);
if ($AFS::CODE) { print "Error Code: $AFS::CODE\n"; }
else { print "OK \n"; }

test_it($kas);

sub test_it {
    my $self = shift;
    $self->DESTROY;
}

examples/v2/pts/PR_NameToID  view on Meta::CPAN


use blib;
use strict;
use warnings;

use AFS::PTS;

my $pts = AFS::PTS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n";

my @names = ('nog','testafs','hans','foobar');

my @ids = $pts->PR_NameToID(\@names);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else {
    print "Names = @names \n";
    foreach my $id (@ids) {
        print "id = $id\n";
    }
}

examples/v2/pts/constructor  view on Meta::CPAN

$sec  = 1 if $#ARGV == -1;
$cell = localcell if $#ARGV < 1;

$sec  = shift unless $sec;
$cell = shift unless $cell;

$pts = AFS::PTS->new($sec, $cell);
if ($AFS::CODE) { print "Error Code: $AFS::CODE\n"; }
else { print "OK \n"; }

test_it($pts);

sub test_it {
    my $self = shift;
    $self->DESTROY;
}

examples/v2/pts/id  view on Meta::CPAN

print "----- scaler\n";

my $name = 'foobar';
my $id = $pts->id($name, $anon);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { print "name = $name id = $id\n"; }


print "----- array\n";

my @names = ('nog','testafs','hans','foobar');

my @ids = $pts->id(\@names,$anon);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else {
    print "Names = @names \n";
    foreach my $id (@ids) {
        print "id = $id\n";
    }
}

examples/v2/vldb/constructor  view on Meta::CPAN

my ($verbose, $vldb);

die "Usage: $0 [verbose]\n" if $#ARGV > 0;

$verbose = shift // 0;

$vldb = AFS::VLDB->new($verbose);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { print "OK \n"; }

test_it($vldb);

sub test_it {
    my $self = shift;
    $self->DESTROY;
}

examples/v2/vos/constructor  view on Meta::CPAN

my ($verbose, $vos);

die "Usage: $0 [verbose]\n" if $#ARGV > 0;

$verbose = shift // 0;

$vos = AFS::VOS->new($verbose);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { print "OK \n"; }

test_it($vos);

sub test_it {
    my $self = shift;
    $self->DESTROY;
}

pod/v2/afsperl.pod  view on Meta::CPAN

B<Nathan Neulinger> - for his improvements of the Makefile.PL

B<Bernard Antoine> - for his bug report on a memory leak in the method
"AFS::ACL->retrieve".

B<Peter Scott> - for his bug report on a memory leak in the function
"getvolstats"

B<Peter Scott> - for his bug report on the function AFS::constant

B<Venkata Phani Achanta> - for his improved test drivers for several modules

B<David R. Boldt> - for his bug report on an undefined "typemap" entry

B<Alf Wachsmann> and B<Venkata Phani Achanta> - for their implementation
of the BOS, VOS, and VLDB modules

B<Phil Moore> - for his bug report on Itanium ia64 platform

B<Frank Burkhardt> and B<David Miller> - for their problem reports on
Perl "unthreaded" version within the Debian "unstable" distribution

pod/v2/afsperl.pod  view on Meta::CPAN

B<Yannick Bergeron> - for his corrections for the AFS::KTC_TOKEN documentation

B<Mike Polek> - for his patch for the AFS::FS::getquota function

B<Peter Scott> - for his problem report on AFS::VOS->listvolume and
for his improvements of the AFS::FS POD documentation

B<Wolfgang Friebel> - for his improvements of the AFS POD documentation

B<Joe Buehler> - for his problem report on the installation step and
his patch for the AFS::BOS test driver

B<Craig Huckabee> - for his problem report on the compile step with
OpenAFS 1.4.2 and for his patch for the internal BOS constructor

B<Wolfgang Friebel> - for his patch for the Makefile.PL

B<Alessio Rocchi> - for his bug reports on AFS::VOS->listvldb, on
AFS::VLDB->listaddr, and on AFS::VOS->listvol

B<Ken Dreyer> - for his problem report on the compile step with

pod/v2/afsperlbase.pod  view on Meta::CPAN

$AFS::CODE is not equal to 0. Used mainly for debugging.

=item B<if (afsok) { ... }>

Convenience function that returns true if $AFS::CODE is equal to 0

=item B<$cur_raise_flg = raise_exception([NEW]);>

If NEW is set to 1, then a Perl exception will be raised whenever
an error is returned from an AFS function call. This is used mainly for
debugging and testing.

=item B<$msg = error_message(NUM_CODE);>

Converts numeric code NUM_CODE into an error string.

=item B<$val = constant(NAME);>

Converts a constant NAME (i.e, #define) into scaler. Returns undef for
unknown constants.

src/ACL/t/ACL.t  view on Meta::CPAN

# -*-cperl-*-

use strict;
use lib qw(../../inc ../inc);
use blib;

use Test::More;

BEGIN {
    use AFS::FS;
    if (AFS::FS::isafs('./')) { plan tests => 26; }
    else { plan skip_all => 'Working directory is not in AFS file system ...'; }

    use_ok('AFS::ACL');
}

is(AFS::ACL->ascii2rights('write'), 63, 'ascii2rights');

my $acl = AFS::ACL->new({'foobar' => 'none'}, {'anyuser' => 'write'});
is(ref($acl), 'AFS::ACL', 'AFS::ACL->new()');

src/AFS.xs  view on Meta::CPAN

    strcpy(sname.cell, info.name);
    sname.instance[0] = 0;
    strcpy(sname.name, "afs");
    sc[0] = (struct rx_securityClass *) rxnull_NewClientSecurityObject();
    sc[1] = 0;
    sc[2] = (struct rx_securityClass *) NULL;
    scIndex = 0;

    if (!noauth) {              /* not -noauth */
        if (localauth) {        /* -localauth */
            *code = afsconf_GetLatestKey(cdir, 0, 0);
            if (*code)
                fprintf(stderr, "AFS::BOS %d (getting key from local KeyFile)", *code);
            else {
                if (aencrypt)
                    *code = afsconf_ClientAuthSecure(cdir, &sc[2], &scIndex);
                else
                    *code = afsconf_ClientAuth(cdir, &sc[2], &scIndex);
                if (*code)
                    fprintf(stderr, "AFS::BOS %d (calling ClientAuth)", *code);
                else if (scIndex != 2)  /* this shouldn't happen */

src/BOS/t/BOS.t  view on Meta::CPAN

# -*-cperl-*-

use strict;
use lib qw(../../inc ../inc);
use blib;

use Test::More;

BEGIN {
    use AFS::FS;
    if (AFS::FS::isafs('./')) { plan tests => 39; }
    else { plan skip_all => 'Working directory is not in AFS file system ...'; }

    use_ok('AFS::BOS');
}

use AFS::VLDB;
use AFS::Cell 'localcell';
my $vldb = AFS::VLDB->new;
my $vldblist = $vldb->listvldbentry('root.afs');
my $server = $vldblist->{'root.afs'}->{'server'}->[0]->{'name'};
my $l_cell = localcell;

my $bos = AFS::BOS->new($server);
is(ref($bos), 'AFS::BOS', 'bos->new()');
undef $bos;

is(leak_test(), 1210, 'bos leak_test');

$bos = AFS::BOS->new($server);
my ($cell, $hostlist) = $bos->listhosts;
is($cell, $l_cell, 'bos-listhost: Cellname OK');
ok(defined $$hostlist[0], 'bos->listhost: Host list OK');

my @users = $bos->listusers;
ok(defined $users[0], 'bos->listusers: User list OK');

$bos->setrestart('14:00', 'a', 0);

src/BOS/t/BOS.t  view on Meta::CPAN

can_ok('AFS::BOS', qw(getlog));
can_ok('AFS::BOS', qw(getrestricted));
can_ok('AFS::BOS', qw(listkeys));
can_ok('AFS::BOS', qw(prune));
$bos->removehost(\%h);
like($AFS::CODE, qr/HOST not an array reference/, 'bos->removehost(HASH)');

$host = 'z';
$bos->removehost($host);
SKIP: {
	skip "You lack rights for this test", 1 
		if $AFS::CODE =~ /you are not authorized for this operation/;
	like($AFS::CODE, qr/no such entity/, 'bos->removehost(unknown host)');
}
can_ok('AFS::BOS', qw(removekey));

$bos->removeuser(\%h);
like($AFS::CODE, qr/USER not an array reference/, 'bos->removeuser(HASH)');

my $user = 'z';
$bos->removeuser($user);
SKIP: {
	skip "You lack rights for this test", 1 
		if $AFS::CODE =~ /you are not authorized for this operation/;
	like($AFS::CODE, qr/no such user/, 'bos->removeuser(unknown user)');
}

can_ok('AFS::BOS', qw(restart_bos));
can_ok('AFS::BOS', qw(restart_all));
can_ok('AFS::BOS', qw(restart));
can_ok('AFS::BOS', qw(setauth));
can_ok('AFS::BOS', qw(setrestricted));
can_ok('AFS::BOS', qw(shutdown));
can_ok('AFS::BOS', qw(start));
can_ok('AFS::BOS', qw(startup));
can_ok('AFS::BOS', qw(stop));

$bos->DESTROY;
ok(! defined $bos, 'bos->DESTROY');

sub leak_test {
    my $count = 0;
    my $verb  = 1;
    while(1) {
        $count++;
        my $bos = AFS::BOS->new($verb);
        $bos->DESTROY();
        if ($count == 1210) { last; }
    }
    return $count;
}

src/CM/t/CM.t  view on Meta::CPAN

# -*-cperl-*-

use strict;
use lib qw(../../inc ../inc);
use blib;

use Test::More;

BEGIN {
    use AFS::FS;
    if (AFS::FS::isafs('./')) { plan tests => 15; }
    else { plan skip_all => 'Working directory is not in AFS file system ...'; }

    use_ok('AFS::CM', qw (
                          checkvolumes
                          cm_access flush flushcb flushvolume
                          getcacheparms getcrypt
                          
                          checkconn getcellstatus getvolstats
                          setcachesize setcellstatus setcrypt
                         )

src/Cell/t/Cell.t  view on Meta::CPAN

# -*-cperl-*-

use strict;
use lib qw(../../inc ../inc);
use blib;

use Test::More;

BEGIN {
    use AFS::FS;
    if (AFS::FS::isafs('./')) { plan tests => 8; }
    else { plan skip_all => 'Working directory is not in AFS file system ...'; }

    use_ok('AFS::Cell', qw (configdir expandcell
                            getcellinfo localcell
                            whichcell wscell
                           )
          );
}

my $conf_dir = configdir;

src/FS/t/FS.t  view on Meta::CPAN

use strict;
use lib qw(../../inc ../inc);
use blib;

use Test::More;

my ($quota, @hosts);

BEGIN {
    use AFS::FS;
    if (AFS::FS::isafs('./')) { plan tests => 9; }
    else { plan skip_all => 'Working directory is not in AFS file system ...'; }

    use_ok(
           'AFS::FS', qw(
                         getquota setquota whereis
                         isafs lsmount mkmount rmmount
                        )
          );
}

src/KAS/t/KAS.t  view on Meta::CPAN

# -*-cperl-*-

use strict;
use lib qw(../../inc ../inc);
use blib;

use Test::More;

BEGIN {
    use AFS::FS;
    if (AFS::FS::isafs('./')) { plan tests => 24; }
    else { plan skip_all => 'Working directory is not in AFS file system ...'; }

    use_ok('AFS::KAS');
}

use AFS::KTC_TOKEN;
my $kas = AFS::KAS->AuthServerConn(AFS::KTC_TOKEN->nulltoken, &AFS::KA_MAINTENANCE_SERVICE);
is(ref($kas), 'AFS::KAS', 'KAS->AuthServerConn(nulltoken)');

$kas->DESTROY;

src/KTC_EKEY/t/KTC_EKEY.t  view on Meta::CPAN

# -*-cperl-*-

use strict;
use lib qw(../../inc ../inc);
use blib;

use Test::More;

BEGIN {
    use AFS::FS;
    if (AFS::FS::isafs('./')) { plan tests => 5; }
    else { plan tests => 4; }

    use_ok('AFS::KTC_EKEY');
}

my $dkey = AFS::KTC_EKEY->des_string_to_key('abc');
is(ref($dkey), 'AFS::KTC_EKEY', 'des_string_to_key(abc)');

can_ok('AFS::KTC_EKEY', qw(ReadPassword));
can_ok('AFS::KTC_EKEY', qw(UserReadPassword));



( run in 0.533 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )