Sascha Schumann
8b78c78973
Disable pread/pwrite for now until we can clarify why it should be
...
impossible to write a check for a broken OS feature.
2002-10-01 19:19:10 +00:00
Sascha Schumann
856cd5e17a
The session extension ensures now that get_session_var can rely
...
on the state of $_SESSION/$HTTP_SESSION_VARS. It does not look up
symbols in the global symbol table anymore.
This was achieved by actually planting references between every
$_SESSION["x"] and $x, not only when restoring a session, but also
when registering a session variable (in a register_globals=1 context).
Upon registering a new variable, this memory leak continues to show
up, regardless of register_globals.
ext/session/session.c(272) : Freeing 0x0818F01C (12 bytes), script=test
Obviously, the newly allocated empty zval is not properly freed. If anyone
has any idea on how to fix that, please step forward.
2002-10-01 11:59:45 +00:00
Wez Furlong
7bcc97c82e
Add header file required for pread/pwrite (on my system at least).
2002-09-30 10:18:57 +00:00
foobar
5346391d16
ws fix
2002-09-29 19:28:12 +00:00
Ilia Alshanetsky
4c4d5a617b
Fixed a crash, which would occur when save_handler is invalid.
2002-09-29 18:33:14 +00:00
Ilia Alshanetsky
2af630f87d
Fixed bug #17281
2002-09-29 15:55:11 +00:00
Ilia Alshanetsky
1142e16075
Fixed bugs #16995 and #19392
2002-09-29 15:26:50 +00:00
Ilia Alshanetsky
57c91b571e
Fixed bug #11643
2002-09-26 18:12:27 +00:00
foobar
6b8480fab6
Fix bug: #14991 (changing session.use_trans_sid does not work in scripts)
2002-09-26 16:46:21 +00:00
Ilia Alshanetsky
7ae2196852
Fixed bugs #18167 & #16859
2002-09-25 13:26:03 +00:00
Sascha Schumann
03c07308d3
Improve error messages
2002-09-25 12:38:45 +00:00
Sascha Schumann
ff12826fc1
(php_get_session_var) Always return FAILURE if no data source was found.
...
Noticed by: Sebastian Bergmann
2002-09-23 14:04:50 +00:00
Sascha Schumann
e20c6c8e9c
Because track vars are always initialized, get_session_var failed
...
to work in the register_globals=1 case.
It is now possible again to store session variables in global vars.
2002-09-21 05:46:32 +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
Dan Kalowsky
65df9d5127
taking out the PWRITE calls too
2002-09-04 13:51:08 +00:00
Dan Kalowsky
31fe6a549f
This fixes Bug #19022 and #15983
2002-09-04 13:42:59 +00:00
Zeev Suraski
3b646f0e5d
Use mtime instead of atime, as we always update the session file anyway.
2002-08-17 20:32:26 +00:00
Zeev Suraski
900651b7ab
Make unset($_SESSION['foo']) actually remove the variable from the session,
...
if register_globals is off.
2002-08-15 21:44:44 +00:00
Dan Kalowsky
26986164b4
Correcting some english in the comment...
2002-08-15 19:32:08 +00:00
Yasuo Ohgaki
13a3dd7b77
Forgot to update source default.
2002-08-14 22:31:39 +00:00
foobar
29aae162e0
ws fix
2002-07-03 02:16:46 +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
dcf67c4433
This option enables administrators to make their users invulnerable to
...
attacks which involve passing session ids in URLs.
2002-06-12 08:18:36 +00:00
Markus Fischer
39f16dbc65
- Tell the user why his session doesn't work if he uses custom session_id()s.
2002-05-30 11:41:37 +00:00
Andrei Zmievski
1668570e4d
Changing email address.
2002-05-13 17:28:38 +00:00
Sascha Schumann
38ad391894
- Fix the way code was outcommented
...
- Remove unused STR_CAT macro
- Remove limits/tests based on unused macro
- Implement cache_limiter(private) using private_no_expire
2002-05-12 12:51:42 +00:00
Sander Roobol
375d7960a7
Revert Preston's patch
2002-05-09 20:02:47 +00:00
Preston L. Bannister
9fdec2e345
Change default directory for session data from /tmp (non-portable) to none.
...
Default directory for session data (if not specified) is same (platform-specific) directory used for temporary files.
This is backwards compatible and removes the need for explicitly specifying the session.save_path on Win32.
2002-05-09 19:42:00 +00:00
Thies C. Arntzen
23251ebd1a
re-add accidentily nuked session_adapt_url()
2002-05-05 16:39:49 +00:00
Sascha Schumann
9743860d35
simplify handling of variables by maintaining two strings which
...
are simply appended instead of traversing the hash table on each
URL/form.
also fix an unconditional segfault in rshutdown due to efree'ing
a static char *.
remove remove_var, add reset_vars. move the function declarations
into the right header file.
2002-05-04 18:33:13 +00:00
Sascha Schumann
9517ff0689
Fix --enable-session=shared
2002-05-04 16:48:48 +00:00
Sebastian Bergmann
8193ca7891
Fix ZTS build.
2002-05-03 08:10:43 +00:00
Thies C. Arntzen
9712a4b3c8
@ - Added output_add_rewrite_var() and output_remove_rewrite_var() to inject
...
@ and remove variables from the URL-Rewriter. (thies)
i have also modified the session module to use this - so it doesn't
need to fiddle with the output-system any more
2002-05-03 08:00:41 +00:00
Thies C. Arntzen
42158ef7c8
revert session_set_userdata - diffent patch will come shortly
2002-04-28 11:45:45 +00:00
Thies C. Arntzen
eb105693b8
@ - added session_set_userdata() which enables you to specify one variable
...
@ that will be kept in the browser in addition to the session-id. This
@ only works when using trans-sid sessions (no cookie). (thies)
2002-04-27 14:07:52 +00:00
Sascha Schumann
2b07dd4fe3
three less strlen invocations
2002-04-26 21:27:38 +00:00
Sascha Schumann
1d22766fb1
Add #ifdef.. around F_SETFD.
2002-04-23 19:58:31 +00:00
Sascha Schumann
5a83ad6dc1
Set the close-on-exec flag for fds. Child processes should not inherit
...
the fd.
Also rip out the broken O_EXCL use. Our file names are not unique and
this left a small window open where creating a session file would fail
(a, b notice that the file does not exist; a creates the file successfully;
b tries to create, but fails due to O_EXCL).
2002-04-22 20:39:24 +00:00
Yasuo Ohgaki
c1ae59c588
Fixed file include error
2002-04-19 07:55:24 +00:00
Sascha Schumann
3a3acee3c9
- Proper use of underscores (s/createsid/create_sid/)
...
- Bump the API date and remove extra cpp macro
- Pass TSRMLS appropiately to the create_sid function
2002-03-30 16:29:15 +00:00
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
jim winstead
d3400b2b5f
the 'setup' script was removed more than two years ago.
...
these can be safely removed from the 4.2 branch, too.
2002-03-16 00:21:40 +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
Yasuo Ohgaki
e0867ffcf1
Add missing skipif.inc
2002-03-12 05:42:43 +00:00
foobar
131f125fdd
whitespace..
2002-03-09 00:24:42 +00:00
Sander Roobol
58a52f93bc
Fixed many tests, mostly incorrect paths.
2002-03-08 19:16:19 +00:00
Sascha Schumann
d62c336cf2
These tests currently depend on register_globals=1
2002-03-07 20:51:27 +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
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
0c69739feb
Did not revert back enough.
...
This patch does not make sense, because it enforces the existence
of a single directory.
2002-03-06 12:25:01 +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
d36ddb5a9f
Fixed typo :)
2002-03-06 09:01:13 +00:00
Yasuo Ohgaki
ae3edadca6
Use static mm file save path. Now we can safely stop web server at start up when there is an error. Older mm uses static mm file path anyway.
2002-03-06 08:54:55 +00:00
Yasuo Ohgaki
0010418ea7
Fix crash bug #14232
2002-03-06 07:49:49 +00:00
Yasuo Ohgaki
da977f8251
Make php start even with wrong save_path.
2002-03-06 06:29:43 +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
782462a4ca
More TSRM work
2002-03-06 00:12:48 +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
bc383c2eab
Fixed crash with mm save handler
2002-03-05 23:45:50 +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
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