Commit Graph

578 Commits

Author SHA1 Message Date
Jon Parise
9d43b9ecf5 Silence warning under Solaris 8 (WorkShop Compilers 5.0 98/12/15 C 5.0). 2002-03-04 11:03:19 +00:00
Zeev Suraski
7c3763d056 Fix another crash bug 2002-03-02 15:59:16 +00:00
Zeev Suraski
8ffc0e192f Fix a crash bug in the session module 2002-03-02 14:18:45 +00:00
Yasuo Ohgaki
82a8d372e5 Added ob_get_status() to get array of buffers and it's status.
(DO NOT document this function yet)

Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
buffers that may not be deleted.

php_start_ob_buffer() and php_ob_set_internal_handler() takes parameter for
if the buffer created may be deleted or not.

Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
deleted until script finshes.

Changed ob_*() function that have void return type to bool. All ob_*()
functions return TRUE for success, FALSE for failure.

@ - Added ob_get_status() to get array of buffers and it's status. (Yasuo)
@ - Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
@   buffers that may not be deleted. (Yasuo)
@ - Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
@   deleted until script finshes. (Yasuo)
@ - Changed ob_*() function that have void return type to bool. All ob_*()
@   functions return TRUE for success, FALSE for failure. (Yasuo)
2002-03-01 03:05:50 +00:00
Sebastian Bergmann
90613d2282 Maintain headers. 2002-02-28 08:29:35 +00:00
Sterling Hughes
ed6d751cd9 move to the ZEND_DECLARE_MODULE_GLOBALS() and ZEND_EXTERN_MODULE_GLOBALS
macros
2002-02-07 22:00:21 +00:00
foobar
ff51415423 Let's be consistent and use zval instead of pval 2002-02-05 01:30:22 +00:00
foobar
86f123ba2e Export php_session_start(). 2002-02-05 01:28:55 +00:00
Yasuo Ohgaki
bd32363e2f Revert last commit. Last patch has problem for the 1st request.
# I also found what's wrong in mod_mm.c  :)
# I'll fix it later since don't have much time now.
2002-02-03 05:40:19 +00:00
Yasuo Ohgaki
4c6e58ac59 Fixed crash when save_path is invalid.
Fixed crash when user save handler is incorrectly used.
Fixed crash when session read failed.
2002-02-03 03:17:35 +00:00
Yasuo Ohgaki
93cb481634 We need mm file for each user.
# GCI/CLI SAPI need this. It might be better to disable mm save handler
# for CGI/CLI, though.
2002-01-25 20:59:24 +00:00
Yasuo Ohgaki
d9692f7896 Add sapi postfix for mm save path.
cli/cgi would not complain about mm save handler with this.
# I'm really annoyed by mm save path problem...
2002-01-25 04:36:26 +00:00
Thies C. Arntzen
53f8b2d28b @ - Don't touch any globals in session_unset() if register_globals is set
@   to off. (Thies)

guys, shoot me if i'm wrong, but when we have set register_globals to off we
should _not_ touch any global variables at any time, right? so all session
register/unregister should only work on $HTTP_SESSION_VARS and $_SESSION. this
patch fixes at least one spot where we were touching globals even with
register_globals set to off.
2002-01-17 18:56:11 +00:00
Yasuo Ohgaki
7dfff1a835 Export php_session_register_module/serializer 2002-01-16 23:24:37 +00:00
Yasuo Ohgaki
847fd9d595 Export php_session_register_module/serializer. 2002-01-16 04:56:35 +00:00
Yasuo Ohgaki
43c3d4495a Fix startup crash
# Sascha, thanks for fixing poor patch :)
# mm save handler does not work regardlress of
# save path patch or not for some reason.
2002-01-10 12:08:39 +00:00
Sascha Schumann
770c39fed6 Improved code for handling PS(save_path)
Don't MFH before further testing
2002-01-10 07:37:10 +00:00
Sascha Schumann
bbda8d9678 Ws fix 2002-01-10 07:28:27 +00:00
Yasuo Ohgaki
5c0dfdbdbe Make use of save_path for mm file.
Patch by Henning Schmiedehausen <hps@intermeta.de>
Closes bug 14808
2002-01-10 06:14:40 +00:00
Sascha Schumann
3a86163f19 Make these tests succeed with non-standard settings 2002-01-10 05:11:19 +00:00
Yasuo Ohgaki
47e4a02a64 Get rid of error message
# These lines should be enabled when save handlers can be initialized
# before session module initialization.
2001-12-30 01:37:23 +00:00
Yasuo Ohgaki
fe81186629 Fix crash with external session save handlers
# This fixes only a little issue with sub modules
# More fixes are needed to make sub modules work correctly.
# 4.1.x also has the same problem....
2001-12-26 01:55:54 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00
Zeev Suraski
a702dc02f9 Fix session_unregister() 2001-12-06 14:20:20 +00:00
Zeev Suraski
2258453ba3 Remove PS_DEL_VAR macro, always use PS_DEL_VARL() 2001-12-06 13:33:10 +00:00
Hartmut Holzgraefe
648648ff1b proto fix 2001-12-04 22:57:16 +00:00
foobar
f1397d5339 Unified the configure messages. 2001-11-30 19:00:13 +00:00
Zeev Suraski
a3ef7170b1 Save entries in $_SESSION even if register_globals is on 2001-11-24 02:41:58 +00:00
Zeev Suraski
8c1f1f15c5 Entries registered with session_register() and altered by changing
$_SESSION (or $HTTP_SESSION_VARS) were not properly saved.  Fixed.
2001-11-24 02:14:45 +00:00
Zeev Suraski
66be507ac3 whitespace 2001-11-24 01:08:05 +00:00
Doug MacEachern
8dd296dd7d AIX compiler doesn't like having a comma at the end of the enum
(Ryan Bloom <rbb@apache.org>)
2001-11-18 20:08:43 +00:00
Sascha Schumann
f341f630d3 Rewrite of unserializer which should be more maintainable and extensible.
Changes pass `make test´ and a couple of custom tests.

Enjoy.
2001-11-10 21:18:34 +00:00
Rui Hirokawa
702e243d98 added private_no_expire mode on session patched by Yasuo Ohgaki. 2001-11-02 22:27:07 +00:00
foobar
4a99c5ee5c Fixed bug: #13844 2001-10-27 06:26:02 +00:00
Andrei Zmievski
adc9e9b587 Fix build. 2001-10-22 16:25:43 +00:00
Andrei Zmievski
4b5527ef2a Fix ZTS build. 2001-10-22 16:07:34 +00:00
Andrei Zmievski
1beb9b21e5 @- Added session_cache_expire() function. (patch from anuradha@gnu.org) 2001-10-22 15:18:06 +00:00
Sterling Hughes
454d13652e fix ws issue introduce in my use_trans_sid commit...
# still getting used to emacs
2001-10-18 09:12:39 +00:00
Sterling Hughes
009b5575fa fix formatting, this line really was too long ;) 2001-10-18 09:10:05 +00:00
Sterling Hughes
4c9c90eea2 force use of the session.use_trans_sid setting 2001-10-18 09:05:16 +00:00
Stig Bakken
689252082c * zend_module_entry change: apino, debug and zts are moved first,
see README.EXTENSIONS file for upgrade help.
@Introduced extension version numbers (Stig)
2001-10-11 23:33:59 +00:00
Edin Kadribasic
2ebefcf3b9 Made session test pass on systems with short open tags disabled. 2001-10-06 09:54:23 +00:00
Jeroen van Wolffelaar
c033288573 Back-substitute for Z_* macro's. If it breaks some extension (the script isn't optimal, it parses for example var->zval.value incorrect) please let me know. 2001-09-25 21:58:48 +00:00
Sascha Schumann
9002e37e4e Always seed the LCG from the request-init hook, otherwise the seed
would be shared among the threads which is quite pointless.  Also
use a function of the current time as one factor.

Use gettimeofday() instead of time(), because it is faster on some
operating systems.
2001-09-21 13:38:44 +00:00
Sascha Schumann
919e7e9f69 revert last commit. Guys, discuss such things first, then commit. Mkay? 2001-09-11 10:16:01 +00:00
Sterling Hughes
e302d6a5e8 Add an API function for setting the session id from a session module...
# The SRM folks wanted/needed this
2001-09-11 10:13:44 +00:00
Derick Rethans
78747bd2df - Don't wrap lines... this is annoying while coding. 2001-09-09 13:29:31 +00:00
Zeev Suraski
f7e7b42d4b Restore session_adapt_url() 2001-08-31 20:03:09 +00:00
Zeev Suraski
b080ddb867 Cleanup and clarify 2001-08-31 19:26:12 +00:00
Zeev Suraski
642eab8b46 define_sid updates 2001-08-31 19:22:08 +00:00
Zeev Suraski
b2b50ab525 Fix trans_sid handler registration logic 2001-08-31 15:22:10 +00:00
Zeev Suraski
d7149ba8fc Cleanup 2001-08-27 02:06:32 +00:00
Zeev Suraski
b781720b36 More fixes and refinements 2001-08-27 00:23:55 +00:00
Zeev Suraski
d697a558ac Fix my session updates.
trans_sid handling will no longer slow down performance unless a session
is actually in use.
2001-08-26 11:49:43 +00:00
Zeev Suraski
dc9769ea96 Fix trans-sid.
Still need to figure out how to turn trans-sid only when sessions
are actually used.
2001-08-26 11:14:35 +00:00
Zeev Suraski
7b73aee40f Make the session module more independent 2001-08-26 01:09:20 +00:00
Zeev Suraski
d5e5e376ab This option is no longer needed 2001-08-25 16:19:57 +00:00
Zeev Suraski
b8763a6f8c Get rid of TRANS_SID - it's always possible to use it now. 2001-08-25 16:09:23 +00:00
Zeev Suraski
13ff183225 Move the trans-sid mechanism to use the output buffering mechanism.
Advantages:
- Would work with the output buffering mechanism in general, and with
  output compression in particular
- Should yield better performance (untested as of yet)
2001-08-25 15:57:42 +00:00
Zeev Suraski
bc596544a1 add struct name 2001-08-25 12:47:12 +00:00
Zeev Suraski
e140b35b04 API update 2001-08-21 12:57:53 +00:00
Rasmus Lerdorf
4d11d90880 Track down a few more functions that don't check for 0 args and use
faster mechanism
2001-08-13 07:55:39 +00:00
Rasmus Lerdorf
8c497f05c4 We don't consistently check for args passed to functions that don't
take any args.  In some cases we probably want to skip the check for
performance reasons, but in other cases where performance is unlikely
to be a factor, not throwing a warning on the wrong number of args passed
to a function is at best inconsistent, and at worst it could hide a bug.
So, add a few such checks.  There are still lots of cases out there.
2001-08-13 06:43:47 +00:00
foobar
3619c6eb6a Added $_SESSION to the $_* family. 2001-08-11 10:49:03 +00:00
Sascha Schumann
23b9300fd1 more tsrm cleanup 2001-08-06 03:50:52 +00:00
Sascha Schumann
a19563c8dc more tsrm cleanup 2001-08-05 16:52:29 +00:00
Sascha Schumann
480ffb3d75 more tsrm cleanup 2001-08-05 16:43:57 +00:00
Sascha Schumann
373b3e101e more tsrm cleanup -- output.c is not doing any fetches anymore 2001-08-05 15:55:43 +00:00
Sascha Schumann
8aef193056 more tsrm cleanup 2001-08-05 15:29:47 +00:00
Sascha Schumann
aafdfe82cb further tsrm cleanup 2001-08-05 14:36:51 +00:00
Zeev Suraski
1159c84ab7 - TSRMLS_FETCH work
- whitespace fixes
2001-08-05 01:43:02 +00:00
Sascha Schumann
723bbcbea0 Do the nul'ifiying of php_var_serialize's result at the right place 2001-08-03 11:00:16 +00:00
Sascha Schumann
4a1943c542 Pass on nul'ified data 2001-08-03 10:39:48 +00:00
Sascha Schumann
60024a469d Add some casts 2001-08-03 08:51:53 +00:00
Sascha Schumann
4dfa91543c Convert serializer to smart_str.. avoids lots of sprintf's and
copying of data.
2001-08-03 07:25:27 +00:00
Zeev Suraski
c43806f415 Zend compatibility patch 2001-07-30 08:24:42 +00:00
Zeev Suraski
797a079a95 More TSRMLS_FETCH work, and a bit of cleanup 2001-07-30 06:18:13 +00:00
Zeev Suraski
d87cc976e1 Redesigned thread safety mechanism - nua nua 2001-07-28 11:36:37 +00:00
Zeev Suraski
fe6f8712a4 - Get rid of ELS_*(), and use TSRMLS_*() instead.
- Move to the new ts_allocate_id() API
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:16:41 +00:00
Sascha Schumann
00596b414e Get rid of memchr 2001-07-25 19:02:13 +00:00
Hartmut Holzgraefe
d3fdc92ff5 these tow fail with "Constant sid already defined" i
too if E_NOTICE error reporting is active
2001-07-22 21:46:39 +00:00
Zeev Suraski
6f297a370a Fix Windows build 2001-07-20 14:40:30 +00:00
Sascha Schumann
ef42a25b42 Fix a serious long-standing bug which deleted the shared memory segment
when an Apache children died.

Dynamically resize hash-table.

The hash key is now stored as part of the hash entry structure which
saves a mm_malloc.

ps_sd_new has been restructured to avoid code duplication.

A bug concerning moving existing entries to the top of a linked list
has been fixed.
2001-07-19 04:16:54 +00:00
Sascha Schumann
664df24d11 Fix GC bug which did not increment the proper variable.
Fix warning regarding the initial hash value.
Use php_uint32 everywhere.
Speedup linked-list traversal by using the hash value.
Degrade linked-list to singledly linked-list.
Allocate a new shared memory buffer, if the data does not fit into the
current one.  Prior to this change, we always allocated a new buffer.
Fix debug prints to be compatible with non-GCC compilers.
NUL-terminate string return values.
2001-07-18 23:18:58 +00:00
Sascha Schumann
9576ab24dd Instead of using the poor system rand() algorithm and the
system-time seed, rely on the long-living LCG to determine
whether to start the GC process.
2001-07-18 22:56:56 +00:00
Sascha Schumann
eef0dda4da Retire old hash algorithm and use the FNV-1 algorithm. 2001-07-18 21:39:02 +00:00
Thies C. Arntzen
249c010d92 make regession test of session work without the ugly hack in session.c
and removed that ugly hack.
2001-07-13 10:32:37 +00:00
Hartmut Holzgraefe
319149fd8b workaround to make ext/session well behaved with 'make test' and E_ALL 2001-07-11 13:46:11 +00:00
Hartmut Holzgraefe
e15d0193d9 cleanup in preparation for session_readonly() 2001-07-11 13:27:27 +00:00
Sascha Schumann
ef13ab5750 Improve url scanner speed (up to 40% for large chunks of data)
and handle some corner cases better.  The scanner has been changed
to the format as proposed in "RE2C - A More Versatile Scanner Generator"
by Cowan et al.
2001-07-04 15:30:21 +00:00
Hartmut Holzgraefe
7f08918b87 suppress sending of cookies if session id already came
from a non-cookie source
2001-06-29 05:27:57 +00:00
foobar
2c95a1d690 The extension name seems to be usually totally lower-cased. 2001-06-24 22:18:51 +00:00
Thies C. Arntzen
bd4f32cf12 - fixed the reference in session thingie
- regression test checked (this time;-)
- added new regression test for references
- references _between_ session variables also work in when the session var
  replaces an already existing global var (this was a brain twister)
- saved one strlen call per session variable
- fixed one tiny leak
2001-06-21 18:46:26 +00:00
Sascha Schumann
375ef3aec5 Back out severely broken patch. I currently don't have the time
to debug this.  Please reapply a fixed version.
2001-06-20 23:39:28 +00:00
Thies C. Arntzen
45f629925f @- Fixed references in sessions. This doesn't work when using the
@  WDDX session-serializer. Also improved speed of sessions. (Thies)
from now on php_set_session_var no longer copies the variable recovered from a
session (tested with php, php_binary and wddx). this should speed up session
deserializing quite a bit. (this damn thing has cost me 6 hours of my life;-)
2001-06-20 15:16:08 +00:00
Sebastian Bergmann
3f4a4a3643 Change copyright note. 2001-06-19 21:14:39 +00:00
Harald Radi
22790c9602 removed warnings 2001-06-10 23:26:35 +00:00
Sascha Schumann
5ebe991cfe Signal that no entry was found 2001-06-10 14:12:28 +00:00
Sascha Schumann
b31801b249 Check for http_session_vars != NULL. 2001-06-08 11:45:53 +00:00
Rasmus Lerdorf
9c55882133 Fold a bit more code 2001-06-06 14:32:27 +00:00
Sterling Hughes
db305fc6f7 small ws fix. 2001-05-30 20:16:23 +00:00
Sterling Hughes
28160f73d0 Revert as per Herr Schumann's request. 2001-05-30 19:56:11 +00:00
Sterling Hughes
506ceb28fc Try #2
# aka, flying blind in a shitstorm, but it shouldn't hurt anything
2001-05-30 19:43:27 +00:00
Sterling Hughes
948edd322b should fix warnings under winblows. 2001-05-30 18:33:46 +00:00
Stig Bakken
1beda9ee1e * include "config.h" if HAVE_CONFIG_H is defined (for standalone dso build) 2001-05-24 10:07:29 +00:00
Sascha Schumann
3ffaa634a2 fix buggy debug statements 2001-05-24 01:12:11 +00:00
Sascha Schumann
5e112d4384 Due to dynamic registration of storage handlers, OnUpdateSaveHandler
might be called before that registration takes place and hence the
INI update is dismissed.  In that case, we defer the lookup to the
first request init.
2001-05-23 23:18:51 +00:00
Andi Gutmans
14ac3d74b9 - Nuke GINIT 2001-05-23 17:10:40 +00:00
Andrei Zmievski
699489d456 @- Made $HTTP_SESSION_VARS['foo'] and $foo be references to the same value
@  when register_globals is on. (Andrei)
2001-05-22 17:55:07 +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
060983b184 Use zend_hash_add_empty_element 2001-05-19 14:51:39 +00:00
Sascha Schumann
6c3b8d5619 Improve reading from external data source for session id creation.
Improve generating the string representation of the md5 session id.
2001-05-19 09:58:31 +00:00
Sascha Schumann
90c2979144 Nuke some warnings. 2001-05-13 07:37:28 +00:00
Sascha Schumann
afdaee9e47 Nuke more quotes 2001-05-12 11:09:05 +00:00
Sascha Schumann
8a3eb51a26 Replace ssize_t with long, as Win32 lacks proper support for that type. 2001-05-12 08:39:33 +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
Sascha Schumann
9de9b7c1e9 add an interface for registering storage modules at run-time. 2001-05-03 15:48:49 +00:00
Andrei Zmievski
ea56318495 Patch from Sascha that abstracts session serializers. WDDX extension
now implements the encode/decode functions and registers them with
the session module.
2001-05-01 17:01:51 +00:00
Andi Gutmans
4c823e8a89 - Change macros from V_ to VCWD_ because of AIX name clash 2001-04-30 12:45:02 +00:00
Andi Gutmans
6e8f7a06f6 - use get_current_key_ex() in order to receive key length and not having
- to use strlen() everywhere.
2001-04-26 02:54:27 +00:00
Shane Caraveo
a7f48e470f compile was broken, new argument? 2001-04-26 01:46:18 +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
667a1f1fdb buf is gone. Don't reference it. 2001-03-13 17:11:43 +00:00
Sascha Schumann
2b6698aaa9 Replace another sprintf 2001-03-13 16:58:36 +00:00
Sascha Schumann
86cf74a169 Nuke calls to sprintf, snprintf, strcat, strcpy and rely on
memcpy and smart_strs.
2001-03-13 16:53:34 +00:00
Andi Gutmans
01ed33d1b6 - Pointed out by Andrei. zval_ptr_dtor() should be used instead of the
zval_del_ref() function which should be nuked.
2001-02-27 20:16:35 +00:00
Andi Gutmans
eb6ba01d1c - Fix copyright notices with 2001 2001-02-26 06:11:02 +00:00
Sascha Schumann
1b15d1f166 Use MAKE_STD_ZVAL/FREE_ZVAL to handle zval memory allocation. 2001-01-07 10:42:15 +00:00
Sascha Schumann
41cd55dd44 Add a new test and refine the fourth test 2001-01-07 10:40:41 +00:00
Sascha Schumann
24c49a21b9 Use zval_ptr_dtor instead of zval_dtor/FREE_ZVAL pair.
Submitted by: Andi Gutmans
2001-01-07 10:32:06 +00:00
Sascha Schumann
8e22a8a73b Add session_set_save_handler test 2000-12-24 16:33:27 +00:00
Sascha Schumann
3ca8721e99 More instances of s/efree/FREE_ZVAL/ 2000-12-24 16:30:42 +00:00
Sascha Schumann
7574cd4360 Not freeing the zval using FREE_ZVAL caused a segfault in
shutdown_memory_manager.
2000-12-24 16:26:38 +00:00
Sascha Schumann
80ff1a3874 Also call some member functions of the deserialized objects 2000-12-24 16:06:32 +00:00
Sascha Schumann
72f99e668e Add session object deserialization test 2000-12-24 16:01:32 +00:00
Sascha Schumann
5722a0e1ce Add two regression tests for the session module 2000-12-24 15:57:05 +00:00
Sascha Schumann
92f61634eb (PHP session_unset) Return early, if no session was started.
PR: #8354
2000-12-22 22:53:14 +00:00
Zeev Suraski
aa6d2ac5d0 Heads up people!
Updated the get_current_key() API - the relevant authors, please take
a look at the updated code and make sure it's ok...
2000-12-22 12:57:09 +00:00
Sascha Schumann
225a08e8dd No need for GCC extensions in non-debugging mode.
PR: #8345
2000-12-21 05:31:18 +00:00
Sascha Schumann
5347ef1728 Whitespace fix and initialize ret properly 2000-11-22 04:10:04 +00:00
Stanislav Malyshev
119ee485c6 Move "replace value" logic to Zend 2000-11-20 12:39:14 +00:00
Hartmut Holzgraefe
1f6878e912 2nd step towards auto-credits 2000-11-20 10:33:33 +00:00
Stanislav Malyshev
92dd81ba7f Fix #3261 - variables declared as "global" in function do not get the right
value after session_start.
2000-11-19 13:13:36 +00:00
Sascha Schumann
0feb2a21e5 Add some additional checks
Submitted by: mookid@sigent.ru (Mikhail Zabaluev)
2000-11-03 12:00:49 +00:00
Sascha Schumann
b4ce4e2634 Fix implementation of hash algorithm 2000-11-03 11:59:41 +00:00
Sascha Schumann
43ff395b65 Const'ify part of sapi_request_info.
query_string, post_data, path_translated, request_uri, auth_user,
auth_password and argv0 are modified, so they cannot become const.
2000-11-02 15:47:02 +00:00
Stanislav Malyshev
c31faf0bd9 Add support for serializing references.
@- Add support for serializing references (Stas)
# WDDX and shared memory functions not covered yet
2000-10-30 17:10:06 +00:00
Zeev Suraski
1fd09132c2 Initial steps to move the INI mechanism to the Zend engine 2000-10-29 11:38:26 +00:00
Stanislav Malyshev
06de8e78cf Allow to send secure cookies 2000-10-28 17:13:28 +00:00
Sascha Schumann
4f757a3af0 Add session_adapt_url(). 2000-10-26 18:10:43 +00:00
Andrei Zmievski
27a1c12ad8 session_unset() now cleans up $HTTP_SESSION_VARS as well. 2000-10-26 17:37:47 +00:00
Alexander Feldman
7c11cfaf03 Fixed a bug in session.c. If the user calls session_module_name with a
parameter, then the mod_data pointer is initialized to NULL and then
php_session_save_current_state did not check this value before referencing
the pointer. Added a check in php_session_save_current_state.
2000-10-23 13:10:01 +00:00
foobar
7a54e0b10c Fixed crash (bus error) in readdir() and session cleanup when compiled
with Sun CC.
2000-10-18 14:14:14 +00:00
Sascha Schumann
7c0ba95806 fix indentation 2000-10-17 02:50:15 +00:00
Daniel Beulshausen
4086197d95 fixes bug 7055 & 7235 2000-10-16 10:35:43 +00:00
Sascha Schumann
d2d5320ee8 Add session_write_close(). This is primarily intended to enable
script writers to release the lock associated with the session lock
before the request finishes.

You can pass arrays now to session_set_save_handler(), so that the handlers
can be located in an object for better abstraction.
2000-10-11 19:47:15 +00:00
Sascha Schumann
11c88a0ff5 Return SUCCESS from write handler, if vallen is 0.
Submitted by: tcarroll@chc-chimes.com
PR: #6958
2000-09-29 21:44:45 +00:00
Sascha Schumann
5bf4e7857d Clean up STR_CAT macro (it is still ugly) 2000-09-27 15:24:09 +00:00
Sascha Schumann
d959c647e2 Remove superflucious variable 2000-09-26 11:00:02 +00:00
Sascha Schumann
9c6414d6fa Deactivate E_NOTICE message on gc 2000-09-20 01:38:39 +00:00
Sascha Schumann
07e71ce1f1 s/url_scanner.h/url_scanner_ex.h/ 2000-09-20 01:22:55 +00:00
Sascha Schumann
61dc840cdd Make the new url scanner the default.
If there are any problems (especially with characters > 127), let me know.
2000-09-20 01:22:17 +00:00
Sascha Schumann
51498e1d3f Kill warning 2000-09-19 17:46:23 +00:00
Sascha Schumann
2ec043606b *** empty log message *** 2000-09-19 17:22:37 +00:00
Sascha Schumann
bd616da7ca Libc5-readdir_r workaround 2000-09-11 15:24:28 +00:00
Sascha Schumann
cb410a2f3c Convert some more "complex" expressions manually to Z_* macros. 2000-09-06 14:25:47 +00:00
Sascha Schumann
5bbddee81e Rename symbols whose first character was an underscore. 2000-09-06 14:16:12 +00:00
Sascha Schumann
4fb5088f89 Convert to Z_* macros 2000-09-06 14:13:31 +00:00
Sascha Schumann
4eb2481830 Why make it more complex than necessary?
These changes should have been committed right after Zeev made the
original change to use the PHP_INI system months ago.

Instead of working around the system, we make proper use of it now.

This includes using php_alter_ini_entry(), so that we change the values
in the php_ps_globals struct indirectly.
2000-09-06 00:50:01 +00:00
Stanislav Malyshev
795083a15c Now it should not crash, though still leaks
# I'll continue with it tomorrow
2000-09-05 22:42:45 +00:00
Zeev Suraski
dd0ade23cf This fix wasn't quite right and is no longer necessary after the recent php_ini optimizations 2000-09-05 21:31:56 +00:00
Zeev Suraski
12adebbc3a - Fix leak
- Remove redundant php_ini code
2000-09-05 21:18:00 +00:00
Stanislav Malyshev
20a6474eae Fix crash
# This is getting worse... Seems that more work is needed
2000-09-05 19:29:03 +00:00
Zeev Suraski
eb32144902 - Remove track_vars - it is now always on
- Make the various $HTTP_*_VARS[] arrays be defined always,
  even if they're empty
- Fix Win32 build and warnings
2000-09-05 19:06:29 +00:00
Stanislav Malyshev
3c45b97804 Try to fix session INI variables handling
This should also fix #6538.
# This code gets really hairy, I do not like it,
# but it's the only working thing I could come with.
# If original creator reviews and cleans it up, it'd be great
2000-09-05 18:41:46 +00:00
Sascha Schumann
607486391a Extend HTTP headers for private-caching and add a new PHP function
session_cache_limiter.

Submitted by: Jon Parise <jon@csh.rit.edu>
2000-09-01 15:56:26 +00:00
Sascha Schumann
d11012e2c9 s/PATH_MAX/MAXPATHLEN/ 2000-09-01 15:47:53 +00:00
Sascha Schumann
1b5fff695d Speed up standard php encoding function and add new php_binary serializer. 2000-09-01 15:24:58 +00:00
Sascha Schumann
d60799bf6b Solaris/x86 insists of having a large buffer for storing the result of
readdir_r(), otherwise it will segfault.

PR: #6479
2000-09-01 09:38:19 +00:00
Zeev Suraski
30ccec36b9 Fix build 2000-08-20 22:18:19 +00:00
Sascha Schumann
c8b8a908ca Provide PHP_SEPARATOR which expands to the default directory separator
on the target platform.
2000-08-20 14:02:57 +00:00
Sascha Schumann
34bee836b1 Remove bogus "by" 2000-08-10 19:27:30 +00:00
Stanislav Malyshev
682c58c26f Open session files in binary mode (fix #5953)
@- Fixed \n in session variables bug on Win32 (Stas)
2000-08-05 10:25:00 +00:00
Jon Parise
021ad113ef Reworded some of the php_error messages for grammar and clarity.
(For example, settled on "cannot" instead of "can't" in all case)
2000-07-27 16:43:38 +00:00
Sascha Schumann
c917e170f6 Always use the current DIR_DELIMITER to create the session file path 2000-07-11 12:29:19 +00:00
Sascha Schumann
e8101d4f7b Unify use of my email address 2000-07-10 10:09:15 +00:00
Sascha Schumann
eb0cbbd2d9 Also output the name of the save_handler when reporting a failed write
attempt.
2000-07-10 08:35:03 +00:00
Stanislav Malyshev
ad271a2b33 Fix stupid bug. 2000-07-09 10:31:47 +00:00
Sascha Schumann
277b0e15b8 (PHP session_destroy) return the error condition from storage handler's
session_destroy method.

Submitted by: juhl@eisenstein.dk
2000-07-05 01:26:22 +00:00
Stanislav Malyshev
4d1f03839c Fix couple of crashes on error conditions
Make session_module_name really work
2000-07-02 16:27:39 +00:00
Stanislav Malyshev
1d46433bfa Try to fix #5271 - crash when $HTTP_SESSION_VARS is already defined
via "global"
# I'm not sure it's fastest fix possible, but at least it should remove the
# crash
2000-06-29 13:09:27 +00:00
Sascha Schumann
50595370e0 Cosmetic name change 2000-06-27 23:09:49 +00:00
Egon Schmid
d049d4a6bd Fixed protos. 2000-06-23 17:37:49 +00:00
Andrei Zmievski
1868bfdcdf (php_wddx_deserialize_ex) return SUCCESS/FAILURE
Use that return value in WDDX session deserializer.
2000-06-09 03:00:02 +00:00
Sascha Schumann
764747ec7f The default serializer is still php. 2000-06-09 00:26:56 +00:00
Sascha Schumann
0f06ad29a6 Automatically recover from a failed attempt to decode a session object.
PR: #4886
2000-06-09 00:23:20 +00:00
Sascha Schumann
1326e17536 Fix format strings. cache_expire's type was changed to long. 2000-06-08 23:42:04 +00:00
Andi Gutmans
3701bc4207 - ARG_COUNT(ht) -> ZEND_NUM_ARGS() mega patch 2000-06-05 19:47:54 +00:00
Zeev Suraski
4a1da8b6f9 Fix Win32 build 2000-06-04 22:00:17 +00:00
Sascha Schumann
a982eb2267 `len' is not the actual length of the string, but the possible maximum
length. This fixes a couple of problems, like not setting the cookie path
correctly.
2000-05-29 15:07:19 +00:00
Andi Gutmans
8c82566b48 - Fix problem in sessions module under Win32. Need to use ; as an options
- delimiter in save_path instead of :.
2000-05-27 16:38:49 +00:00
Zeev Suraski
9bfd5e5e55 Save more overhead. Look for the serializer/save_handler only when they're actually modified. 2000-05-26 13:02:11 +00:00
Zeev Suraski
fb69f854af Use the INI framework in the session module 2000-05-26 11:12:49 +00:00
Hartmut Holzgraefe
df4547a3df another bunch of proto fixes 2000-05-23 23:13:02 +00:00
Sascha Schumann
2aaa538aef Use reentrant version of readdir. If the target platform does not support
the POSIX-like readdir_r, we fall back to readdir. In ZTS mode, this will
cause php_readdir_r calls to be serialized.
2000-05-23 15:13:16 +00:00
Andi Gutmans
521f03c184 - Support virtual unlink() 2000-05-23 14:36:27 +00:00
Sascha Schumann
4686a3b50e Use #ifdef COMPILE_DL_EXTNAME solely. 2000-05-23 09:33:51 +00:00
Zeev Suraski
e043439ff6 Update the license with the new clause 6 2000-05-18 15:34:45 +00:00
Sascha Schumann
6baa5bc2dc Complain, if write(2) failed. 2000-05-15 13:50:39 +00:00
Sascha Schumann
4a658e8b51 Drop slower strchr in favor of memchr. 2000-05-15 09:55:03 +00:00
Andrei Zmievski
d8f2900589 Updates for changed WDDX API. 2000-05-04 20:29:36 +00:00
Sascha Schumann
d0f3764ee2 Change reentrancy API to always use the php prefix.
Check for the declaration of reentrant functions, so that we can use
them in non-ZTS mode on all platforms.
2000-05-04 10:38:17 +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
fe50664d4d #if COMPILE_DL
becomes

    #if defined(COMPILE_DL) || defined(COMPILE_DL_EXTENSION_NAME)
2000-05-02 00:44:35 +00:00
Sascha Schumann
0d383d9373 Replace the various get_module() functions with a uniform
ZEND_GET_MODULE(name) macro.
2000-05-02 00:30:36 +00:00
Sascha Schumann
7613e064f8 Remove trailing empty lines 2000-05-01 22:38:42 +00:00
Sascha Schumann
0d36199cf9 Large test commit IV 2000-05-01 22:04:52 +00:00
Sascha Schumann
de2cea47c0 Large commit test III 2000-05-01 22:00:09 +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
Andi Gutmans
5d5b09e1a7 - Change some open's to V_OPEN()'s 2000-04-30 19:01:17 +00:00
Sascha Schumann
953fe189da Overall UNIX build system improvements:
* Makefile header is now completely dynamic
* Absolute paths in (top_)?(src|build)dir and VPATH
  (fixes Tru64 support)
* VPATH does not contain variables anymore
  (fixes UnixWare support)
2000-04-30 03:20:09 +00:00
Zeev Suraski
3220bb570e - Fix an invalid trick (it was valid when header() was using
zend_get_parameters(), but it became invalid when someone switched it
  to zend_get_parameters_ex(), and I decided to remove it anyway).
- Remove a redundant function call
2000-04-28 13:03:13 +00:00
Zeev Suraski
883bd2b1de - Fix virtual cwd bug
- Add more V_STAT() V_LSTAT() changes
2000-04-20 17:24:01 +00:00
Colin Viebrock
a7c8bfb9fb phpinfo() prettying 2000-04-06 21:07:44 +00:00
Andi Gutmans
f9547241d5 - Fix another bug in session.c
- Start using the new PHP_GETCWD() and co. macros
2000-03-30 22:38:50 +00:00
Andi Gutmans
69a16e9693 - Fix compile bug in session_get_cookie_params() 2000-03-30 22:21:23 +00:00
Sterling Hughes
ec9aae474a #Stylistic changes. 2000-03-30 20:02:21 +00:00
Sterling Hughes
149e6181e5 @-added session_get_cookie_params (sterling) 2000-03-30 18:50:09 +00:00
Sascha Schumann
f50de70308 GC now prints out how many session objects were removed 2000-03-29 20:37:29 +00:00
Sascha Schumann
af9a852bf1 Improved error messages 2000-03-29 20:37:12 +00:00
Thies C. Arntzen
a692f15568 @- session_start() is now more verbose if headers cannot be send. (Thies) 2000-03-29 09:36:27 +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
31803785fd These should not be exported 2000-03-27 22:40:49 +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
04daa555aa Add MSIE 5-specific Cache-Control fields 2000-03-26 00:43:56 +00:00
Andrei Zmievski
ac7d60ecec Changed HTTP_STATE_VARS to HTTP_SESSION_VARS.
@ Changed $HTTP_STATE_VARS to $HTTP_SESSION_VARS. Use only the latter
@ version now! (Andrei)
2000-03-13 15:49:13 +00:00
Andi Gutmans
909f3af8dc - Weird that this wasn't caught earlier 2000-03-10 08:34:13 +00:00
Andrei Zmievski
5f883e802a Anything in $HTTP_SESSION_VARS[] is auto-registered, if register_globals
is turned off.
2000-03-08 14:57:26 +00:00
Stig Bakken
d02fe90b00 Change extension names in all extensions' zend_module_entry to their
directory name.
2000-03-06 18:44:01 +00:00
Andrei Zmievski
898ff287f2 Need to pass PLS_DC. 2000-03-06 14:37:48 +00:00
Andrei Zmievski
29c133f11d (php_get_session_var)
The variables are now serialized either from globals or from
$HTTP_STATE_VARS[] array, depending on register_globals and track_vars
settings.
2000-03-06 14:36:11 +00:00
Andrei Zmievski
fd629e6ee0 (php_set_session_var)
$foo and $HTTP_SESSION_VARS["foo"] are no longer references to the same
value.
2000-02-28 16:00:46 +00:00
Zeev Suraski
bf5cb890b0 - Convert 'PHP3' to 'PHP'
- Avoid declaring crypt() related salt types twice
2000-02-26 03:20:55 +00:00
Egon Schmid
971a6f1702 More protos. 2000-02-24 15:11:09 +00:00
Sascha Schumann
67f6945e8a Revert part of the last commit 2000-02-22 22:52:14 +00:00
Sascha Schumann
3b74bbe999 Print out a warning, if writing the session data failed. This might
happen in a request shutdown handler; php_error() worked for me in the
CGI version.
2000-02-22 14:44:29 +00:00
Andrei Zmievski
e9abf023b4 Typo. 2000-02-22 14:23:09 +00:00
Zeev Suraski
86fa2aade2 the pipe is breaking all the time 2000-02-19 23:41:32 +00:00
Zeev Suraski
80bdd19e03 Fine tune Andi's patch 2000-02-11 15:59:30 +00:00
Sascha Schumann
12d3e3d775 More cosmetic things 2000-02-11 13:41:30 +00:00