Bugs php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login

go to bug id or search bugs for

Bug #21880 socket_read does not stop at line breaks
Submitted: 2003年01月25日 18:30 UTC Modified: 2003年02月05日 18:32 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: talmage at usi-rpg dot com Assigned:
Status: Not a bug Package: Sockets related
PHP Version: 4.3.0 OS: Linux
Private report: No CVE-ID: None
[2003年01月25日 18:30 UTC] talmage at usi-rpg dot com
I followed the instructions on all the manuals and tried searching the inet, but couldent find anything that solved this.
I have a socket that is supposed to read from a client (this is a smtpd server-type script)..
When I use 
while ($line = socket_read($my_socket,2048,PHP_NORMAL_READ)) {
stuff
}
I can connect to this server via win32 putty, and it will break on line breaks. But when using Linux telnet and trying to get other smtpd's to send to it, they would have to send 2048 bytes to get stuff to execute once.
To make sure they were sending \r or \n I made the socket read go byte by byte and assemble a string, checking for \n or \r
 while($tstr = socket_read($connection,1)) {
 if (($tstr != chr(13)) && ($tstr != chr(10))) {
	 $buf .= $tstr;
 continue;
 }
^^Example of my byte-by-byte checker
It does find \r and \n in the strings and I am able to gte my server to work...
Would be nice if the built in function socket_read would really break on \n or \r.
If more information is needed, please ask....

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
[2003年02月05日 13:29 UTC] pollita@php.net
I've attempted to recreate this error under linux, win32, and irix and have gotten expected results each time. (socket_read returns after receiving a \n)
Can you provide a full and complete script which exhibits this behavior? ((As short and simple as possible while still reliably reproducing the bug))
[2003年02月05日 17:14 UTC] talmage at usi-rpg dot com
Well then, allow me to take my foot out of my mouth....I have been unable to recreate this error now, using the exact same script as I had before (the one that didnt work) now works.....
Thanks...and sorry for the confusion.
[2003年02月05日 18:32 UTC] pollita@php.net
Not Bug => Bogus.
Just dots the 'i's and crosses the 't's for statistics...
PHP Copyright © 2001-2025 The PHP Group
All rights reserved. Last updated: Sun Oct 19 04:00:01 2025 UTC

AltStyle によって変換されたページ (->オリジナル) /