X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AD6003857B8E
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1686049534;
	bh=+j0fuTl7nRoREV3/46wRvHxYdHjm3QsgNomLoZvRC4M=;
	h=Date:To:Subject:References:List-Id:List-Unsubscribe:List-Archive:
	 List-Post:List-Help:List-Subscribe:From:Reply-To:From;
	b=vtCzjjEfteF/RmsSJITXFIzJEakx1WSYOeKsZf/DDI9DSP1HmzaBwwIBBpn5U4YEw
	 MhYwkyLWrdafNFbfqx2ZV61qlQl+iDLI+vqvgtWlT7OOLHfRF13lu+miJ/U322kUNb
	 EhNyE3JH9Ah9OIwLQlR+Zr6JO3igg0B219Cay2H4=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D6BAC3858D33
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1686049517; bh=MMHOhAiIuwmYy5FKdSfSnqd1+LJBza1Np+a1bGG3lsr=;
 h=X-Sonic-MF:Date:From:To:Subject:From:Subject;
 b=naNxl9Xu++zcw1iuLJKaSS1Shzc/HKcAeRuIlNxN/Ky+X7qy21BiwDKSMg540pYxsKPnMg5qktZNr72mNEIjU7+12p2GxjeumNQgzN0d/6KTk9wL5ZiJw72+smzaHoT3gJOnT5k8NM2klV8RSWUZ/7WTenQKtzZvAVNerET78mTJP5QYEhwXwOdofxpp5P1phbOsDVj9pxfAAKwY2VKYq5QzyIqoUHTDAU/zUY2oQ7rDsAXuvVK2CaiMx7O7yVSPguhUdXcPglwpHZED32izxYEos8Qhk488IVraUdY8JthUjRqaOOs/SYrbqIUlIDhRQbLM8HW1jXNMUKMH29fnzQ==
X-YMail-OSG: cJ9zin0VM1mwb9HTETKjY34IhNzviiLdq475ZFKdIMyjq2tSxnWVM1BaGXiCk84
 m1Oy_9qmkUuLMQJu9WK49fdD5n0EkonZJB3WK67wvcJ1zhXd6z5Zx2ZSpfa_bgm7xehKhaFbyxmu
 HDb0TxREye9z7OponqqAnFVB5ombjBA1qB4V1n60VOs8LOqKo0LVNqe5Hd6FLfpkGBJAAUXeQryQ
 .bKPM2LmIZYQTPzj1BuLnRiQBJlYPUxfJ3hbPh2rNK6QOGPzUK4Ym.vGSxsf2kU_6W2gNJlAyMQi
 giXF6KK25LVbOtMLqXdwcTIwSa2t688FJKMSFWZVOAAXRMUj53SG81jpfYIYwAX._5kqIbuofAID
 pXXv9bZ_fvWWgPkFHExs6eCB432EW5ocazdSp._.rpiDcNt5IebtMO4w.GdDvz1nfukpRrGszua7
 hoPAY1YmlOeWr.CgNQcd2E8OPlNf.yz1co8IhcVjaxAQ5hr8wNQrrbdzFm6A7BKLcTNe.MmYXB7d
 8gtUCB4P_6Xj_7erMrCbHvYBFgfPA8V0RdvVr.wpE4CYQXRPvGU6Qhn_FtnPBkGakOdcvt97rLuy
 AkPBb_Yr9rPYpawpGNpnL9i.34Mdp93Cx8.coQbmy.8sU2dKgBgwotcSry1qdYWGOrcbH0AXMLuq
 f2Ydi1gBbpILMUmS7n_aebZpZmtmuPHaEofJaKTYCqXXUkDpR_7o7HkCPoBwkwKOTRgwzAXIBOlx
 dV7sNjK8WudYH133uNQJJUAeb41XtYbEWjtm_M1zLAFBgepe1HxfUSH7RlvZj2kXR.OyPdEm4QbG
 Bmpi22ScEUJtnhP3bhHhicGs6fnVA9Biymf8T9jdCQulhZsT6aU.I1U713Mli.vyfdF.IBzq5f.0
 QkSGkgF_V8UNegpLIAEoqvAl9D73Mjje79dFzfAMq10MR.P46MqPQwvds2dbg0cW2rFbse.j80fv
 _HnlmxE8F8ITwatpO7NGWFdamDCLYGK9s24o1q2TA_.Q3s7B9hi5XC8FjQ5skNTccyTdmHagFV4W
 fvLnYbyd97pn_vlV1UWcwDdrHvDOZOw6ancsvopgbvM8diIMGApTZ35UC8OST34yHIkIsfN3sG8g
 vZSeHFRtO3laZ33tpXgAFJTRZaLGWECa6FjY7n8K8cEgNByWh7O2zPDQH39oJRJgIXtaWqOuUnoY
 F3I7gKjJ6BKCUNEJiUi41brXzS321i6BltQ.Wz0_TnI4Z4WGnUw_v6u6nM0P76VKnounDLqeS9J7
 IJys.q_Ww_pemVRbN9TMXo0v9pEIasjEn6_PfN2mOUDmg.kJVJrSpNJnfmuiMv9hjkb1CtG8JkU1
 Itax6Jiuf6kfK9mohbWswBDfMmOjrNQjJmzY6qa.fimJso9HZkhPOFtNVqrE822y0AwRuAg0cf6Y
 mN4U.HniAQLMdw8AUDsHdhvFPvqay_9iUyl9sp4Y3tm.00YaWXgr0FbNYh2eYzKchpv0TNoU1zf7
 BE85a90djmzrvV0QsIQWUmgWjjDh9wgjsnyGyQqE6bsPM8lPt3jNjWqrGSZVVCtRdH3KKJwicuD_
 yuuKrPhj_rbwKhXr39ewuH.z87CJblMM7hEPLpTgPlb4uoEdzgZiuIw9C7Xjig6sdtyGJgQKXLcB
 4srZ4cw9D1.0P77vOcdoN0FTAIvQ.qOZBMpA0WAEL5L0giu2ZnxpETlvciGaLwovJ2QoNxVe2sGV
 RpzQyyTETdBF7cZ8JVXcjOtREDSAcqRH8ijV_s_PHfEY0tOI0Qc.GoEQR40PmkUJ3PHsMJ6p1Txa
 ZrLZ5slUNVBd65rRTPCoAOt2VCk4GK1LP1yDQl84kQFGh4_0TAQgQWoehySGN_NPG0LAj08FUVY2
 wFzx8KUfJTdxu8n8Owx_33fLKR.BorhLdAfRnMkcc.LpA2ro10T4izBk9P7A5ZZRFQ7VfkoOu.bn
 7C.WcKnWdjaFUATGtFtogvp7Kd2jtsvjsglUefLWOZxMB_Tc8MAJ1X_XIGAd06bNV6owo7kZu9eI
 IaH0EwgLKgbZAP_nJ1FOezicYo1D9AkWaYtnokkPgr07G988d.jpE3FGAOqIkZROooj81Jjjvwpp
 d3iWfLB7JzD_Lwqz1.MAJ08f1BW.V8qxU03nzIHy0fWE486ObYWH9jCt.XLlKtGeQZqBwVbpWpGE
 y_oPesGaosYms85EtyCMjqs6VAH6rbvLXIJlvGbE8M6jP0lwGXfcIg3.H256kCngkHgqe1_TBYCb
 VFRD_n4gkm4NmU_Hs4NeeJZ_OXdA-
X-Sonic-MF: <spk121@yahoo.com>
X-Sonic-ID: b1a063f3-da52-410a-a1ea-94a30e106b1b
Date: Tue, 6 Jun 2023 11:01:20 +0000 (UTC)
To: "cygwin@cygwin.com" <cygwin@cygwin.com>
Message-ID: <1010129621.187968.1686049280947@mail.yahoo.com>
Subject: On abstract sockets
MIME-Version: 1.0
References: <1010129621.187968.1686049280947.ref@mail.yahoo.com>
X-Mailer: WebService/1.1.21516 YMailNorrin
X-Spam-Status: No, score=0.3 required=5.0 tests=BAYES_00, DKIM_SIGNED,
 DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT,
 FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS,
 TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Mike Gran via Cygwin <cygwin@cygwin.com>
Reply-To: Mike Gran <spk121@yahoo.com>
Content-Type: text/plain; charset="utf-8"
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 356B60wx032761

Hello Cygwin-

I just wanted to double-check my understanding that binding
an abstract socket (a NULL-prefixed filename) is not currently
supported on Cygwin. I think there used to be some sort
of emulation of abstract sockets, but, that's not true anymore,
right?

With the sample program below, bind for AF_UNIX traces into
fhandler_socket_local::bind, since AF_UNIX == AF_LOCAL.

fhandler_socket_local::bind copies the NULL-prefixed abstract
name using 

  strncpy (sun_path, un_addr->sun_path, len);

which truncates sun_path to be an empty string. Searching
for the existence of the empty path causes errno ENOENT.

Also, it seems unclear if winsock2 sockets supports abstract sockets
anyway.

Thanks,
Mike Gran

// tmp.c
#include <sys/socket.h>
#include <sys/un.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{
    int s;
    struct sockaddr_un name;
    int ret;

    s = socket(AF_UNIX, SOCK_STREAM, 0);
    if (s == -1) {
        perror("socket");
        exit(1);
    }

    const char path[5] = { 0, 'f', 'o', 'o', 0};
    memset(&name, 0, sizeof(name));    
    name.sun_family = AF_UNIX;
    memcpy(name.sun_path, path, sizeof(path));
    
    ret = bind(s, (const struct sockaddr *) &name, 2 + sizeof(path));
    if (ret == -1) {
        perror("bind");
        exit(1);
    }
    return 0;
}

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

