]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
libcli/smb: define SMB_TRANSPORT_TYPE_QUIC
authorStefan Metzmacher <metze@samba.org>
Thu, 3 Apr 2025 15:03:57 +0000 (17:03 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 17 Jul 2025 08:59:37 +0000 (08:59 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
libcli/smb/smb_util.h
source3/libsmb/smbsock_connect.c
source3/smbd/server.c
source3/utils/status_json.c
source4/smb_server/smb_server.c

index 6ec48625f059f5ee2b81f5cae14eeb2a1e8420b0..c3533a2d2e1a74ecbe175364ce3df8272267e4b6 100644 (file)
@@ -61,6 +61,7 @@ enum smb_transport_type {
        SMB_TRANSPORT_TYPE_UNKNOWN = 0,
        SMB_TRANSPORT_TYPE_NBT,
        SMB_TRANSPORT_TYPE_TCP,
+       SMB_TRANSPORT_TYPE_QUIC,
 };
 
 struct smb_transport {
index 482f9d89613c8ba010cdba794dc87bd572d8e749..734d2a1a726703fde7230c686e9f56c73ccf4325 100644 (file)
@@ -469,6 +469,11 @@ struct tevent_req *smbsock_connect_send(TALLOC_CTX *mem_ctx,
                        break;
                case SMB_TRANSPORT_TYPE_TCP:
                        break;
+               case SMB_TRANSPORT_TYPE_QUIC:
+                       /*
+                        * Not supported yet
+                        */
+                       continue;
                }
 
                s->req = req;
@@ -595,6 +600,14 @@ static bool smbsock_connect_submit_next(struct tevent_req *req)
                                        smbsock_connect_tcp_connected,
                                        s);
                break;
+
+       case SMB_TRANSPORT_TYPE_QUIC:
+               /*
+                * Not supported yet, should already be
+                * checked above.
+                */
+               smb_panic(__location__);
+               break;
        }
 
        if (s->subreq == NULL) {
index 1ad66ecbdbab032e51da1c2ac920d0cc4a252f4f..97d0fbbbc60f74be880e402ea5a10e20bb01ad8e 100644 (file)
@@ -1102,6 +1102,11 @@ static bool smbd_open_one_socket(struct smbd_parent_context *parent,
                protocol = IPPROTO_TCP;
                rebind = true;
                break;
+       case SMB_TRANSPORT_TYPE_QUIC:
+               /*
+                * Not supported yet
+                */
+               break;
        case SMB_TRANSPORT_TYPE_UNKNOWN:
                /*
                 * Should never happen
@@ -1207,6 +1212,12 @@ static bool open_sockets_smbd(struct smbd_parent_context *parent,
                case SMB_TRANSPORT_TYPE_NBT:
                        port = t->port;
                        break;
+               case SMB_TRANSPORT_TYPE_QUIC:
+                       /*
+                        * Unlikely to be useful
+                        * for mDNS registration
+                        */
+                       break;
                case SMB_TRANSPORT_TYPE_UNKNOWN:
                        /*
                         * Should never happen
index 22606439b78ef6e49e580437a5b7571ddd1cc5b8..ad25ed5d91b1e193ddff50c07687a86ceb80eb11 100644 (file)
@@ -340,6 +340,9 @@ static int add_channel_to_json(struct json_object *parent_json,
        case SMB_TRANSPORT_TYPE_TCP:
                transport_str = "tcp";
                break;
+       case SMB_TRANSPORT_TYPE_QUIC:
+               transport_str = "quic";
+               break;
        }
 
        if (transport_str == NULL) {
index c52e8fe721e4f20755fdcf0e6ea5174dcc300fa2..cf0d3b83104ce0cdec61a65e988dc73b8f0408aa 100644 (file)
@@ -197,6 +197,11 @@ _PUBLIC_ NTSTATUS smbsrv_add_socket(TALLOC_CTX *mem_ctx,
                case SMB_TRANSPORT_TYPE_TCP:
                        port = t->port;
                        break;
+               case SMB_TRANSPORT_TYPE_QUIC:
+                       /*
+                        * Not supported
+                        */
+                       break;
                case SMB_TRANSPORT_TYPE_UNKNOWN:
                        break;
                }