[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16663] trunk/blender/source: KX_PythonInit.cpp - workaround for current sandbox and possible fix.

Campbell Barton ideasman42 at gmail.com
Mon Sep 22 06:18:18 CEST 2008


Revision: 16663
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16663
Author:   campbellbarton
Date:     2008-09-22 06:18:17 +0200 (Mon, 22 Sep 2008)

Log Message:
-----------
KX_PythonInit.cpp - workaround for current sandbox and possible fix. no real change for now but others may want to look into it.
blendef.h - removed some unused defines.
editipo_mods.c - deselect all was selecting instead.

Modified Paths:
--------------
    trunk/blender/source/blender/include/blendef.h
    trunk/blender/source/blender/include/butspace.h
    trunk/blender/source/blender/src/editipo_mods.c
    trunk/blender/source/blender/src/header_buttonswin.c
    trunk/blender/source/blender/src/header_view3d.c
    trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp

Modified: trunk/blender/source/blender/include/blendef.h
===================================================================
--- trunk/blender/source/blender/include/blendef.h	2008-09-22 01:51:24 UTC (rev 16662)
+++ trunk/blender/source/blender/include/blendef.h	2008-09-22 04:18:17 UTC (rev 16663)
@@ -42,8 +42,6 @@
 #define MAXSEQ          32
 
 /* in buttons.c */
-#define MAX_EFFECT      20
-
 #ifndef MAXFLOAT
 #define MAXFLOAT  ((float)3.40282347e+38)
 #endif
@@ -67,8 +65,6 @@
 #define RET_OK 0
 #define RET_ERROR 1
 #define RET_CANCEL 2
-#define RET_YES (1 == 1)
-#define RET_NO (1 == 0)
 
 #if defined(__sgi) || defined(__sparc) || defined(__sparc__) || defined (__PPC__) || defined (__ppc__) || defined (__hppa__) || defined (__BIG_ENDIAN__)
 /* big endian */
@@ -90,7 +86,6 @@
 #define VERSE			3
 /*#endif*/
 #define DESELECT		0
-#define NOT_YET			0
 #define VISIBLE			0
 #define LAST			0
 
@@ -132,10 +127,6 @@
 #define BEZ_DESEL(bezt)		{ (bezt)->f1 &= ~SELECT; (bezt)->f2 &= ~SELECT; (bezt)->f3 &= ~SELECT; }
 #define BEZ_INVSEL(bezt)	{ (bezt)->f1 ^=  SELECT; (bezt)->f2 ^=  SELECT; (bezt)->f3 ^=  SELECT; }
 
-/* psfont */
-#define FNT_PDRAW 1
-#define FNT_HAEBERLI 2
-
 /* getbutton */
 
 /* do_global_buttons(event) */
@@ -176,7 +167,6 @@
 /* EVENT < 50: alones en locals */
 
 #define B_KEEPDATA		60
-#define B_CONSOLETOG		61
 #define B_DRAWINFO		62
 #define B_REDRCURW3D		63
 #define B_FLIPINFOMENU		64
@@ -224,12 +214,10 @@
 /* watch: codes 102-132 in in use for layers */
 #define B_AUTOKEY		139
 #define B_SCENELOCK		140
-#define B_LOCALVIEW		141
 #define B_U_CAPSLOCK		142
 
 #define B_VIEWBUT		146
 #define B_PERSP			147
-#define B_PROPTOOL		148
 #define B_VIEWRENDER		149
 #define B_STARTGAME		150
 
@@ -270,9 +258,8 @@
 
 /* OOPS: 250 */
 #define B_OOPSHOME		251
-#define B_OOPSBORDER		252
-#define B_NEWOOPS		253
-#define B_OOPSVIEWSEL		254
+#define B_NEWOOPS		252
+#define B_OOPSVIEWSEL		253
 
 /* INFO: 300 */
 /* watch: also in filesel.c and editobject.c */
@@ -280,8 +267,6 @@
 #define B_INFODELSCR		302
 #define B_INFOSCE		304
 #define B_INFODELSCE		305
-#define B_FILEMENU		306
-#define B_PACKFILE		307
 
 #define B_CONSOLEOUT		308
 #define B_CONSOLENUMLINES	309
@@ -295,11 +280,7 @@
 #define B_RESTOREFONT		317
 #define B_USETEXTUREFONT	318
 
-#define B_UITHEMECHANGED	320
-#define B_UITHEMECOLORMOD	321
 #define B_UITHEMERESET		322
-#define B_UITHEMEIMPORT		323
-#define B_UITHEMEEXPORT		324
 
 #define B_MEMCACHELIMIT		325
 #define B_WPAINT_RANGE		326
@@ -324,15 +305,9 @@
 #define B_SIMAGELOAD		353
 #define B_SIMA_REDR_IMA_3D	354
 #define B_SIMAGETILE		355
-#define B_BE_SQUARE			356
 #define B_TWINANIM			357
-#define B_SIMAGEREPLACE		358
-#define B_CLIP_UV			359
-#define B_SIMAGELOAD1		360
-#define B_SIMAGEREPLACE1	361
 #define B_SIMAGEPAINTTOOL	362
 #define B_SIMAPACKIMA		363
-#define B_SIMAGESAVE		364
 #define B_SIMACLONEBROWSE	365
 #define B_SIMACLONEDELETE	366
 #define B_SIMANOTHING		368
@@ -364,8 +339,7 @@
 #define B_BUTSPREVIEW		402
 #define B_MATCOPY			403
 #define B_MATPASTE			404
-#define B_MESHTYPE			405
-#define B_CONTEXT_SWITCH	406
+#define B_CONTEXT_SWITCH	405
 
 /* IMASEL: 450 */
 /* in imasel.h - not any more - elubie */
@@ -375,8 +349,6 @@
 
 /* TEXT: 500 */
 #define B_TEXTBROWSE		501
-#define B_TEXTALONE		502
-#define B_TEXTLOCAL		503
 #define B_TEXTDELETE		504
 #define B_TEXTFONT		505
 #define B_TEXTSTORE		506
@@ -400,14 +372,12 @@
 #define B_RELOADDIR		552
 
 /* SEQUENCE: 600 */
-#define B_SEQHOME		601
-#define B_SEQCLEAR		602
+#define B_SEQCLEAR		601
 
 /* SOUND: 650 */
 #define B_SOUNDBROWSE		651
 #define B_SOUNDBROWSE2  	652
 #define B_SOUNDHOME		653
-#define B_PACKSOUND		654
 
 /* ACTION: 701 - 750 */
 #define B_ACTHOME		701
@@ -441,9 +411,8 @@
 #define B_NLAHOME		801
 
 /* NODE: 851-900 */
-#define B_NODEHOME		851
-#define B_NODE_USEMAT		852
-#define B_NODE_USESCENE		853
+#define B_NODE_USEMAT		851
+#define B_NODE_USESCENE		852
 
 /* FREE 901 - 999 */
 

Modified: trunk/blender/source/blender/include/butspace.h
===================================================================
--- trunk/blender/source/blender/include/butspace.h	2008-09-22 01:51:24 UTC (rev 16662)
+++ trunk/blender/source/blender/include/butspace.h	2008-09-22 04:18:17 UTC (rev 16663)
@@ -281,9 +281,6 @@
 #define B_SOFTBODY_BAKE			1422
 #define B_SOFTBODY_BAKE_FREE	1423
 
-/* this has MAX_EFFECT settings! Next free define is 1450... */
-#define B_SELEFFECT	1430
-
 /* Fluidsim button defines */
 #define B_FLUIDSIM_BAKE	        1450
 #define B_FLUIDSIM_SELDIR	      1451

Modified: trunk/blender/source/blender/src/editipo_mods.c
===================================================================
--- trunk/blender/source/blender/src/editipo_mods.c	2008-09-22 01:51:24 UTC (rev 16662)
+++ trunk/blender/source/blender/src/editipo_mods.c	2008-09-22 04:18:17 UTC (rev 16663)
@@ -228,7 +228,7 @@
 					bezt= ei->icu->bezt;
 					b= ei->icu->totvert;
 					while(b--) {
-						BEZ_SEL(bezt);
+						BEZ_DESEL(bezt);
 						bezt++;
 					}
 				}

Modified: trunk/blender/source/blender/src/header_buttonswin.c
===================================================================
--- trunk/blender/source/blender/src/header_buttonswin.c	2008-09-22 01:51:24 UTC (rev 16662)
+++ trunk/blender/source/blender/src/header_buttonswin.c	2008-09-22 04:18:17 UTC (rev 16663)
@@ -211,10 +211,6 @@
 			scrarea_queue_winredraw(curarea);
 		}
 		break;
-	case B_MESHTYPE:
-		allqueue(REDRAWBUTSEDIT, 0);
-		allqueue(REDRAWVIEW3D, 0);
-		break;
 	}
 }
 

Modified: trunk/blender/source/blender/src/header_view3d.c
===================================================================
--- trunk/blender/source/blender/src/header_view3d.c	2008-09-22 01:51:24 UTC (rev 16662)
+++ trunk/blender/source/blender/src/header_view3d.c	2008-09-22 04:18:17 UTC (rev 16663)
@@ -5221,16 +5221,6 @@
 		}
 		break;
 		
-	case B_LOCALVIEW:
-		if(G.vd->localview) initlocalview();
-		else {
-			endlocalview(curarea);
-			/* new layers might need unflushed events events */
-			DAG_scene_update_flags(G.scene, G.vd->lay);	/* tags all that moves and flushes*/
-		}
-		scrarea_queue_headredraw(curarea);
-		break;
-		
 	case B_VIEWBUT:
 	
 		if(G.vd->viewbut==1) persptoetsen(PAD7);
@@ -5248,9 +5238,6 @@
 		}
 		
 		break;
-	case B_PROPTOOL:
-		allqueue(REDRAWHEADERS, 0);
-		break;
 	case B_VIEWRENDER:
 		if (curarea->spacetype==SPACE_VIEW3D) {
 			BIF_do_ogl_render(curarea->spacedata.first, G.qual!=0 );

Modified: trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp	2008-09-22 01:51:24 UTC (rev 16662)
+++ trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp	2008-09-22 04:18:17 UTC (rev 16663)
@@ -1047,7 +1047,22 @@
 
 }
 
+/* override python file type functions */
+#if 0
+static int
+file_init(PyObject *self, PyObject *args, PyObject *kwds)
+{
+	KXpy_file(NULL, NULL);
+	return -1;
+}
 
+static PyObject *
+file_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
+{
+	return KXpy_file(NULL, NULL);
+}
+#endif
+
 static PyMethodDef meth_open[] = {{ "open", KXpy_open, METH_VARARGS, "(disabled)"}};
 static PyMethodDef meth_reload[] = {{ "reload", KXpy_reload, METH_VARARGS, "(disabled)"}};
 static PyMethodDef meth_file[] = {{ "file", KXpy_file, METH_VARARGS, "(disabled)"}};
@@ -1060,7 +1075,6 @@
 //static PyObject *g_oldimport = 0;
 //static int g_security = 0;
 
-
 void setSandbox(TPythonSecurityLevel level)
 {
     PyObject *m = PyImport_AddModule("__builtin__");
@@ -1081,6 +1095,19 @@
 			// our own import
 			PyDict_SetItemString(d, "__import__", PyCFunction_New(meth_import, NULL));
 			//g_security = level;
+			
+			// Overiding file dosnt stop it being accessed if your sneaky
+			//    f =  [ t for t in (1).__class__.__mro__[-1].__subclasses__() if t.__name__ == 'file'][0]('/some_file.txt', 'w')
+			//    f.write('...')
+			// so overwrite the file types functions. be very careful here still, since python uses python.
+			// ps - python devs frown deeply upon this.
+	
+			/* this could mess up pythons internals, if we are serious about sandboxing
+			 * issues like the one above need to be solved, possibly modify __subclasses__ is safer? */
+#if 0
+			PyFile_Type.tp_init = file_init;
+			PyFile_Type.tp_new = file_new;
+#endif
 		//}
 		break;
 	/*





More information about the Bf-blender-cvs mailing list