|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #21880 socket_read does not stop at line breaks
Submitted: 2003-01-25 18:30 UTC Modified: 2003-02-05 18:32 UTC
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)) {


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;

^^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....


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2003-02-05 13:29 UTC]
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]
Not Bug => Bogus.

Just dots the 'i's and crosses the 't's for statistics...
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Wed Aug 10 10:05:44 2022 UTC