Commit Graph

423 Commits

Author SHA1 Message Date
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