php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8283 Impossible to connect to socket made by other unix daemon...
Submitted: 2000-12-15 15:04 UTC Modified: 2001-03-06 06:57 UTC
From: roman at loveme dot spb dot ru Assigned:
Status: Closed Package: Sockets related
PHP Version: 4.0.3pl1 OS: FreeBSD 4.1-STABLE
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: roman at loveme dot spb dot ru
New email:
PHP Version: OS:

 

 [2000-12-15 15:04 UTC] roman at loveme dot spb dot ru
After creating local Unix (AF_UNIX) socket using other program daemon PHP script with function connect() is not able connect to this socket.

'./configure' '--prefix=/usr/local' '--with-system-regex' '--with-apache=/usr/ports/www/apache13-php3/work/apache_1.3.12' '--with-config-file-path=/usr/local/lib' '--disable-debug' '--enable-track-vars' '--with-gd=/usr/local' '--with-zlib' '--with-mysql=/usr/local' '--with-pgsql' '--with-ndbm' '--enable-wddx' '--includedir=/usr/local' '--enable-sockets'

PHP program text:

$sockfd=socket(AF_UNIX, SOCK_STREAM);
connect($sockfd, "/tmp/my_sock.sock");
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this cause the error

FreeBSD program:

main() {

	struct sockaddr_un  serv_addr;
    	int                 addrlen, old_umask;
        int sockfd, ns;

	sockfd=socket(AF_UNIX, SOCK_STREAM, 0);
	unlink("/tmp/my_sock.sock");

	old_umask=umask(0);

    	bzero(&serv_addr, sizeof(serv_addr));
    	serv_addr.sun_family=AF_UNIX;
    	strcpy(serv_addr.sun_path, "/tmp/my_sock.sock");
    	addrlen=sizeof(serv_addr.sun_family)+strlen(serv_addr.sun_path)+1;
    	bind(sockfd, (struct sockaddr *)&serv_addr, addrlen);
    	listen(sockfd, MAX_USERS);
	umask(old_umask);
  	ns=accept(sockfd, (struct sockaddr *)&clnt_addr, &addrlen));


}

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-12-19 06:34 UTC] stas@php.net
Works for me on Linux.
Note that socket accepts three parameters (0 for the third
should be a safe bet).

If it doesn't work for you still, please describe which
errors it gives (result codes of socket and connect).
 [2001-03-06 06:57 UTC] stas@php.net
No feedback, closing.
 
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Thu Jan 23 05:01:24 2020 UTC