]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-tcl/tcl_config.c
Add OpenLDAP RCSid to *.[ch] in clients, libraries, and servers.
[openldap] / servers / slapd / back-tcl / tcl_config.c
index 2b083c9ef7a5dc3bc0aca81fb9a795902348a8ab..64174bca83e4aea140754dc1d4fc4b94682abead 100644 (file)
@@ -1,5 +1,5 @@
-/*
- * config.c - tcl backend configuration file routine
+/* $OpenLDAP$ */
+/* config.c - tcl backend configuration file routine
  *
  * Copyright 1999, Ben Collins <bcollins@debian.org>, All rights reserved.
  *
@@ -7,13 +7,6 @@
  * as authorized by the OpenLDAP Public License.  A copy of this
  * license is available at http://www.OpenLDAP.org/license.html or
  * in file LICENSE in the top-level directory of the distribution.
- *
- * $Id: tcl_config.c,v 1.2 1999/02/16 23:30:36 bcollins Exp $
- *
- * $Log: tcl_config.c,v $
- * Revision 1.2  1999/02/16 23:30:36  bcollins
- * fixed exit()'s to be return()'s
- *
  */
 
 #include "portable.h"
 
 struct i_info *global_i;
 
-int tcl_back_db_config (
+int
+tcl_back_db_config (
        BackendDB * bd,
-       char *fname,
+       const char *fname,
        int lineno,
        int argc,
        char **argv
@@ -37,9 +31,10 @@ int tcl_back_db_config (
        int script_loaded = 0;
 
        if (ti == NULL) {
-               fprintf (stderr, "%s: line %d: tcl backend info is null!\n", fname,
+               fprintf (stderr,
+                       "%s: line %d: tcl backend info is null!\n", fname,
                        lineno);
-               return( 1 );
+               return (1);
        }
        if (ti->ti_ii == NULL) {
                ti->ti_ii = global_i;
@@ -48,22 +43,22 @@ int tcl_back_db_config (
        /* Script to load */
        if (strcasecmp (argv[0], "scriptpath") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing script in \"scriptpath <script>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
-               ti->script_path = (char *) strdup (argv[1]);
+               ti->script_path = (char *) ch_strdup (argv[1]);
 
-       /* use local interpreter */
+               /* use local interpreter */
        } else if (strcasecmp (argv[0], "tclrealm") == 0) {
                struct i_info *ii;
 
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing script in \"tclrealm <name>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
                ti->ti_ii = NULL;
 
@@ -71,138 +66,117 @@ int tcl_back_db_config (
                /* Try to see if it already exists */
                do {
                        if (ii != NULL && !strcasecmp (ii->name, argv[1]))
-                       ti->ti_ii = ii;
+                               ti->ti_ii = ii;
                        if (ii->next != NULL)
-                       ii = ii->next;
+                               ii = ii->next;
                } while (ii->next != NULL);
 
-               if (ti->ti_ii == NULL) { /* we need to make a new one */
+               if (ti->ti_ii == NULL) {        /* we need to make a new one */
                        ii->next = (struct i_info *) ch_malloc
                                (sizeof (struct i_info));
 
                        ii->next->count = 0;
-                       ii->next->name = (char *) strdup (argv[1]);
+                       ii->next->name = (char *) ch_strdup (argv[1]);
                        ii->next->interp = NULL;
                        ii->next->next = NULL;
                        ti->ti_ii = ii->next;
                }
 
-       /* proc for binds */
+               /* proc for binds */
        } else if (strcasecmp (argv[0], "bind") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing proc in \"bind <proc>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
-               ti->ti_bind = (char *) strdup (argv[1]);
+               ti->ti_bind = (char *) ch_strdup (argv[1]);
 
-       /* proc for unbinds */
+               /* proc for unbinds */
        } else if (strcasecmp (argv[0], "unbind") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
-                       "%s: line %d: missing proc in \"unbind <proc>\" line\n",
-                       fname, lineno, 0);
-                       return( 1 );
+                       Debug (LDAP_DEBUG_CONFIG,
+                               "%s: line %d: missing proc in \"unbind <proc>\" line\n",
+                               fname, lineno, 0);
+                       return (1);
                }
-               ti->ti_unbind = (char *) strdup (argv[1]);
+               ti->ti_unbind = (char *) ch_strdup (argv[1]);
 
-       /* proc for search */
+               /* proc for search */
        } else if (strcasecmp (argv[0], "search") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing proc in \"search <proc>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
-               ti->ti_search = (char *) strdup (argv[1]);
+               ti->ti_search = (char *) ch_strdup (argv[1]);
 
-       /* proc for compares */
+               /* proc for compares */
        } else if (strcasecmp (argv[0], "compare") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing proc in \"compare <proc>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
-               ti->ti_compare = (char *) strdup (argv[1]);
+               ti->ti_compare = (char *) ch_strdup (argv[1]);
 
-       /* proc for modify */
+               /* proc for modify */
        } else if (strcasecmp (argv[0], "modify") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing proc in \"modify <proc>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
-               ti->ti_modify = (char *) strdup (argv[1]);
+               ti->ti_modify = (char *) ch_strdup (argv[1]);
 
-       /* proc for modrdn */
+               /* proc for modrdn */
        } else if (strcasecmp (argv[0], "modrdn") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing proc in \"modrdn <proc>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
-               ti->ti_modrdn = (char *) strdup (argv[1]);
+               ti->ti_modrdn = (char *) ch_strdup (argv[1]);
 
-       /* proc for add */
+               /* proc for add */
        } else if (strcasecmp (argv[0], "add") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing proc in \"add <proc>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
-               ti->ti_add = (char *) strdup (argv[1]);
+               ti->ti_add = (char *) ch_strdup (argv[1]);
 
-       /* proc for delete */
+               /* proc for delete */
        } else if (strcasecmp (argv[0], "delete") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing proc in \"delete <proc>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
-               ti->ti_delete = (char *) strdup (argv[1]);
+               ti->ti_delete = (char *) ch_strdup (argv[1]);
 
-       /* proc for abandon */
+               /* proc for abandon */
        } else if (strcasecmp (argv[0], "abandon") == 0) {
                if (argc < 2) {
-                       Debug (LDAP_DEBUG_ANY,
+                       Debug (LDAP_DEBUG_CONFIG,
                                "%s: line %d: missing proc in \"abandon <proc>\" line\n",
                                fname, lineno, 0);
-                       return( 1 );
+                       return (1);
                }
-               ti->ti_search = (char *) strdup (argv[1]);
+               ti->ti_search = (char *) ch_strdup (argv[1]);
 
        } else {
-               Debug (LDAP_DEBUG_ANY,
+               Debug (LDAP_DEBUG_CONFIG,
                        "Unknown tcl backend config: %s\n", argv[0], 0, 0);
-               return( 1 );
+               return (1);
        }
 
        return 0;
 }
-
-void readtclscript (char *script, Tcl_Interp * my_tcl)
-{
-       int code;
-       FILE *f;
-       f = fopen (script, "r");
-       if (f == NULL) {
-               Debug (LDAP_DEBUG_ANY, "Could not open scriptpath %s\n", script,
-                       0, 0);
-               return( 1 );
-       }
-       fclose (f);
-       code = Tcl_EvalFile (my_tcl, script);
-       if (code != TCL_OK) {
-               Debug (LDAP_DEBUG_ANY, "%s: %s\n", script,
-                       Tcl_GetVar (my_tcl, "errorInfo", TCL_GLOBAL_ONLY), 0);
-               Debug (LDAP_DEBUG_ANY, "%s: error at line\n", script,
-                       my_tcl->errorLine, 0);
-               return( 1 );
-       }
-}