Mark L. Woodward
346d74a146
Added field to ps_module structure to hold function pointer for the creation
...
of the session ID string. Default PS_MOD() macro sets this to be the default
creation routine. PS_MOD_SID() macro sets this to a handlers session ID
creation routine.
2002-03-29 16:00:27 +00:00
Sascha Schumann
730800a96d
Because of the feature "don't try to send a cookie, if the sid
...
was contained in get/post variables" (which I still am not convinced
of completely), we need a separate variable which determines whether
to define SID in the event that a cookie was not sent.
Noticed by: Matt Allen
2002-03-13 13:08:49 +00:00
foobar
131f125fdd
whitespace..
2002-03-09 00:24:42 +00:00
Sascha Schumann
b5660126d0
Do the estrdups after checking for parameter constraints.
...
No real memory leaks though, because they are catched by the
memory manager.
2002-03-06 12:34:47 +00:00
Sascha Schumann
0bf5fc14be
SID shall be defined to name=id, if the client did not supply
...
a cookie.
2002-03-06 12:12:39 +00:00
Sascha Schumann
8141c7761c
Merge in session API changes (carry around tsrm context)
...
Now PHP_SESSION_API is defined to the date of the last change,
so that externa source-code can handle changes more gracefully.
2002-03-06 11:49:51 +00:00
Sascha Schumann
398b1011dc
Always initialize the track-vars
2002-03-06 11:41:17 +00:00
Sascha Schumann
ca59cb7cf9
Weep out all recent commits of Yasuo.
...
I don't have time right now to leave in the good ones and remove
only the bad ones.
There are some semantical changes which I reject, because
they aim at fixing a bug which is at a completely other location.
Then SID does not gefined anymore properly. (This broken patch
has not been sent to me at all.)
Also, there were *so* many whitespace changes which already
make these commits bogus.
2002-03-06 09:02:31 +00:00
Yasuo Ohgaki
92facba86f
Oops. Fix compile failure
2002-03-06 00:42:39 +00:00
Yasuo Ohgaki
a2fecc2d79
Using session_save_path() after starting session is obvious error.
...
Riase E_NOTICE error instead of E_WARNING. Since it is valid if
user uses session_save_path() with session_module_name().
2002-03-06 00:40:42 +00:00
Yasuo Ohgaki
09e6133e84
Return FALSE when session_module_name() failed. Fix a little leak.
2002-03-06 00:34:57 +00:00
Yasuo Ohgaki
b17fd60310
Raise error when session module failed to open or read
2002-03-06 00:26:38 +00:00
Yasuo Ohgaki
4042334882
Remove TSRMLS_FETCH() and use TSRMLS_C/TSRMLS_D
...
# Need a little more work for backword compatibility
2002-03-06 00:05:21 +00:00
Yasuo Ohgaki
d809d046df
Fix bug #15322 and fix a little memory leak
2002-03-05 23:37:00 +00:00
Zeev Suraski
1c3c40a339
Make $_SESSION and $HTTP_SESSION_VARS links to each other
2002-03-05 22:06:35 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
Zeev Suraski
6f297a370a
Fix Windows build
2001-07-20 14:40:30 +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
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
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
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
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
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
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
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
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
Sascha Schumann
667a1f1fdb
buf is gone. Don't reference it.
2001-03-13 17:11:43 +00:00