Skip to content

Connection refused when connect /dev/socket/logdr socket #308

@chairwa

Description

@chairwa

Problem description
From within proot-distro login ubuntu-oldlts, I failed to connect /dev/socket/logdr socket.

Steps to reproduce
the test program:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <errno.h>

int main() {
    int sock;
    struct sockaddr_un addr;
    
    // create UNIX domain socket
    sock = socket(AF_UNIX, SOCK_SEQPACKET, 0);
    if (sock < 0) {
        printf("socket() failed: %s\n", strerror(errno));
        return 1;
    }
    
    // set socket addr
    memset(&addr, 0, sizeof(addr));
    addr.sun_family = AF_UNIX;
    strncpy(addr.sun_path, "/dev/socket/logdr", sizeof(addr.sun_path) - 1);
    
    // connect socket
    printf("try connect /dev/socket/logdr...\n");
    if (connect(sock, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
        printf("conn failed: %s (errno: %d)\n", strerror(errno), errno);
        close(sock);
        return 1;
    }
    
    printf("conn OK!\n");
    
    // close socket
    close(sock);
    return 0;
}

Expected behavior
connection OK

Additional information
the above code is OK in termux.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions