[Affelio-cvs 241] CVS update: affelio/lib/Affelio/SNS

Back to archive index

Tadashi Okoshi slash****@users*****
2005年 6月 28日 (火) 20:51:35 JST


Index: affelio/lib/Affelio/SNS/Handshaker_c.pm
diff -u affelio/lib/Affelio/SNS/Handshaker_c.pm:1.5 affelio/lib/Affelio/SNS/Handshaker_c.pm:1.6
--- affelio/lib/Affelio/SNS/Handshaker_c.pm:1.5	Tue Jun 28 16:44:53 2005
+++ affelio/lib/Affelio/SNS/Handshaker_c.pm	Tue Jun 28 20:51:34 2005
@@ -4,7 +4,7 @@
 #    http://affelio.jp/ (Japan)
 #    http://affelio.jp/ (USA and other area)
 #
-# $Id: Handshaker_c.pm,v 1.5 2005/06/28 07:44:53 slash5234 Exp $
+# $Id: Handshaker_c.pm,v 1.6 2005/06/28 11:51:34 slash5234 Exp $
 
 package Affelio::SNS::Handshaker_c;
 {
@@ -22,6 +22,7 @@
     use Affelio::misc::Time;
     use Affelio::exception::Exception;
     use Affelio::exception::IOException;
+    use Affelio::exception::NetworkException;
 
     use Exporter;
     @ISA = "Exporter";
@@ -29,11 +30,12 @@
 
     #################################################################
     # post_Message
+    # proto_ver: 1
     #################################################################
     sub post_Message{
 	my %arg = @_;
 	#arg (part 1)
-	my $proto_ver = $arg{proto_ver};
+	my $proto_ver = 1.0;
 	my $dest_uri = $arg{dest_uri};
 	my $src = $arg{src};
 	my $password = $arg{password};
@@ -99,27 +101,25 @@
 	  };
 	debug_print("C::post_Message: RPC returned.\n");
 	if ($@) {
-	    debug_print("C::post_Message: IOException($@)");
-	    throw Affelio::exception::IOException($@);
+	    throw Affelio::exception::NetworkException($@);
 	}
-	
-	debug_print("post_Message: OK : $result->{message}\n");
-	debug_print("post_Message: OK : [$result->{flerror}]\n");
-	
 	if($result->{flerror} ne "0"){
-	    debug_print("C::post_Message: IOException($result->{message})");
-	    throw Affelio::exception::IOException($result->{message});
+	    throw Affelio::exception::NetworkException($result->{message});
 	}
+
+	debug_print("post_Message: OK : $result->{message}\n");
+	debug_print("post_Message: OK : [$result->{flerror}]\n");
 	return $result;
     }
 
 
     #################################################################
     # get_F2List(dest_uri, timestamp)
+    # proto_ver: 1
     #################################################################
     sub get_F2List {
 	my %arg = @_;
-	my $proto_ver = $arg{proto_ver};
+	my $proto_ver = 1.0;
 	my $dest_uri = $arg{dest_uri};
 	my $timestamp = $arg{timestamp};
 
@@ -139,37 +139,42 @@
 		       )
 		->result;
 	  };
-	debug_print("get_F2List: RPC returned.\n");
+	debug_print("C::get_F2List: RPC returned.\n");
 	if ($@) {
-	    throw Affelio::exception::IOException($@);
+	    throw Affelio::exception::NetworkException($@);
 	}
-	
-	debug_print("get_F2List: OK : $result->{message}\n");
-	debug_print("get_F2List: OK : $result->{flerror}\n");
-
-	if($result->{flerror} != 0){
-	    throw Affelio::exception::IOException($result->{message});
+	if($result->{flerror} ne "0"){
+	    throw Affelio::exception::NetworkException($result->{message});
 	}
-	return $result->{message};
+
+	debug_print("get_F2List: OK : $result->{message}\n");
+	debug_print("get_F2List: OK : [$result->{flerror}]\n");
+	return $result;
     }
 
 
     #################################################################
-    # send_HandShake(dest_uri, proto_ver, timestamp, 
-    #                my_nickname, my_AFID);
+    # send_HandShake(dest_url =>  $dest_uri, 
+    #                timestamp => $timestamp,
+    #                my_nickname => my_nickname,
+    #                my_AFID => my_AFID,
+    #                DH_pub_key_str => DH_pub_key_str,
+    #                mesg => mesg);
+    # proto_ver: 1.1
     #################################################################
     sub send_HandShake {
 	my %arg = @_;
 	my $dest_uri = $arg{dest_uri};
 	#
-	my $proto_ver = $arg{proto_ver};
+	my $proto_ver = 1.1;
 	my $timestamp = $arg{timestamp};
 	#
 	my $my_nickname = $arg{my_nickname};
 	my $my_AFID = $arg{my_AFID};
 	my $my_DH_pub_key_str = $arg{DH_pub_key_str};
+	my $my_mesg = $arg{mesg};
 	
-	debug_print("send_HandShake: $dest_uri $proto_ver $timestamp $my_domain $my_nickname $my_AFID $my_DH_pub_key_str\n");
+	debug_print("send_HandShake: [$dest_uri $proto_ver $timestamp $my_domain $my_nickname $my_AFID $my_DH_pub_key_str $my_mesg]");
 
 	#################################
 	#Arg check
@@ -190,36 +195,45 @@
 		       $timestamp,
 		       $my_nickname,
 		       $my_AFID,
-		       $my_DH_pub_key_str)
+		       $my_DH_pub_key_str,
+		       $my_mesg)
 		->result;
 	  };
 	debug_print("send_HandShake: RPC returned.\n");
 	if ($@) {
-	    throw Affelio::exception::IOException($@);
+	    throw Affelio::exception::NetworkException($@);
 	}
-	
+	if($result->{flerror} ne "0"){
+	    throw Affelio::exception::NetworkException($result->{message});
+	}
+
 	debug_print("send_HandShake: OK : $result->{message}\n");
 	debug_print("send_HandShake: OK : $result->{flerror}\n");
 	return $result;
     }
 
-
     #################################################################
-    # reply_HandShake(dest_uri, proto_ver, timestamp, 
-    #                 my_nickname, my_AFID, $pass);
+    # reply_HandShake(dest_url =>  $dest_uri, 
+    #                 timestamp => $timestamp,
+    #                 my_nickname => my_nickname,
+    #                 my_AFID => my_AFID,
+    #                 DH_pub_key_str => DH_pub_key_str,
+    #                 my_mesg => mesg);
+    # proto_ver: 1.1
     #################################################################
     sub reply_HandShake {
 	my %arg = @_;
-	my $dest_uri = $arg{dest_uri};
 	#
-	my $proto_ver = $arg{proto_ver};
+	my $proto_ver = 1.1;
+	my $dest_uri = $arg{dest_uri};
 	my $timestamp = $arg{timestamp};
 	#
 	my $my_nickname = $arg{my_nickname};
 	my $my_AFID = $arg{my_AFID};
 	my $my_DH_pub_key_str = $arg{DH_pub_key_str};
-	
-	debug_print("reply_HandShake: $dest_uri $proto_ver $timestamp $my_domain $my_nickname $my_AFID $my_DH_pub_key_str\n");
+	my $my_mesg = $arg{mesg};
+
+	debug_print("reply_HandShake: [$dest_uri $proto_ver $timestamp $my_domain $my_nickname $my_AFID $my_DH_pub_key_str $my_mesg]");
 	
 	#################################
 	#Arg check
@@ -240,20 +254,22 @@
 		       $timestamp,
 		       $my_nickname,
 		       $my_AFID,
-		       $my_DH_pub_key_str
+		       $my_DH_pub_key_str,
+		       $my_mesg
 		       )
 		->result;
 	  };
 	debug_print("reply_HandShake: RPC returned.\n");
 	if ($@) {
-	    throw Affelio::exception::IOException("XML-RPC error[$@]");
+	    throw Affelio::exception::NetworkException($@);
+	}
+	if($result->{flerror} ne "0"){
+	    throw Affelio::exception::NetworkException($result->{message});
 	}
 
 	debug_print("reply_HandShake: $result->{message}\n");
 	debug_print("reply_HandShake: $result->{flerror}\n");
 	return $result;
     }
-
-
 }
 1;
Index: affelio/lib/Affelio/SNS/Handshaker_s.pm
diff -u affelio/lib/Affelio/SNS/Handshaker_s.pm:1.6 affelio/lib/Affelio/SNS/Handshaker_s.pm:1.7
--- affelio/lib/Affelio/SNS/Handshaker_s.pm:1.6	Tue Jun 28 16:44:19 2005
+++ affelio/lib/Affelio/SNS/Handshaker_s.pm	Tue Jun 28 20:51:34 2005
@@ -4,7 +4,7 @@
 #    http://affelio.jp/ (Japan)
 #    http://affelio.jp/ (USA and other area)
 #
-# $Id: Handshaker_s.pm,v 1.6 2005/06/28 07:44:19 slash5234 Exp $
+# $Id: Handshaker_s.pm,v 1.7 2005/06/28 11:51:34 slash5234 Exp $
 
 use strict;
 use XMLRPC::Transport::HTTP;
@@ -49,7 +49,8 @@
     use vars qw( $AF_DIR);
 
     ##################################################################
-    #Send F2List to a client
+    #server.F2List
+    # proto_ver: 1
     ##################################################################
     sub F2List {
 	my $self = shift;
@@ -79,15 +80,14 @@
 	    };
     }
 
-
     ##################################################################
-    #Receive Message
+    #server.post_Message
+    # proto_ver:1
     ##################################################################
     sub post_Message {
 	my $self = shift;
 	my $af = Affelio::SNS::Handshaker_s::Util::af_new();
 
-	#Proto_ver=1: Simple messaging among friends
 	Affelio::misc::Debug::debug_print("server.postMesg: starg.");
 
         ##################################################
@@ -203,8 +203,11 @@
 	    };
     }
 
+
     ##################################################################
-    #Accept HandShake from a client
+    #server.HandShake
+    # proto_ver:1.1
+    # Accept HandShake from a client
     ##################################################################
     sub HandShake {
 	my $self = shift;
@@ -213,21 +216,29 @@
 	#Distill args
         ##################################################
 	my ($proto_ver, $timestamp, $peer_nickname, 
-	    $peer_af_id, $peer_DH_pub_key_str) = @_;
+	    $peer_af_id, $peer_DH_pub_key_str, $mesg) = @_;
 	my $peer_domain = Affelio::misc::NetMisc::get_remote_domain(%ENV);
 	my $sessionid = "$$" . "$timestamp";
-	Affelio::misc::Debug::debug_print("server.HandShake: $proto_ver, $timestamp, $peer_domain, $peer_nickname, $peer_af_id, $peer_DH_pub_key_str\n");
+	Affelio::misc::Debug::debug_print("server.HandShake: $proto_ver, $timestamp, $peer_domain, $peer_nickname, $peer_af_id, $peer_DH_pub_key_str $mesg\n");
+	##################################################
+	#Version check
+	##################################################
+	if($proto_ver > 1.1){
+	    return {
+		flerror => XMLRPC::Data->type('boolean', 1),
+		message => "ERR: UnsupportedProtoVer 1.1"
+		};
+	}
 
         ###########################################
         # Instantiate Affelio
         ###########################################
 	my $af = Affelio::SNS::Handshaker_s::Util::af_new();
-	#$Affelio::SNS::MailAck::AF_DIR = $AF_DIR;
 
         ###########################################
         # Send a message to MessageManager
         ###########################################
-	my $message_body="You got a link request from $peer_af_id ($peer_nickname)</A>. Click following link to approve this request.\n\n$af->{site__web_root}/bin/recv_mail_ack.cgi?id=$sessionid";
+	my $message_body="You got a link request from $peer_af_id ($peer_nickname)</A>. Click following link to approve this request.\n\n$af->{site__web_root}/bin/recv_mail_ack.cgi?id=$sessionid\n$mesg";
 	$af->{mesgm}->post_message("Your Affelio",
 				   "Link Request from $peer_nickname",
 				   "SystemToUser/LinkRequest",
@@ -244,7 +255,7 @@
 				       $peer_DH_pub_key_str);
 
 	Affelio::misc::Debug::debug_print("server.HandShake: DB(W) $sessionid\n");
-	
+
         ###########################################
         # Reply to client
         ###########################################
@@ -258,7 +269,9 @@
 
 
     ##################################################################
-    #Accept HandshakeReply from a client
+    #server.HandShakeReply
+    # proto_ver:1.1
+    # Accept HandshakeReply from a client
     ##################################################################
     sub HandShakeReply {
 	my $self = shift;
@@ -267,9 +280,19 @@
 	#Distill args
         ###########################################
 	my ($proto_ver, $timestamp, $peer_nickname, 
-	    $peer_af_id, $peer_DH_pub_key_str) = @_;
-	Affelio::misc::Debug::debug_print("server.HandShakeReply: $proto_ver, $timestamp, $peer_nickname, $peer_af_id, $peer_DH_pub_key_str\n");
+	    $peer_af_id, $peer_DH_pub_key_str, $mesg) = @_;
+	Affelio::misc::Debug::debug_print("server.HandShakeReply: $proto_ver, $timestamp, $peer_nickname, $peer_af_id, $peer_DH_pub_key_str $mesg\n");
 	
+	##################################################
+	#Version check
+	##################################################
+	if($proto_ver > 1.1){
+	    return {
+		flerror => XMLRPC::Data->type('boolean', 1),
+		message => "ERR: UnsupportedProtoVer 1.1"
+		};
+	}
+
         ###########################################
         # Instantiate Affelio
         ###########################################
@@ -336,7 +359,7 @@
         ###########################################
 	# "peer's friends" = my F2 friends
 	Affelio::misc::Debug::debug_print("server.HandshakeReply: Let's download peer's flist!");
-	my $ret = Affelio::SNS::Handshaker_c::get_F2List(dest_uri =>  "$peer_af_id/bin/xml-rpc-serv.cgi",  proto_ver => 1, timestamp => 0);
+	my $ret = Affelio::SNS::Handshaker_c::get_F2List(dest_uri =>  "$peer_af_id/bin/xml-rpc-serv.cgi", timestamp => 0);
 	Affelio::misc::Debug::debug_print("server.HandshakeReply: get_F2List finished.");
 	Affelio::misc::Debug::debug_print("server.HandshakeReply: List I've got is [$ret]");
 	


Affelio-cvs メーリングリストの案内
Back to archive index