diff options
author | Repo Admin <[email protected]> | 2002-10-19 07:55:27 +0000 |
---|---|---|
committer | Repo Admin <[email protected]> | 2002-10-19 07:55:27 +0000 |
commit | 82a17c9fb3d64ccdd474c3bedf564368f77e84a4 (patch) | |
tree | 0c01ee8cea5f6f77e830955c6b97024752740a2b /cipher/dynload.c | |
parent | Bumped version number for cvs version (diff) | |
download | gnupg-82a17c9fb3d64ccdd474c3bedf564368f77e84a4.tar.gz gnupg-82a17c9fb3d64ccdd474c3bedf564368f77e84a4.zip |
This commit was manufactured by cvs2svn to create branch
'GNUPG-1-9-BRANCH'.
Diffstat (limited to '')
-rw-r--r-- | cipher/dynload.c | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/cipher/dynload.c b/cipher/dynload.c deleted file mode 100644 index 38c6a0c35..000000000 --- a/cipher/dynload.c +++ /dev/null @@ -1,103 +0,0 @@ -/* dynload.c - load cipher extensions - * Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation, Inc. - * - * This file is part of GnuPG. - * - * GnuPG 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. - * - * GnuPG 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 - */ - -#include <config.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include "util.h" -#include "cipher.h" -#include "algorithms.h" - - -typedef struct ext_list { - struct ext_list *next; - char name[1]; -} *EXTLIST; - -static EXTLIST extensions; - -/* This is actually not used anymore but we keep a list of already - * set extensions modules here. - * - * Here is the ancient comment: - * Register an extension module. The last registered module will - * be loaded first. A name may have a list of classes - * appended; e.g: - * mymodule.so(1:17,3:20,3:109) - * means that this module provides digest algorithm 17 and public key - * algorithms 20 and 109. This is only a hint but if it is there the - * loader may decide to only load a module which claims to have a - * requested algorithm. - * - * mainpgm is the path to the program which wants to load a module - * it is only used in some environments. - */ -void -register_cipher_extension( const char *mainpgm, const char *fname ) -{ - EXTLIST r, el, intex; - char *p, *pe; - - if( *fname != DIRSEP_C ) { /* do tilde expansion etc */ - char *tmp; - - if( strchr(fname, DIRSEP_C) ) - tmp = make_filename(fname, NULL); - else - tmp = make_filename(GNUPG_LIBDIR, fname, NULL); - el = m_alloc_clear( sizeof *el + strlen(tmp) ); - strcpy(el->name, tmp ); - m_free(tmp); - } - else { - el = m_alloc_clear( sizeof *el + strlen(fname) ); - strcpy(el->name, fname ); - } - /* check whether we have a class hint */ - if( (p=strchr(el->name,'(')) && (pe=strchr(p+1,')')) && !pe[1] ) - *p = *pe = 0; - - /* check that it is not already registered */ - intex = NULL; - for(r = extensions; r; r = r->next ) { - if( !compare_filenames(r->name, el->name) ) { - log_info("extension `%s' already registered\n", el->name ); - m_free(el); - return; - } - } - /* and register */ - el->next = extensions; - extensions = el; -} - -/* Return the module name with index SEQ, return NULL as as indication - for end of list. */ -const char * -dynload_enum_module_names (int seq) -{ - EXTLIST el = extensions; - - for (; el && el->name && seq; el = el->next, seq--) - ; - return el? el->name:NULL; -} |