AFS

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

Version 2.6.3 (released 25 Oct 2012, revision 1142)
http://www.mpa-garching.mpg.de/~nog/perl/AFS-2.6.3.tar.gz

 NOTICE:
 * This release does not support AFS system libraries version 3.4 or
   version 3.5
 * This release does not support any features and interfaces from
   AFSPerl "version 1"

 User-visible changes:
 * added patch for OpenAFS to create "PIC" type system libraries on
   64-bit platforms
 * compiles with OpenAFS system libraries version 1.4.X on 32-bit and
   on 64-bit platforms
 * added installation description for 64-bit platforms
 * released the BOS methods
   - addhost
   - removehost
   - adduser
   - removeuser
   - setrestart
 * updated POD documentation of AFS::VLDB
   updated argument description for VOLUME in several
   methods: "(volume name or volume ID number)"
 * fixed method AFS::VOS->create
 * extended method AFS::VOS->dump: added "omitdir" option
 * added new method AFS::ACL->is_clean
 * modified AFS::ACL->cleanacl: uses method "is_clean" to check if
   there is anything to do
 * method AFS::VOS->listvolume provides also the values "copyDate",
   "backupDate", and "accessDate"

CHANGES  view on Meta::CPAN



Version 2.6.2 (released 31 Mar 2010, revision 961)
http://www.mpa-garching.mpg.de/~nog/perl/AFS-2.6.2.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 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;


CHANGES  view on Meta::CPAN



Version 2.6.1 (released 17 Nov 2008, revision 906)
http://www.mpa-garching.mpg.de/~nog/perl/AFS-2.6.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 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:
 * fixed method AFS::KAS->getentry: fixed return value for passwd_reuse
 * fixed method AFS::VLDB->listvldb: fixed segmentation error
 * updated example scripts for the modules AFS::KAS
 * fixed Makefile.PL to recognize Transarc/IBM system libraries


 Developer-visible changes:

CHANGES  view on Meta::CPAN



Version 2.6.0 (released 27 Oct 2008, revision 888)
http://www.mpa-garching.mpg.de/~nog/perl/AFS-2.6.0.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 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

CHANGES  view on Meta::CPAN

  pts_PR_DumpEntry
  kas_KAM_GetEntry
  kas_KAM_Debug
  kas_KAM_GetStats



Version 2.02 (released 12 July 2002, revision 221)

 User-visible changes:
 * fixed bug in method AFS::KAS->setfields resp. AFS::KAS->KAM_SetFields
   introduced in version 2.01


 Developer-visible changes:
 * modified 'typemap' file: added type 'uint32'



Version 2.01 (released 8 July 2002, revision 211)

 User-visible changes:
 * improved Makefile.PL script
 * new method '-AFS::KTC_TOKEN->FromString'


 Developer-visible changes:
 * removed perl-5.6 features from several modules for backward
   compatibility



Version 2.0 (released 2 July 2002, revision 184)

 User-visible changes:
 * compiles now with IBM AFS 3.6 and OpenAFS system libraries.  This
   module bundle compiles now with the AFS system libraries for IBM
   AFS version 3.4.x, 3.5.x, 3.6.x and with the AFS system libraries

INSTALL  view on Meta::CPAN

                       i386_linux26   gcc       1.4.14     5.12.4  threaded

                       i386_linux26   gcc       1.4.10     5.14.2  threaded
                       i386_linux26   gcc       1.4.12     5.14.2  threaded
                       i386_linux26   gcc       1.4.14     5.14.2  threaded


FEEDBACK
    If you are building the modules on another architecture I would
    appreciate a note to tell me how you got on. Although I am
    particularly interested to hear about any problems you encounter
    when building the system, I would still like to hear from you even
    if you don't.

    Things I particularly would like to know

       * The Operating system name and version, e.g. SunOS 4.1.3
       * Architecture, e.g. Solaris
       * C compiler, e.g. gcc
       * Where there any warnings/errors printed by the C compiler? If so
         please send the exact output if possible.

INSTALL  view on Meta::CPAN

CURRENT AUTHOR
    Norbert E. Gruener <nog@MPA-Garching.MPG.de>


AUTHOR EMERITUS
    Roland Schemers <schemers@stanford.edu>


COPYRIGHT AND DISCLAIMER
    © 2001-2012 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
    All rights reserved.

    © 1994 Board of Trustees, Leland Stanford Jr. University.
    All rights reserved.

    This library is free software; you can redistribute it and/or modify
    it under the same terms as Perl itself.

    You should have received a copy of the Perl license along with
    Perl; see the file 'README' in Perl distribution.

    You should have received a copy of the GNU General Public License
    along with Perl; see the file 'COPYING'.  If not, write to the Free
    Software Foundation, 59 Temple Place - Suite 330, Boston, MA

INSTALL_64  view on Meta::CPAN

                       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


FEEDBACK
    If you are building the modules on another architecture I would
    appreciate a note to tell me how you got on. Although I am
    particularly interested to hear about any problems you encounter
    when building the system, I would still like to hear from you even
    if you don't.

    Things I particularly would like to know

       * The Operating system name and version, e.g. SunOS 4.1.3
       * Architecture, e.g. Solaris
       * C compiler, e.g. gcc
       * Where there any warnings/errors printed by the C compiler? If so
         please send the exact output if possible.

INSTALL_64  view on Meta::CPAN

CURRENT AUTHOR
    Norbert E. Gruener <nog@MPA-Garching.MPG.de>


AUTHOR EMERITUS
    Roland Schemers <schemers@stanford.edu>


COPYRIGHT AND DISCLAIMER
    © 2001-2012 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
    All rights reserved.

    © 1994 Board of Trustees, Leland Stanford Jr. University.
    All rights reserved.

    This library is free software; you can redistribute it and/or modify
    it under the same terms as Perl itself.

    You should have received a copy of the Perl license along with
    Perl; see the file 'README' in Perl distribution.

    You should have received a copy of the GNU General Public License
    along with Perl; see the file 'COPYING'.  If not, write to the Free
    Software Foundation, 59 Temple Place - Suite 330, Boston, MA

LICENCES/Artistic  view on Meta::CPAN

	and so on.  (You will not be required to justify it to the
	Copyright Holder, but only to the computing community at large
	as a market that must bear the fee.)

	"Freely Available" means that no fee is charged for the item
	itself, though there may be fees involved in handling the item.
	It also means that recipients of the item may redistribute it
	under the same conditions they received it.

1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.

2. You may apply bug fixes, portability fixes and other modifications
derived from the Public Domain or from the Copyright Holder.  A Package
modified in such a way shall still be considered the Standard Version.

3. You may otherwise modify your copy of this Package in any way, provided
that you insert a prominent notice in each changed file stating how and
when you changed that file, and provided that you do at least ONE of the
following:

LICENCES/Artistic  view on Meta::CPAN

interpreter is so embedded.

6. The scripts and library files supplied as input to or produced as
output from the programs of this Package do not automatically fall
under the copyright of this Package, but belong to whoever generated
them, and may be sold commercially, and may be aggregated with this
Package.  If such scripts or library files are aggregated with this
Package via the so-called "undump" or "unexec" methods of producing a
binary executable image, then distribution of such an image shall
neither be construed as a distribution of this Package nor shall it
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

the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,

LICENCES/COPYING  view on Meta::CPAN

   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License

LICENCES/COPYING  view on Meta::CPAN


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,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include

LICENCES/COPYING  view on Meta::CPAN

operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent

LICENCES/COPYING  view on Meta::CPAN

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
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

			    NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS

LICENCES/COPYING  view on Meta::CPAN


The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Library General
Public License instead of this License.

LICENCES/IBM-LICENCE  view on Meta::CPAN

       the Contribution. No hardware per se is licensed hereunder.
       
   c) Recipient understands that although each Contributor grants the
       licenses to its Contributions set forth herein, no assurances are
       provided by any Contributor that the Program does not infringe the
       patent or other intellectual property rights of any other entity.
       Each Contributor disclaims any liability to Recipient for claims
       brought by any other entity based on infringement of intellectual
       property rights or otherwise. As a condition to exercising the
       rights and licenses granted hereunder, each Recipient hereby
       assumes sole responsibility to secure any other intellectual
       property rights needed, if any. For example, if a third party
       patent license is required to allow Recipient to distribute the
       Program, it is Recipient's responsibility to acquire that license
       before distributing the Program.
       
   d) Each Contributor represents that to its knowledge it has sufficient
       copyright rights in its Contribution, if any, to grant the
       copyright license set forth in this Agreement.
       
   3. REQUIREMENTS
   
   A Contributor may choose to distribute the Program in object code form
   under its own license agreement, provided that:
   a) it complies with the terms and conditions of this Agreement; and
       
   b) its license agreement:
       
   i) effectively disclaims on behalf of all Contributors all warranties
       and conditions, express and implied, including warranties or
       conditions of title and non-infringement, and implied warranties
       or conditions of merchantability and fitness for a particular
       purpose;
       
   ii) effectively excludes on behalf of all Contributors all liability
       for damages, including direct, indirect, special, incidental and
       consequential damages, such as lost profits;
       
   iii) states that any provisions which differ from this Agreement are
       offered by that Contributor alone and not by any other party; and

LICENCES/IBM-LICENCE  view on Meta::CPAN

   Copyright © {date here}, International Business Machines Corporation
       and others. All Rights Reserved.
       
   In addition, each Contributor must identify itself as the originator
   of its Contribution, if any, in a manner that reasonably allows
   subsequent Recipients to identify the originator of the Contribution.
   
   4. COMMERCIAL DISTRIBUTION
   
   Commercial distributors of software may accept certain
   responsibilities with respect to end users, business partners and the
   like. While this license is intended to facilitate the commercial use
   of the Program, the Contributor who includes the Program in a
   commercial product offering should do so in a manner which does not
   create potential liability for other Contributors. Therefore, if a
   Contributor includes the Program in a commercial product offering,
   such Contributor ("Commercial Contributor") hereby agrees to defend
   and indemnify every other Contributor ("Indemnified Contributor")
   against any losses, damages and costs (collectively "Losses") arising
   from claims, lawsuits and other legal actions brought by a third party
   against the Indemnified Contributor to the extent caused by the acts

LICENCES/IBM-LICENCE  view on Meta::CPAN

   notify the Commercial Contributor in writing of such claim, and b)
   allow the Commercial Contributor to control, and cooperate with the
   Commercial Contributor in, the defense and any related settlement
   negotiations. The Indemnified Contributor may participate in any such
   claim at its own expense.
   
   For example, a Contributor might include the Program in a commercial
   product offering, Product X. That Contributor is then a Commercial
   Contributor. If that Commercial Contributor then makes performance
   claims, or offers warranties related to Product X, those performance
   claims and warranties are such Commercial Contributor's responsibility
   alone. Under this section, the Commercial Contributor would have to
   defend claims against the other Contributors related to those
   performance claims and warranties, and if a court requires any other
   Contributor to pay any damages as a result, the Commercial Contributor
   must pay those damages.
   
   5. NO WARRANTY
   
   EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
   PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
   WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
   OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
   responsible for determining the appropriateness of using and
   distributing the Program and assumes all risks associated with its
   exercise of rights under this Agreement, including but not limited to
   the risks and costs of program errors, compliance with applicable
   laws, damage to or loss of data, programs or equipment, and
   unavailability or interruption of operations.
   
   6. DISCLAIMER OF LIABILITY
   
   EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
   ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,

LICENCES/IBM-LICENCE  view on Meta::CPAN

   
   7. GENERAL
   
   If any provision of this Agreement is invalid or unenforceable under
   applicable law, it shall not affect the validity or enforceability of
   the remainder of the terms of this Agreement, and without further
   action by the parties hereto, such provision shall be reformed to the
   minimum extent necessary to make such provision valid and enforceable.
   
   If Recipient institutes patent litigation against a Contributor with
   respect to a patent applicable to software (including a cross-claim or
   counterclaim in a lawsuit), then any patent licenses granted by that
   Contributor to such Recipient under this Agreement shall terminate as
   of the date such litigation is filed. In addition, If Recipient
   institutes patent litigation against any entity (including a
   cross-claim or counterclaim in a lawsuit) alleging that the Program
   itself (excluding combinations of the Program with other software or
   hardware) infringes such Recipient's patent(s), then such Recipient's
   rights granted under Section 2(b) shall terminate as of the date such
   litigation is filed.
   

LICENCES/IBM-LICENCE  view on Meta::CPAN

   survive.
   
   IBM may publish new versions (including revisions) of this Agreement
   from time to time. Each new version of the Agreement will be given a
   distinguishing version number. The Program (including Contributions)
   may always be distributed subject to the version of the Agreement
   under which it was received. In addition, after a new version of the
   Agreement is published, Contributor may elect to distribute the
   Program (including its Contributions) under the new version. No one
   other than IBM has the right to modify this Agreement. Except as
   expressly stated in Sections 2(a) and 2(b) above, Recipient receives
   no rights or licenses to the intellectual property of any Contributor
   under this Agreement, whether expressly, by implication, estoppel or
   otherwise. All rights in the Program not expressly granted under this
   Agreement are reserved.
   
   This Agreement is governed by the laws of the State of New York and
   the intellectual property laws of the United States of America. No
   party to this Agreement will bring a legal action under this Agreement
   more than one year after the cause of action arose. Each party waives
   its rights to a jury trial in any resulting litigation.

MANIFEST  view on Meta::CPAN

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
examples/v2/bos/getrestricted
examples/v2/bos/listhosts
examples/v2/bos/listkeys
examples/v2/bos/listusers
examples/v2/bos/prune
examples/v2/bos/removehost
examples/v2/bos/removekey
examples/v2/bos/removeuser
examples/v2/bos/restart
examples/v2/bos/salvage
examples/v2/bos/setauth
examples/v2/bos/setcellname
examples/v2/bos/setrestart
examples/v2/bos/setrestricted
examples/v2/bos/shutdown
examples/v2/bos/start
examples/v2/bos/startup
examples/v2/bos/status
examples/v2/bos/stop
examples/v2/cell/configdir
examples/v2/cell/expandcell
examples/v2/cell/getcellinfo
examples/v2/cell/localcell
examples/v2/cell/whichcell

MANIFEST  view on Meta::CPAN

examples/v2/vos/listpart
examples/v2/vos/listvol
examples/v2/vos/listvolume
examples/v2/vos/move
examples/v2/vos/offline
examples/v2/vos/online
examples/v2/vos/partinfo
examples/v2/vos/release
examples/v2/vos/remove
examples/v2/vos/rename
examples/v2/vos/restore
examples/v2/vos/setquota
examples/v2/vos/status
examples/v2/vos/zap
INSTALL
INSTALL_64
LICENCES/Artistic
LICENCES/COPYING
LICENCES/IBM-LICENCE
LICENCES/Stanford-LICENCE
Makefile.PL

META.json  view on Meta::CPAN

   },
   "name" : "AFS",
   "no_index" : {
      "directory" : [
         "t",
         "inc"
      ]
   },
   "prereqs" : {
      "build" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {}
      }
   },
   "release_status" : "stable",
   "version" : "v2.6.4"
}

META.yml  view on Meta::CPAN

---
abstract: 'Perl interface to AFS programming APIs'
author:
  - 'Norbert E Gruener <nog@MPA-Garching.MPG.de>'
build_requires:
  ExtUtils::MakeMaker: '0'
configure_requires:
  ExtUtils::MakeMaker: '0'
dynamic_config: 1
generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142690'
license: unknown
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: AFS
no_index:
  directory:
    - t
    - inc
requires: {}
version: v2.6.4

README  view on Meta::CPAN

WHAT'S NEW?
    Version v2.6.4 is just a bug fixing release.
    For more details, please see the file named 'CHANGES' which should
    have been included in the AFS module distribution.


RESTRICTIONS
    This release
        * does not support Transarc/IBM AFS system libraries version
          3.4 or version 3.5 !!!
        * does not support features and styles from Perl AFS module
          "major version 1"


DEPRECATION
    The module AFS::KAS is deprecated and will be removed in version v2.8.0


INSTALLATION
    If you want to install the AFS module bundle on a 32-bit platform
    read the 'INSTALL' file. For installation on a 64-bit platform read

README  view on Meta::CPAN

    'pod/v2/README'.


EXAMPLES
    The 'examples' directory contains some simple examples how to use
    the AFS modules.  However I do not guarantee these scripts to
    work.


COMPATIBILITY
    This release does NOT support any features and interfaces from Perl
    AFS modules major version 1.


CAVEATS
    A few methods from the AFS command suite BOS are not yet
    released.  For details, please see 'AFS::BOS.pod'.


BUGS
    Development questions, bug reports, and patches should be sent to

README  view on Meta::CPAN

AUTHOR EMERITUS
    Roland Schemers <schemers@stanford.edu>


CREDITS
    See 'AFS.pod' for details.


COPYRIGHT AND DISCLAIMER
    © 2001-2014 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
    All rights reserved.

    © 1994 Board of Trustees, Leland Stanford Jr. University.
    All rights reserved.

    This library is free software; you can redistribute it and/or modify
    it under the same terms as Perl itself.

    You should have received a copy of the Perl license along with
    Perl; see the file 'README' in Perl distribution.

    You should have received a copy of the GNU General Public License
    along with Perl; see the file 'COPYING'.  If not, write to the Free
    Software Foundation, 59 Temple Place - Suite 330, Boston, MA

TODO  view on Meta::CPAN


 TO DO
 =====

 List of outstandings bugs, features and ideas for the AFS module.
 Please note that the thoughts expressed here do not necessarily imply
 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
 ----------

examples/v2/bos/getrestart  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;

my ($generalTime, $newBinaryTime) = $bos->getrestart;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n";

print "Server $server restarts $generalTime\n";
print "Server $server restarts for new binaries $newBinaryTime\n";

$bos->DESTROY;

examples/v2/bos/getrestricted  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;

my $mode = $bos->getrestricted;
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { print "Current restricted mode is '$mode'\n"; }

$bos->DESTROY;

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

$cellname = shift if $nargs > 1;

#warn ">$server< >$instance< >$cellname< \n";

if (defined $instance and $instance =~ / /) { @instance = split / /, $instance; }

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;

if    ($instance eq 'all') { $ok = $bos->restart_all; }
elsif ($instance eq 'bos') { $ok = $bos->restart_bos; }
elsif (@instance)          { $ok = $bos->restart(\@instance); }
else                       { $ok = $bos->restart($instance); }
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { print "OK = $ok \n"; }

$bos->DESTROY;

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


if (defined $general and !looks_like_number($general)) { warn "$0: GENERAL is not an INTEGER ...\n"; }
else                                                   { $general = int($general); }
if (defined $newbinary and !looks_like_number($newbinary)) { warn "$0: NEWBINARY is not an INTEGER ...\n"; }
else                                                       { $newbinary = int($newbinary); }

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;

my $ok = $bos->setrestart($time, $general, $newbinary);
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);

$bos->DESTROY;

examples/v2/bos/setrestricted  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;

my $mode = $bos->getrestricted;     # save old mode

my $ok = $bos->setrestricted(1);    # switch it on
print "Error Code-2: $AFS::CODE\n" if ($AFS::CODE);

$ok = $bos->setrestricted(0);       # switch it off
print "Error Code-3: $AFS::CODE\n" if ($AFS::CODE);

$ok = $bos->setrestricted($mode);    # reset it to old mode
print "Error Code-4: $AFS::CODE\n" if ($AFS::CODE);

$bos->DESTROY;

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

    if (! $nfail) { print "\t An unlimited number of unsuccessful authentications is permitted.\n"; }
    else          { print "\t $nfail consecutive unsuccessful authentications are permitted.\n";
                    if (! $locktime) { print "\t The lock time for this user is not limited.\n"; }
                    else             { print "\t The lock time for this user is $locktime minutes.  !!! umrechnen !!!\n"; }
                    if (! $is_locked) { print "\t IS_LOCKED: muss noch gecheckt werden !!!\n"; }
                    else              { print "\t IS_LOCKED: uss noch gecheckt werden !!!\n"; }
                }
}

my $exp_date = $$entry{'user_expiration'};
if ($$entry{'user_expiration'} < 0)       { print "\t entry never expires."; }
elsif ($$entry{'user_expiration'} < $now) { print "\t DISABLED entry at $exp_date."; }
else                                      { print "\t entry expires on $exp_date."; }

my $ticket_lifetime = $$entry{'max_ticket_lifetime'} / 3600;
print " Max ticket lifetime $ticket_lifetime hours.\n";

my $last_mod = $$entry{'modification_time'};
chomp(my $last_mod_date = strftime('%a %b %d %T %Y', localtime($last_mod)));
print "\t last mod on $last_mod_date by $$entry{'modification_user'}\n";

if ($$entry{'passwd_reuse'}) {
    my $reused = $$entry{'passwd_reuse'} - 0x12340000;

examples/v2/ktct/UserAuthenticateGeneral  view on Meta::CPAN


my $user = AFS::KTC_PRINCIPAL->new($princ);
my $password = AFS::KTC_EKEY->UserReadPassword("Password:");
my $pw;
my $reason = '';
my $ok = AFS::KTC_TOKEN->UserAuthenticateGeneral($user, $password, 300,
          &AFS::KA_USERAUTH_VERSION | &AFS::KA_USERAUTH_DOSETPAG,
          $pw, $reason);

print "AFS::CODE = $AFS::CODE\n";
print "pwexpires = $pw\n";
print "reason = $reason\n";

system "tokens";

examples/v2/ktct/tokens  view on Meta::CPAN

while (my $service = AFS::KTC_PRINCIPAL->ListTokens($index)) {
    if(my ($token, my $client) = AFS::KTC_TOKEN->GetToken($service)) {
        my $user = $client->name;
        $user .= "." . $client->instance if ($client->instance);
        if ($user eq '' || $user =~ /Unix UID/) { printf("Tokens"); }
        elsif ($user =~ /AFS ID/) { printf("User's (%s) tokens",$user); }
        print " for ", $service->principal," ";
        if ($token->endTime <= time) { print "[>> Expired <<]\n"; }
        else {
            chomp(my $expire = substr(ctime($token->endTime),4,13));
            print "[Expires $expire]\n";
        }
    }
}
print"   --End of list--\n";

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

#!/usr/local/bin/perl

use blib;
use strict;
use warnings;

use AFS::VLDB;

my ($vldb, $host, $nores, $prtuid);

die "Usage: $0 [host [noresolv [printuuid]]]\n" if $#ARGV > 2;

$host   = shift;
$nores  = shift;
$prtuid = shift;

$host   = '' unless $host;
$nores  = 0  unless $nores;
$prtuid = 0  unless $prtuid;

$vldb = AFS::VLDB->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n";

#host=NULL, uuid=NULL, noresolve=0, printuuid=0
my @list = $vldb->listaddrs($host, '', $nores, $prtuid);
#my @list = $vldb->listaddrs; ???
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
if (defined $list[0]) {
    my $i = 1;
    foreach my $srv (@list) {
        print "Server $i:\n";
        $i++;
        foreach (keys %$srv) {
            print "\tKey: $_, Value: $srv->{$_}\n";
        }

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

#!/usr/local/bin/perl

use blib;
use strict;
use warnings;

use AFS::VLDB;

my ($vldb, $address, $ok);

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

$address = shift;

$vldb = AFS::VLDB->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n";

$ok = $vldb->removeaddr($address);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { print "OK = $ok\n"; }

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

if (defined $inter and !looks_like_number($inter)) { warn "$0: INTER is not an INTEGER ...\n"; }
else                                               { $inter = int($inter); }
if (defined $offln and !looks_like_number($offln)) { warn "$0: OFFLN is not an INTEGER ...\n"; }
else                                               { $offln = int($offln); }
if (defined $ronly and !looks_like_number($ronly)) { warn "$0: RONLY is not an INTEGER ...\n"; }
else                                               { $ronly = int($ronly); }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

$ok = $vos->restore($server, $part, $volume, $dfile, $id, $inter, $ovwrt, $offln, $ronly);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { printf "Restored volume $volume on $server /vicep$part \n"; }

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


B<AFS> - Perl interface to AFS programming APIs

=head1 VERSION

This document describes the AFS module bundle (Version 2.6.4)


=head1 COMPATIBILITY

B<This release does NOT support any features and interfaces from
version 1.>

=head1 DESCRIPTION

The AFS module bundle is a dynamically loadable (where available)
extension to Perl.  It gives the AFS user and administrator access to
most of the AFS programming APIs, allowing you to make these calls
directly from Perl, rather than processing the output of a command.

The AFS module bundle is a thin layer above the low-level AFS APIs. When
possible, function names are similar to the actual API names, or to the
AFS command suite names. The ordering of function parameters is not
always the same though.

The AFS module bundle includes the following features:

=over 4

=item * Access to Basic Overseer Server routines

Methods that deal with the Basic Overseer Server (i.e, the I<bos>
command suite).  See L<AFS::BOS>.

=item * Access to Volume Server routines

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


=item AFS command suites (fs, pts, kas, bos, and vos)

=back

=head1 CAVEATS

These modules and their POD documentations have been written with the
help of the AFS source code, the AFS manuals, and the 'ancient' AFS
Programmer's Reference documentation.  Unfortunately nearly no
documentation was available for the interfaces to the AFS structures
ktc_token, ktc_principal, and ktc_encryptionkey.  Therefore these
modules are not very well documented.

=head1 CURRENT AUTHOR

Norbert E. Gruener E<lt>nog@MPA-Garching.MPG.deE<gt>

=head1 AUTHOR EMERITUS

Roland Schemers E<lt>schemers@slapshot.stanford.eduE<gt>

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

B<Andrew Deason> - for his problem report and his improvements on
AFS::ACL::cleanacl

B<Hans-Werner Paulsen> - for his improvement request on AFS::VOS->listvolume

B<Wolfgang Friebel> - for his improvement request on AFS::VOS->dump

=head1 COPYRIGHT AND LICENSE

 Copyright (c) 2001-2012 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
 All rights reserved.

 Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University.
 All rights reserved.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=over 6

=item The original module is covered by the following copyright:

Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University

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


  my $copy   = $acl->copy;
  my $rights = AFS::ACL->crights('read');

  my $new_acl = AFS::ACL->retrieve('/afs/mpa/home/nog');
  $ok = $new_acl->modifyacl('/afs/mpa/home/guest');

=head1 DESCRIPTION

This class provides methods to handle the B<AFS Access Control Lists>
(ACL).  It is used to create, modify, delete, and reset ACL instances.
It has methods to retrieve and to set the ACL list for directories and
its files.

These methods have the optional argument FOLLOW.  FOLLOW determines
which file should be used should PATH be a symbolic link.  If FOLLOW be
set to 1, then the symbolic link is followed to its target.  If FOLLOW
is set to 0, then the method applies to the symbolic link itself.  If
not specified FOLLOW defaults to 1.

=head1 COMPATIBILITY

B<This release does NOT support any features and interfaces
from version 1.>

=head1 METHODS

=over 4

=item B<CONSTRUCTOR>

=item S< >

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

=item B<$new_acl = $acl-E<gt>copy;>

Returns a copy of an existing ACL object.

=item B<CLASS METHODS>

=item S< >

=item B<$acl = AFS::ACL-E<gt>retrieve(PATH [, FOLLOW]);>

Retrieves the ACL list for the given PATH and stores it in the object $acl.

=item B<$ok = AFS::ACL-E<gt>copyacl(FROMDIR, TODIR [, FOLLOW]);>

Copies the ACL list from a source directory FROMDIR to the specified destination
directory TODIR. The source directory''s ACL is unchanged.

=item B<$ok = AFS::ACL-E<gt>cleanacl(PATH [, FOLLOW]);>

Removes from the ACL list of the specified PATH any entry that
refers to a user or group that no longer has a Protection Database entry.

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


Canonicalizes the RIGHTS string. Duplicate rights will be removed. It recognizes
the following special strings:
  read  => rl
  write => rlidwk
  all   => rlidwka
  mail  => lik

=item B<$flags = AFS::ACL-E<gt>ascii2rights(RIGHTS);>

Converts RIGHTS as expressed in a character string to its internal value
(an integer with the appropriate bits set).  Returns -1 if RIGHTS are
not valid (rlidwka, read, write, all, none) or returns the internal
value (int32 with bits set).

=item B<$rights = AFS::ACL-E<gt>rights2ascii(FLAGS);>

Converts the internal value FLAGS to its corresponding character string.

=item B<ATTRIBUTES ACCESS>

=item S< >

=item B<$rights = $acl-E<gt>get_rights(USER);>

=item B<$nrights = $acl-E<gt>nget_rights(USER);>

Returns the access rights for the given USER in the positive(-E<gt>get_rights) or

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


=item B<$acl-E<gt>nexists(USER);>

Returns 1 if the given USER exists in the positive(-E<gt>exists)
or negative(-E<gt>nexists) ACL list.

=item B<$acl-E<gt>is_clean>

Returns 1 if the ACL list is clean, or 0 when the ACL list needs
cleaning.  An ACL list needs cleaning if it contains entries
referencing nonexistant PTS entries, which are represented by a
numeric ID in the ACL instead of a name.

=item B<INSTANCE METHODS>

=item S< >

=item B<$acl-E<gt>add(NEWACL);>

Adds all entries of the ACL list NEWACL to the ACL list $acl.

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


Norbert E. Gruener E<lt>nog@MPA-Garching.MPG.deE<gt>

=head1 AUTHOR EMERITUS

Roland Schemers E<lt>schemers@slapshot.stanford.eduE<gt>

=head1 COPYRIGHT AND LICENSE

 Copyright (c) 2001-2011 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
 All rights reserved.

 Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University.
 All rights reserved.

Most of the explanations in this document are taken from the original
AFS documentation.

 AFS-3 Programmer's Reference:
 File Server/Cache Manager Interface
 Edward R. Zayas
 Copyright (c) 1991 Transarc Corporation.
 All rights reserved.

 IBM AFS Administration Reference
 Copyright (c) IBM Corporation 2000.
 All rights reserved.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=over 6

=item The original module is covered by the following copyright:

Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University

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


This document describes the special variables and convenience functions
available from the AFS module.  You can convert error codes into error
messages.  It is possible to activate exception handling for the AFS
system calls.  You can retrieve the values for AFS constants.  Any
function required must by explicitly listed by the C<use> statement to be
exported into the calling package.

=head1 COMPATIBILITY

B<This release does NOT support any features and interfaces
from version 1.>

=head1 Special Variables

=over 4

=item B<$AFS::CODE>

The special variable $AFS::CODE contains the status value of the last AFS
function call. A non-zero value indicates an error occurred, while a

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


Norbert E. Gruener E<lt>nog@MPA-Garching.MPG.deE<gt>

=head1 AUTHOR EMERITUS

Roland Schemers E<lt>schemers@slapshot.stanford.eduE<gt>

=head1 COPYRIGHT AND LICENSE

 Copyright (c) 2001-2010 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
 All rights reserved.

 Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University.
 All rights reserved.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=over 6

=item The original module is covered by the following copyright:

Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University

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


  $bos = AFS::BOS->new('server');
  $ok = $bos->addkey(11, 'My Secret');
  my ($date, $keys) = $bos->listkeys;
  $ok = $bos->removekey([10, 11]);

  $ok = $bos->adduser('username');
  my @users = $bos->listusers;
  $ok = $bos->removeuser('username');

  my ($generalTime, $newBinaryTime) = $bos->getrestart;
  my ($general, $newbinary, $time) = (1, 0, 'sat 4:00');
  $ok = $bos->setrestart($time, $general, $newbinary);

  $ok = $bos->startup;
  my $status = $bos->status;
  $ok = $bos->shutdown;

  $ok = $bos->start(['vlserver']);
  $ok = $bos->restart(['fs', 'vlserver']);
  $ok = $bos->restart_bos;
  $ok = $bos->restart_all;
  $ok = $bos->stop(['vlserver']);

  my $restricted = $bos->getrestricted;
  $ok = $bos->setrestricted('on');

  $ok = $bos->create('kaserver', 'simple', ['/usr/afs/bin/kaserver']);
  $ok = $bos->delete('instance');

  $ok = $bos->exec('/sbin/shutdown -r now');

  my @logentries = $bos->getlog('FileLog');

  my ($all, $bak, $old, $core) = (0, 0, 0, 1);
  $ok = $bos->prune($all, $bak, $old, $core);

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


Executes the indicated COMMAND on the BOS server machine.  It calls
the AFS system library function I<BOZO_Exec>.

=item B<@logfile = $bos-E<gt>getlog(LOGFILE);>

Returns an array with the contents of the specified LOGFILE from the
BOS server.  It calls the AFS system library function
I<StartBOZO_GetLog>.

=item B<($GTIME, $BTIME) = $bos-E<gt>getrestart;>

Returns the restart times GTIME and BTIME from the local C<BosConfig>
file.  GTIME is the general restart time at which the BOS Server
process automatically restarts itself.  BTIME is the binary restart
time at which the BOS Server automatically restarts any process for
which the time stamp on the binary file in the local C</usr/afs/bin>
directory is later than the last restart time for the process.  It
calls the AFS system library function I<BOZO_GetRestartTime>.

=item B<$restricted = $bos-E<gt>getrestricted;>

Returns the current I<restricted mode> of the BOS server. Return value
1 means I<restriced mode> enabled, 0 means disabled. This method is
only available under OpenAFS if the AFS system libraries were compiled
with the I<Restricted Mode Option>.  It calls the AFS system library
function I<BOZO_GetRestrictedMode>.

=item B<($CELL, $HOSTS) = $bos-E<gt>listhosts;>

Returns the name of the CELL and an array reference HOSTS
containing the list of database server machines.  It calls the AFS
system library function I<BOZO_Listhost>.

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

system library function I<BOZO_DeleteKey>.

=item B<$ok = $bos-E<gt>removeuser(USER);>

=item B<$ok = $bos-E<gt>removeuser(\@USER);>

Removes the privileged USER from the local C<UserList> file. USER is
either a scalar value or a reference to an array of users.  It calls
the AFS system library function I<BOZO_DeleteSuser>.

=item B<$ok = $bos-E<gt>restart_bos;>

Stops and immediately restarts all AFS server processes, including the
BOS Server. A new BOS Server starts immediately, and it starts a new
instance of each process that is marked with the I<run status flag>.

It calls the AFS system library function I<BOZO_ReBozo>.

=item B<$ok = $bos-E<gt>restart_all;>

Stops and immediately restarts all AFS server processes, except the
BOS Server, that are marked with the I<run status flag>.

It calls the AFS system library function I<BOZO_RestartAll>.

=item B<$ok = $bos-E<gt>restart(SERVER);>

=item B<$ok = $bos-E<gt>restart(\@SERVER);>

Stops and immediately restarts the SERVER processes on the server
machine, regardless of its I<run status flag>. SERVER is either a
scalar value or a reference to an array of server names.

It calls the AFS system library function I<BOZO_Restart>.

=item B<$ok = $bos-E<gt>salvage([PARTITION] ...));>

B<NOT YET RELEASED>

??? The argument list must be completed CORRECTLY  !!!

Salvages (restores internal consistency to) one or more volumes on the
file server machine

??? Here must be a COMPLETE description of all arguments !!!

If your file server runs MR-AFS, a bunch of additional boolean options
are supported: debug, nowrite, force, oktozap, rootfiles, salvagedirs,
blockreads, ListResidencies, SalvageRemote, SalvageArchival,
IgnoreCheck, ForceOnLine, UseRootDirACL, TraceBadLinkCounts,
DontAskFS, LogLevel, rxdebug, Residencies.

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

C<CellServDB>.  It calls the AFS system library function
I<BOZO_SetCellName>.

B<Cautions>

Use this method only when installing the cell's first AFS server
machine. The I<AFS Quick Beginnings> documentation explains how to
copy over the C<ThisCell> and C<CellServDB> files from this or another
appropriate machine during installation of additional server machines.

=item B<$ok = $bos-E<gt>setrestart(TIME [, GENERAL [, NEWBINARY]]);>

Sets the restart TIME at which the BOS Server restarts processes.  Set
GENERAL to 1 (default 0) to set the restart time of the BOS Server to
TIME.  This TIME is once per week.  Set NEWBINARY to 1 (default 0) to
set the binary restart time.  The TIME is once per day.  Only one of
the arguments GENERAL and NEWBINARY can be set.  It calls the AFS
system library function I<BOZO_SetRestartTime>.

=item B<$ok = $bos-E<gt>setrestricted(MODE);>

Enables (MODE = 1) or disables (MODE = 0) the I<restricted mode> for
the BOS server which disables certain bosserver functionality.  This
method is only available under OpenAFS if the AFS system libraries were
compiled with the I<Restricted Mode Option>.  It calls the AFS system
library function I<BOZO_SetRestrictedMode>.

=item B<$ok = $bos-E<gt>shutdown([SERVER, ] [WAIT]);>

=item B<$ok = $bos-E<gt>shutdown([\@SERVER, ] [WAIT]);>

Stops on the server machine either all running server processes,

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

stopped.  It calls the AFS system library function I<BOZO_WaitAll>.

=item B<$ok = $bos-E<gt>start(SERVER);>

=item B<$ok = $bos-E<gt>start(\@SERVER);>

Sets the I<status flag> for each SERVER process to I<Run> in the local
C<BosConfig> file and in the BOS Server's memory on the server
machine, then starts it.  If the SERVER process is already running,
the only effect is to guarantee that the status flag is I<Run>; it
does not restart the process.  SERVER is either a scalar value or a
reference to an array of process names.  It calls the AFS system
library function I<BOZO_SetStatus>.

=item B<$ok = $bos-E<gt>startup([SERVER]);>

=item B<$ok = $bos-E<gt>startup([\@SERVER]);>

Starts on the server machine either all server processes not currently
running but marked with the I<run status flag> in the local
C<BosConfig> file or the process SERVER even if its status flag in the

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

=item S< >

=back

=head1 COPYRIGHT AND LICENSE

 Copyright (c) 2005-2012 Norbert E. Gruener <nog@MPA-Garching.MPG.de>
 Copyright (c) 2003-2004 Alf Wachsmann <alfw@slac.stanford.edu>,
                         Venkata Phani Kiran Achanta <neo_phani@hotmail.com>, and
                         Norbert E. Gruener <nog@MPA-Garching.MPG.de>
 All rights reserved.

Most of the explanations in this document are taken from the original
AFS documentation.

 AFS-3 Programmer's Reference:
 BOS Server Interface
 Edward R. Zayas
 Copyright (c) 1991 Transarc Corporation.
 All rights reserved.

 IBM AFS Administration Reference
 Copyright (c) IBM Corporation 2000.
 All rights reserved.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=head1 DOCUMENT VERSION

Revision $Rev: 1130 $

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

exported into the calling package.

Some of these functions have the optional argument FOLLOW.  FOLLOW
determines which file should be used should PATH be a symbolic link.  If
FOLLOW be set to 1, then the symbolic link is followed to its target.
If FOLLOW is set to 0, then the function applies to the symbolic link
itself.  If not specified FOLLOW defaults to 1.

=head1 COMPATIBILITY

B<This release does NOT support any features and interfaces
from version 1.>

=head1 EXPORTS

=head2 Standard Exports

none

=head2 Optional Exports

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


Expands CELL to the fully qualified cellname. Returns undef on error.

=cut

# does not work properly, return value $cell is not set properly ???

# =item B<($cell, @servers)  = getcell(INDEX [,IP]);>

# Displays the list of the database server machines that the Cache Manager
# stores in kernel memory for its home cell and foreign cells.

# Iterates through the Cache Manager's internal cell configuration,
# using INDEX as an index. The index starts at 0. $AFS::CODE will
# be set to a non-zero value when passed an invalid index. If IP is
# set to 1 then IP addresses will be returned instead of hostnames.
# Displays each database server machine's IP address rather than hostname.

=item B<($cell @servers) = getcellinfo([CELL [,IP]]);>

Gets information on CELL (default NULL) using CellServDB. If IP (default
0) is set to 1 then IP addresses will be returned instead of hostnames.

=item B<$cellname = localcell;>

Returns the cellname of the local cell. Returns undef on error.

=item B<$cellname = whichcell(PATH [,FOLLOW]);>

Returns the name of the cell in which the volume that houses PATH
resides.  Returns undef and sets CODE on error.

=item B<$cellname = wscell;>

Returns the name of the local machine's home cell.

=back

=head1 CURRENT AUTHOR

Norbert E. Gruener E<lt>nog@MPA-Garching.MPG.deE<gt>

=head1 AUTHOR EMERITUS

Roland Schemers E<lt>schemers@slapshot.stanford.eduE<gt>

=head1 COPYRIGHT AND LICENSE

 Copyright (c) 2001-2010 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
 All rights reserved.

 Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University.
 All rights reserved.

Most of the explanations in this document are taken from the original
AFS documentation.

 AFS-3 Programmer's Reference:
 File Server/Cache Manager Interface
 Edward R. Zayas
 Copyright (c) 1991 Transarc Corporation.
 All rights reserved.

 IBM AFS Administration Reference
 Copyright (c) IBM Corporation 2000.
 All rights reserved.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=over 6

=item The original module is covered by the following copyright:

Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University

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

by the C<use> statement to be exported into the calling package.

Some of these functions have the optional argument FOLLOW.  FOLLOW
determines which file should be used should PATH be a symbolic link.  If
FOLLOW be set to 1, then the symbolic link is followed to its target.
If FOLLOW is set to 0, then the function applies to the symbolic link
itself.  If not specified FOLLOW defaults to 1.

=head1 COMPATIBILITY

B<This release does NOT support any features and interfaces
from version 1.>

=head1 EXPORTS

=head2 Standard Exports

none

=head2 Optional Exports

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

(i.e, not expired).

=cut

# does not work properly ???

# =item B<$ok = checkservers(FAST [, CELL [, IP]]);>

# Reports whether certain AFS server machines are accessible from the
# local client machine.  If the FAST flag is set to 1, the Cache Manager
# does not probe any machines, but instead reports the results of the most
# recent previous probe.  If the CELL argument is included, only machines
# that are marked inaccessible and belong to the specified CELL are
# listed.  If IP (default 0) is set to 1 then IP addresses will be
# returned instead of hostnames.

=item B<$ok = checkvolumes;>

Forces the Cache Manager to update volume-related information.

=item B<$ok = cm_access(PATH [, PERMS [,FOLLOW]]);>

Returns 1 if caller has access with the given permissions PERMS (default
'read') to given PATH.

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


Norbert E. Gruener E<lt>nog@MPA-Garching.MPG.deE<gt>

=head1 AUTHOR EMERITUS

Roland Schemers E<lt>schemers@slapshot.stanford.eduE<gt>

=head1 COPYRIGHT AND LICENSE

 Copyright (c) 2001-2010 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
 All rights reserved.

 Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University.
 All rights reserved.

Most of the explanations in this document are taken from the original
AFS documentation.

 AFS-3 Programmer's Reference:
 File Server/Cache Manager Interface
 Edward R. Zayas
 Copyright (c) 1991 Transarc Corporation.
 All rights reserved.

 IBM AFS Administration Reference
 Copyright (c) IBM Corporation 2000.
 All rights reserved.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=over 6

=item The original module is covered by the following copyright:

Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University

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

exported into the calling package.

Some of these functions have the optional argument FOLLOW.  FOLLOW
determines which file should be used should PATH be a symbolic link.  If
FOLLOW be set to 1, then the symbolic link is followed to its target.
If FOLLOW is set to 0, then the function applies to the symbolic link
itself.  If not specified FOLLOW defaults to 1.

=head1 COMPATIBILITY

B<This release does NOT support any features and interfaces
from version 1.>

=head1 EXPORTS

=head2 Standard Exports

none

=head2 Optional Exports

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

and an error code is set.

=item B<$ok = setquota(PATH, QUOTA [,FOLLOW]);>

Sets the QUOTA (maximum possible size) of the read/write volume that
contains PATH.

=item B<@hosts = whereis(PATH [,IP [,FOLLOW]]);>

Returns the name of each file server machine housing PATH.  If IP
(default 0) is set to 1 then IP addresses will be returned instead of
hostnames.

=back

=head1 CURRENT AUTHOR

Norbert E. Gruener E<lt>nog@MPA-Garching.MPG.deE<gt>

=head1 AUTHOR EMERITUS

Roland Schemers E<lt>schemers@slapshot.stanford.eduE<gt>

=head1 COPYRIGHT AND LICENSE

 Copyright (c) 2001-2010 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
 All rights reserved.

 Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University.
 All rights reserved.

Most of the explanations in this document are taken from the original
AFS documentation.

 AFS-3 Programmer's Reference:
 File Server/Cache Manager Interface
 Edward R. Zayas
 Copyright (c) 1991 Transarc Corporation.
 All rights reserved.

 IBM AFS Administration Reference
 Copyright (c) IBM Corporation 2000.
 All rights reserved.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=over 6

=item The original module is covered by the following copyright:

Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University

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

  $pw_reuse = $$entry{'passwd_reuse'} - 0x12340000;

  $kas->DESTROY;           # destroy server connection

=head1 DESCRIPTION

This class is used to communicate with the B<AFS Authentication
Server>.  It verifies user identities and provides the facilities
through which participants in transactions prove their identities to
one another (mutually authenticate). It maintains the Authentication
Database, in which it stores user passwords converted into encryption
key form as well as the AFS server encryption key.  It has methods to
query the information held for any given AFS user and to create,
modify, and delete the records in the DB where the above information
is held.

Before you can access any DB record you must establish a connection to
the Authentication Server.  This is done by the constructor methods
I<SingleServerConn> and I<AuthServerConn> which return a KAS object.  A
KAS object is essentially a handle to talk to an Authentication Server
in a given cell.  Such a KAS object is required before any of the
other KAS instance methods can be called.

=head1 COMPATIBILITY

B<This release does NOT support any features and interfaces
from version 1.>

=head1 METHODS

=over 4

=item B<CONSTRUCTOR>

=item S< >

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

AFS::KTC_EKEY.  OEKY is never used, so you can put in any key
(randomkey).  It calls the AFS system library function
'ka_ChangePassword'.

=item B<$ok = $kas-E<gt>create(UNAME, UINST, NKEY);>

=item B<$ok = $kas-E<gt>KAM_CreateUser(UNAME, UINST, NKEY);>

Adds the user entry UNAME.UINST to the Authentication Database and sets
its password key to NKEY.  NKEY must be an instance of AFS::KTC_EKEY.
This call requires a connection encrypted with an AdminTicket.  It calls
the AFS system library function 'KAM_CreateUser'.

=item B<$entry = $kas-E<gt>debug;>

=item B<$entry = $kas-E<gt>KAM_Debug(VERSION);>

Returns information about the Authentication Database, the key cache,
and the state of the AuthServer.  The return value is a reference to a
hash table containing the values from the C structure C<ka_debugInfo>.
Possible values for VERSION are

   &AFS::KAMAJORVERSION

It calls the AFS system library function'KAM_Debug'.

=item B<$ok = $kas-E<gt>delete(UNAME, UINST);>

=item B<$ok = $kas-E<gt>KAM_DeleteUser(UNAME, UINST);>

Removes the user entry UNAME.UINST from the Authentication Database. It
requires a connection encrypted with an AdminTicket.
It calls the AFS system library function 'KAM_DeleteUser'.

=item B<$entry = $kas-E<gt>getentry(UNAME, UINST);>

=item B<$entry = $kas-E<gt>KAM_Getentry(UNAME, UINST);>

Returns information from the Authentication Database entry for the
user entry UNAME.UINST.  The return value is a reference to a hash
table containing the values from the C structure C<kaentryinfo>.  The
hash table has the following keys

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


It calls the AFS system library function 'KAM_GetEntry'.

=item B<($num_admins, $kasstats, $kadstats) = $kas-E<gt>getstats;>

=item B<($num_admins, $kasstats, $kadstats) = $kas-E<gt>KAM_GetStats(VERSION);>

Returns statistics about the AuthServer and its database. If VERSION
does not match that used by the server, the call returns an error
code. The return values are references to the hash tables containing
the values from the C structures C<kasstats> and C<kadstats>.  This
call requires a connection encrypted with an AdminTicket.  Possible
values for VERSION are

   &AFS::KAMAJORVERSION

It calls the AFS system library function 'KAM_Getstats'.

=item B<$token = $kas-E<gt>GetToken(SNAME, SINST, STIME, ETIME, AUTH_TOKEN [, AUTH_CELL]);>

Return a token for the specified service SNAME.SINST.  The desired
ticket lifetime is specified by STIME and ETIME (given in 5 minute

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


=item B<($name, $inst) = $kas-E<gt>KAM_ListEntry(PREV, INDX, COUNT);>

Returns the name and instance of an entry in the database.  It provides
a way to step through all the entries in the database. The first call
should be made with previous index PREV set to zero. The method updates
COUNT, which is an estimate of the number of entries remaining to be
returned, and INDX, which should be passed in as previous index on the
next call. A negative COUNT or a non­zero return code indicates that an
error occurred.  A zero INDX means there were no more entries. A zero
COUNT means the last entry has been returned. This call requires a
connection encrypted with an AdminTicket.  It calls the AFS system
library function 'KAM_ListEntry'.

=item B<$rkey = $kas-E<gt>randomkey;>

=item B<$rkey = $kas-E<gt>KAM_GetRandomKey;>

Returns a random DES key (an instance of AFS::KTC_EKEY) and is preferred
over a calling routine just inventing a key.  It calls the AFS system
library function 'KAM_GetRandomKey'.

=item B<$ok = $kas-E<gt>setpassword(UNAME, UINST, KVNO, NKEY);>

=item B<$ok = $kas-E<gt>KAM_SetPassword(UNAME, UINST, KVNO, NKEY);>

Sets the key NKEY and key version number KVNO of the user entry
UNAME.UINST to the given values. NKEY must be an instance of
AFS::KTC_EKEY.  This call requires a connection encrypted with an
AdminTicket.  It calls the AFS system library function
'KAM_SetPassword'.

=item B<$ok = $kas-E<gt>setfields(UNAME, UINST, FLAGS, EXPIRE, LIFETIME, MAXASSOC, PACKED);>

=item B<$ok = $kas-E<gt>KAM_SetFields(UNAME, UINST, FLAGS, EXPIRE, LIFETIME, MAXASSOC, PACKED);>

This function alters the miscellaneous parameters associated with the
user entry UNAME.UINST. The FLAGS argument can be set to the following values

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

EXPIRE is the epoch time after which attempts to authenticate as this user
will fail. The LIFETIME can be set to limit the lifetime of an
authentication ticket created for a user (unit is secs). MAXASSOC
defaults to -1.  PACKED is an array of four bytes. It contains

  PACKED[0]: password lifetime; range must be [0..254] days; 0 = infinity
  PACKED[1]: password reuse; [1 = yes], [2 = no], [0 = not changed]
  PACKED[2]: numb of failed logins; (fail - 1) tries are allowed; 0 = infinity
  PACKED[3]: lock time, must be set in units of 8.5 minutes; 0 = infinity

This call requires a connection encrypted with an AdminTicket.  It
calls the AFS system library function 'KAM_SetFields'.

=back

=head1 CURRENT AUTHOR

Norbert E. Gruener E<lt>nog@MPA-Garching.MPG.deE<gt>

=head1 AUTHOR EMERITUS

Roland Schemers E<lt>schemers@slapshot.stanford.eduE<gt>

=head1 COPYRIGHT AND LICENSE

 Copyright (c) 2001-2010 Norbert E. Gruener <nog@MPA-Garching.MPG.de>.
 All rights reserved.

 Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University.
 All rights reserved.

Most of the explanations in this document are taken from the original
AFS documentation.

 AFS-3 Programmer's Reference:
 Authentication Server Interface
 Edward R. Zayas
 Copyright (c) 1991 Transarc Corporation.
 All rights reserved.

 IBM AFS Administration Reference
 Copyright (c) IBM Corporation 2000.
 All rights reserved.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=over 6

=item The original module is covered by the following copyright:

Copyright (c) 1994 Board of Trustees, Leland Stanford Jr. University



( run in 1.369 second using v1.01-cache-2.11-cpan-49f99fa48dc )