Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/src/pub/license_key.c')
-rw-r--r--source/blender/src/pub/license_key.c444
1 files changed, 0 insertions, 444 deletions
diff --git a/source/blender/src/pub/license_key.c b/source/blender/src/pub/license_key.c
deleted file mode 100644
index 3b825f35743..00000000000
--- a/source/blender/src/pub/license_key.c
+++ /dev/null
@@ -1,444 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#include "license_key.h"
-#include "keyed_functions.h"
-#include "BKE_utildefines.h"
-#include "BIF_screen.h" // splash
-#include "BIF_toolbox.h"
-#include "blenkey.h"
-#include <stdio.h>
-#include <string.h>
-
-#include "BLI_blenlib.h"
-
-#include "BLO_readfile.h"
-#include "BLO_keyStore.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-int LICENSE_KEY_VALID = TRUE;
-int I_AM_PUBLISHER = TRUE;
-
-static UserStruct User;
-
-// Python stuff
-
-#include "Python.h"
-#include "marshal.h"
-#include "compile.h" /* to give us PyCodeObject */
-#include "eval.h" /* prototype for PyEval_EvalCode */
-
-#include "BPY_extern.h"
-
-#include "IMB_imbuf.h"
-
-Fptr g_functab[PYKEY_TABLEN];
-Fptr g_ptrtab[PYKEY_TABLEN];
-
-static int g_seed[3] = PYKEY_SEED;
-static PyObject *g_module_self;
-static PyObject *g_main;
-
-
-// end Python stuff
-
-// **************** PYTHON STUFF **************************
-/* ----------------------------------------------------- */
-/* this is the dummy functions to demonstrate */
-
-int sticky_shoes(void *vp)
-{
- return 0;
-}
-
-/*
-int key_func1(void *vp) {
- printf("function 1 called\n");
-}
-
-*/
-int key_return_true(void *vp) {
- return 1;
-}
-
-
-/* ----------------------------------------------------- */
-
-/* Declarations for objects of type Fplist */
-
-
-static char prot_getseed__doc__[] = "";
-
-static PyObject *
-prot_getseed(self, args)
- PyObject *self; /* Not used */
- PyObject *args;
-{
- PyObject *p;
- p = PyTuple_New(3);
- PyTuple_SetItem(p, 0, PyInt_FromLong(g_seed[0]));
- PyTuple_SetItem(p, 1, PyInt_FromLong(g_seed[1]));
- PyTuple_SetItem(p, 2, PyInt_FromLong(g_seed[2]));
- return p;
-}
-
-static char prot_getlen__doc__[] = "";
-static PyObject *
-prot_getlen(self, args)
- PyObject *self; /* Not used */
- PyObject *args;
-{
- return Py_BuildValue("i", PYKEY_TABLEN);
-}
-
-static char prot_getptr__doc__[] =
-""
-;
-
-static PyObject *
-prot_getptr(self, args)
- PyObject *self; /* Not used */
- PyObject *args;
-{
- PyObject *p;
- Fptr f;
- int index;
- /* we don't catch errors here, we're in the key code */
- if (!g_functab)
- return NULL;
- if (!PyArg_ParseTuple(args, "i", &index))
- return NULL;
- if (index >= PYKEY_TABLEN)
- return NULL;
-
- f = g_functab[index];
- p = PyCObject_FromVoidPtr(f , NULL);
- return p;
-}
-
-static char prot_setptr__doc__[] =
-""
-;
-static PyObject *
-prot_setptr(self, args)
- PyObject *self; /* Not used */
- PyObject *args;
-{
- PyObject *p;
-
- int index;
-
- if (!g_ptrtab)
- return NULL;
- if (!PyArg_ParseTuple(args, "iO", &index, &p))
- return NULL;
- if (index >= PYKEY_TABLEN)
- return NULL;
- if (!PyCObject_Check(p)) {
- return NULL;
- }
-
- g_ptrtab[index] = PyCObject_AsVoidPtr(p);
- return Py_BuildValue("i", 1);
-}
-
-static PyObject *callkeycode(
- unsigned char *keycode,
- int keycodelen)
-{
- PyCodeObject *code;
- PyObject *maindict = PyModule_GetDict(g_main);
-
- code = (PyCodeObject *) PyMarshal_ReadObjectFromString(keycode, keycodelen);
- if (!PyEval_EvalCode(code, maindict, maindict))
- return NULL;
- return Py_BuildValue("i", 1);
-}
-
-
-
-/* List of methods defined in the module */
-
-static struct PyMethodDef prot_methods[] = {
- {"getlen", (PyCFunction)prot_getlen, METH_VARARGS, prot_getlen__doc__},
- {"getseed", (PyCFunction)prot_getseed, METH_VARARGS, prot_getseed__doc__},
- {"getptr", (PyCFunction)prot_getptr, METH_VARARGS, prot_getptr__doc__},
- {"setptr", (PyCFunction)prot_setptr, METH_VARARGS, prot_setptr__doc__},
-
- {NULL, (PyCFunction)NULL, 0, NULL} /* sentinel */
-};
-
-
-/* Initialization function for the module (*must* be called initprot) */
-
-static char prot_module_documentation[] = "No Documentation";
-
-static void init_ftable(void) // initializes functiontable
-{
- int i;
-
- g_functab[0] = &key_func1;
-/* add more key_funcs here */
-
- for (i = 1; i < PYKEY_TABLEN; i++)
- {
- g_functab[i] = &sticky_shoes;
- }
-}
-
-
-static void init_ptable(void) // initializes functiontable
-{
- int i;
-
- for (i = 0; i < PYKEY_TABLEN; i++)
- {
- g_ptrtab[i] = &sticky_shoes;
- }
-}
-
-
-static void insertname(PyObject *m,PyObject *p, char *name)
-{
- PyObject *d = PyModule_GetDict(m);
-
- EXPP_dict_set_item_str(d, name, p);
-}
-
-/* initialisation */
-static void initprot()
-{
- PyObject *m, *d;
- PyObject *capi1;
- init_ftable();
-
- g_main = PyImport_AddModule("__main__");
-
- m = Py_InitModule4("prot", prot_methods,
- prot_module_documentation,
- (PyObject*)NULL,PYTHON_API_VERSION);
- g_module_self = m;
- d = PyModule_GetDict(m);
- EXPP_dict_set_item_str(d, "error", PyString_FromString("prot.error");
-
- /* add global object */
-
- capi1 = PyCObject_FromVoidPtr((void *)g_functab , NULL);
- if (capi1) {
- insertname(m, capi1, "APIfunctab");
- }
-
- /* Check for errors */
- if (PyErr_Occurred())
- Py_FatalError("can't initialize module prot");
-
- init_ptable();
-}
-
-// ******************************* KEY STUFF *********************
-
-static void create_key_name(char * keyname)
-{
- sprintf(keyname, "%s/.BPkey", BLI_gethome());
-}
-
-void checkhome()
-{
- int keyresult;
- char *HexPriv, *HexPub, *HexPython;
- byte *Byte;
- char keyname[FILE_MAXDIR + FILE_MAXFILE];
- int wasInitialized;
- unsigned char *keycode = NULL;
- int keycodelen = 0;
-
- create_key_name(keyname);
- keyresult = ReadKeyFile(keyname, &User, &HexPriv, &HexPub,
- &Byte, &HexPython);
- if (keyresult != 0) {
- // printf("\nReadKeyFile error %d\n", keyresult);
- } else {
- // printf("\nReadKeyFile OK\n");
- LICENSE_KEY_VALID = TRUE;
-
- wasInitialized = Py_IsInitialized();
-
- // make it failsafe if python interpreter was already initialized
- if (wasInitialized)
- Py_Initialize();
-
- initprot(); // initialize module and function tables
- // get python byte code
- keycode = DeHexify(HexPython);
- keycodelen = strlen(HexPython) / 2;
-
- callkeycode(keycode, keycodelen);
-
- Py_Finalize();
-
- if (wasInitialized) // if we were initialized,
- BPY_start_python(); // restart creator python
-
- //some debugging stuff
- // print_ptable();
-
- // Store key stuff for use by stream
- keyStoreConstructor(
- &User,
- HexPriv,
- HexPub,
- Byte,
- HexPython);
-
- // other initialization code
-
- }
-}
-
-void SHOW_LICENSE_KEY(void)
-{
- extern int datatoc_tonize;
- extern char datatoc_ton[];
- char string[1024];
- int maxtype, type;
- char *typestrings[] = {
- "",
- "Individual",
- "Company",
- "Unlimited",
- "Educational"};
-
- maxtype = (sizeof(typestrings) / sizeof(char *)) - 1;
- type = User.keytype;
- if (type > maxtype) {
- type = 0;
- }
-
- if (LICENSE_KEY_VALID) {
- sprintf(string, "%s License registered to: %s (%s)", typestrings[type], User.name, User.email);
- splash((void *)datatoc_ton, datatoc_tonize, string);
- }
-}
-
-void loadKeyboard(char * name)
-{
- char keyname[FILE_MAXDIR + FILE_MAXFILE];
- FILE *in, *out;
- char string[1024], *match = 0;
- int i, c;
- int found = 0;
-
- // make sure we don't overwrite a valid key...
-
- if (!LICENSE_KEY_VALID) {
- in = fopen(name, "rb");
- if (in) {
- // scan for blender key magic, read strings
- // with anything but a newline
- while (fscanf(in, "%1000[^\n\r]", string) != EOF) {
- match = strstr(string, BLENKEYMAGIC);
- if (match) {
- break;
- }
- fscanf(in, "\n");
- }
-
- if (match) {
- // found blender key magic, open output file
- // to copy key information
-
- create_key_name(keyname);
- out = fopen(keyname, "wb");
- if (out) {
- // printout first line
- fprintf(out, "%s", match);
- for (i = 0; i < 350; i++) {
- // handle control characters (\n\r)
- while (1) {
- c = getc(in);
- if (c == '\n') {
- // output a \n for each \n in the input
- fprintf(out, "\n");
- } else if (c == EOF) {
- break;
- } else if (c < ' ') {
- // skip control characters
- } else {
- ungetc(c, in);
- break;
- }
- }
-
- if (fscanf(in, "%1000[^\n\r]", string) != EOF) {
- if (strcmp(string, BLENKEYSEPERATOR) == 0) {
- found++;
- }
- fprintf(out, "%s", string);
- } else {
- break;
- }
-
- if (found >= 2) {
- break;
- }
- }
-
- fclose(out);
-
- checkhome();
- if (LICENSE_KEY_VALID) {
- SHOW_LICENSE_KEY();
- } else {
- error("Not a valid license key ! Removing installed key.");
- BLI_delete(keyname, 0, 0);
- }
-
- } else {
- error("Can't install key");
- }
- } else {
- error("File doesn't contain a valid key: %s", name);
- }
-
- fclose(in);
-
- if (LICENSE_KEY_VALID) {
- if (okee("Remove input file: '%s'?", name)) {
- BLI_delete(name, 0, 0);
- }
- }
-
- } else {
- error("File doesn't exist: %s", name);
- }
- }
-}