summaryrefslogtreecommitdiffstats
path: root/po/fr/man7/sock_diag.7.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/fr/man7/sock_diag.7.po')
-rw-r--r--po/fr/man7/sock_diag.7.po269
1 files changed, 235 insertions, 34 deletions
diff --git a/po/fr/man7/sock_diag.7.po b/po/fr/man7/sock_diag.7.po
index 99de520c..54726c03 100644
--- a/po/fr/man7/sock_diag.7.po
+++ b/po/fr/man7/sock_diag.7.po
@@ -18,9 +18,9 @@
# Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>, 2021.
msgid ""
msgstr ""
-"Project-Id-Version: manpages-fr\n"
-"POT-Creation-Date: 2024-03-01 17:08+0100\n"
-"PO-Revision-Date: 2023-06-16 17:53+0200\n"
+"Project-Id-Version: manpages-l10n 4.22.0\n"
+"POT-Creation-Date: 2024-06-01 06:23+0200\n"
+"PO-Revision-Date: 2024-04-24 13:49+0200\n"
"Last-Translator: Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"Language: fr\n"
@@ -38,16 +38,16 @@ msgid "sock_diag"
msgstr "sock_diag"
#. type: TH
-#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#: archlinux debian-unstable opensuse-tumbleweed
#, no-wrap
-msgid "2023-10-31"
-msgstr "31 octobre 2023"
+msgid "2024-05-02"
+msgstr "2 mai 2024"
#. type: TH
-#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#: archlinux debian-unstable
#, no-wrap
-msgid "Linux man-pages 6.06"
-msgstr "Pages du manuel de Linux 6.06"
+msgid "Linux man-pages 6.8"
+msgstr "Pages du manuel de Linux 6.8"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
@@ -1219,17 +1219,7 @@ msgstr ""
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct unix_diag_req {\n"
-#| " __u8 sdiag_family;\n"
-#| " __u8 sdiag_protocol;\n"
-#| " __u16 pad;\n"
-#| " __u32 udiag_states;\n"
-#| " __u32 udiag_ino;\n"
-#| " __u32 udiag_show;\n"
-#| " __u32 udiag_cookie[2];\n"
-#| "};\n"
+#, no-wrap
msgid ""
"struct inet_diag_msg {\n"
" __u8 idiag_family;\n"
@@ -1246,14 +1236,19 @@ msgid ""
" __u32 idiag_inode;\n"
"};\n"
msgstr ""
-"struct unix_diag_req {\n"
-" __u8 sdiag_family;\n"
-" __u8 sdiag_protocol;\n"
-" __u16 pad;\n"
-" __u32 udiag_states;\n"
-" __u32 udiag_ino;\n"
-" __u32 udiag_show;\n"
-" __u32 udiag_cookie[2];\n"
+"struct inet_diag_msg {\n"
+" __u8 idiag_family;\n"
+" __u8 idiag_state;\n"
+" __u8 idiag_timer;\n"
+" __u8 idiag_retrans;\n"
+"\\&\n"
+" struct inet_diag_sockid id;\n"
+"\\&\n"
+" __u32 idiag_expires;\n"
+" __u32 idiag_rqueue;\n"
+" __u32 idiag_wqueue;\n"
+" __u32 idiag_uid;\n"
+" __u32 idiag_inode;\n"
"};\n"
#. type: TP
@@ -1840,6 +1835,200 @@ msgid ""
" return ret;\n"
"}\n"
msgstr ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>linux/netlink.hE<gt>\n"
+"#include E<lt>linux/rtnetlink.hE<gt>\n"
+"#include E<lt>linux/sock_diag.hE<gt>\n"
+"#include E<lt>linux/unix_diag.hE<gt>\n"
+"\\&\n"
+"static int\n"
+"send_query(int fd)\n"
+"{\n"
+" struct sockaddr_nl nladdr = {\n"
+" .nl_family = AF_NETLINK\n"
+" };\n"
+" struct\n"
+" {\n"
+" struct nlmsghdr nlh;\n"
+" struct unix_diag_req udr;\n"
+" } req = {\n"
+" .nlh = {\n"
+" .nlmsg_len = sizeof(req),\n"
+" .nlmsg_type = SOCK_DIAG_BY_FAMILY,\n"
+" .nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP\n"
+" },\n"
+" .udr = {\n"
+" .sdiag_family = AF_UNIX,\n"
+" .udiag_states = -1,\n"
+" .udiag_show = UDIAG_SHOW_NAME | UDIAG_SHOW_PEER\n"
+" }\n"
+" };\n"
+" struct iovec iov = {\n"
+" .iov_base = &req,\n"
+" .iov_len = sizeof(req)\n"
+" };\n"
+" struct msghdr msg = {\n"
+" .msg_name = &nladdr,\n"
+" .msg_namelen = sizeof(nladdr),\n"
+" .msg_iov = &iov,\n"
+" .msg_iovlen = 1\n"
+" };\n"
+"\\&\n"
+" for (;;) {\n"
+" if (sendmsg(fd, &msg, 0) E<lt> 0) {\n"
+" if (errno == EINTR)\n"
+" continue;\n"
+"\\&\n"
+" perror(\"sendmsg\");\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" return 0;\n"
+" }\n"
+"}\n"
+"\\&\n"
+"static int\n"
+"print_diag(const struct unix_diag_msg *diag, unsigned int len)\n"
+"{\n"
+" if (len E<lt> NLMSG_LENGTH(sizeof(*diag))) {\n"
+" fputs(\"short response\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+" if (diag-E<gt>udiag_family != AF_UNIX) {\n"
+" fprintf(stderr, \"unexpected family %u\\en\", diag-E<gt>udiag_family);\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" unsigned int rta_len = len - NLMSG_LENGTH(sizeof(*diag));\n"
+" unsigned int peer = 0;\n"
+" size_t path_len = 0;\n"
+" char path[sizeof(((struct sockaddr_un *) 0)-E<gt>sun_path) + 1];\n"
+"\\&\n"
+" for (struct rtattr *attr = (struct rtattr *) (diag + 1);\n"
+" RTA_OK(attr, rta_len); attr = RTA_NEXT(attr, rta_len)) {\n"
+" switch (attr-E<gt>rta_type) {\n"
+" case UNIX_DIAG_NAME:\n"
+" if (!path_len) {\n"
+" path_len = RTA_PAYLOAD(attr);\n"
+" if (path_len E<gt> sizeof(path) - 1)\n"
+" path_len = sizeof(path) - 1;\n"
+" memcpy(path, RTA_DATA(attr), path_len);\n"
+" path[path_len] = \\[aq]\\e0\\[aq];\n"
+" }\n"
+" break;\n"
+"\\&\n"
+" case UNIX_DIAG_PEER:\n"
+" if (RTA_PAYLOAD(attr) E<gt>= sizeof(peer))\n"
+" peer = *(unsigned int *) RTA_DATA(attr);\n"
+" break;\n"
+" }\n"
+" }\n"
+"\\&\n"
+" printf(\"inode=%u\", diag-E<gt>udiag_ino);\n"
+"\\&\n"
+" if (peer)\n"
+" printf(\", peer=%u\", peer);\n"
+"\\&\n"
+" if (path_len)\n"
+" printf(\", name=%s%s\", *path ? \"\" : \"@\",\n"
+" *path ? path : path + 1);\n"
+"\\&\n"
+" putchar(\\[aq]\\en\\[aq]);\n"
+" return 0;\n"
+"}\n"
+"\\&\n"
+"static int\n"
+"receive_responses(int fd)\n"
+"{\n"
+" long buf[8192 / sizeof(long)];\n"
+" struct sockaddr_nl nladdr;\n"
+" struct iovec iov = {\n"
+" .iov_base = buf,\n"
+" .iov_len = sizeof(buf)\n"
+" };\n"
+" int flags = 0;\n"
+"\\&\n"
+" for (;;) {\n"
+" struct msghdr msg = {\n"
+" .msg_name = &nladdr,\n"
+" .msg_namelen = sizeof(nladdr),\n"
+" .msg_iov = &iov,\n"
+" .msg_iovlen = 1\n"
+" };\n"
+"\\&\n"
+" ssize_t ret = recvmsg(fd, &msg, flags);\n"
+"\\&\n"
+" if (ret E<lt> 0) {\n"
+" if (errno == EINTR)\n"
+" continue;\n"
+"\\&\n"
+" perror(\"recvmsg\");\n"
+" return -1;\n"
+" }\n"
+" if (ret == 0)\n"
+" return 0;\n"
+"\\&\n"
+" if (nladdr.nl_family != AF_NETLINK) {\n"
+" fputs(\"!AF_NETLINK\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" const struct nlmsghdr *h = (struct nlmsghdr *) buf;\n"
+"\\&\n"
+" if (!NLMSG_OK(h, ret)) {\n"
+" fputs(\"!NLMSG_OK\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" for (; NLMSG_OK(h, ret); h = NLMSG_NEXT(h, ret)) {\n"
+" if (h-E<gt>nlmsg_type == NLMSG_DONE)\n"
+" return 0;\n"
+"\\&\n"
+" if (h-E<gt>nlmsg_type == NLMSG_ERROR) {\n"
+" const struct nlmsgerr *err = NLMSG_DATA(h);\n"
+"\\&\n"
+" if (h-E<gt>nlmsg_len E<lt> NLMSG_LENGTH(sizeof(*err))) {\n"
+" fputs(\"NLMSG_ERROR\\en\", stderr);\n"
+" } else {\n"
+" errno = -err-E<gt>error;\n"
+" perror(\"NLMSG_ERROR\");\n"
+" }\n"
+"\\&\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" if (h-E<gt>nlmsg_type != SOCK_DIAG_BY_FAMILY) {\n"
+" fprintf(stderr, \"unexpected nlmsg_type %u\\en\",\n"
+" (unsigned) h-E<gt>nlmsg_type);\n"
+" return -1;\n"
+" }\n"
+"\\&\n"
+" if (print_diag(NLMSG_DATA(h), h-E<gt>nlmsg_len))\n"
+" return -1;\n"
+" }\n"
+" }\n"
+"}\n"
+"\\&\n"
+"int\n"
+"main(void)\n"
+"{\n"
+" int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);\n"
+"\\&\n"
+" if (fd E<lt> 0) {\n"
+" perror(\"socket\");\n"
+" return 1;\n"
+" }\n"
+"\\&\n"
+" int ret = send_query(fd) || receive_responses(fd);\n"
+"\\&\n"
+" close(fd);\n"
+" return ret;\n"
+"}\n"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
@@ -2418,16 +2607,22 @@ msgstr ""
"}\n"
#. type: TH
-#: debian-unstable opensuse-tumbleweed
+#: fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr "31 octobre 2023"
+
+#. type: TH
+#: fedora-40 mageia-cauldron
#, no-wrap
-msgid "2023-05-03"
-msgstr "3 mai 2023"
+msgid "Linux man-pages 6.06"
+msgstr "Pages du manuel de Linux 6.06"
#. type: TH
-#: debian-unstable opensuse-tumbleweed
+#: fedora-rawhide
#, no-wrap
-msgid "Linux man-pages 6.05.01"
-msgstr "Pages du manuel de Linux 6.05.01"
+msgid "Linux man-pages 6.7"
+msgstr "Pages du manuel de Linux 6.7"
#. type: TH
#: opensuse-leap-15-6
@@ -2440,3 +2635,9 @@ msgstr "30 mars 2023"
#, no-wrap
msgid "Linux man-pages 6.04"
msgstr "Pages du manuel de Linux 6.04"
+
+#. type: TH
+#: opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages (unreleased)"
+msgstr "Pages du manuel de Linux (non publiƩes)"