Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package okteto for openSUSE:Factory checked 
in at 2025-11-24 14:08:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/okteto (Old)
 and      /work/SRC/openSUSE:Factory/.okteto.new.14147 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "okteto"

Mon Nov 24 14:08:13 2025 rev:110 rq:1319086 version:3.13.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/okteto/okteto.changes    2025-11-13 
18:17:29.878295173 +0100
+++ /work/SRC/openSUSE:Factory/.okteto.new.14147/okteto.changes 2025-11-24 
14:09:43.030602060 +0100
@@ -1,0 +2,7 @@
+Fri Nov 21 12:22:57 UTC 2025 - Johannes Kastl 
<[email protected]>
+
+- Update to version 3.13.3:
+  * DEV-1254: Improve how ssh forwarder handle connections when
+    connecting with the ssh agent (#4825) (#4826)
+
+-------------------------------------------------------------------

Old:
----
  okteto-3.13.2.obscpio

New:
----
  okteto-3.13.3.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ okteto.spec ++++++
--- /var/tmp/diff_new_pack.qIZ15R/_old  2025-11-24 14:09:45.526706940 +0100
+++ /var/tmp/diff_new_pack.qIZ15R/_new  2025-11-24 14:09:45.530707108 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           okteto
-Version:        3.13.2
+Version:        3.13.3
 Release:        0
 Summary:        Develop your applications directly in your Kubernetes Cluster
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.qIZ15R/_old  2025-11-24 14:09:45.570708789 +0100
+++ /var/tmp/diff_new_pack.qIZ15R/_new  2025-11-24 14:09:45.574708957 +0100
@@ -3,8 +3,8 @@
     <param name="url">https://github.com/okteto/okteto</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">3.13.2</param>
-    <param name="match-tag">3.13.2</param>
+    <param name="revision">3.13.3</param>
+    <param name="match-tag">3.13.3</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
   </service>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.qIZ15R/_old  2025-11-24 14:09:45.594709797 +0100
+++ /var/tmp/diff_new_pack.qIZ15R/_new  2025-11-24 14:09:45.598709966 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/okteto/okteto</param>
-              <param 
name="changesrevision">fefaeeb02a58b08cbc5aa2c02c93e5353fa10c85</param></service></servicedata>
+              <param 
name="changesrevision">70919733b9cfe8645ce5cc079fe8e93eb9d3f8ef</param></service></servicedata>
 (No newline at EOF)
 

++++++ okteto-3.13.2.obscpio -> okteto-3.13.3.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/okteto-3.13.2/cmd/remoterun/ssh.go 
new/okteto-3.13.3/cmd/remoterun/ssh.go
--- old/okteto-3.13.2/cmd/remoterun/ssh.go      2025-11-13 13:51:17.000000000 
+0100
+++ new/okteto-3.13.3/cmd/remoterun/ssh.go      2025-11-20 19:00:26.000000000 
+0100
@@ -23,6 +23,7 @@
        "net"
        "os"
        "strings"
+       "sync"
        "time"
 
        oktetoLog "github.com/okteto/okteto/pkg/log"
@@ -100,7 +101,13 @@
 }
 
 func (s *sshForwarder) handleConnection(ctx context.Context, localConn 
net.Conn, host, port, userToken string, timeout time.Duration) error {
-       defer localConn.Close()
+       var closeLocalOnce sync.Once
+       closeLocal := func() {
+               closeLocalOnce.Do(func() {
+                       localConn.Close()
+               })
+       }
+       defer closeLocal()
 
        cfg := s.getTLSConfig()
 
@@ -110,7 +117,14 @@
                oktetoLog.Errorf("Failed to connect to remote SSH agent: %v", 
err)
                return fmt.Errorf("failed to connect to remote SSH agent: %v", 
err)
        }
-       defer remoteConn.Close()
+
+       var closeRemoteOnce sync.Once
+       closeRemote := func() {
+               closeRemoteOnce.Do(func() {
+                       remoteConn.Close()
+               })
+       }
+       defer closeRemote()
 
        // Set timeout for auth request
        err = remoteConn.SetWriteDeadline(time.Now().Add(timeout))
@@ -157,26 +171,19 @@
 
        go func() {
                <-ctx.Done()
-               localConn.Close()
-               remoteConn.Close()
+               closeLocal()
+               closeRemote()
        }()
 
        var eg errgroup.Group
 
-       err = localConn.SetDeadline(time.Now().Add(timeout))
-       if err != nil {
-               oktetoLog.Infof("failed to set timeout to the local socket: 
%v", err)
-       }
-
-       err = remoteConn.SetDeadline(time.Now().Add(timeout))
-       if err != nil {
-               oktetoLog.Infof("failed to set timeout to the remote ssh 
connection: %v", err)
-       }
-
        // Forward data from local to remote
        eg.Go(func() error {
                _, err := io.Copy(remoteConn, localConn)
-               if err != nil {
+               // When local->remote copy completes (local closed or error),
+               // close remote connection to signal EOF and unblock 
remote->local copy
+               closeRemote()
+               if err != nil && !errors.Is(err, net.ErrClosed) {
                        return fmt.Errorf("error while sending data to remote 
SSH agent: %w", err)
                }
                return nil
@@ -185,7 +192,10 @@
        // Forward data from remote to local
        eg.Go(func() error {
                _, err := io.Copy(localConn, remoteConn)
-               if err != nil {
+               // When remote->local copy completes (remote closed or error),
+               // close local connection to signal EOF and unblock 
local->remote copy
+               closeLocal()
+               if err != nil && !errors.Is(err, net.ErrClosed) {
                        return fmt.Errorf("error while receiving data from 
remote SSH agent: %w", err)
                }
                return nil

++++++ okteto.obsinfo ++++++
--- /var/tmp/diff_new_pack.qIZ15R/_old  2025-11-24 14:09:46.898764590 +0100
+++ /var/tmp/diff_new_pack.qIZ15R/_new  2025-11-24 14:09:46.914765262 +0100
@@ -1,5 +1,5 @@
 name: okteto
-version: 3.13.2
-mtime: 1763038277
-commit: fefaeeb02a58b08cbc5aa2c02c93e5353fa10c85
+version: 3.13.3
+mtime: 1763661626
+commit: 70919733b9cfe8645ce5cc079fe8e93eb9d3f8ef
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/okteto/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.okteto.new.14147/vendor.tar.gz differ: char 19, 
line 1

Reply via email to