Thank you jeremiah.

I am not the one to judge perl stuff (I don't know perl) so I put jon in
copy, he can.

thanks man, I hope it will make it, we need it.

marc


> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Jeremiah Johnson
> Sent: Friday, July 07, 2000 8:19 AM
> To: jboss-dev
> Subject: [jBoss-Dev] Script for CVS admin
>
>
> Marc,
>
> This should do what Jon is looking for if I understand correctly.
>  Unfortunately, the only CVS machines I have access to are on
> Solaris, so I haven't been able to test it on Linux.  Should be
> the same, though...
>
> Please read the commented text and let me know if you think
> something should be changed...  It is for Perl 5.
>
> - jeremiah
>
> #!/usr/local/bin/perl
>
> # This script is very basic, not much error check or very robust.  It is
> # specifically for adding a new user and crypted password to the CVS
> # password file.  It requires that the password file is in the format
> # $NEW_USER:$CIPHER_PASSWORD:$LOCAL_USER
> #
> # Execute this script with two command-line arguments: username
> and password.
> # Perl will use the crypt function to encrypt the password and then will
> # add the new user information to the end of the password file.  If a user
> # is already in the password file with the given username, then
> the program
> # will stop and do nothing.
> #
> # The script needs to be edited appropriately for use on a new system.
> # Specifically, the default CVSROOT needs to be specified and the name of
> # the local user needs to be specified.
> #
> # Note that if the debug flag is off (set to 0), then there will not be
> # any output unless something fails.  If you turn debugging on, then it
> # is directly verbose output.
>
> #
> # Please change the following vars appropriately.
> #
> $CVS_ROOT   = "/home/jjohnson/test";
> $CVS_PASSWD = "passwd";       # name of CVS password file
>
> $LOCAL_USER = "jjohnson";
>
> $CRYPT_SALT = "jBoss";        # only first two characters used
>
> $DEBUG_FLAG = 0;      # 1 / 0 to turn debugging ON or OFF
>
> #
> # Shouldn't need to change anything below here...
> #
> if( $DEBUG_FLAG ) { print "CVSROOT: $CVSROOT\nLOCAL_USER:
> $LOCAL_USER\n"; }
>
> if( @ARGV != 2 ) {
>   print "Usage: $0 {username} {password}\n";
>   print "Note: there is _no_ output unless something fails.\n";
>   exit 1;
> }
>
> $username  = $ARGV[0];
> $plaintext = $ARGV[1];
>
> #
> # Crypt the password using the global SALT.
> #
> $password = crypt( $plaintext, $CRYPT_SALT );
>
> if( $DEBUG_FLAG ) { print "Plaintext: $plaintext\nPassword:
> $password\n"; }
>
> #
> # Open the password file, check for the username.  Die if the username
> # already exists; otherwise, add the new line at the end.
> #
> if( $DEBUG_FLAG ) { print "Openning $CVS_ROOT/$CVS_PASSWD\n"; }
>
> # check for the username
> unless( open(PASSWD, "<$CVS_ROOT/$CVS_PASSWD") ) {
>   print "Failed to open the current password file.\n";
>   exit 1;
> }
>
> $existsFlag = 0;
> while( <PASSWD> ) {
>   if( /^$username/ ) {
>     $existsFlag = 1;
>   }
> }
>
> close( PASSWD );
>
> if( $existsFlag ) {
>   print "User already exists in password file.\n";
>   exit 1;
> }
>
> # open the file again to append
> unless( open(PASSWD, ">>$CVS_ROOT/$CVS_PASSWD") ) {
>   print "Failed to open the current password file.\n";
>   exit 1;
> }
>
> if( $DEBUG_FLAG ) {
>   print "Appending passwd with: $username:$password:$LOCAL_USER\n";
> }
> print PASSWD "$username:$password:$LOCAL_USER\n";
>
> close( PASSWD );
>
> #
> # Finally, check the file one more time to make sure info was added.
> #
> unless( open(PASSWD, "<$CVS_ROOT/$CVS_PASSWD") ) {
>   print "Failed to open the current password file.\n";
>   exit 1;
> }
>
> $existsFlag = 0;
> while( <PASSWD> ) {
>   if( /^$username:$password:$LOCAL_USER/ ) {
>     $existsFlag = 1;
>   }
> }
>
> close( PASSWD );
>
> unless( $existsFlag ) {
>   print "New user not found, try again.\n";
>   exit 1;
> }
>
> if( $DEBUG_FLAG ) { print "Success\n"; }
>
> ______________________________________________
> FREE Personalized Email at Mail.com
> Sign up at http://www.mail.com/?sr=signup
>
>
>


Reply via email to