Commit Graph

35 Commits

Author SHA1 Message Date
Michael Orlitzky
3fe9e10a1b ext/session: catch incompatible configure flags earlier.
The session extension has a --with-mm flag that tells it to build
the mm backend ("mm" is the name of the library). However, that
backend is not thread-safe, and mod_mm.c will refuse to compile if
the --enable-maintainer-zts flag was also passed to the configure
script.

Rather than crash halfway through the build, this commit adds a check
to the session extension's config.m4 file. If both --with-mm and
--enable-maintainer-zts are "on," then the configure script will
die and explain that they can't be used together.

PHP-bug: 14269
2018-01-24 21:22:15 +01:00
Anatol Belski
7a6a3d923b fix arg order, CFLAGS is the fifth arg in m4 2014-10-17 16:03:40 +02:00
Anatol Belski
fea10f6a5e ext/iconv, ext/json and ext/session use static tsrmls pointer 2014-10-17 14:16:40 +02:00
Arpad Ray
5bc97c6cfa Implement object-oriented session handlers (https://wiki.php.net/rfc/session-oo) 2011-09-13 22:28:15 +00:00
Felipe Pena
f11535e2ee - Fixed config.m4 to complete the fix for bug #53141 (thanks Johannes) 2010-11-02 20:51:02 +00:00
Antony Dovgal
ae340374b2 configure dependency has to be optional as well 2009-07-28 08:59:08 +00:00
Antony Dovgal
69dba3c996 fix segfault in session/tests/031.phpt by adding optional extension
dependency (php_hash_hashtable has to be initialized when setting
session.hash_function)
2009-07-28 08:54:23 +00:00
foobar
a20383ba06 - Unify the "configure --help" texts 2005-05-29 23:17:16 +00:00
foobar
626253940e - Added PHP_INSTALL_HEADERS() macro
- Fixed several VPATH build issues
- Changed all awk calls to use $AWK
- Changed all mkdir calls to use "$php_shtool mkdir"
2005-05-07 02:51:53 +00:00
Joe Orton
2685ca935f Update extensions to use /path/to/$PHP_LIBDIR rather than /path/to/lib
to support multi-ABI platforms.
2004-11-03 14:32:52 +00:00
foobar
dc080a5db6 - Always look into /usr/local before /usr
- Added breaks to make sure the preferred value is used.
2003-10-01 02:53:23 +00:00
Ilia Alshanetsky
526a3d9ce2 Always prefer user specified paths over the default /usr /usr/local.
This may fix compilation problems with on systems with multiple copies of
the same library.
2003-09-30 22:36:43 +00:00
Sascha Schumann
e1dd35bddb The pread/pwrite macros check for a bug in the Linux glibc now.
The bug causes the kernel not to return -1/EAGAIN. The new test case
has been borrowed from the Linux Test Project.

This also fixes a bug which apparently caused HAVE_PREAD/WRITE to be
defined even if the more complex checks failed (ac_cv_func_NAME=no
was set albeit with no difference).
2002-10-02 06:05:16 +00:00
Sascha Schumann
702d7afc3c Reenable pwrite/pread support
The old checks supposed that pread/pwrite worked, if a declaration was
found in <unistd.h>.  We now actually check whether they work successfully
before using them.
2002-09-06 10:27:26 +00:00
foobar
3bf7519210 @- Added --disable-all configure option. (Jani) 2002-09-04 18:47:28 +00:00
Dan Kalowsky
e5324723d0 sniper claims its safe to take these out as well. 2002-09-04 13:52:41 +00:00
foobar
087f2be56f - Fixed bug: #17977, session build as shared works now with mm handler too.
- Added listing of save handlers into phpinfo() output
2002-06-28 02:27:02 +00:00
Sascha Schumann
9517ff0689 Fix --enable-session=shared 2002-05-04 16:48:48 +00:00
Sascha Schumann
9d9d39a0de Please welcome the new build system.
If you encounter any problems, please make sure to email sas@php.net
directly.

An introduction can be found on

http://schumann.cx/buildv5.txt
2002-03-07 14:20:02 +00:00
foobar
f1397d5339 Unified the configure messages. 2001-11-30 19:00:13 +00:00
foobar
4a99c5ee5c Fixed bug: #13844 2001-10-27 06:26:02 +00:00
Zeev Suraski
d5e5e376ab This option is no longer needed 2001-08-25 16:19:57 +00:00
Sascha Schumann
e2eaf6342e Add support for systems where p{read|write} take a off64_t without
being properly prototyped.
2001-05-20 23:39:09 +00:00
Sascha Schumann
afdaee9e47 Nuke more quotes 2001-05-12 11:09:05 +00:00
Sascha Schumann
814fa2c71c Save a couple of syscalls per session
Fix apparent new-session-files-were-not-locked bug

Replace %m with portable "%s", strerror(errno)
2001-05-11 17:43:40 +00:00
foobar
8a26918ed1 Renamed the AC_ prefixed macros defined in acinclude.m4 to PHP_* prefixes.
# Heads up people! I tested this before committing but you never know..
2001-03-27 20:35:04 +00:00
Sascha Schumann
82c5c690c9 Use the new AC_ADD_LIBRARY_WITH_PATH option shared-libadd 2000-05-02 04:01:15 +00:00
Sascha Schumann
a481fddfb3 Improved in-tree shared libraries build system
The following new/revived shared modules are available now:

  ... MySQL (*)
  ... PCRE (*)
  ... Session
  ... SWF

  (*) capable of using bundled library or external library

All changes:

  The m4 macro PHP_EXTENSION was revamped. Uses LIB_BUILD now.
  This effectively means that all extensions have to use dynlib.

  ext/mysql/config.m4 was revamped.
  Uses LIB_BUILD for building bundled library.

  ext/pcre/config.m4 was revamped.
  Uses LIB_BUILD for building bundled library.

  ext/ext_skel was changed to reflect that more modules should be
  compileable as shared module.

  ext/Makefile.in has been simplified enormously.

  Dependencies are now stored in the build tree.

  Empty dependencies are not generated by buildconf anymore. They
  are now dynamically created during the build process.

  Implicit rules for .S were removed.

  The NO_RECURSION feature was removed.

  "libs.mk" has been added to all cvsignore files in ext.
2000-05-01 02:42:55 +00:00
Sascha Schumann
1f822b98ce Welcome PHP_ARG_ENABLE and PHP_ARG_WITH. They are there to replace the common
AC_MSG_CHECKING, AC_ARG_[ENABLE,WITH], AC_MSG_RESULT trio.
2000-03-27 23:33:38 +00:00
Sascha Schumann
a2d42419a5 Revamp session's config.m4 and reenable support for mm. The shared memory
module works now successfully again under Apache and other web servers.
2000-03-26 02:47:00 +00:00
Sascha Schumann
f2f8d38efa Integration of -ng changes. Changes:
- added support for externally built modules,
- improved support for in-tree shared modules,
- fixed diversion bugs,
- configure displays some informative messages,
- faster static build
  (libtool isn't used anymore for compiling non-PIC objects),
- dependencies comparable to automake's without requiring GNU make or GCC,
- working make clean for non-GNU makes.
1999-12-30 02:59:53 +00:00
Sascha Schumann
f040ce584d add transparent session id propagation
this uses a custom scanner which detects relative URIs and changes
  them appropiately.
  must be explicitly enabled with --enable-trans-sid
  (normal case is not affected, since session_adapt_uris defaults to
   void statement. Compiler should eliminate dead code in output.c then.)
1999-09-11 23:47:16 +00:00
Sascha Schumann
5b293ecd4d - add global startup/shutdown handlers
- improve genif.sh to also consider all header files for inclusion
  (checks for phpext_)
- use vsnprintf in main.c to avoid buffer overflows
- improve sessions's mm module to cope better with OOM situations
  within the shared memory segment
- fix typo wrt session.auto_start
1999-09-03 17:46:39 +00:00
Sascha Schumann
49824ee8cb - fix potential buffer problem in send_cookie
- fix gc probability algorithm
- don't access mod_data directly
- initial version of mm support for session data storage

  This works pretty good, but we need to create the initial mm pool
  from the parent process/thread. Still looking for a clean way to do that.
1999-08-27 21:03:22 +00:00
Sascha Schumann
a1b42e3f5e first import of session module 1999-06-05 19:52:58 +00:00