From c0337286c8b72331c0ba1abb11cf7142bc479f0a Mon Sep 17 00:00:00 2001 From: "jrayhawk+piny.be@omgwallhack.org" Date: Fri, 21 Jan 2011 03:35:21 -0800 Subject: Adding slew of simple piny-suid cgis --- pinyweb/cgi-bin/auth/addaccess.cgi | 22 ++++++++++++++++++++++ pinyweb/cgi-bin/auth/newrepo.cgi | 9 +++++---- pinyweb/cgi-bin/auth/rmaccess.cgi | 22 ++++++++++++++++++++++ pinyweb/cgi-bin/auth/rmrepo.cgi | 22 ++++++++++++++++++++++ 4 files changed, 71 insertions(+), 4 deletions(-) create mode 100755 pinyweb/cgi-bin/auth/addaccess.cgi create mode 100755 pinyweb/cgi-bin/auth/rmaccess.cgi create mode 100755 pinyweb/cgi-bin/auth/rmrepo.cgi (limited to 'pinyweb/cgi-bin/auth') diff --git a/pinyweb/cgi-bin/auth/addaccess.cgi b/pinyweb/cgi-bin/auth/addaccess.cgi new file mode 100755 index 0000000..fca9574 --- /dev/null +++ b/pinyweb/cgi-bin/auth/addaccess.cgi @@ -0,0 +1,22 @@ +#!/usr/bin/perl +$| = 1; + +open(STDERR, ">&STDOUT"); + +use warnings; + +use CGI; + +use IPC::Open2; + +$q = CGI->new; + +print( "Content-type: text/plain\n\n"); + +if( $q->param('r') && $q->param('n') ) { + unless( system( '/usr/sbin/piny-suid', $ENV{'REMOTE_USER'}, 'addaccess', $q->param('r'), $q->param('n') ) == 0 ) { + die( 'Addaccess was unsuccessful.' ); + }; +} else { + print 'Missing parameters.'; +}; diff --git a/pinyweb/cgi-bin/auth/newrepo.cgi b/pinyweb/cgi-bin/auth/newrepo.cgi index ad3cdd7..000be02 100755 --- a/pinyweb/cgi-bin/auth/newrepo.cgi +++ b/pinyweb/cgi-bin/auth/newrepo.cgi @@ -1,6 +1,8 @@ #!/usr/bin/perl $| = 1; +open(STDERR, ">&STDOUT"); + use warnings; use CGI; @@ -11,10 +13,9 @@ $q = CGI->new; print( "Content-type: text/plain\n\n"); -if( $q->param('n') && $q->param('d') ) { - unless( open2( OUT, IN, '/usr/sbin/piny-suid', $ENV{'REMOTE_USER'}, 'newrepo', '--batch', $q->param('n') ) ) { - print 'could not execute newrepo'; - die; +if( $q->param('r') && $q->param('d') ) { + unless( open2( OUT, IN, '/usr/sbin/piny-suid', $ENV{'REMOTE_USER'}, 'newrepo', '--batch', $q->param('r') ) ) { + die 'could not execute newrepo'; }; # make things flushier select( (select(IN), $| = 1)[0] ); diff --git a/pinyweb/cgi-bin/auth/rmaccess.cgi b/pinyweb/cgi-bin/auth/rmaccess.cgi new file mode 100755 index 0000000..5123041 --- /dev/null +++ b/pinyweb/cgi-bin/auth/rmaccess.cgi @@ -0,0 +1,22 @@ +#!/usr/bin/perl +$| = 1; + +open(STDERR, ">&STDOUT"); + +use warnings; + +use CGI; + +use IPC::Open2; + +$q = CGI->new; + +print( "Content-type: text/plain\n\n"); + +if( $q->param('r') && $q->param('n') ) { + unless ( system( '/usr/sbin/piny-suid', $ENV{'REMOTE_USER'}, 'rmaccess', $q->param('r'), $q->param('n') ) == 0 ) { + die( 'rmaccess was unsuccessful.' ); + }; +} else { + print 'Missing parameters.'; +}; diff --git a/pinyweb/cgi-bin/auth/rmrepo.cgi b/pinyweb/cgi-bin/auth/rmrepo.cgi new file mode 100755 index 0000000..2d0ff23 --- /dev/null +++ b/pinyweb/cgi-bin/auth/rmrepo.cgi @@ -0,0 +1,22 @@ +#!/usr/bin/perl +$| = 1; + +open(STDERR, ">&STDOUT"); + +use warnings; + +use CGI; + +use IPC::Open2; + +$q = CGI->new; + +print( "Content-type: text/plain\n\n"); + +if( $q->param('r') ) { + unless ( system( '/usr/sbin/piny-suid', $ENV{'REMOTE_USER'}, 'rmrepo', $q->param('r') ) == 0 ) { + die( 'rmrepo was unsuccessful.' ); + }; +} else { + print 'Missing parameters.'; +}; -- cgit v1.2.3