[Jifty-commit] r2488 - in jifty/trunk/plugins: AuthCASLogin AuthCASLogin/debian AuthCASLogin/doc AuthCASLogin/lib AuthCASLogin/lib/Jifty AuthCASLogin/lib/Jifty/Plugin AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Action AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Model AuthCASLogin/share AuthCASLogin/share/po AuthCASLogin/share/web AuthCASLogin/share/web/static AuthCASLogin/share/web/templates AuthCASLogin/t AuthCASOnly/debian AuthCASOnly/doc AuthCASOnly/lib AuthCASOnly/lib/Jifty AuthCASOnly/lib/Jifty/Plugin AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Action AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Model AuthCASOnly/share AuthCASOnly/share/po AuthCASOnly/share/web AuthCASOnly/share/web/static AuthCASOnly/share/web/templates AuthCASOnly/t

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Thu Jan 11 03:10:41 EST 2007


Author: yves
Date: Thu Jan 11 03:10:37 2007
New Revision: 2488

Added:
   jifty/trunk/plugins/AuthCASLogin/
   jifty/trunk/plugins/AuthCASLogin/MANIFEST
   jifty/trunk/plugins/AuthCASLogin/Makefile.PL
   jifty/trunk/plugins/AuthCASLogin/debian/
   jifty/trunk/plugins/AuthCASLogin/debian/changelog
   jifty/trunk/plugins/AuthCASLogin/debian/compat
   jifty/trunk/plugins/AuthCASLogin/debian/control
   jifty/trunk/plugins/AuthCASLogin/debian/copyright
   jifty/trunk/plugins/AuthCASLogin/debian/files
   jifty/trunk/plugins/AuthCASLogin/debian/rules   (contents, props changed)
   jifty/trunk/plugins/AuthCASLogin/doc/
   jifty/trunk/plugins/AuthCASLogin/lib/
   jifty/trunk/plugins/AuthCASLogin/lib/Jifty/
   jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/
   jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/
   jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin.pm
   jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Action/
   jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Action/CASLogin.pm
   jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Action/CASLogout.pm
   jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Dispatcher.pm
   jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Model/
   jifty/trunk/plugins/AuthCASLogin/share/
   jifty/trunk/plugins/AuthCASLogin/share/po/
   jifty/trunk/plugins/AuthCASLogin/share/web/
   jifty/trunk/plugins/AuthCASLogin/share/web/static/
   jifty/trunk/plugins/AuthCASLogin/share/web/templates/
   jifty/trunk/plugins/AuthCASLogin/share/web/templates/caslogin
   jifty/trunk/plugins/AuthCASLogin/share/web/templates/caslogout
   jifty/trunk/plugins/AuthCASLogin/t/
   jifty/trunk/plugins/AuthCASLogin/t/00-load.t
   jifty/trunk/plugins/AuthCASOnly/
   jifty/trunk/plugins/AuthCASOnly/MANIFEST
   jifty/trunk/plugins/AuthCASOnly/MANIFEST.bak
   jifty/trunk/plugins/AuthCASOnly/META.yml
   jifty/trunk/plugins/AuthCASOnly/Makefile
   jifty/trunk/plugins/AuthCASOnly/Makefile.PL
   jifty/trunk/plugins/AuthCASOnly/debian/
   jifty/trunk/plugins/AuthCASOnly/debian/changelog
   jifty/trunk/plugins/AuthCASOnly/debian/compat
   jifty/trunk/plugins/AuthCASOnly/debian/control
   jifty/trunk/plugins/AuthCASOnly/debian/copyright
   jifty/trunk/plugins/AuthCASOnly/debian/files
   jifty/trunk/plugins/AuthCASOnly/debian/rules   (contents, props changed)
   jifty/trunk/plugins/AuthCASOnly/doc/
   jifty/trunk/plugins/AuthCASOnly/lib/
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly.pm
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Action/
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Model/
   jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm
   jifty/trunk/plugins/AuthCASOnly/share/
   jifty/trunk/plugins/AuthCASOnly/share/po/
   jifty/trunk/plugins/AuthCASOnly/share/web/
   jifty/trunk/plugins/AuthCASOnly/share/web/static/
   jifty/trunk/plugins/AuthCASOnly/share/web/templates/
   jifty/trunk/plugins/AuthCASOnly/share/web/templates/caslogin
   jifty/trunk/plugins/AuthCASOnly/share/web/templates/caslogout
   jifty/trunk/plugins/AuthCASOnly/t/
   jifty/trunk/plugins/AuthCASOnly/t/00-load.t

Log:
Some CAS authentification plugins


Added: jifty/trunk/plugins/AuthCASLogin/MANIFEST
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/MANIFEST	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,8 @@
+MANIFEST
+lib/Jifty/Plugin/AuthCASLogin.pm
+lib/Jifty/Plugin/AuthCASLogin/Action/CASLogin.pm
+lib/Jifty/Plugin/AuthCASLogin/Action/CASLogout.pm
+lib/Jifty/Plugin/AuthCASLogin/Dispatcher.pm
+Makefile.PL
+share/web/templates/caslogin
+share/web/templates/caslogout

Added: jifty/trunk/plugins/AuthCASLogin/Makefile.PL
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/Makefile.PL	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,11 @@
+use inc::Module::Install;
+name('Jifty-Plugin-AuthCASLogin');
+license('Perl');
+version('0.01');
+requires('Jifty' => '0.60912');
+requires('Jifty::Plugin::Login');
+requires('AuthCAS');
+
+install_share;
+
+WriteAll;

Added: jifty/trunk/plugins/AuthCASLogin/debian/changelog
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/debian/changelog	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,12 @@
+libjifty-plugin-authcaslogin-perl (0-2) unstable; urgency=low
+
+  *  update
+
+ -- AGOSTINI Yves <agostini at univ-metz.fr>  Fri, 22 Dec 2006 17:39:23 +0100
+
+libjifty-plugin-authcaslogin-perl (0-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- AGOSTINI Yves <agostini at univ-metz.fr>  Fri, 17 Nov 2006 14:29:45 +0100
+

Added: jifty/trunk/plugins/AuthCASLogin/debian/compat
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/debian/compat	Thu Jan 11 03:10:37 2007
@@ -0,0 +1 @@
+4

Added: jifty/trunk/plugins/AuthCASLogin/debian/control
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/debian/control	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,18 @@
+Source: libjifty-plugin-authcaslogin-perl
+Section: perl
+Priority: optional
+Build-Depends: debhelper (>= 4.0.2)
+Build-Depends-Indep: perl (>= 5.8.0-7)
+Maintainer: AGOSTINI Yves <agostini at univ-metz.fr>
+Standards-Version: 3.6.1
+
+Package: libjifty-plugin-authcaslogin-perl
+Architecture: all
+Depends: ${perl:Depends}, ${misc:Depends}, libauthcas-perl
+Description:  Jifty::Plugin::AuthCASLogin
+ MUST BE USED WITH Login PLUGIN
+ .
+ Add cas users in Jifty::Plugin::Login::Model::User. 
+ Distinct id for cas users is email field with login at CAS.user
+ .
+ This description was automagically extracted from the module by dh-make-perl.

Added: jifty/trunk/plugins/AuthCASLogin/debian/copyright
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/debian/copyright	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,7 @@
+This is the debian package for the  module.
+It was created by AGOSTINI Yves <agostini at univ-metz.fr> using dh-make-perl.
+
+This copyright info was automatically extracted from the perl module.
+It may not be accurate, so you better check the module sources
+if don't want to get into legal troubles.
+

Added: jifty/trunk/plugins/AuthCASLogin/debian/files
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/debian/files	Thu Jan 11 03:10:37 2007
@@ -0,0 +1 @@
+libjifty-plugin-authcaslogin-perl_0-2_all.deb perl optional

Added: jifty/trunk/plugins/AuthCASLogin/debian/rules
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/debian/rules	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,83 @@
+#!/usr/bin/make -f
+# This debian/rules file is provided as a template for normal perl
+# packages. It was created by Marc Brockschmidt <marc at dch-faq.de> for
+# the Debian Perl Group (http://pkg-perl.alioth.debian.org/) but may
+# be used freely wherever it is useful.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# If set to a true value then MakeMaker's prompt function will
+# always return the default without waiting for user input.
+export PERL_MM_USE_DEFAULT=1
+
+PACKAGE=$(shell dh_listpackages)
+
+ifndef PERL
+PERL = /usr/bin/perl
+endif
+
+TMP     =$(CURDIR)/debian/$(PACKAGE)
+
+build: build-stamp
+build-stamp:
+	dh_testdir
+
+	# Add commands to compile the package here
+	$(PERL) Makefile.PL INSTALLDIRS=vendor
+	$(MAKE) OPTIMIZE="-Wall -O2 -g"
+
+	touch build-stamp
+
+clean:
+	dh_testdir
+	dh_testroot
+
+	# Add commands to clean up after the build process here
+	-$(MAKE) distclean
+
+	dh_clean build-stamp install-stamp
+
+install: build install-stamp
+install-stamp:
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+
+	# Add commands to install the package into debian/$PACKAGE_NAME here
+	$(MAKE) test
+	$(MAKE) install DESTDIR=$(TMP) PREFIX=/usr
+
+	# As this is a architecture independent package, we are not
+	# supposed to install stuff to /usr/lib. MakeMaker creates
+	# the dirs, we delete them from the deb:
+	rmdir --ignore-fail-on-non-empty --parents $(TMP)/usr/lib/perl5
+
+	touch install-stamp
+
+binary-arch:
+# We have nothing to do by default.
+
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+#	dh_installcron
+#	dh_installmenu
+#	dh_installexamples
+	dh_installdocs 
+	dh_installchangelogs 
+	dh_perl
+	dh_link
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+source diff:                                                                  
+	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary

Added: jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,54 @@
+use strict;
+use warnings;
+
+=head1 NAME
+
+Jifty::Plugin::AuthCASOnly
+
+=head1 DESCRIPTION
+
+B<MUST BE USED WITH Login PLUGIN>
+
+Add cas users in L<Jifty::Plugin::Login::Model::User>. 
+Distinct id for cas users is C<email> field with C<login at CAS.user>
+
+=head1 CONFIG
+
+ in etc/config.yml
+  Plugins: 
+    - Login: {}
+    - AuthCASLogin: 
+       CASserver: https://auth.univ-metz.fr
+       CAFile: /home/agostini/univ.crt
+
+=head1 SEE ALSO
+
+L<AuthCAS>
+
+=cut
+
+package Jifty::Plugin::AuthCASLogin;
+use base qw/Jifty::Plugin/;
+use AuthCAS;
+
+# Your plugin goes here.  If takes any configuration or arguments, you
+# probably want to override L<Jifty::Plugin/init>.
+
+{
+    my $CAS;
+
+    sub init {
+        my $self = shift;
+        my %args = @_;
+
+    	my $cafile = $args{CAFile};
+    	my $casserver = $args{CASserver};
+    	$CAS = new AuthCAS(casUrl => $casserver, CAFile => $cafile);
+    }
+
+    sub CAS {
+	   return $CAS;
+    }
+}
+
+1;

Added: jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Action/CASLogin.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Action/CASLogin.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,102 @@
+use warnings;
+use strict;
+
+=head1 NAME
+
+Jifty::Plugin::AuthCASLogin::Action::CASLogin
+
+=cut
+
+package Jifty::Plugin::AuthCASLogin::Action::CASLogin;
+use base qw/Jifty::Action Jifty::Plugin::Login Jifty::Plugin::AuthCASLogin/;
+#use AuthCAS;
+
+
+=head2 arguments
+
+Return the ticket form field
+
+=cut
+
+sub arguments {
+    return (
+        {
+            ticket => {
+                label          => 'cas ticket',
+           #     mandatory      => 1,
+                ajax_validates => 1,
+            },
+
+        }
+    );
+
+}
+
+=head2 validate_ticket ST
+
+for ajax_validates
+Makes sure that the ticket submitted is legal.
+
+
+=cut
+
+sub validate_ticket {
+    my $self  = shift;
+    my $ticket = shift;
+
+    unless ( $ticket && $ticket !~ /^[A-Za-z0-9-]+$/ ) {
+        return $self->validation_error(
+            ticket => _("That doesn't look like a valid ticket.") );
+    }
+
+
+    return $self->validation_ok('ticket');
+}
+
+
+=head2 take_action
+
+Actually check the user's password. If it's right, log them in.
+Otherwise, throw an error.
+
+
+=cut
+
+sub take_action {
+    my $self = shift;
+    my $ticket = $self->argument_value('ticket');
+
+    my $service_url = ($ENV{SERVER_PORT} == 443)?'https://':'http://'.
+    	$ENV{HTTP_HOST}.'/caslogin';
+
+    if (! $ticket) {
+        my $login_url = $self->CAS->getServerLoginURL($service_url);
+        Jifty->web->_redirect($login_url);
+        return 1;
+      }
+      
+    my $username = $self->CAS->validateST($service_url,$ticket);
+    my $error = &AuthCAS::get_errors();
+    if ($error) {
+      Jifty->log->info("CAS error: $ticket $username : $error");
+      return;
+    }
+      
+    my $LoginUser = $self->LoginUserClass();
+    my $CurrentUser = $self->CurrentUserClass();
+    my $u = $LoginUser->new( current_user => $CurrentUser->superuser );
+
+    $u->load_by_cols( email => $username.'@CAS.user');
+    my $id = $u->id;
+    if (!$id) { 
+   	($id) = $u->create(name => $username, email => $username.'@CAS.user'); 
+	}
+    Jifty->log->debug("Login user id: $id"); 
+
+    # Actually do the signin thing.
+     Jifty->web->current_user( $CurrentUser->new( id => $u->id ) );
+
+    return 1;
+}
+
+1;

Added: jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Action/CASLogout.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Action/CASLogout.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,35 @@
+use warnings;
+use strict;
+
+=head1 NAME
+
+Jifty::Plugin::AuthCASLogin::Action::CASLogout
+
+=cut
+
+package Jifty::Plugin::AuthCASLogin::Action::CASLogout;
+use base qw/Jifty::Action/;
+
+=head2 arguments
+
+Return the email and password form fields
+
+=cut
+
+sub arguments {
+    return ( {} );
+}
+
+=head2 take_action
+
+Nuke the current user object
+
+=cut
+
+sub take_action {
+    my $self = shift;
+    Jifty->web->current_user(undef);
+    return 1;
+}
+
+1;

Added: jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Dispatcher.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/lib/Jifty/Plugin/AuthCASLogin/Dispatcher.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,45 @@
+use strict;
+use warnings;
+
+package Jifty::Plugin::AuthCASLogin::Dispatcher;
+use Jifty::Dispatcher -base;
+
+# Put any plugin-specific dispatcher rules here.
+
+before 'caslogin' => run {
+ if (get('ticket')) {
+    set 'action' =>
+        Jifty->web->new_action(
+        class => 'CASLogin',
+        moniker => 'casloginbox',
+	arguments => { ticket => get('ticket') },
+    );
+#    set 'next' => Jifty->web->request->continuation
+#        || Jifty::Continuation->new(
+#        request => Jifty::Request->new( path => "/" ) );
+  };
+};
+
+# Log out
+before 'caslogout' => run {
+    Jifty->web->request->add_action(
+        class   => 'CASLogout',
+        moniker => 'caslogout',
+    );
+};
+
+
+# Login
+#on 'caslogin' => run {
+#    set 'action' =>
+#        Jifty->web->new_action(
+#        class => 'CASLogin',
+#        moniker => 'casloginbox'
+#    );
+#    set 'next' => Jifty->web->request->continuation
+#        || Jifty::Continuation->new(
+#        request => Jifty::Request->new( path => "/" ) );
+#};
+
+
+1;

Added: jifty/trunk/plugins/AuthCASLogin/share/web/templates/caslogin
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/share/web/templates/caslogin	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,11 @@
+<%args>
+$ticket => ""
+</%args>
+<%init>
+Jifty->web->new_action(
+    moniker => 'casloginbox',
+    class   => 'CASLogin',
+    arguments => { ticket => $ticket }
+)->run;
+Jifty->web->redirect("/");
+</%init>

Added: jifty/trunk/plugins/AuthCASLogin/share/web/templates/caslogout
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/share/web/templates/caslogout	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,3 @@
+<&| /_elements/wrapper, title => "Logged out" &>
+<p><% _("Ok, you're now logged out. Have a good day.") %></p>
+</&>

Added: jifty/trunk/plugins/AuthCASLogin/t/00-load.t
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASLogin/t/00-load.t	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,5 @@
+#!/usr/bin/env perl -w
+use strict;
+use Test::More tests => 1;
+
+use_ok('Jifty::Plugin::AuthCASLogin');

Added: jifty/trunk/plugins/AuthCASOnly/MANIFEST
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/MANIFEST	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,18 @@
+debian/changelog
+debian/compat
+debian/control
+debian/copyright
+debian/files
+debian/rules
+lib/Jifty/Plugin/AuthCASOnly.pm
+lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm
+lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm
+lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm
+lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm
+lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm
+Makefile.PL
+MANIFEST			This list of files
+META.yml
+share/web/templates/caslogin
+share/web/templates/caslogout
+t/00-load.t

Added: jifty/trunk/plugins/AuthCASOnly/MANIFEST.bak
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/MANIFEST.bak	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,57 @@
+debian/changelog
+debian/compat
+debian/control
+debian/copyright
+debian/files
+debian/libjifty-plugin-authcaslogin-perl.substvars
+debian/libjifty-plugin-authcaslogin-perl/DEBIAN/control
+debian/libjifty-plugin-authcaslogin-perl/DEBIAN/md5sums
+debian/libjifty-plugin-authcaslogin-perl/usr/share/doc/libjifty-plugin-authcaslogin-perl/changelog.Debian.gz
+debian/libjifty-plugin-authcaslogin-perl/usr/share/doc/libjifty-plugin-authcaslogin-perl/copyright
+debian/libjifty-plugin-authcaslogin-perl/usr/share/man/man3/Jifty::Plugin::AuthCASLogin.3pm.gz
+debian/libjifty-plugin-authcaslogin-perl/usr/share/man/man3/Jifty::Plugin::AuthCASLogin::Action::CASLogin.3pm.gz
+debian/libjifty-plugin-authcaslogin-perl/usr/share/man/man3/Jifty::Plugin::AuthCASLogin::Action::CASLogout.3pm.gz
+debian/libjifty-plugin-authcaslogin-perl/usr/share/perl5/auto/Jifty/Plugin/AuthCASLogin/web/templates/caslogin
+debian/libjifty-plugin-authcaslogin-perl/usr/share/perl5/auto/Jifty/Plugin/AuthCASLogin/web/templates/caslogout
+debian/libjifty-plugin-authcaslogin-perl/usr/share/perl5/Jifty/Plugin/AuthCASLogin.pm
+debian/libjifty-plugin-authcaslogin-perl/usr/share/perl5/Jifty/Plugin/AuthCASLogin/Action/CASLogin.pm
+debian/libjifty-plugin-authcaslogin-perl/usr/share/perl5/Jifty/Plugin/AuthCASLogin/Action/CASLogout.pm
+debian/libjifty-plugin-authcaslogin-perl/usr/share/perl5/Jifty/Plugin/AuthCASLogin/Dispatcher.pm
+debian/libjifty-plugin-authcasonly-perl.substvars
+debian/libjifty-plugin-authcasonly-perl/DEBIAN/control
+debian/libjifty-plugin-authcasonly-perl/DEBIAN/md5sums
+debian/libjifty-plugin-authcasonly-perl/usr/share/doc/libjifty-plugin-authcasonly-perl/changelog.Debian.gz
+debian/libjifty-plugin-authcasonly-perl/usr/share/doc/libjifty-plugin-authcasonly-perl/copyright
+debian/libjifty-plugin-authcasonly-perl/usr/share/man/man3/Jifty::Plugin::AuthCASOnly.3pm.gz
+debian/libjifty-plugin-authcasonly-perl/usr/share/man/man3/Jifty::Plugin::AuthCASOnly::Action::CASLogin.3pm.gz
+debian/libjifty-plugin-authcasonly-perl/usr/share/man/man3/Jifty::Plugin::AuthCASOnly::Action::CASLogout.3pm.gz
+debian/libjifty-plugin-authcasonly-perl/usr/share/perl5/auto/Jifty/Plugin/AuthCASOnly/web/templates/caslogin
+debian/libjifty-plugin-authcasonly-perl/usr/share/perl5/auto/Jifty/Plugin/AuthCASOnly/web/templates/caslogout
+debian/libjifty-plugin-authcasonly-perl/usr/share/perl5/Jifty/Plugin/AuthCASOnly.pm
+debian/libjifty-plugin-authcasonly-perl/usr/share/perl5/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm
+debian/libjifty-plugin-authcasonly-perl/usr/share/perl5/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm
+debian/libjifty-plugin-authcasonly-perl/usr/share/perl5/Jifty/Plugin/AuthCASOnly/CurrentUser.pm
+debian/libjifty-plugin-authcasonly-perl/usr/share/perl5/Jifty/Plugin/AuthCASOnly/Dispatcher.pm
+debian/libjifty-plugin-authcasonly-perl/usr/share/perl5/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm
+debian/rules
+inc/Module/Install.pm
+inc/Module/Install/Base.pm
+inc/Module/Install/Can.pm
+inc/Module/Install/Fetch.pm
+inc/Module/Install/Makefile.pm
+inc/Module/Install/Metadata.pm
+inc/Module/Install/Share.pm
+inc/Module/Install/Win32.pm
+inc/Module/Install/WriteAll.pm
+lib/Jifty/Plugin/AuthCASOnly.pm
+lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm
+lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm
+lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm
+lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm
+lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm
+Makefile.PL
+MANIFEST			This list of files
+META.yml
+share/web/templates/caslogin
+share/web/templates/caslogout
+t/00-load.t

Added: jifty/trunk/plugins/AuthCASOnly/META.yml
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/META.yml	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,14 @@
+build_requires: 
+  ExtUtils::MakeMaker: 6.11
+distribution_type: module
+generated_by: Module::Install version 0.64
+license: Perl
+name: Jifty-Plugin-AuthCASOnly
+no_index: 
+  directory: 
+    - inc
+    - t
+requires: 
+  AuthCAS: 0
+  Jifty: 0.60912
+version: 0.01

Added: jifty/trunk/plugins/AuthCASOnly/Makefile
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/Makefile	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,816 @@
+# This Makefile is for the Jifty::Plugin::AuthCASOnly extension to perl.
+#
+# It was generated automatically by MakeMaker version
+# 6.30_01 (Revision: Revision: 4535 ) from the contents of
+# Makefile.PL. Don't edit this file, edit Makefile.PL instead.
+#
+#       ANY CHANGES MADE HERE WILL BE LOST!
+#
+#   MakeMaker ARGV: ()
+#
+#   MakeMaker Parameters:
+
+#     DIR => []
+#     DISTNAME => q[Jifty-Plugin-AuthCASOnly]
+#     NAME => q[Jifty::Plugin::AuthCASOnly]
+#     NO_META => q[1]
+#     PL_FILES => {  }
+#     PREREQ_PM => { Jifty=>q[0.60912], ExtUtils::MakeMaker=>q[6.11], AuthCAS=>q[0] }
+#     VERSION => q[0.01]
+#     dist => { PREOP=>q[$(PERL) -I. -MModule::Install::Admin -e "dist_preop(q($(DISTVNAME)))"] }
+
+# --- MakeMaker post_initialize section:
+
+
+# --- MakeMaker const_config section:
+
+# These definitions are from config.sh (via /usr/lib/perl/5.8/Config.pm)
+
+# They may have been overridden via Makefile.PL or on the command line
+AR = ar
+CC = cc
+CCCDLFLAGS = -fPIC
+CCDLFLAGS = -Wl,-E
+DLEXT = so
+DLSRC = dl_dlopen.xs
+LD = cc
+LDDLFLAGS = -shared -L/usr/local/lib
+LDFLAGS =  -L/usr/local/lib
+LIBC = /lib/libc-2.3.6.so
+LIB_EXT = .a
+OBJ_EXT = .o
+OSNAME = linux
+OSVERS = 2.6.18.3
+RANLIB = :
+SITELIBEXP = /usr/local/share/perl/5.8.8
+SITEARCHEXP = /usr/local/lib/perl/5.8.8
+SO = so
+EXE_EXT = 
+FULL_AR = /usr/bin/ar
+VENDORARCHEXP = /usr/lib/perl5
+VENDORLIBEXP = /usr/share/perl5
+
+
+# --- MakeMaker constants section:
+AR_STATIC_ARGS = cr
+DIRFILESEP = /
+DFSEP = $(DIRFILESEP)
+NAME = Jifty::Plugin::AuthCASOnly
+NAME_SYM = Jifty_Plugin_AuthCASOnly
+VERSION = 0.01
+VERSION_MACRO = VERSION
+VERSION_SYM = 0_01
+DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
+XS_VERSION = 0.01
+XS_VERSION_MACRO = XS_VERSION
+XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
+INST_ARCHLIB = blib/arch
+INST_SCRIPT = blib/script
+INST_BIN = blib/bin
+INST_LIB = blib/lib
+INST_MAN1DIR = blib/man1
+INST_MAN3DIR = blib/man3
+MAN1EXT = 1p
+MAN3EXT = 3pm
+INSTALLDIRS = site
+DESTDIR = 
+PREFIX = /usr
+PERLPREFIX = $(PREFIX)
+SITEPREFIX = $(PREFIX)/local
+VENDORPREFIX = $(PREFIX)
+INSTALLPRIVLIB = $(PERLPREFIX)/share/perl/5.8
+DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB)
+INSTALLSITELIB = $(SITEPREFIX)/share/perl/5.8.8
+DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB)
+INSTALLVENDORLIB = $(VENDORPREFIX)/share/perl5
+DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB)
+INSTALLARCHLIB = $(PERLPREFIX)/lib/perl/5.8
+DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB)
+INSTALLSITEARCH = $(SITEPREFIX)/lib/perl/5.8.8
+DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH)
+INSTALLVENDORARCH = $(VENDORPREFIX)/lib/perl5
+DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH)
+INSTALLBIN = $(PERLPREFIX)/bin
+DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN)
+INSTALLSITEBIN = $(SITEPREFIX)/bin
+DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN)
+INSTALLVENDORBIN = $(VENDORPREFIX)/bin
+DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN)
+INSTALLSCRIPT = $(PERLPREFIX)/bin
+DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT)
+INSTALLSITESCRIPT = $(SITEPREFIX)/bin
+DESTINSTALLSITESCRIPT = $(DESTDIR)$(INSTALLSITESCRIPT)
+INSTALLVENDORSCRIPT = $(VENDORPREFIX)/bin
+DESTINSTALLVENDORSCRIPT = $(DESTDIR)$(INSTALLVENDORSCRIPT)
+INSTALLMAN1DIR = $(PERLPREFIX)/share/man/man1
+DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR)
+INSTALLSITEMAN1DIR = $(SITEPREFIX)/man/man1
+DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR)
+INSTALLVENDORMAN1DIR = $(VENDORPREFIX)/share/man/man1
+DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR)
+INSTALLMAN3DIR = $(PERLPREFIX)/share/man/man3
+DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR)
+INSTALLSITEMAN3DIR = $(SITEPREFIX)/man/man3
+DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR)
+INSTALLVENDORMAN3DIR = $(VENDORPREFIX)/share/man/man3
+DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR)
+PERL_LIB =
+PERL_ARCHLIB = /usr/lib/perl/5.8
+LIBPERL_A = libperl.a
+FIRST_MAKEFILE = Makefile
+MAKEFILE_OLD = Makefile.old
+MAKE_APERL_FILE = Makefile.aperl
+PERLMAINCC = $(CC)
+PERL_INC = /usr/lib/perl/5.8/CORE
+PERL = /usr/bin/perl "-Iinc"
+FULLPERL = /usr/bin/perl "-Iinc"
+ABSPERL = $(PERL)
+PERLRUN = $(PERL)
+FULLPERLRUN = $(FULLPERL)
+ABSPERLRUN = $(ABSPERL)
+PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-Iinc" "-I$(INST_LIB)"
+FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-Iinc" "-I$(INST_LIB)"
+ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-Iinc" "-I$(INST_LIB)"
+PERL_CORE = 0
+PERM_RW = 644
+PERM_RWX = 755
+
+MAKEMAKER   = /usr/share/perl/5.8/ExtUtils/MakeMaker.pm
+MM_VERSION  = 6.30_01
+MM_REVISION = Revision: 4535 
+
+# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle).
+# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle)
+# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar)
+# DLBASE  = Basename part of dynamic library. May be just equal BASEEXT.
+FULLEXT = Jifty/Plugin/AuthCASOnly
+BASEEXT = AuthCASOnly
+PARENT_NAME = Jifty::Plugin
+DLBASE = $(BASEEXT)
+VERSION_FROM = 
+OBJECT = 
+LDFROM = $(OBJECT)
+LINKTYPE = dynamic
+BOOTDEP = 
+
+# Handy lists of source code files:
+XS_FILES = 
+C_FILES  = 
+O_FILES  = 
+H_FILES  = 
+MAN1PODS = 
+MAN3PODS = lib/Jifty/Plugin/AuthCASOnly.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm
+
+# Where is the Config information that we are using/depend on
+CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h
+
+# Where to build things
+INST_LIBDIR      = $(INST_LIB)/Jifty/Plugin
+INST_ARCHLIBDIR  = $(INST_ARCHLIB)/Jifty/Plugin
+
+INST_AUTODIR     = $(INST_LIB)/auto/$(FULLEXT)
+INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT)
+
+INST_STATIC      = 
+INST_DYNAMIC     = 
+INST_BOOT        = 
+
+# Extra linker info
+EXPORT_LIST        = 
+PERL_ARCHIVE       = 
+PERL_ARCHIVE_AFTER = 
+
+
+TO_INST_PM = lib/Jifty/Plugin/AuthCASOnly.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm \
+	lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm
+
+PM_TO_BLIB = lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm \
+	blib/lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm \
+	blib/lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm \
+	blib/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm \
+	blib/lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm \
+	blib/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm \
+	lib/Jifty/Plugin/AuthCASOnly.pm \
+	blib/lib/Jifty/Plugin/AuthCASOnly.pm
+
+
+# --- MakeMaker platform_constants section:
+MM_Unix_VERSION = 1.50_01
+PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc
+
+
+# --- MakeMaker tool_autosplit section:
+# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto
+AUTOSPLITFILE = $(ABSPERLRUN)  -e 'use AutoSplit;  autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1)'
+
+
+
+# --- MakeMaker tool_xsubpp section:
+
+
+# --- MakeMaker tools_other section:
+SHELL = /bin/sh
+CHMOD = chmod
+CP = cp
+MV = mv
+NOOP = $(SHELL) -c true
+NOECHO = @
+RM_F = rm -f
+RM_RF = rm -rf
+TEST_F = test -f
+TOUCH = touch
+UMASK_NULL = umask 0
+DEV_NULL = > /dev/null 2>&1
+MKPATH = $(ABSPERLRUN) "-MExtUtils::Command" -e mkpath
+EQUALIZE_TIMESTAMP = $(ABSPERLRUN) "-MExtUtils::Command" -e eqtime
+ECHO = echo
+ECHO_N = echo -n
+UNINST = 0
+VERBINST = 0
+MOD_INSTALL = $(ABSPERLRUN) -MExtUtils::Install -e 'install({@ARGV}, '\''$(VERBINST)'\'', 0, '\''$(UNINST)'\'');'
+DOC_INSTALL = $(ABSPERLRUN) "-MExtUtils::Command::MM" -e perllocal_install
+UNINSTALL = $(ABSPERLRUN) "-MExtUtils::Command::MM" -e uninstall
+WARN_IF_OLD_PACKLIST = $(ABSPERLRUN) "-MExtUtils::Command::MM" -e warn_if_old_packlist
+MACROSTART = 
+MACROEND = 
+USEMAKEFILE = -f
+FIXIN = $(PERLRUN) "-MExtUtils::MY" -e "MY->fixin(shift)"
+
+
+# --- MakeMaker makemakerdflt section:
+makemakerdflt: all
+	$(NOECHO) $(NOOP)
+
+
+# --- MakeMaker dist section:
+TAR = tar
+TARFLAGS = cvf
+ZIP = zip
+ZIPFLAGS = -r
+COMPRESS = gzip --best
+SUFFIX = .gz
+SHAR = shar
+PREOP = $(PERL) -I. -MModule::Install::Admin -e "dist_preop(q($(DISTVNAME)))"
+POSTOP = $(NOECHO) $(NOOP)
+TO_UNIX = $(NOECHO) $(NOOP)
+CI = ci -u
+RCS_LABEL = rcs -Nv$(VERSION_SYM): -q
+DIST_CP = best
+DIST_DEFAULT = tardist
+DISTNAME = Jifty-Plugin-AuthCASOnly
+DISTVNAME = Jifty-Plugin-AuthCASOnly-0.01
+
+
+# --- MakeMaker macro section:
+
+
+# --- MakeMaker depend section:
+
+
+# --- MakeMaker cflags section:
+
+
+# --- MakeMaker const_loadlibs section:
+
+
+# --- MakeMaker const_cccmd section:
+
+
+# --- MakeMaker post_constants section:
+
+
+# --- MakeMaker pasthru section:
+
+PASTHRU = LIBPERL_A="$(LIBPERL_A)"\
+	LINKTYPE="$(LINKTYPE)"\
+	PREFIX="$(PREFIX)"
+
+
+# --- MakeMaker special_targets section:
+.SUFFIXES : .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT)
+
+.PHONY: all config static dynamic test linkext manifest blibdirs clean realclean disttest distdir
+
+
+
+# --- MakeMaker c_o section:
+
+
+# --- MakeMaker xs_c section:
+
+
+# --- MakeMaker xs_o section:
+
+
+# --- MakeMaker top_targets section:
+all :: pure_all manifypods
+	$(NOECHO) $(NOOP)
+
+
+pure_all :: config pm_to_blib subdirs linkext
+	$(NOECHO) $(NOOP)
+
+subdirs :: $(MYEXTLIB)
+	$(NOECHO) $(NOOP)
+
+config :: $(FIRST_MAKEFILE) blibdirs
+	$(NOECHO) $(NOOP)
+
+help :
+	perldoc ExtUtils::MakeMaker
+
+
+# --- MakeMaker blibdirs section:
+blibdirs : $(INST_LIBDIR)$(DFSEP).exists $(INST_ARCHLIB)$(DFSEP).exists $(INST_AUTODIR)$(DFSEP).exists $(INST_ARCHAUTODIR)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists $(INST_SCRIPT)$(DFSEP).exists $(INST_MAN1DIR)$(DFSEP).exists $(INST_MAN3DIR)$(DFSEP).exists
+	$(NOECHO) $(NOOP)
+
+# Backwards compat with 6.18 through 6.25
+blibdirs.ts : blibdirs
+	$(NOECHO) $(NOOP)
+
+$(INST_LIBDIR)$(DFSEP).exists :: Makefile.PL
+	$(NOECHO) $(MKPATH) $(INST_LIBDIR)
+	$(NOECHO) $(CHMOD) 755 $(INST_LIBDIR)
+	$(NOECHO) $(TOUCH) $(INST_LIBDIR)$(DFSEP).exists
+
+$(INST_ARCHLIB)$(DFSEP).exists :: Makefile.PL
+	$(NOECHO) $(MKPATH) $(INST_ARCHLIB)
+	$(NOECHO) $(CHMOD) 755 $(INST_ARCHLIB)
+	$(NOECHO) $(TOUCH) $(INST_ARCHLIB)$(DFSEP).exists
+
+$(INST_AUTODIR)$(DFSEP).exists :: Makefile.PL
+	$(NOECHO) $(MKPATH) $(INST_AUTODIR)
+	$(NOECHO) $(CHMOD) 755 $(INST_AUTODIR)
+	$(NOECHO) $(TOUCH) $(INST_AUTODIR)$(DFSEP).exists
+
+$(INST_ARCHAUTODIR)$(DFSEP).exists :: Makefile.PL
+	$(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR)
+	$(NOECHO) $(CHMOD) 755 $(INST_ARCHAUTODIR)
+	$(NOECHO) $(TOUCH) $(INST_ARCHAUTODIR)$(DFSEP).exists
+
+$(INST_BIN)$(DFSEP).exists :: Makefile.PL
+	$(NOECHO) $(MKPATH) $(INST_BIN)
+	$(NOECHO) $(CHMOD) 755 $(INST_BIN)
+	$(NOECHO) $(TOUCH) $(INST_BIN)$(DFSEP).exists
+
+$(INST_SCRIPT)$(DFSEP).exists :: Makefile.PL
+	$(NOECHO) $(MKPATH) $(INST_SCRIPT)
+	$(NOECHO) $(CHMOD) 755 $(INST_SCRIPT)
+	$(NOECHO) $(TOUCH) $(INST_SCRIPT)$(DFSEP).exists
+
+$(INST_MAN1DIR)$(DFSEP).exists :: Makefile.PL
+	$(NOECHO) $(MKPATH) $(INST_MAN1DIR)
+	$(NOECHO) $(CHMOD) 755 $(INST_MAN1DIR)
+	$(NOECHO) $(TOUCH) $(INST_MAN1DIR)$(DFSEP).exists
+
+$(INST_MAN3DIR)$(DFSEP).exists :: Makefile.PL
+	$(NOECHO) $(MKPATH) $(INST_MAN3DIR)
+	$(NOECHO) $(CHMOD) 755 $(INST_MAN3DIR)
+	$(NOECHO) $(TOUCH) $(INST_MAN3DIR)$(DFSEP).exists
+
+
+
+# --- MakeMaker linkext section:
+
+linkext :: $(LINKTYPE)
+	$(NOECHO) $(NOOP)
+
+
+# --- MakeMaker dlsyms section:
+
+
+# --- MakeMaker dynamic section:
+
+dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)
+	$(NOECHO) $(NOOP)
+
+
+# --- MakeMaker dynamic_bs section:
+
+BOOTSTRAP =
+
+
+# --- MakeMaker dynamic_lib section:
+
+
+# --- MakeMaker static section:
+
+## $(INST_PM) has been moved to the all: target.
+## It remains here for awhile to allow for old usage: "make static"
+static :: $(FIRST_MAKEFILE) $(INST_STATIC)
+	$(NOECHO) $(NOOP)
+
+
+# --- MakeMaker static_lib section:
+
+
+# --- MakeMaker manifypods section:
+
+POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--"
+POD2MAN = $(POD2MAN_EXE)
+
+
+manifypods : pure_all  \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm \
+	lib/Jifty/Plugin/AuthCASOnly.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm \
+	lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm \
+	lib/Jifty/Plugin/AuthCASOnly.pm
+	$(NOECHO) $(POD2MAN) --section=$(MAN3EXT) --perm_rw=$(PERM_RW) \
+	  lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm $(INST_MAN3DIR)/Jifty::Plugin::AuthCASOnly::Action::CASLogout.$(MAN3EXT) \
+	  lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm $(INST_MAN3DIR)/Jifty::Plugin::AuthCASOnly::Action::CASLogin.$(MAN3EXT) \
+	  lib/Jifty/Plugin/AuthCASOnly.pm $(INST_MAN3DIR)/Jifty::Plugin::AuthCASOnly.$(MAN3EXT) 
+
+
+
+
+# --- MakeMaker processPL section:
+
+
+# --- MakeMaker installbin section:
+
+
+# --- MakeMaker subdirs section:
+
+# none
+
+# --- MakeMaker clean_subdirs section:
+clean_subdirs :
+	$(NOECHO) $(NOOP)
+
+
+# --- MakeMaker clean section:
+
+# Delete temporary files but do not touch installed files. We don't delete
+# the Makefile here so a later make realclean still has a makefile to use.
+
+clean :: clean_subdirs
+	- $(RM_F) \
+	  *$(LIB_EXT) core \
+	  core.[0-9] $(INST_ARCHAUTODIR)/extralibs.all \
+	  core.[0-9][0-9] $(BASEEXT).bso \
+	  pm_to_blib.ts core.[0-9][0-9][0-9][0-9] \
+	  $(BASEEXT).x $(BOOTSTRAP) \
+	  perl$(EXE_EXT) tmon.out \
+	  *$(OBJ_EXT) pm_to_blib \
+	  $(INST_ARCHAUTODIR)/extralibs.ld blibdirs.ts \
+	  core.[0-9][0-9][0-9][0-9][0-9] *perl.core \
+	  core.*perl.*.? $(MAKE_APERL_FILE) \
+	  perl $(BASEEXT).def \
+	  core.[0-9][0-9][0-9] mon.out \
+	  lib$(BASEEXT).def perlmain.c \
+	  perl.exe so_locations \
+	  $(BASEEXT).exp 
+	- $(RM_RF) \
+	  blib 
+	- $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL)
+
+
+# --- MakeMaker realclean_subdirs section:
+realclean_subdirs :
+	$(NOECHO) $(NOOP)
+
+
+# --- MakeMaker realclean section:
+# Delete temporary files (via clean) and also delete dist files
+realclean purge ::  clean realclean_subdirs
+	- $(RM_F) \
+	  $(MAKEFILE_OLD) $(FIRST_MAKEFILE) 
+	- $(RM_RF) \
+	  $(DISTVNAME) 
+
+
+# --- MakeMaker metafile section:
+metafile:
+	$(NOECHO) $(NOOP)
+
+
+# --- MakeMaker signature section:
+signature :
+	cpansign -s
+
+
+# --- MakeMaker dist_basics section:
+distclean :: realclean distcheck
+	$(NOECHO) $(NOOP)
+
+distcheck :
+	$(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck
+
+skipcheck :
+	$(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck
+
+manifest :
+	$(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest
+
+veryclean : realclean
+	$(RM_F) *~ *.orig */*~ */*.orig
+
+
+
+# --- MakeMaker dist_core section:
+
+dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE)
+	$(NOECHO) $(ABSPERLRUN) -l -e 'print '\''Warning: Makefile possibly out of date with $(VERSION_FROM)'\''' \
+	  -e '    if -e '\''$(VERSION_FROM)'\'' and -M '\''$(VERSION_FROM)'\'' < -M '\''$(FIRST_MAKEFILE)'\'';'
+
+tardist : $(DISTVNAME).tar$(SUFFIX)
+	$(NOECHO) $(NOOP)
+
+uutardist : $(DISTVNAME).tar$(SUFFIX)
+	uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(DISTVNAME).tar$(SUFFIX)_uu
+
+$(DISTVNAME).tar$(SUFFIX) : distdir
+	$(PREOP)
+	$(TO_UNIX)
+	$(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
+	$(RM_RF) $(DISTVNAME)
+	$(COMPRESS) $(DISTVNAME).tar
+	$(POSTOP)
+
+zipdist : $(DISTVNAME).zip
+	$(NOECHO) $(NOOP)
+
+$(DISTVNAME).zip : distdir
+	$(PREOP)
+	$(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)
+	$(RM_RF) $(DISTVNAME)
+	$(POSTOP)
+
+shdist : distdir
+	$(PREOP)
+	$(SHAR) $(DISTVNAME) > $(DISTVNAME).shar
+	$(RM_RF) $(DISTVNAME)
+	$(POSTOP)
+
+
+# --- MakeMaker distdir section:
+create_distdir :
+	$(RM_RF) $(DISTVNAME)
+	$(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \
+		-e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"
+
+distdir : create_distdir  
+	$(NOECHO) $(NOOP)
+
+
+
+# --- MakeMaker dist_test section:
+disttest : distdir
+	cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL 
+	cd $(DISTVNAME) && $(MAKE) $(PASTHRU)
+	cd $(DISTVNAME) && $(MAKE) test $(PASTHRU)
+
+
+
+# --- MakeMaker dist_ci section:
+
+ci :
+	$(PERLRUN) "-MExtUtils::Manifest=maniread" \
+	  -e "@all = keys %{ maniread() };" \
+	  -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \
+	  -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});"
+
+
+# --- MakeMaker distmeta section:
+distmeta : create_distdir metafile
+	$(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{META.yml} => q{Module meta-data (added by MakeMaker)}}) } ' \
+	  -e '    or print "Could not add META.yml to MANIFEST: $${'\''@'\''}\n"'
+
+
+
+# --- MakeMaker distsignature section:
+distsignature : create_distdir
+	$(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{SIGNATURE} => q{Public-key signature (added by MakeMaker)}}) } ' \
+	  -e '    or print "Could not add SIGNATURE to MANIFEST: $${'\''@'\''}\n"'
+	$(NOECHO) cd $(DISTVNAME) && $(TOUCH) SIGNATURE
+	cd $(DISTVNAME) && cpansign -s
+
+
+
+# --- MakeMaker install section:
+
+install :: all pure_install doc_install
+	$(NOECHO) $(NOOP)
+
+install_perl :: all pure_perl_install doc_perl_install
+	$(NOECHO) $(NOOP)
+
+install_site :: all pure_site_install doc_site_install
+	$(NOECHO) $(NOOP)
+
+install_vendor :: all pure_vendor_install doc_vendor_install
+	$(NOECHO) $(NOOP)
+
+pure_install :: pure_$(INSTALLDIRS)_install
+	$(NOECHO) $(NOOP)
+
+doc_install :: doc_$(INSTALLDIRS)_install
+	$(NOECHO) $(NOOP)
+
+pure__install : pure_site_install
+	$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
+
+doc__install : doc_site_install
+	$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
+
+pure_perl_install ::
+	$(NOECHO) umask 022; $(MOD_INSTALL) \
+		$(INST_LIB) $(DESTINSTALLPRIVLIB) \
+		$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
+		$(INST_BIN) $(DESTINSTALLBIN) \
+		$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+		$(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \
+		$(INST_MAN3DIR) $(DESTINSTALLMAN3DIR)
+	$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
+		$(SITEARCHEXP)/auto/$(FULLEXT)
+
+
+pure_site_install ::
+	$(NOECHO) umask 02; $(MOD_INSTALL) \
+		read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \
+		write $(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \
+		$(INST_LIB) $(DESTINSTALLSITELIB) \
+		$(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
+		$(INST_BIN) $(DESTINSTALLSITEBIN) \
+		$(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \
+		$(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
+		$(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
+	$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
+		$(PERL_ARCHLIB)/auto/$(FULLEXT)
+
+pure_vendor_install ::
+	$(NOECHO) umask 022; $(MOD_INSTALL) \
+		$(INST_LIB) $(DESTINSTALLVENDORLIB) \
+		$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
+		$(INST_BIN) $(DESTINSTALLVENDORBIN) \
+		$(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \
+		$(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
+		$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
+
+doc_perl_install ::
+
+doc_site_install ::
+	$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
+	-$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
+	-$(NOECHO) umask 02; $(DOC_INSTALL) \
+		"Module" "$(NAME)" \
+		"installed into" "$(INSTALLSITELIB)" \
+		LINKTYPE "$(LINKTYPE)" \
+		VERSION "$(VERSION)" \
+		EXE_FILES "$(EXE_FILES)" \
+		>> $(DESTINSTALLSITEARCH)/perllocal.pod
+
+doc_vendor_install ::
+
+
+uninstall :: uninstall_from_$(INSTALLDIRS)dirs
+	$(NOECHO) $(NOOP)
+
+uninstall_from_perldirs ::
+
+uninstall_from_sitedirs ::
+	$(NOECHO) $(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist
+
+uninstall_from_vendordirs ::
+
+
+
+# --- MakeMaker force section:
+# Phony target to force checking subdirectories.
+FORCE:
+	$(NOECHO) $(NOOP)
+
+
+# --- MakeMaker perldepend section:
+
+
+# --- MakeMaker makefile section:
+# We take a very conservative approach here, but it's worth it.
+# We move Makefile to Makefile.old here to avoid gnu make looping.
+$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
+	$(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?"
+	$(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..."
+	-$(NOECHO) $(RM_F) $(MAKEFILE_OLD)
+	-$(NOECHO) $(MV)   $(FIRST_MAKEFILE) $(MAKEFILE_OLD)
+	- $(MAKE) $(USEMAKEFILE) $(MAKEFILE_OLD) clean $(DEV_NULL)
+	$(PERLRUN) Makefile.PL 
+	$(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <=="
+	$(NOECHO) $(ECHO) "==> Please rerun the $(MAKE) command.  <=="
+	false
+
+
+
+# --- MakeMaker staticmake section:
+
+# --- MakeMaker makeaperl section ---
+MAP_TARGET    = perl
+FULLPERL      = /usr/bin/perl
+
+$(MAP_TARGET) :: static $(MAKE_APERL_FILE)
+	$(MAKE) $(USEMAKEFILE) $(MAKE_APERL_FILE) $@
+
+$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) pm_to_blib
+	$(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)
+	$(NOECHO) $(PERLRUNINST) \
+		Makefile.PL DIR= \
+		MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \
+		MAKEAPERL=1 NORECURS=1 CCCDLFLAGS=
+
+
+# --- MakeMaker test section:
+
+TEST_VERBOSE=0
+TEST_TYPE=test_$(LINKTYPE)
+TEST_FILE = test.pl
+TEST_FILES = t/*.t
+TESTDB_SW = -d
+
+testdb :: testdb_$(LINKTYPE)
+
+test :: $(TEST_TYPE)
+
+test_dynamic :: pure_all
+	PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-MExtUtils::Command::MM" "-e" "test_harness($(TEST_VERBOSE), 'inc', '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)
+
+testdb_dynamic :: pure_all
+	PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-Iinc" "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE)
+
+test_ : test_dynamic
+
+test_static :: test_dynamic
+testdb_static :: testdb_dynamic
+
+
+# --- MakeMaker ppd section:
+# Creates a PPD (Perl Package Description) for a binary distribution.
+ppd:
+	$(NOECHO) $(ECHO) '<SOFTPKG NAME="$(DISTNAME)" VERSION="0,01,0,0">' > $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '    <TITLE>$(DISTNAME)</TITLE>' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '    <ABSTRACT></ABSTRACT>' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '    <AUTHOR></AUTHOR>' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '    <IMPLEMENTATION>' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '        <DEPENDENCY NAME="AuthCAS" VERSION="0,0,0,0" />' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '        <DEPENDENCY NAME="ExtUtils-MakeMaker" VERSION="6,11,0,0" />' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '        <DEPENDENCY NAME="Jifty" VERSION="0,60912,0,0" />' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '        <OS NAME="$(OSNAME)" />' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '        <ARCHITECTURE NAME="i486-linux-gnu-thread-multi" />' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '        <CODEBASE HREF="" />' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '    </IMPLEMENTATION>' >> $(DISTNAME).ppd
+	$(NOECHO) $(ECHO) '</SOFTPKG>' >> $(DISTNAME).ppd
+
+
+# --- MakeMaker pm_to_blib section:
+
+pm_to_blib : $(TO_INST_PM)
+	$(NOECHO) $(ABSPERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', '\''$(PM_FILTER)'\'')' \
+	  lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm blib/lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm \
+	  lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm blib/lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm \
+	  lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm blib/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm \
+	  lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm blib/lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm \
+	  lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm blib/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm \
+	  lib/Jifty/Plugin/AuthCASOnly.pm blib/lib/Jifty/Plugin/AuthCASOnly.pm 
+	$(NOECHO) $(TOUCH) pm_to_blib
+
+
+# --- MakeMaker selfdocument section:
+
+
+# --- MakeMaker postamble section:
+
+
+# End.
+# Postamble by Module::Install 0.640
+# --- Module::Install::Admin::Makefile section:
+
+realclean purge ::
+	$(RM_F) $(DISTVNAME).tar$(SUFFIX)
+	$(RM_RF) inc MANIFEST.bak _build
+	$(PERL) -I. -MModule::Install::Admin -e "remove_meta()"
+
+reset :: purge
+
+upload :: test dist
+	cpan-upload -verbose $(DISTVNAME).tar$(SUFFIX)
+
+grok ::
+	perldoc Module::Install
+
+distsign ::
+	cpansign -s
+
+config ::
+	$(NOECHO) $(MOD_INSTALL) \
+		"share" $(INST_AUTODIR)
+

Added: jifty/trunk/plugins/AuthCASOnly/Makefile.PL
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/Makefile.PL	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,10 @@
+use inc::Module::Install;
+name('Jifty-Plugin-AuthCASOnly');
+license('Perl');
+version('0.01');
+requires('Jifty' => '0.60912');
+requires('AuthCAS');
+
+install_share;
+
+WriteAll;

Added: jifty/trunk/plugins/AuthCASOnly/debian/changelog
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/debian/changelog	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,6 @@
+libjifty-plugin-authcasonly-perl (0-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- AGOSTINI Yves <agostini at univ-metz.fr>  Fri, 17 Nov 2006 14:29:45 +0100
+

Added: jifty/trunk/plugins/AuthCASOnly/debian/compat
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/debian/compat	Thu Jan 11 03:10:37 2007
@@ -0,0 +1 @@
+4

Added: jifty/trunk/plugins/AuthCASOnly/debian/control
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/debian/control	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,16 @@
+Source: libjifty-plugin-authcasonly-perl
+Section: perl
+Priority: optional
+Build-Depends: debhelper (>= 4.0.2)
+Build-Depends-Indep: perl (>= 5.8.0-7)
+Maintainer: AGOSTINI Yves <agostini at univ-metz.fr>
+Standards-Version: 3.6.1
+
+Package: libjifty-plugin-authcasonly-perl
+Architecture: all
+Depends: ${perl:Depends}, ${misc:Depends}, libauthcas-perl
+Description:  Jifty::Plugin::AuthCASOnly
+ MUST BE USED WITHOUT Login PLUGIN
+ .
+ .
+ This description was automagically extracted from the module by dh-make-perl.

Added: jifty/trunk/plugins/AuthCASOnly/debian/copyright
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/debian/copyright	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,7 @@
+This is the debian package for the  module.
+It was created by AGOSTINI Yves <agostini at univ-metz.fr> using dh-make-perl.
+
+This copyright info was automatically extracted from the perl module.
+It may not be accurate, so you better check the module sources
+if don't want to get into legal troubles.
+

Added: jifty/trunk/plugins/AuthCASOnly/debian/files
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/debian/files	Thu Jan 11 03:10:37 2007
@@ -0,0 +1 @@
+libjifty-plugin-authcasonly-perl_0-1_all.deb perl optional

Added: jifty/trunk/plugins/AuthCASOnly/debian/rules
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/debian/rules	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,83 @@
+#!/usr/bin/make -f
+# This debian/rules file is provided as a template for normal perl
+# packages. It was created by Marc Brockschmidt <marc at dch-faq.de> for
+# the Debian Perl Group (http://pkg-perl.alioth.debian.org/) but may
+# be used freely wherever it is useful.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# If set to a true value then MakeMaker's prompt function will
+# always return the default without waiting for user input.
+export PERL_MM_USE_DEFAULT=1
+
+PACKAGE=$(shell dh_listpackages)
+
+ifndef PERL
+PERL = /usr/bin/perl
+endif
+
+TMP     =$(CURDIR)/debian/$(PACKAGE)
+
+build: build-stamp
+build-stamp:
+	dh_testdir
+
+	# Add commands to compile the package here
+	$(PERL) Makefile.PL INSTALLDIRS=vendor
+	$(MAKE) OPTIMIZE="-Wall -O2 -g"
+
+	touch build-stamp
+
+clean:
+	dh_testdir
+	dh_testroot
+
+	# Add commands to clean up after the build process here
+	-$(MAKE) distclean
+
+	dh_clean build-stamp install-stamp
+
+install: build install-stamp
+install-stamp:
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+
+	# Add commands to install the package into debian/$PACKAGE_NAME here
+	$(MAKE) test
+	$(MAKE) install DESTDIR=$(TMP) PREFIX=/usr
+
+	# As this is a architecture independent package, we are not
+	# supposed to install stuff to /usr/lib. MakeMaker creates
+	# the dirs, we delete them from the deb:
+	rmdir --ignore-fail-on-non-empty --parents $(TMP)/usr/lib/perl5
+
+	touch install-stamp
+
+binary-arch:
+# We have nothing to do by default.
+
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+#	dh_installcron
+#	dh_installmenu
+#	dh_installexamples
+	dh_installdocs 
+	dh_installchangelogs 
+	dh_perl
+	dh_link
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+source diff:                                                                  
+	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary

Added: jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,65 @@
+use strict;
+use warnings;
+
+=head1 NAME
+
+ Jifty::Plugin::AuthCASOnly
+
+=head1 DESCRIPTION
+
+ MUST NOT BE USED WITH LOGIN PLUGIN
+
+=head1 CONFIG
+
+ in etc/config.yml
+  Plugins: 
+    - AuthCASOnly: 
+       CASserver: https://auth.univ-metz.fr
+       CAFile: /home/agostini/univ.crt
+                    
+
+=cut
+
+package Jifty::Plugin::AuthCASOnly;
+use base qw/Jifty::Plugin/;
+use AuthCAS;
+
+# Your plugin goes here.  If takes any configuration or arguments, you
+# probably want to override L<Jifty::Plugin/init>.
+
+{
+    my ($CurrentCASUserClass, $AuthCASUserClass, $CAS);
+
+    sub init {
+        my $self = shift;
+        my %args = @_;
+        my $appname = Jifty->config->framework('ApplicationName');
+        $CurrentCASUserClass = $args{CurrentUserClass}
+            || "${appname}::CurrentUser";
+        $AuthCASUserClass = $args{AuthCASUserClass}
+            || "${appname}::Model::CASUser";
+
+	my ($conf, $cafile, $casserver);
+    	foreach (@{Jifty->config->framework('Plugins')}) {
+        	$conf = $_ if (defined $_->{'AuthCASOnly'});
+    	}
+    	$cafile = $conf->{'AuthCASOnly'}->{'CAFile'};
+    	$casserver = $conf->{'AuthCASOnly'}->{'CASserver'};
+    	$CAS = new AuthCAS(casUrl => $casserver,
+                  CAFile => $cafile);
+    }
+
+    sub CurrentCASUserClass {
+        return $CurrentCASUserClass;
+    }
+
+    sub AuthCASUserClass {
+        return $AuthCASUserClass;
+    }
+
+    sub CAS {
+	return $CAS;
+    }
+}
+
+1;

Added: jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogin.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,102 @@
+use warnings;
+use strict;
+
+=head1 NAME
+
+Jifty::Plugin::AuthCASOnly::Action::CASLogin
+
+=cut
+
+package Jifty::Plugin::AuthCASOnly::Action::CASLogin;
+use base qw/Jifty::Action Jifty::Plugin::AuthCASOnly/;
+#use AuthCAS;
+
+
+=head2 arguments
+
+Return the ticket form field
+
+=cut
+
+sub arguments {
+    return (
+        {
+            ticket => {
+                label          => 'cas ticket',
+           #     mandatory      => 1,
+                ajax_validates => 1,
+            },
+
+        }
+    );
+
+}
+
+=head2 validate_ticket ST
+
+for ajax_validates
+Makes sure that the ticket submitted is legal.
+
+
+=cut
+
+sub validate_ticket {
+    my $self  = shift;
+    my $ticket = shift;
+
+    unless ( $ticket && $ticket !~ /^[A-Za-z0-9-]+$/ ) {
+        return $self->validation_error(
+            ticket => _("That doesn't look like a valid ticket.") );
+    }
+
+
+    return $self->validation_ok('ticket');
+}
+
+
+=head2 take_action
+
+Actually check the user's password. If it's right, log them in.
+Otherwise, throw an error.
+
+
+=cut
+
+sub take_action {
+    my $self = shift;
+    my $ticket = $self->argument_value('ticket');
+
+    my $service_url = ($ENV{SERVER_PORT} == 443)?'https://':'http://'.
+    	$ENV{HTTP_HOST}.'/caslogin';
+
+    if (! $ticket) {
+        my $login_url = $self->CAS->getServerLoginURL($service_url);
+        Jifty->web->_redirect($login_url);
+        return 1;
+      }
+      
+    my $username = $self->CAS->validateST($service_url,$ticket);
+    my $error = &AuthCAS::get_errors();
+    if ($error) {
+      Jifty->log->info("CAS error: $ticket $username : $error");
+      return;
+    }
+      
+    my $CASUser = $self->AuthCASUserClass();
+    my $CurrentUser = $self->CurrentCASUserClass();
+    my $u = $CASUser->new( current_user => $CurrentUser->superuser );
+
+    $u->load_by_cols( name => $username);
+    my $id = $u->id;
+    if (!$id) { 
+   	($id) = $u->create(name => $username, created_on => DateTime->now); 
+	}
+    Jifty->log->debug("Login user id: $id"); 
+
+    # Actually do the signin thing.
+     Jifty->web->current_user( $CurrentUser->new( id => $u->id ) );
+
+    return 1;
+}
+
+1;

Added: jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Action/CASLogout.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,35 @@
+use warnings;
+use strict;
+
+=head1 NAME
+
+Jifty::Plugin::AuthCASOnly::Action::CASLogout
+
+=cut
+
+package Jifty::Plugin::AuthCASOnly::Action::CASLogout;
+use base qw/Jifty::Action/;
+
+=head2 arguments
+
+Return the email and password form fields
+
+=cut
+
+sub arguments {
+    return ( {} );
+}
+
+=head2 take_action
+
+Nuke the current user object
+
+=cut
+
+sub take_action {
+    my $self = shift;
+    Jifty->web->current_user(undef);
+    return 1;
+}
+
+1;

Added: jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/CurrentUser.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,39 @@
+use warnings;
+use strict;
+
+
+package Jifty::Plugin::AuthCASOnly::CurrentUser;
+
+use base qw/Jifty::CurrentUser Jifty::Plugin::AuthCASOnly/;
+
+=head2 new PARAMHASH
+
+Instantiate a new current user object, loading the user by paramhash:
+
+   my $item = Jifty::Plugin::AuthCASOnly::Model::Item->new( Jifty::Plugin::AuthCASOnly::CurrentUser->new(name => 'user'));
+
+if you give the param 
+    _bootstrap => 1
+
+your object will be marked as a bootstrap user. You can use that to do an endrun around acls.
+
+=cut
+
+
+
+sub _init {
+    my $self = shift;
+    my %args = (@_);
+    my $AuthCASUserClass = $self->AuthCASUserClass;
+
+    if (delete $args{'_bootstrap'} ) {
+        $self->is_bootstrap_user(1);
+    } elsif (keys %args) {
+        $self->user_object($AuthCASUserClass->new(current_user => $self));
+        $self->user_object->load_by_cols(%args);
+    }
+    $self->SUPER::_init(%args);
+}
+
+
+1;

Added: jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Dispatcher.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,46 @@
+use strict;
+use warnings;
+
+package Jifty::Plugin::AuthCASOnly::Dispatcher;
+use Jifty::Dispatcher -base;
+
+# Put any plugin-specific dispatcher rules here.
+
+before 'caslogin' => run {
+ if (get('ticket')) {
+    set 'action' =>
+        Jifty->web->new_action(
+        class => 'CASLogin',
+        moniker => 'casloginbox',
+	arguments => { ticket => get('ticket') },
+	arguments => { redirect => get('redirect') },
+    );
+#    set 'next' => Jifty->web->request->continuation
+#        || Jifty::Continuation->new(
+#        request => Jifty::Request->new( path => "/" ) );
+  };
+};
+
+# Log out
+before 'caslogout' => run {
+    Jifty->web->request->add_action(
+        class   => 'CASLogout',
+        moniker => 'caslogout',
+    );
+};
+
+
+# Login
+#on 'caslogin' => run {
+#    set 'action' =>
+#        Jifty->web->new_action(
+#        class => 'CASLogin',
+#        moniker => 'casloginbox'
+#    );
+#    set 'next' => Jifty->web->request->continuation
+#        || Jifty::Continuation->new(
+#        request => Jifty::Request->new( path => "/" ) );
+#};
+
+
+1;

Added: jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/lib/Jifty/Plugin/AuthCASOnly/Model/CASUser.pm	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,71 @@
+package Jifty::Plugin::AuthCASOnly::Model::CASUser::Schema;
+use Jifty::DBI::Schema;
+use Scalar::Defer;
+
+column
+  name => type is 'text',
+  label is 'Name',
+  is mandatory,
+  is distinct;
+
+column 'created_on' =>
+  type is 'datetime',
+  is immutable,
+  default is defer { DateTime->now },
+  filters are 'Jifty::DBI::Filter::DateTime';
+
+
+package Jifty::Plugin::AuthCASOnly::Model::CASUser;
+use base qw/Jifty::Record/;
+
+sub create {
+    my $self  = shift;
+    my %args  = (@_);
+    my (@ret) = $self->SUPER::create(%args);
+
+#    if ( $self->id and not $self->email_confirmed ) {
+#        Jifty::Plugin::Login::Notification::ConfirmAddress->new( to => $self )
+#          ->send;
+#    }
+    return (@ret);
+}
+
+=head2 current_user_can
+
+Allows the current user to see all their own attributes and
+everyone else to see their username.
+
+Allows the current user to update any of their own attributes
+except whether or not their email has been confirmed.
+
+Passes everything else off to the superclass.
+
+=cut
+
+sub current_user_can {
+    my $self  = shift;
+    my $right = shift;
+    my %args  = (@_);
+    # This line breaks admin mode. I like admin mode.
+    #    Carp::confess if ( $right eq 'read' and not $args{'column'} );
+    if (    $right eq 'read'
+        and $self->id == $self->current_user->id )
+    {
+        return 1;
+    }
+    elsif ( $right eq 'read' and $args{'column'} eq 'name' ) {
+        return (1);
+
+    }
+    elsif ( $right eq 'update'
+        and $self->id == $self->current_user->id
+#        and $args{'column'} ne 'email_confirmed' 
+        )
+    {
+        return (1);
+    }
+
+    return $self->SUPER::current_user_can( $right, %args );
+}
+
+1;

Added: jifty/trunk/plugins/AuthCASOnly/share/web/templates/caslogin
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/share/web/templates/caslogin	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,11 @@
+<%args>
+$ticket => ""
+</%args>
+<%init>
+Jifty->web->new_action(
+    moniker => 'casloginbox',
+    class   => 'CASLogin',
+    arguments => { ticket => $ticket }
+)->run;
+Jifty->web->redirect("/");
+</%init>

Added: jifty/trunk/plugins/AuthCASOnly/share/web/templates/caslogout
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/share/web/templates/caslogout	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,3 @@
+<&| /_elements/wrapper, title => "Logged out" &>
+<p><% _("Ok, you're now logged out. Have a good day.") %></p>
+</&>

Added: jifty/trunk/plugins/AuthCASOnly/t/00-load.t
==============================================================================
--- (empty file)
+++ jifty/trunk/plugins/AuthCASOnly/t/00-load.t	Thu Jan 11 03:10:37 2007
@@ -0,0 +1,5 @@
+#!/usr/bin/env perl -w
+use strict;
+use Test::More tests => 1;
+
+use_ok('Jifty::Plugin::AuthCASOnly');


More information about the Jifty-commit mailing list