moved imap and ldap

This commit is contained in:
Stig Bakken 1999-04-22 00:45:14 +00:00
parent ff37732997
commit 2a78f92804
19 changed files with 4548 additions and 99 deletions

View File

@ -68,17 +68,15 @@ OBJS = main.o internal_functions.o snprintf.o php3_sprintf.o \
safe_mode.o fopen-wrappers.o php3_realpath.o alloca.o output.o \
php_ini.o
FUNCTIONS_SOURCE = functions/fhttpd.c \
functions/imap.c functions/mime.c \
FUNCTIONS_SOURCE = functions/fhttpd.c functions/mime.c \
functions/pgsql.c functions/post.c functions/sybase.c \
functions/sybase-ct.c functions/xml.c \
functions/ldap.c functions/zlib.c \
functions/sybase-ct.c functions/xml.c functions/zlib.c \
functions/pdf.c functions/snmp.c functions/interbase.c \
functions/sysvsem.c functions/sysvshm.c
FUNCTIONS = $(FUNCTIONS_SOURCE:.c=.o)
PHPLIBS = -L@top_srcdir@/libzend -lzend -L@top_srcdir@/ext -lphpext
LIBS = $(PHPLIBS) $(EXTRA_LIBS) @SYBASE_CT_LFLAGS@ @SYBASE_CT_LIBS@ @FHTTPD_LIB@ @REGEX_LIB@ @DBM_LIB@ @SYBASE_LFLAGS@ @SYBASE_LIBS@ @SYBASE_CT_LFLAGS@ @SYBASE_CT_LIBS@ @PGSQL_LFLAGS@ @PGSQL_LIBS@ @LDAP_LFLAGS@ @LDAP_LIBS@ @IMAP_LIBS@ @ZLIB_LIBS@ @PDFLIB_LIBS@ @SNMP_LFLAGS@ @SNMP_LIBS@ @IBASE_LFLAGS@ @IBASE_LIBS@ @XML_LIBS@ @LIBS@
LIBS = $(PHPLIBS) $(EXTRA_LIBS) @SYBASE_CT_LFLAGS@ @SYBASE_CT_LIBS@ @FHTTPD_LIB@ @REGEX_LIB@ @DBM_LIB@ @SYBASE_LFLAGS@ @SYBASE_LIBS@ @SYBASE_CT_LFLAGS@ @SYBASE_CT_LIBS@ @PGSQL_LFLAGS@ @PGSQL_LIBS@ @ZLIB_LIBS@ @PDFLIB_LIBS@ @SNMP_LFLAGS@ @SNMP_LIBS@ @IBASE_LFLAGS@ @IBASE_LIBS@ @XML_LIBS@ @LIBS@
all: $(BINNAME)

View File

@ -58,18 +58,9 @@
#define REGEX 0
#define HSREGEX 0
/* Define if you have the crypt() function */
#define HAVE_CRYPT 1
/* Define if you want the LDAP directory interface */
#define HAVE_LDAP 0
/* Define if you want the SNMP interface */
#define HAVE_SNMP 0
/* Define if you want the IMAP directory interface */
#define HAVE_IMAP 0
/* Define if you have libdl (used for dynamic linking) */
#define HAVE_LIBDL 0

View File

@ -792,45 +792,6 @@ AC_SUBST(EXTRA_LIBS)
# reading config stubs
esyscmd(./scripts/config-stubs)
AC_MSG_CHECKING(for IMAP support)
AC_ARG_WITH(imap,
[ --with-imap[=DIR] Include IMAP support (DIR is the IMAP include dir and c-client.a dir).],
[
if test "$withval" != "no"; then
if test "$withval" = "yes"; then
IMAP_DIR=/usr/local
else
IMAP_DIR=$withval
fi
if test ! -f $IMAP_DIR/include/mail.h; then
AC_MSG_ERROR(could not find mail.h in $IMAP_DIR/include !)
fi
if test ! -f $IMAP_DIR/include/rfc822.h; then
AC_MSG_ERROR(could not find rfc822.h in $IMAP_DIR/include !)
fi
if test ! -f $IMAP_DIR/include/linkage.h; then
AC_MSG_ERROR(could not find linkage.h in $IMAP_DIR/include !)
fi
if test ! -f $IMAP_DIR/lib/c-client.a; then
AC_MSG_ERROR(could not find c-client.a in $IMAP_DIR/lib !)
fi
IMAP_INCLUDE="-I$IMAP_DIR/include/"
IMAP_LIBS="$IMAP_DIR/lib/c-client.a"
dnl## AC_SUBST(IMAP_INCLUDE)
INCLUDES="$INCLUDES $IMAP_INCLUDE"
AC_SUBST(IMAP_LIBS)
LIBS="$LIBS $IMAP_LIBS"
AC_DEFINE(HAVE_IMAP)
AC_MSG_RESULT(yes)
else
AC_MSG_ERROR(could not find imap library!)
fi
],[
AC_MSG_RESULT(no)
])
AC_MSG_CHECKING(for Sybase support)
AC_ARG_WITH(sybase,
[ --with-sybase[=DIR] Include Sybase-DB support. DIR is the Sybase home
@ -942,38 +903,6 @@ dnl## AC_SUBST(PGSQL_INCLUDE)
INCLUDES="$INCLUDES $PGSQL_INCLUDE"
AC_MSG_CHECKING(for LDAP support)
AC_ARG_WITH(ldap,
[ --with-ldap[=DIR] Include LDAP support. DIR is the LDAP base
install directory, defaults to /usr/local/ldap],
[
if test "$withval" != "no"; then
if test "$withval" = "yes"; then
LDAP_INCDIR=/usr/local/ldap/include
LDAP_LIBDIR=/usr/local/ldap/lib
else
LDAP_INCDIR=$withval/include
LDAP_LIBDIR=$withval/lib
fi
LDAP_INCLUDE=-I$LDAP_INCDIR
LDAP_LFLAGS="-L$LDAP_LIBDIR ${ld_runpath_switch}$LDAP_LIBDIR"
LDAP_LIBS="-lldap -llber"
AC_DEFINE(HAVE_LDAP)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
],[
AC_MSG_RESULT(no)
])
AC_SUBST(LDAP_LIBS)
AC_SUBST(LDAP_LFLAGS)
dnl## AC_SUBST(LDAP_INCLUDE)
INCLUDES="$INCLUDES $LDAP_INCLUDE"
AC_MSG_CHECKING(for SNMP support)
AC_ARG_WITH(snmp,
[ --with-snmp[=DIR] Include SNMP support. DIR is the SNMP base

6
ext/imap/Makefile.am Normal file
View File

@ -0,0 +1,6 @@
# $Id$
INCLUDES=@INCLUDES@ -I@top_srcdir@ -I@top_srcdir@/libzend
noinst_LIBRARIES=libphpext_imap.a
libphpext_imap_a_SOURCES=imap.c

283
ext/imap/Makefile.in Normal file
View File

@ -0,0 +1,283 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# $Id$
SHELL = /bin/sh
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
APACHE_INCLUDE = @APACHE_INCLUDE@
APACHE_TARGET = @APACHE_TARGET@
APXS = @APXS@
APXS_LDFLAGS = @APXS_LDFLAGS@
BINNAME = @BINNAME@
CC = @CC@
CFLAGS = @CFLAGS@
CFLAGS_SHLIB = @CFLAGS_SHLIB@
DEBUG_CFLAGS = @DEBUG_CFLAGS@
EXTINFO_DEPS = @EXTINFO_DEPS@
EXTRA_LIBS = @EXTRA_LIBS@
EXT_LIBS = @EXT_LIBS@
EXT_SUBDIRS = @EXT_SUBDIRS@
FHTTPD_LIB = @FHTTPD_LIB@
FHTTPD_TARGET = @FHTTPD_TARGET@
HSREGEX = @HSREGEX@
IBASE_LFLAGS = @IBASE_LFLAGS@
IBASE_LIBS = @IBASE_LIBS@
INSTALL_IT = @INSTALL_IT@
LDFLAGS_SHLIB = @LDFLAGS_SHLIB@
LDFLAGS_SHLIB_EXPORT = @LDFLAGS_SHLIB_EXPORT@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@
PDFLIB_LIBS = @PDFLIB_LIBS@
PERL_PATH = @PERL_PATH@
PGSQL_LFLAGS = @PGSQL_LFLAGS@
PGSQL_LIBS = @PGSQL_LIBS@
PHP_BUILD_DATE = @PHP_BUILD_DATE@
PHP_DEBUG = @PHP_DEBUG@
PHP_LIBS = @PHP_LIBS@
PHP_VERSION = @PHP_VERSION@
PROG_SENDMAIL = @PROG_SENDMAIL@
RANLIB = @RANLIB@
RDYNAMIC_LFLAGS = @RDYNAMIC_LFLAGS@
REGEX_LIB = @REGEX_LIB@
SNMP_LFLAGS = @SNMP_LFLAGS@
SNMP_LIBS = @SNMP_LIBS@
STRONGHOLD = @STRONGHOLD@
SYBASE_CT_LFLAGS = @SYBASE_CT_LFLAGS@
SYBASE_CT_LIBS = @SYBASE_CT_LIBS@
SYBASE_LFLAGS = @SYBASE_LFLAGS@
SYBASE_LIBS = @SYBASE_LIBS@
VERSION = @VERSION@
WARNING_LEVEL = @WARNING_LEVEL@
XML_LIBS = @XML_LIBS@
YACC = @YACC@
ZLIB_LIBS = @ZLIB_LIBS@
INCLUDES=@INCLUDES@ -I@top_srcdir@ -I@top_srcdir@/libzend
noinst_LIBRARIES=libphpext_imap.a
libphpext_imap_a_SOURCES=imap.c
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
DEFS = @DEFS@ -I. -I$(srcdir) -I../..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
libphpext_imap_a_LIBADD =
libphpext_imap_a_OBJECTS = imap.o
AR = ar
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
SOURCES = $(libphpext_imap_a_SOURCES)
OBJECTS = $(libphpext_imap_a_OBJECTS)
all: Makefile $(LIBRARIES)
.SUFFIXES:
.SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps ext/imap/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
mostlyclean-noinstLIBRARIES:
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
distclean-noinstLIBRARIES:
maintainer-clean-noinstLIBRARIES:
.c.o:
$(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
mostlyclean-compile:
-rm -f *.o core *.core
clean-compile:
distclean-compile:
-rm -f *.tab.c
maintainer-clean-compile:
libphpext_imap.a: $(libphpext_imap_a_OBJECTS) $(libphpext_imap_a_DEPENDENCIES)
-rm -f libphpext_imap.a
$(AR) cru libphpext_imap.a $(libphpext_imap_a_OBJECTS) $(libphpext_imap_a_LIBADD)
$(RANLIB) libphpext_imap.a
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
mostlyclean-tags:
clean-tags:
distclean-tags:
-rm -f TAGS ID
maintainer-clean-tags:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = ext/imap
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
done
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
install-data:
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall:
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
installdirs:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
mostlyclean-tags mostlyclean-generic
clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
mostlyclean
distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
distclean-generic clean
-rm -f config.status
maintainer-clean: maintainer-clean-noinstLIBRARIES \
maintainer-clean-compile maintainer-clean-tags \
maintainer-clean-generic distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile tags mostlyclean-tags distclean-tags \
clean-tags maintainer-clean-tags distdir info dvi installcheck \
install-exec install-data install uninstall all installdirs \
mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

2
ext/imap/config.h.stub Normal file
View File

@ -0,0 +1,2 @@
/* Define if you want the IMAP extension */
#define HAVE_IMAP 0

43
ext/imap/config.m4 Normal file
View File

@ -0,0 +1,43 @@
dnl $Id$
AC_MSG_CHECKING(for IMAP support)
AC_ARG_WITH(imap,
[ --with-imap[=DIR] Include IMAP support (DIR is the IMAP include dir and c-client.a dir).],
[
if test "$withval" != "no"; then
if test "$withval" = "yes"; then
IMAP_DIR=/usr/local
else
IMAP_DIR=$withval
fi
if test ! -f $IMAP_DIR/include/mail.h; then
AC_MSG_ERROR(could not find mail.h in $IMAP_DIR/include !)
fi
if test ! -f $IMAP_DIR/include/rfc822.h; then
AC_MSG_ERROR(could not find rfc822.h in $IMAP_DIR/include !)
fi
if test ! -f $IMAP_DIR/include/linkage.h; then
AC_MSG_ERROR(could not find linkage.h in $IMAP_DIR/include !)
fi
if test ! -f $IMAP_DIR/lib/c-client.a; then
AC_MSG_ERROR(could not find c-client.a in $IMAP_DIR/lib !)
fi
IMAP_INCLUDE="-I$IMAP_DIR/include/"
IMAP_LIBS="$IMAP_DIR/lib/c-client.a"
dnl## AC_SUBST(IMAP_INCLUDE)
INCLUDES="$INCLUDES $IMAP_INCLUDE"
AC_SUBST(IMAP_LIBS)
LIBS="$LIBS $IMAP_LIBS"
AC_DEFINE(HAVE_IMAP)
AC_MSG_RESULT(yes)
PHP_EXTENSION(imap)
else
AC_MSG_ERROR(could not find imap library!)
fi
],[
AC_MSG_RESULT(no)
])

2668
ext/imap/imap.c Normal file

File diff suppressed because it is too large Load Diff

89
ext/imap/imap.h Normal file
View File

@ -0,0 +1,89 @@
#ifndef _INCLUDED_IMAP_H
#define _INCLUDED_IMAP_H
#if COMPILE_DL
#undef HAVE_IMAP
#define HAVE_IMAP 1
#endif
#if HAVE_IMAP
#ifdef THREAD_SAFE
#include "tls.h"
#endif
#ifndef MSVC5
#include "build-defs.h"
#endif
/* Functions accessable to PHP */
extern php3_module_entry php3_imap_module_entry;
#define php3_imap_module_ptr &php3_imap_module_entry
extern int imap_init(INIT_FUNC_ARGS);
extern void imap_info(void);
void php3_imap_open(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_reopen(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_close(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_num_msg(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_headers(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_body(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_expunge(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_delete(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_undelete(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_check(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_headerinfo(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_mail_copy(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_mail_move(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_createmailbox(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_renamemailbox(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_deletemailbox(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_list(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_listscan(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_lsub(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_subscribe(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_unsubscribe(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_num_recent(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_fetchstructure(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_fetchbody(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_append(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_ping(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_base64(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_qprint(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_8bit(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_binary(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_mailboxmsginfo(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_rfc822_write_address(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_rfc822_parse_adrlist(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_setflag_full(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_clearflag_full(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_sort(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_fetchtext(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_fetchheader(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_uid(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_msgno(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_fetchtext_full(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_status(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_bodystruct(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_fetch_overview(INTERNAL_FUNCTION_PARAMETERS);
void php3_imap_mail_compose(INTERNAL_FUNCTION_PARAMETERS);
#else
#define php3_imap_module_ptr NULL
#endif /* HAVE_IMAP */
#endif

7
ext/imap/setup.stub Normal file
View File

@ -0,0 +1,7 @@
# $Source$
# $Id$
define_option with-imap 'IMAP support?' yesnodir \
'no /usr/local/imap IMAP base install' \
' Whether to build with IMAP (Internet Message Access Protocol)\n
support.\n'

6
ext/ldap/Makefile.am Normal file
View File

@ -0,0 +1,6 @@
# $Id$
INCLUDES=@INCLUDES@ -I@top_srcdir@ -I@top_srcdir@/libzend
noinst_LIBRARIES=libphpext_ldap.a
libphpext_ldap_a_SOURCES=ldap.c

2
ext/ldap/config.h.stub Normal file
View File

@ -0,0 +1,2 @@
/* Define if you want the LDAP directory interface */
#define HAVE_LDAP 0

31
ext/ldap/config.m4 Normal file
View File

@ -0,0 +1,31 @@
dnl $Id$
AC_MSG_CHECKING(for LDAP support)
AC_ARG_WITH(ldap,
[ --with-ldap[=DIR] Include LDAP support. DIR is the LDAP base
install directory, defaults to /usr/local/ldap],
[
if test "$withval" != "no"; then
if test "$withval" = "yes"; then
LDAP_INCDIR=/usr/local/ldap/include
LDAP_LIBDIR=/usr/local/ldap/lib
else
LDAP_INCDIR=$withval/include
LDAP_LIBDIR=$withval/lib
fi
LDAP_INCLUDE=-I$LDAP_INCDIR
LDAP_LFLAGS="-L$LDAP_LIBDIR ${ld_runpath_switch}$LDAP_LIBDIR"
LDAP_LIBS="-lldap -llber"
INCLUDES="$INCLUDES $LDAP_INCLUDE"
EXTRA_LIBS="$EXTRA_LIBS $LDAP_LFLAGS $LDAP_LIBS"
AC_DEFINE(HAVE_LDAP)
AC_MSG_RESULT(yes)
PHP_EXTENSION(ldap)
else
AC_MSG_RESULT(no)
fi
],[
AC_MSG_RESULT(no)
])

1275
ext/ldap/ldap.c Normal file

File diff suppressed because it is too large Load Diff

121
ext/ldap/php3_ldap.h Normal file
View File

@ -0,0 +1,121 @@
/*
+----------------------------------------------------------------------+
| PHP HTML Embedded Scripting Language Version 3.0 |
+----------------------------------------------------------------------+
| Copyright (c) 1997,1998 PHP Development Team (See Credits file) |
+----------------------------------------------------------------------+
| This program is free software; you can redistribute it and/or modify |
| it under the terms of one of the following licenses: |
| |
| A) 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. |
| |
| B) the PHP License as published by the PHP Development Team and |
| included in the distribution in the file: LICENSE |
| |
| 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 both licenses referred to here. |
| If you did not, or have any questions about PHP licensing, please |
| contact core@php.net. |
+----------------------------------------------------------------------+
| Authors: Amitay Isaacs <amitay@w-o-i.com> |
| Eric Warnke <ericw@albany.edu> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef _PHP3_LDAP_H
#define _PHP3_LDAP_H
#if COMPILE_DL
#undef HAVE_LDAP
#define HAVE_LDAP 1
#endif
#if HAVE_LDAP
#include <lber.h>
#include <ldap.h>
extern php3_module_entry ldap_module_entry;
#define ldap_module_ptr &ldap_module_entry
/* LDAP functions */
extern int php3_minit_ldap(INIT_FUNC_ARGS);
extern int php3_mshutdown_ldap(SHUTDOWN_FUNC_ARGS);
extern void php3_info_ldap(void);
extern void php3_ldap_connect(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_bind(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_unbind(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_read(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_list(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_search(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_free_result(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_count_entries(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_first_entry(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_next_entry(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_get_entries(INTERNAL_FUNCTION_PARAMETERS);
#if 0
extern void php3_ldap_free_entry(INTERNAL_FUNCTION_PARAMETERS);
#endif
extern void php3_ldap_first_attribute(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_next_attribute(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_get_attributes(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_get_values(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ber_free(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_get_dn(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_explode_dn(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_dn2ufn(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_add(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_delete(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_ldap_modify(INTERNAL_FUNCTION_PARAMETERS);
typedef struct {
long default_link;
long num_links, max_links;
char *base_dn;
int le_result, le_result_entry, le_ber_entry;
int le_link;
/* I just found out that the thread safe features
of the netscape ldap library are only required if
multiple threads are accessing the same LDAP
structure. Since we are not doing that, we do
not need to use this feature. I am leaving the
code here anyway just in case. smc
*/
#if 0
struct ldap_thread_fns tfns;
int le_errno; /* Corresponds to the LDAP error code */
char *le_matched; /* Matching components of the DN,
if an NO_SUCH_OBJECT error occurred */
char *le_errmsg; /* Error message */
#endif
} ldap_module;
#ifndef THREAD_SAFE
extern ldap_module php3_ldap_module;
#endif
#else
#define ldap_module_ptr NULL
#endif
#endif /* _PHP3_LDAP_H */

8
ext/ldap/setup.stub Normal file
View File

@ -0,0 +1,8 @@
# $Source$
# $Id$
define_option with-ldap 'LDAP support?' yesnodir \
'no /usr/local/ldap LDAP base install' \
' Whether to build with LDAP (Lightweight Directory Access Protocol)\n
support.\n
More information about LDAP can be found in RFC1777 and RFC1778.'

View File

@ -0,0 +1,2 @@
/* Define if you have the crypt() function */
#define HAVE_CRYPT 1

View File

@ -47,7 +47,7 @@
#include "ext/gettext/php3_gettext.h"
#include "ext/informix/php3_ifx.h"
#include "functions/php3_ldap.h"
#include "ext/ldap/php3_ldap.h"
#include "ext/mysql/php3_mysql.h"
#include "ext/bcmath/php3_bcmath.h"
#include "ext/msql/php3_msql.h"
@ -56,7 +56,7 @@
#include "functions/php3_pgsql.h"
#include "functions/php3_sybase.h"
#include "functions/php3_sybase-ct.h"
#include "functions/imap.h"
#include "ext/imap/imap.h"
#include "ext/standard/head.h"
#include "functions/post.h"
#include "ext/hyperwave/hw.h"

12
setup
View File

@ -266,18 +266,6 @@ define_option with-interbase 'InterBase support?' yesnodir \
' Whether to build PHP with InterBase support. More\n
information about InterBase can be found at http://www.interbase.com/.'
define_option with-ldap 'LDAP support?' yesnodir \
'no /usr/local/ldap LDAP base install' \
' Whether to build with LDAP (Lightweight Directory Access Protocol)\n
support.\n
More information about LDAP can be found in RFC1777 and RFC1778.'
define_option with-imap 'IMAP support?' yesnodir \
'no /usr/local/imap IMAP base install' \
' Whether to build with IMAP (Internet Message Access Protocol)\n
support.\n
More information about LDAP can be found in RFC1777 and RFC1778.'
define_option with-pdflib 'pdflib 0.6 support? ' yesnodir \
'no /usr/local pdflib install' \
' Whether to use the pdflib support to write .pdf-files.\n