rpms/ochusha/devel ochusha-0.5.99.66-cvs070110-suka-pontan.patch, NONE, 1.1 ochusha.spec, 1.51, 1.52

Mamoru Tasaka mtasaka at fedoraproject.org
Sat Sep 20 17:45:37 UTC 2008


Author: mtasaka

Update of /cvs/extras/rpms/ochusha/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2796/devel

Modified Files:
	ochusha.spec 
Added Files:
	ochusha-0.5.99.66-cvs070110-suka-pontan.patch 
Log Message:
add suka pontan patch

ochusha-0.5.99.66-cvs070110-suka-pontan.patch:

--- NEW FILE ochusha-0.5.99.66-cvs070110-suka-pontan.patch ---
--- ochusha-0.5.99.66-cvs070110/libochusha/bbs_2ch_utils.cc.sukapontan	2007-01-04 15:30:19.000000000 +0900
+++ ochusha-0.5.99.66-cvs070110/libochusha/bbs_2ch_utils.cc	2008-09-21 02:31:03.000000000 +0900
@@ -807,7 +807,9 @@
     mailto(NULL),
     message(NULL),
     be_id(NULL),
-    viewer_id(NULL)
+    viewer_id(NULL),
+    cookie_type_hana(NULL),
+    cookie_value_mogera(NULL)
 {
   const char *date = thread->get_date();
   if (date != NULL)
@@ -964,6 +966,18 @@
 	      LIB_("Post terminated.  It isn't clear whether posting accepted or not."));
 }
 
+void
+PostResponseAgent2ch::set_cookie_typevalue(const char *type, const char *value)
+{
+	if (type && *type && value && *value){
+		free(cookie_type_hana);
+		free(cookie_value_mogera);
+		cookie_type_hana = strdup(type);
+		cookie_value_mogera = strdup(value);
+	}
+}
+
+#define COOKIE_STR_LEN 1024
 
 void
 PostResponseAgent2ch::do_post(const char *kakikomu)
@@ -1011,6 +1025,15 @@
     {
       query_len *= 2;
       char *tmp_buf = static_cast<char *>(realloc(query, query_len));
+      static char cookie_str[COOKIE_STR_LEN] = "";
+
+      if (cookie_type_hana && *cookie_type_hana &&
+		cookie_value_mogera && *cookie_value_mogera ){
+		snprintf(cookie_str, COOKIE_STR_LEN - 1, "&%s=%s",
+			cookie_type_hana, cookie_value_mogera);
+	}
+
+
       if (tmp_buf == NULL)
 	{
 	  post_failed(this, LIB_("Out of Memory"));
@@ -1022,14 +1045,18 @@
       if (viewer_id != NULL)
 	result = snprintf(query, query_len,
 			  "submit=%s&FROM=%s&mail=%s&MESSAGE=%s&bbs=%s&key=%s"
+                          "%s"
 			  "&sid=%s&time=%lu&hana=mogera",
 			  kakikomu, name, mailto, message, bbs, key,
+                          cookie_str,
 			  viewer_id, utc_time);
       else
 	result = snprintf(query, query_len,
 			  "submit=%s&FROM=%s&mail=%s&MESSAGE=%s&bbs=%s&key=%s"
+                          "%s"
 			  "&time=%lu&hana=mogera",
 			  kakikomu, name, mailto, message, bbs, key,
+                          cookie_str,
 			  utc_time);
     }
   while (result >= query_len);
--- ochusha-0.5.99.66-cvs070110/libochusha/bbs_2ch_utils.h.sukapontan	2007-01-01 12:17:25.000000000 +0900
+++ ochusha-0.5.99.66-cvs070110/libochusha/bbs_2ch_utils.h	2008-09-21 00:56:18.000000000 +0900
@@ -146,6 +146,9 @@
     char *be_id;
     char *viewer_id;
 
+    // 2ch cookie¾ðÊó(hana=mogeraÅù¡Ë
+    char *cookie_type_hana;
+    char *cookie_value_mogera;
  
     void do_post(const char *kakikomu);
 
@@ -167,6 +170,10 @@
 
     virtual void set_2ch_be_session_id(const char *id);
     virtual void set_2ch_viewer_session_id(const char *id);
+
+    // 2ch¤Îcookie¾ðÊó(hana=mogeraÅù)¤ò¼èÆÀ
+    virtual void set_cookie_typevalue(const char *type, const char *value);
+
   };
 
 
--- ochusha-0.5.99.66-cvs070110/libochusha/bbs_jbbs_utils.h.sukapontan	2007-01-01 12:17:25.000000000 +0900
+++ ochusha-0.5.99.66-cvs070110/libochusha/bbs_jbbs_utils.h	2008-09-21 01:28:47.000000000 +0900
@@ -126,6 +126,8 @@
     virtual void try_post(const char *name, const char *mailto,
 			  const char *message);
     virtual void retry_post(const char *submit, time_t utc_time);
+    // jbbs¤Ç¤Ï»È¤ï¤Ê¤¤
+    virtual void set_cookie_typevalue(const char *type, const char *value) {};
   };
 
 
--- ochusha-0.5.99.66-cvs070110/libochusha/bbs_thread.h.sukapontan	2007-01-01 12:17:25.000000000 +0900
+++ ochusha-0.5.99.66-cvs070110/libochusha/bbs_thread.h	2008-09-21 01:19:19.000000000 +0900
@@ -532,6 +532,9 @@
     // Á°²ó¤ÎÅê¹ÆÆâÍƤǺƤӽñ¤­¹þ¤ß¤ò»î¤ß¤ë¡£
     virtual void retry_post(const char *submit, time_t utc_time) = 0;
 
+    // 2ch¤Îcookie¾ðÊó(hana=mogeraÅù)¤òÀßÄê
+    virtual void set_cookie_typevalue(const char *type, const char *value) = 0;
+
     // £²¤Á¤ã¤ó¤Í¤ëÀìÍѤʤΤǾ¤Ç¤Ï´°Á´¤Ë̵»ë
     virtual void set_2ch_be_session_id(const char *id);
     virtual void set_2ch_viewer_session_id(const char *id);
--- ochusha-0.5.99.66-cvs070110/ochusha/post_ui.cc.sukapontan	2007-01-10 19:14:37.000000000 +0900
+++ ochusha-0.5.99.66-cvs070110/ochusha/post_ui.cc	2008-09-21 02:33:04.000000000 +0900
@@ -37,6 +37,7 @@
 
 #include "libochusha/misc_utils.h"
 #include "libochusha/repository.h"
+#include "libochusha/bbs_2ch_utils.h"
 
 #include "controller.h"
 #include "html_renderer.h"
@@ -293,7 +294,9 @@
     thread(thread),
     result_window(NULL),
     result_window_destroy_id(0),
-    ensure_sage_on_idle_id(0)
+    ensure_sage_on_idle_id(0),
+    cookie_type(NULL),
+    cookie_value(NULL)
 {
   g_signal_connect(post_action, "activate",
 		   reinterpret_cast<GCallback>(post_activate_cb), this);
@@ -756,12 +759,44 @@
     fprintf(stderr, "Post failed by: %s\n", reason);
 }
 
+void
+ResponseEditor::find_cookie_typevalue( const char *response )
+{
+	char *str_cmp, *str;
+
+	str_cmp = "<input type=hidden name=\"";
+	str = strstr(response, str_cmp);
+	if (str){
+		char *str2 = strstr(str, "\"");
+		char *str3 = NULL;
+		str2++;
+		if ((!cookie_type) || (!(strstr(str2, cookie_type)))){
+			free(cookie_type);
+			free(cookie_value);
+
+			cookie_type = strdup(str2);
+			str3 = strstr(cookie_type, "\"");
+			*str3 = 0;
+
+			str = str2;
+			str2 = strstr(str, "value=\"");
+			str = str2;
+			str2 = strstr(str, "\"");
+			str2++;
+			cookie_value = strdup(str2);
+			str3 = strstr(cookie_value, "\"");
+			*str3 = 0;
+		}
+	}
+}
 
 void
 ResponseEditor::check_cookie_cb(PostResponseAgent *agent, const char *message)
 {
   if (message != NULL && strcasestr(message, "<html>") != NULL)
     {
+      find_cookie_typevalue(message);
+      agent->set_cookie_typevalue(cookie_type, cookie_value);
       gdk_threads_enter();
 
       if (result_window != NULL)
--- ochusha-0.5.99.66-cvs070110/ochusha/post_ui.h.sukapontan	2007-01-01 12:18:25.000000000 +0900
+++ ochusha-0.5.99.66-cvs070110/ochusha/post_ui.h	2008-09-21 01:42:06.000000000 +0900
@@ -101,10 +101,14 @@
     void post_failed_cb(PostResponseAgent *agent, const char *reason);
     void check_cookie_cb(PostResponseAgent *agent, const char *message);
 
+    // cookie¤ÎÃÍ(hana=mogeraÅù¡Ë¤òparse
+    void find_cookie_typevalue( const char *response );
 
   protected:
     virtual void notify_post_finished();
 
+    char *cookie_type;
+    char *cookie_value;
 
   public:
     ResponseEditor(Controller &controller, BBSThread *thread = NULL);


Index: ochusha.spec
===================================================================
RCS file: /cvs/extras/rpms/ochusha/devel/ochusha.spec,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- ochusha.spec	28 Jul 2008 10:21:23 -0000	1.51
+++ ochusha.spec	20 Sep 2008 17:45:07 -0000	1.52
@@ -4,7 +4,7 @@
 %define              main_ver        0.5.99.66
 %define              strtag          cvs070110
 
-%define              vendor_rel      5
+%define              vendor_rel      6
 %define              pre_release     1
 
 %if %{pre_release}
@@ -25,12 +25,13 @@
 %endif
 Patch0:              ochusha-0.5.99.66-cvs070110-disable-lock-check.patch
 Patch1:              ochusha-0.5.99.66-cvs070110-g++43-missing-headers.patch
+Patch2:              ochusha-0.5.99.66-cvs070110-suka-pontan.patch
 License:             BSD
 Group:               Applications/Internet
 BuildRoot:           %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n)
 
 %if 0%{?fedora} >= 10
-Requires:            VLGothic-fonts
+Requires:            mona-fonts-VLGothic
 %else
 Requires:            fonts-japanese
 %endif
@@ -61,6 +62,7 @@
 %endif
 %patch0 -p1 -b .lock
 %patch1 -p1 -b .gcc43
+%patch2 -p1 -b .sukapontan
 
 # change desktop entry to use png file at %%{icondir}.
 %{__sed} -i -e 's|Icon.*$|Icon=ochusha48.png|' ochusha/ochusha.desktop.in
@@ -166,6 +168,9 @@
 %{_datadir}/icons/hicolor/48x48/apps/*.png
 
 %changelog
+* Sun Sep 21 2008 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - ochusha-0.5.99.66-0.6.cvs070110
+- Patch to deal with occational cookie change
+
 * Mon Jul 28 2008 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - ochusha-0.5.99.66-0.5.cvs070110
 - Change Japanese fonts Requires (F-10+)
 




More information about the fedora-extras-commits mailing list