Tadashi Okoshi
slash****@users*****
2006年 8月 9日 (水) 14:12:17 JST
Index: affelio/lib/Affelio/App/Standalone/Public/Bin/get_content.pm
diff -u affelio/lib/Affelio/App/Standalone/Public/Bin/get_content.pm:1.1 affelio/lib/Affelio/App/Standalone/Public/Bin/get_content.pm:1.2
--- affelio/lib/Affelio/App/Standalone/Public/Bin/get_content.pm:1.1 Tue Mar 7 23:39:10 2006
+++ affelio/lib/Affelio/App/Standalone/Public/Bin/get_content.pm Wed Aug 9 14:12:17 2006
@@ -14,16 +14,27 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
-# $Id: get_content.pm,v 1.1 2006/03/07 14:39:10 slash5234 Exp $
+# $Id: get_content.pm,v 1.2 2006/08/09 05:12:17 slash5234 Exp $
package Affelio::App::Standalone::Public::Bin::get_content;
{
use strict;
use lib("../../../../../../extlib/");
+ use CGI qw(-unique_headers);
+ use CGI::Session; #qw(-ip_match);
+ use Error qw(:try);
+
use lib("../../../../../../lib/");
+ use Affelio;
+ use Affelio::App::Standalone::Env;
+ use Affelio::App::Standalone::FriendRoutines qw(get_summed_permission_list);
use Affelio::misc::CGIError;
use Affelio::misc::Debug qw(debug_print);
+ use Affelio::misc::MyCrypt qw(url_decode msg_decrypt);
+ use Affelio::misc::Time qw(get_timestamp);
+ use Affelio::misc::NetMisc qw(get_remote_host);
+ use Affelio::misc::WebInput;
use Exporter;
@Affelio::App::Standalone::Public::Bin::get_content::ISA = "Exporter";
@@ -35,257 +46,256 @@
sub run{
$| = 1;
-use CGI qw(-unique_headers);
-use CGI::Session; #qw(-ip_match);
-use Error qw(:try);
-
-use Affelio;
-use Affelio::App::Standalone::Env;
-use Affelio::App::Standalone::FriendRoutines qw(get_summed_permission_list);
-use Affelio::misc::MyCrypt qw(url_decode msg_decrypt);
-use Affelio::misc::Time qw(get_timestamp);
-use Affelio::misc::NetMisc qw(get_remote_host);
-use Affelio::misc::WebInput;
-
-#Load Affelio and CGI
-my $q = new CGI;
-my $cfg_dir = "../config/";
-my $af = new Affelio(ConfigDir => $cfg_dir,
- CGI => $q);
-my $wi = new Affelio::misc::WebInput();
-
-#Retrieve args
-my $module = $wi->PTN_word($q->param("module"));
-if($module eq "" || !defined($module)){
- error($q,"Input parameters are not defined.(module)");
-}
-
-my $content = $wi->PTN_getcontent_content($q->param("content"));
-if($content eq "" || !defined($content)){
- error($q,"Input parameters are not defined.(content)");
-}
-
-my $ck_visitor_type=0;
-my $ck_visitor_type_str="pb";
-my $ck_visitor_afid = "";
-
-############################################################################
-#Load session from cookie
-############################################################################
-my $session = $af->getSM()->get_session();
-
-if(!$session){
- debug_print("StandAlone::get_content: session not found.");
- $ck_visitor_type=0;
- $ck_visitor_type_str="pb";
- $ck_visitor_afid = "";
-}else{
- my $type = $session->param("type");
-
- if($type eq "self"){
- debug_print("StandAlone::get_content: session found. [self]");
- $ck_visitor_type=3;
- $ck_visitor_type_str="self";
- $ck_visitor_afid = $session->param("user_afid");
- }elsif($type eq "f1"){
- debug_print("StandAlone::get_content: session found. [f1]");
- $ck_visitor_type=2;
- $ck_visitor_type_str="f1";
- $ck_visitor_afid = $session->param("user_afid");
- }elsif($type eq "f2"){
- debug_print("StandAlone::get_content: session found. [f2]");
- $ck_visitor_type=1;
- $ck_visitor_type_str="f2";
- $ck_visitor_afid = $session->param("user_afid");
- }
-}
-
-
-#CFID check
-my $CFID_timestamp;
-my $CFID_expire;
-my $CFID_remotehost;
-my $CFID_visitor_afid;
-my $CFID_visitor_type=0;
-my $CFID_visitor_type_str="pb";
-
-if( ($ck_visitor_type <= 2)
- && ( $q->param("referrer") ne "")
- && ( $q->param("cfid") ne "" )
- ){
-
- my $referrer = $wi->PTN_URL($q->param("referrer"));
- if($referrer =~ /(.*)\/$/){
- $referrer = $1;
- }
-
- my $passAB = $af->getFM->get_attribute_by_afid($referrer, "password");
- if($passAB eq "" || !defined($passAB)){
- error($q,"Parameters are not defined. (1): Your peer does not have shared password with you...");
- }
-
- my $cfid = msg_decrypt( url_decode($q->param("cfid") ) , $passAB) ;
- if($cfid eq "" || !defined($cfid)){
- error($q,"Parameters are not defined. (2): Invalid encryption: After decryption, we could not valid your encrypted message...");
- }
-
- #######################################################################
- #Check cfid
- ($CFID_timestamp, $CFID_expire, $CFID_remotehost, $CFID_visitor_afid, $CFID_visitor_type_str) = split('\*', $cfid);
-
- #check timestamp
- #check expire
- #check remotehost
- #check visitor_afid
- debug_print("StandAlone::get_content: Information extracted from CFID");
- debug_print("StandAlone::get_content: \ttimestamp =$CFID_timestamp\n");
- debug_print("StandAlone::get_content: \texpire =$CFID_expire\n");
- debug_print("StandAlone::get_content: \tremote_host =$CFID_remotehost\n");
- debug_print("StandAlone::get_content: \tvisitor_afid =$CFID_visitor_afid\n");
- debug_print("StandAlone::get_content: \tvisitor_type(original) =$CFID_visitor_type_str\n");
-
- #check visitor_type_str
- if($CFID_visitor_type_str eq "self") {
- $CFID_visitor_type_str = "f1";
- $CFID_visitor_type =2;
- }elsif($CFID_visitor_type_str eq "f1") {
- $CFID_visitor_type_str = "f2";
- $CFID_visitor_type =1;
- }else{
- $CFID_visitor_type_str = "pb";
- $CFID_visitor_type =0;
- }
- debug_print("StandAlone::get_content: \tvisitor_type(decreased) =$CFID_visitor_type_str\n");
-
-}
-
-
-############################################################################
-#Well, after all, who is it?
-############################################################################
-my $visitor_type=0; #3=self 2=f1 1=f2 0=pb
-my $visitor_type_str="pb";
-my $visitor_afid="";
-
-if($ck_visitor_type == 3){
-
- $visitor_type = $ck_visitor_type;
- $visitor_type_str = $ck_visitor_type_str;
- $visitor_afid = $ck_visitor_afid;
-
-}elsif($ck_visitor_type > $CFID_visitor_type){
-
- $visitor_type = $ck_visitor_type;
- $visitor_type_str = $ck_visitor_type_str;
- $visitor_afid = $ck_visitor_afid;
-
-}else{
-
- $visitor_type = $CFID_visitor_type;
- $visitor_type_str = $CFID_visitor_type_str;
- $visitor_afid = $CFID_visitor_afid;
-}
-
-#######################################
-#Is this visitor a friend of this site?
-
-if($visitor_type < 3){
- my $tmp1 = $af->getFM->get_attribute_by_afid($visitor_afid, "password");
-
- if($tmp1 ne ""){
- $visitor_type = 2;
- $visitor_type_str="f1";
- $visitor_afid = $CFID_visitor_afid;
- }
-}
-
-debug_print("StandAlone::get_content: Finally...");
-debug_print("StandAlone::get_content: \tvisitor_type = [$visitor_type] [$visitor_type_str]");
-debug_print("StandAlone::get_content: \tvisitor_type = [$visitor_afid]");
-debug_print("StandAlone::get_content: \tmodule = [$module]\n");
-debug_print("StandAlone::get_content: \tcontent = [$content]\n");
-
-
-############################################################################
-#Output content
-############################################################################
-if($module eq "core"){
-
- if($content =~ /^\/profile\/profile\_face([0-9a-zA-Z\_]*)\.jpg$/){
-
- debug_print("StandAlone::get_content: image!");
-
- #Get summarized permission list for the given user
- my @list
- = get_summed_permission_list($af,
- $visitor_afid,
- $visitor_type_str);
-
- debug_print("StandAlone::get_content: Got summarized permission...");
- debug_print("StandAlone::get_content: \t[@list]");
-
- my $permission = $list[5] ;
- debug_print("StandAlone::get_content: Pic perm: $permission");
-
- my $real_filename = $content;
- $real_filename =~ s|/profile/||;
-
- my $actual_file="";
- if( $permission ==1)
- {
- $actual_file = "$af->{site__user_dir}/$real_filename";
+ #Load Affelio and CGI
+ my $q = new CGI;
+ my $cfg_dir = "../config/";
+ my $af = new Affelio(ConfigDir => $cfg_dir,
+ CGI => $q);
+ my $wi = new Affelio::misc::WebInput();
+
+ #Retrieve args
+ my $module = $wi->PTN_word($q->param("module"));
+ if($module eq "" || !defined($module)){
+ error($q,"Input parameters are not defined.(module)");
+ }
+
+ my $content = $wi->PTN_getcontent_content($q->param("content"));
+ if($content eq "" || !defined($content)){
+ error($q,"Input parameters are not defined.(content)");
+ }
+
+ my $ck_visitor_type=0;
+ my $ck_visitor_type_str="pb";
+ my $ck_visitor_afid = "";
+
+ ####################################################################
+ #(1) Load session from cookie
+ ####################################################################
+ my $session = $af->getSM()->get_session();
+
+ if(!$session){
+ debug_print("Standalone::get_content: session not found.");
+ $ck_visitor_type=0;
+ $ck_visitor_type_str="pb";
+ $ck_visitor_afid = "";
}else{
- $actual_file = "$af->{site__fs_root}/skins/$af->{userpref__skin}/0_face.jpg";
+ my $type = $session->param("type");
+
+ if($type eq "self"){
+ debug_print("Standalone::get_content: session found. [self]");
+ $ck_visitor_type=3;
+ $ck_visitor_type_str="self";
+ $ck_visitor_afid = $session->param("user_afid");
+ }elsif($type eq "f1"){
+ debug_print("Standalone::get_content: session found. [f1]");
+ $ck_visitor_type=2;
+ $ck_visitor_type_str="f1";
+ $ck_visitor_afid = $session->param("user_afid");
+ }elsif($type eq "f2"){
+ debug_print("Standalone::get_content: session found. [f2]");
+ $ck_visitor_type=1;
+ $ck_visitor_type_str="f2";
+ $ck_visitor_afid = $session->param("user_afid");
+ }
}
- open(IMG, "< $actual_file");
- print "Content-type: image/jpeg\n";
- print "Pragma: no-cache\n\n";
- binmode (IMG);
- binmode (STDOUT);
- print <IMG>;
- close IMG;
- }
- if($content eq "/profile/mystatus"){
-
- debug_print("StandAlone::get_content: mystatus!");
- my $mystatus=" ";
- if( $visitor_type >= 2){
- $mystatus = $af->{user__currentstatus};
+ ####################################################################
+ #(2) CFID (Contents Forwading ID) checking
+ ####################################################################
+ my $CFID_timestamp;
+ my $CFID_expire;
+ my $CFID_remotehost;
+ my $CFID_visitor_afid;
+ my $CFID_visitor_type=0;
+ my $CFID_visitor_type_str="pb";
+
+ if( ($ck_visitor_type <= 2)
+ && ( $q->param("referrer") ne "")
+ && ( $q->param("cfid") ne "" )
+ ){
+
+ my $referrer = $wi->PTN_URL($q->param("referrer"));
+ if($referrer =~ /(.*)\/$/){
+ $referrer = $1;
+ }
+
+ my $passAB = $af->getFM->get_attribute_by_afid($referrer, "password");
+ if($passAB eq "" || !defined($passAB)){
+ error($q,"Parameters are not defined. (1): Your peer does not have shared password with you...");
+ }
+
+ my $cfid = msg_decrypt( url_decode($q->param("cfid") ) , $passAB) ;
+ if($cfid eq "" || !defined($cfid)){
+ error($q,"Parameters are not defined. (2): Invalid encryption: After decryption, we could not valid your encrypted message...");
+ }
+
+ ################################################################
+ #Check cfid
+ ($CFID_timestamp, $CFID_expire, $CFID_remotehost, $CFID_visitor_afid, $CFID_visitor_type_str) = split('\*', $cfid);
+
+ #check timestamp
+ #check expire
+ #check remotehost
+ #check visitor_afid
+ debug_print("Standalone::get_content: Information extracted from CFID");
+ debug_print("Standalone::get_content: \ttimestamp =$CFID_timestamp\n");
+ debug_print("Standalone::get_content: \texpire =$CFID_expire\n");
+ debug_print("Standalone::get_content: \tremote_host =$CFID_remotehost\n");
+ debug_print("Standalone::get_content: \tvisitor_afid =$CFID_visitor_afid\n");
+ debug_print("Standalone::get_content: \tvisitor_type(original) =$CFID_visitor_type_str\n");
+
+ #check visitor_type_str
+ if($CFID_visitor_type_str eq "self") {
+ $CFID_visitor_type_str = "f1";
+ $CFID_visitor_type =2;
+ }elsif($CFID_visitor_type_str eq "f1") {
+ $CFID_visitor_type_str = "f2";
+ $CFID_visitor_type =1;
+ }else{
+ $CFID_visitor_type_str = "pb";
+ $CFID_visitor_type =0;
+ }
+ debug_print("Standalone::get_content: \tvisitor_type(decreased) =$CFID_visitor_type_str\n");
+
}
- print "Content-type:application/x-javascript\n\n";
- print "document.write(\"$mystatus\");";
- print "\n\n";
- exit(1);
- }
- if($content eq "/profile/mystatus_iframe"){
- debug_print("StandAlone::get_content: mystatus!");
- my $mystatus=" ";
- if( $visitor_type >= 2){
- $mystatus = $af->{user__currentstatus};
+ ####################################################################
+ #(3) after all, who is it?
+ ####################################################################
+ my $visitor_type=0; #3=self 2=f1 1=f2 0=pb
+ my $visitor_type_str="pb";
+ my $visitor_afid="";
+
+ if($ck_visitor_type == 3){
+
+ $visitor_type = $ck_visitor_type;
+ $visitor_type_str = $ck_visitor_type_str;
+ $visitor_afid = $ck_visitor_afid;
+
+ }elsif($ck_visitor_type > $CFID_visitor_type){
+
+ $visitor_type = $ck_visitor_type;
+ $visitor_type_str = $ck_visitor_type_str;
+ $visitor_afid = $ck_visitor_afid;
+
+ }else{
+
+ $visitor_type = $CFID_visitor_type;
+ $visitor_type_str = $CFID_visitor_type_str;
+ $visitor_afid = $CFID_visitor_afid;
+ }
+
+ #######################################
+ #Is this visitor a friend of this site?
+
+ if($visitor_type < 3){
+ my $tmp1 = $af->getFM->get_attribute_by_afid($visitor_afid, "password");
+
+ if($tmp1 ne ""){
+ $visitor_type = 2;
+ $visitor_type_str="f1";
+ $visitor_afid = $CFID_visitor_afid;
+ }
+ }
+
+ debug_print("Standalone::get_content: Finally...");
+ debug_print("Standalone::get_content: \tvisitor_type = [$visitor_type] [$visitor_type_str]");
+ debug_print("Standalone::get_content: \tvisitor_type = [$visitor_afid]");
+ debug_print("Standalone::get_content: \tmodule = [$module]\n");
+ debug_print("Standalone::get_content: \tcontent = [$content]\n");
+
+
+ #####################################################################
+ #(4) Output content
+ #####################################################################
+ if($module eq "core"){
+
+ if($content =~ /^\/profile\/profile\_face([0-9a-zA-Z\_]*)\.jpg$/){
+
+ debug_print("Standalone::get_content: image!");
+
+ #Get summarized permission list for the given user
+ my @list
+ = get_summed_permission_list($af,
+ $visitor_afid,
+ $visitor_type_str);
+
+ debug_print("Standalone::get_content: Got summarized permission...");
+ debug_print("Standalone::get_content: \t[@list]");
+
+ my $permission = $list[5] ;
+ debug_print("Standalone::get_content: Pic perm: $permission");
+
+ my $real_filename = $content;
+ $real_filename =~ s|/profile/||;
+
+ my $actual_file="";
+ if( $permission ==1)
+ {
+ $actual_file = "$af->{site__user_dir}/$real_filename";
+ }else{
+ $actual_file = "$af->{site__fs_root}/skins/$af->{userpref__skin}/0_face.jpg";
+ }
+ $actual_file =~ s|//|/|g;
+ debug_print("Standalone::get_content: actual_file= $actual_file");
+
+ open(IMG, "< $actual_file");
+ print "Content-type: image/jpeg\n";
+ print "Pragma: no-cache\n\n";
+ binmode (IMG);
+ binmode (STDOUT);
+ print <IMG>;
+ close IMG;
+
+ debug_print("Standalone::get_content: img end.");
+ $af->DESTROY;
+ return();
+ }
+
+ if($content eq "/profile/mystatus"){
+
+ debug_print("Standalone::get_content: mystatus!");
+ my $mystatus=" ";
+ if( $visitor_type >= 2){
+ $mystatus = $af->{user__currentstatus};
+ }
+ print "Content-type:application/x-javascript\n\n";
+ print "document.write(\"$mystatus\");";
+ print "\n\n";
+ $af->DESTROY;
+ return();
+ }
+
+ if($content eq "/profile/mystatus_iframe"){
+
+ debug_print("Standalone::get_content: mystatus!");
+ my $mystatus=" ";
+ if( $visitor_type >= 2){
+ $mystatus = $af->{user__currentstatus};
+ }
+ print "Content-type: text/html; charset=UTF-8\n";
+ print "Pragma: no-cache\n\n";
+
+ # " ni kiwo tsukero!!!! escape! escape! " --> \"
+ print "<HTML><body TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0><div style=\"margin:0px; padding:0px; font-family:sans-serif; font-size:xx-small;\">$mystatus</div></body></HTML>";
+ debug_print("Standalone::get_content: mystatus!");
+ $af->DESTROY;
+ return();
+ }
+
+ print "Content-type: text/html; charset=UTF-8\n";
+ print "Pragma: no-cache\n\n";
+ print "<HTML></HTML>";
+ $af->DESTROY;
+ return();
+
}
- print "Content-type: text/html; charset=UTF-8\n";
- print "Pragma: no-cache\n\n";
+ $af->DESTROY;
+ return();
- # " ni kiwo tsukero!!!! escape! escape! " --> \"
- print "<HTML><body TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0><div style=\"margin:0px; padding:0px; font-family:sans-serif; font-size:xx-small;\">$mystatus</div></body></HTML>";
- debug_print("StandAlone::get_content: mystatus!");
- exit(1);
}
-
- print "Content-type: text/html; charset=UTF-8\n";
- print "Pragma: no-cache\n\n";
- print "<HTML></HTML>";
- exit(1);
-
-}
-exit(1);
-
-
-
- }#method
+ #method
#######################################################################
}
1;
Index: affelio/lib/Affelio/App/Standalone/Public/Bin/loginexec.pm
diff -u affelio/lib/Affelio/App/Standalone/Public/Bin/loginexec.pm:1.3 affelio/lib/Affelio/App/Standalone/Public/Bin/loginexec.pm:1.4
--- affelio/lib/Affelio/App/Standalone/Public/Bin/loginexec.pm:1.3 Thu Jun 29 03:12:48 2006
+++ affelio/lib/Affelio/App/Standalone/Public/Bin/loginexec.pm Wed Aug 9 14:12:17 2006
@@ -14,7 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
-# $Id: loginexec.pm,v 1.3 2006/06/28 18:12:48 slash5234 Exp $
+# $Id: loginexec.pm,v 1.4 2006/08/09 05:12:17 slash5234 Exp $
package Affelio::App::Standalone::Public::Bin::loginexec;
{
@@ -48,7 +48,7 @@
my $q = new CGI;
-debug_print("StandAlone::loginexec.cgi: **start.");
+debug_print("Standalone::loginexec.cgi: **start.");
############################################################################
#Load Affelio
@@ -63,7 +63,7 @@
error($q, "Affelio load error.\n" . $e);
};
my $wi = new Affelio::misc::WebInput;
-debug_print("StandAlone::loginexec.cgi: loaded Affelio.");
+debug_print("Standalone::loginexec.cgi: loaded Affelio.");
############################################################################
#Prep (1) input args
@@ -90,7 +90,7 @@
#type from FORM
my $submit_type = $wi->PTN_mode($q->param("submittype"));
-debug_print("StandAlone::loginexec.cgi: checked input args.");
+debug_print("Standalone::loginexec.cgi: checked input args.");
############################################################################
#Prep (2) misc
@@ -107,13 +107,13 @@
my $issued_cookie="";
my $next_url;
-debug_print("StandAlone::\t\tmode = $mode");
-debug_print("StandAlone::\t\taffelio_url= $affelio_url");
-debug_print("StandAlone::\t\tusername = $username");
-debug_print("StandAlone::\t\tpassword = $password");
-debug_print("StandAlone::\t\tforward = $forward_URL");
-debug_print("StandAlone::\t\taftergo = $aftergo_URL");
-debug_print("StandAlone::\t\tfarm_users_root = $farm_users_root");
+debug_print("Standalone::\t\tmode = $mode");
+debug_print("Standalone::\t\taffelio_url= $affelio_url");
+debug_print("Standalone::\t\tusername = $username");
+debug_print("Standalone::\t\tpassword = $password");
+debug_print("Standalone::\t\tforward = $forward_URL");
+debug_print("Standalone::\t\taftergo = $aftergo_URL");
+debug_print("Standalone::\t\tfarm_users_root = $farm_users_root");
############################################################################
#Already logined?
@@ -130,11 +130,11 @@
###################################################################
if( (verify_password($password, $af->{site__password}) > 0)
&& ($username eq $af->{site__username}) ){
- debug_print("StandAlone::loginexec.cgi: AUTH OK.\n");
+ debug_print("Standalone::loginexec.cgi: AUTH OK.\n");
#login OK
}else{
#login failed.
- debug_print("StandAlone::loginexec.cgi: AUTH NG.\n");
+ debug_print("Standalone::loginexec.cgi: AUTH NG.\n");
my $TMPL_FILE = "$af->{site__tmpl_dir}/owner_side/loginfailed.tmpl";
my $tmpl = new HTML::Template( filename => $TMPL_FILE);
@@ -143,8 +143,9 @@
print "Content-type: text/html; charset=UTF-8\n\n";
print $af->translate_templateL10N($tmpl->output);
- debug_print("StandAlone::loginexec.cgi: exit(1).\n");
- exit(1);
+ debug_print("Standalone::loginexec.cgi: exit(1).\n");
+ $af->DESTROY;
+ return();
}
}elsif($mode eq "s0"){
@@ -159,7 +160,8 @@
forward_URL => $forward_URL,
aftergo_URL => $aftergo_URL,
mode => "login_as_owner");
- exit(1);
+ $af->DESTROY;
+ return();
}else{
##################################
@@ -176,7 +178,7 @@
if($affelio_url =~ /(.*)\/$/){
$affelio_url = $1;
}
- debug_print("StandAlone::loginexec.cgi($mode): formated Affelio URL= [$affelio_url]");
+ debug_print("Standalone::loginexec.cgi($mode): formated Affelio URL= [$affelio_url]");
if($affelio_url eq $af->{site__user_afid}){
@@ -185,7 +187,8 @@
aftergo_URL => $aftergo_URL,
mode => "login_as_owner");
- exit(1);
+ $af->DESTROY;
+ return();
}
##################################
@@ -208,10 +211,11 @@
##################################
my $next_URL
= "$affelio_url/bin/loginexec.cgi?mode=s1&forward_URL=$forward_URL&aftergo_URL=$aftergo_URL";
- debug_print("StandAlone::\t\tnext_URL= $next_URL");
- debug_print("StandAlone::loginexec.cgi($mode): end.");
+ debug_print("Standalone::\t\tnext_URL= $next_URL");
+ debug_print("Standalone::loginexec.cgi($mode): end.");
print $q->redirect( -url => $next_URL);
- exit(1);
+ $af->DESTROY;
+ return();
}
}elsif($mode eq "s1"){
@@ -223,31 +227,34 @@
forward_URL => $forward_URL,
aftergo_URL => $aftergo_URL,
mode => "back_from_friend");
- debug_print("StandAlone::loginexec.cgi($mode): end.");
- exit(1);
+ debug_print("Standalone::loginexec.cgi($mode): end.");
+ $af->DESTROY;
+ return();
}elsif($mode eq "s2"){
####################################################################
#Phase V2: Phase S2
# (auth check phase)
####################################################################
- debug_print("StandAlone::loginexec.cgi($mode): submit_type= $submit_type");
+ debug_print("Standalone::loginexec.cgi($mode): submit_type= $submit_type");
if($submit_type eq "Cancel"){
if($aftergo_URL eq ""){
print $q->redirect( -url => $af->{site__user_afid});
- exit(0);
+ $af->DESTROY;
+ return();
}else{
print $q->redirect( -url => $aftergo_URL);
- exit(0);
+ $af->DESTROY;
+ return();
}
}
if( (verify_password($password, $af->{site__password}) > 0) ){
- debug_print("StandAlone::loginexec.cgi: AUTH Ok.\n");
+ debug_print("Standalone::loginexec.cgi: AUTH Ok.\n");
}else{
#login failed.
- debug_print("StandAlone::loginexec.cgi: AUTH NG.\n");
+ debug_print("Standalone::loginexec.cgi: AUTH NG.\n");
my $loginfailed=
$af->translate_templateL10N('<AF_M text="Login failed.">');
@@ -268,8 +275,9 @@
error => $loginfailed);
}
- debug_print("StandAlone::loginexec.cgi: exit(1).\n");
- exit(1);
+ debug_print("Standalone::loginexec.cgi: exit(1).\n");
+ $af->DESTROY;
+ return();
}
}
@@ -279,13 +287,15 @@
$af->getSM->startup_session(user_afid => $af->{site__user_afid},
user_nickname => $af->{user__nickname},
type => "self");
+
$af->getSM->get_session->expire("+3d");
$af->getSM->get_session->flush();
- debug_print("StandAlone::loginexec.cgi: startup_session finished.\n");
+ debug_print("Standalone::loginexec.cgi: startup_session finished.\n");
#Prepare a cookie with the session_id
$issued_cookie = $af->getSM->issue_cookie();
+
}
############################################################################
@@ -295,7 +305,7 @@
if($forward_URL =~ /(.*)\/$/){
$forward_URL = $1;
}
- debug_print("StandAlone::loginexec.cgi: ForwardURL= $forward_URL");
+ debug_print("Standalone::loginexec.cgi: ForwardURL= $forward_URL");
my $passAB="";
try{
@@ -307,7 +317,8 @@
if($passAB eq ""){
show_askmakefriend_screen($af, $forward_URL);
- exit(0);
+ $af->DESTROY;
+ return();
}else{
$next_url= "$af->{site__user_afid}/outgoing.cgi?dest_url=$forward_URL&dest_url2=$aftergo_URL";
}
@@ -321,7 +332,8 @@
print $q->redirect( -url => $next_url);
}
-exit(1);
+$af->DESTROY;
+return();
}#method
#######################################################################
Index: affelio/lib/Affelio/App/Standalone/Public/Bin/logoutexec.pm
diff -u affelio/lib/Affelio/App/Standalone/Public/Bin/logoutexec.pm:1.2 affelio/lib/Affelio/App/Standalone/Public/Bin/logoutexec.pm:1.3
--- affelio/lib/Affelio/App/Standalone/Public/Bin/logoutexec.pm:1.2 Thu Jun 29 03:12:48 2006
+++ affelio/lib/Affelio/App/Standalone/Public/Bin/logoutexec.pm Wed Aug 9 14:12:17 2006
@@ -14,7 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
-# $Id: logoutexec.pm,v 1.2 2006/06/28 18:12:48 slash5234 Exp $
+# $Id: logoutexec.pm,v 1.3 2006/08/09 05:12:17 slash5234 Exp $
package Affelio::App::Standalone::Public::Bin::logoutexec;
{
@@ -44,7 +44,7 @@
use Affelio::misc::MyCrypt;
use Affelio::misc::Time;
-debug_print("StandAlone::logoutexec.cgi: start.");
+debug_print("Standalone::logoutexec.cgi: start.");
my $q = new CGI;
############################################################################
@@ -64,7 +64,6 @@
############################################################################
#Check session w/ cookie
############################################################################
-my $sid = $q->cookie("affelio-$af->{user__nickname}");
my $session = $af->getSM->get_session();
if($session){
@@ -78,9 +77,9 @@
print $q->redirect( -url => $af->{site__user_afid});
-debug_print("StandAlone::logoutexec.cgi: end.");
-exit(1);
-
+debug_print("Standalone::logoutexec.cgi: end.");
+$af->DESTROY;
+return();
Index: affelio/lib/Affelio/App/Standalone/Public/Bin/recv_mail_ack.pm
diff -u affelio/lib/Affelio/App/Standalone/Public/Bin/recv_mail_ack.pm:1.3 affelio/lib/Affelio/App/Standalone/Public/Bin/recv_mail_ack.pm:1.4
--- affelio/lib/Affelio/App/Standalone/Public/Bin/recv_mail_ack.pm:1.3 Thu Jun 29 03:12:48 2006
+++ affelio/lib/Affelio/App/Standalone/Public/Bin/recv_mail_ack.pm Wed Aug 9 14:12:17 2006
@@ -14,7 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
-# $Id: recv_mail_ack.pm,v 1.3 2006/06/28 18:12:48 slash5234 Exp $
+# $Id: recv_mail_ack.pm,v 1.4 2006/08/09 05:12:17 slash5234 Exp $
package Affelio::App::Standalone::Public::Bin::recv_mail_ack;
{
@@ -58,9 +58,11 @@
my $cfg_dir = "../config/";
my $af;
try{
- $af = new Affelio(ConfigDir => $cfg_dir);
+ $af = new Affelio(ConfigDir => $cfg_dir,
+ CGI => $q);
}catch Error with{
my $e = shift;
+ $af->DESTROY;
error($q, "Affelio load error.\n" . $e);
};
my $wi = new Affelio::misc::WebInput;
@@ -68,16 +70,14 @@
############################################################################
#Sesion check (as admin)
my $sid = $q->cookie("affelio-$af->{user__nickname}");
-my $session = new CGI::Session(undef,
- $sid,
- {Directory=> $af->{site__session_dir}});
+my $session = $af->getSM()->get_session();
my $TMPL_FILE="";
if( (!$session) || ($session->param("type") ne "self") ){
# Is the session alive?
# Is the user the admin of this site?
# if not....
- debug_print("StandAlone::recv_mail_ack.cgi: login is needed.");
+ debug_print("Standalone::recv_mail_ack.cgi: login is needed.");
$TMPL_FILE
= "$af->{site__tmpl_dir}/owner_side/login.tmpl";
@@ -87,9 +87,10 @@
$tmpl->param("tmpl_path" => "$af->{site__tmpl_web_path}/owner_side/");
print "Content-type: text/html; charset=UTF-8\n\n";
print $af->translate_templateL10N($tmpl->output);
- exit(1);
+ $af->DESTROY;
+ return();
}
-debug_print("StandAlone::recv_mail_ack.cgi: Session as the admin is OK.");
+debug_print("Standalone::recv_mail_ack.cgi: Session as the admin is OK.");
############################################################################
@@ -99,7 +100,7 @@
if(!$session_id){
die "id is not defined. [$session_id]";
}
-debug_print("StandAlone::recv_mail_ack: $session_id\n");
+debug_print("Standalone::recv_mail_ack: $session_id\n");
############################################################################
@@ -120,7 +121,8 @@
if(!defined(@ret)){
#No such session exists!!
- debug_print("StandAlone::recv_mail_ack: session not found.\n");
+ debug_print("Standalone::recv_mail_ack: session not found.\n");
+ $af->DESTROY;
error($q, "Affelio load error.\nNo such session exists!");
}else{
($dummy, $timestamp, $peer_af_id,
@@ -128,7 +130,7 @@
$peer_DH_pub_key = Math::BigInt->new($peer_DH_pub_key_str);
}
-debug_print("StandAlone::recv_mail_ack: $session_id, $timestamp, $peer_af_id, $peer_nickname, $peer_DH_pub_key_str\n");
+debug_print("Standalone::recv_mail_ack: $session_id, $timestamp, $peer_af_id, $peer_nickname, $peer_DH_pub_key_str\n");
############################################################################
#DH key generation
@@ -160,15 +162,16 @@
);
}catch Error with {
my $E = shift;
+ $af->DESTROY;
error($q, "HandShake reply output an error!\n$E");
};
-debug_print("StandAlone::recv_mail_ack: reply_HandShake finished.");
+debug_print("Standalone::recv_mail_ack: reply_HandShake finished.");
############################################################################
#generate Password
my $pass = $mydh->compute_key($peer_DH_pub_key)->bstr;
-debug_print("StandAlone::recv_mail_ack: PASSWORD=[$pass]\n");
+debug_print("Standalone::recv_mail_ack: PASSWORD=[$pass]\n");
############################################################################
#Add peer to my friends list.
@@ -180,9 +183,10 @@
$peer_type);
}catch Error with{
my $E = shift;
+ $af->DESTROY;
error($q, "Error from FriendManager\n$E\n");
};
-debug_print("StandAlone::recv_mail_ack: added to my friends list.");
+debug_print("Standalone::recv_mail_ack: added to my friends list.");
sleep(2);
############################################################################
@@ -192,10 +196,11 @@
timestamp => 0);
}catch Error with {
my $E = shift;
+ $af->DESTROY;
error($q, "HandShake was successful!\n But, get_F2List reply output an error!\n$E");
};
-debug_print("StandAlone::recv_mail_ack: get_F2List finished.");
-debug_print("StandAlone::recv_mail_ack: List I've got is [$ret]");
+debug_print("Standalone::recv_mail_ack: get_F2List finished.");
+debug_print("Standalone::recv_mail_ack: List I've got is [$ret]");
#
#
##################################################