]> git.pld-linux.org Git - packages/irssi.git/blobdiff - irssi-dcc-send-limit.patch
Rediff patches.
[packages/irssi.git] / irssi-dcc-send-limit.patch
index 6ab9df6f7bad9a45e257c034eb9b3e089053df53..68535bbb99e39709ad967aa38427330004b68064 100644 (file)
@@ -1,9 +1,9 @@
-diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-rec.h irssi-0.7.98.4.limited/src/irc/dcc/dcc-rec.h
---- irssi-0.7.98.4/src/irc/dcc/dcc-rec.h       Mon Feb 19 04:40:06 2001
-+++ irssi-0.7.98.4.limited/src/irc/dcc/dcc-rec.h       Sat Jan 19 19:40:16 2002
-@@ -20,6 +20,12 @@
- time_t starttime; /* transfer start time */
unsigned long transfd; /* bytes transferred */
+diff -urNp -x '*.orig' irssi-1.2.2.org/src/irc/dcc/dcc-rec.h irssi-1.2.2/src/irc/dcc/dcc-rec.h
+--- irssi-1.2.2.org/src/irc/dcc/dcc-rec.h      2019-08-29 15:48:43.000000000 +0200
++++ irssi-1.2.2/src/irc/dcc/dcc-rec.h  2021-05-04 21:22:16.382408355 +0200
+@@ -22,6 +22,12 @@ uoff_t transfd; /* bytes transferred */
int pasv_id; /* DCC Id for passive DCCs. <0 means a passive DCC, >=0 means a standard DCC */
  
 +int timeout_tag;
 +
@@ -14,17 +14,20 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-rec.h irssi-0.7.98.4.limited/src/irc/dcc
  unsigned int destroyed:1; /* We're about to destroy this DCC recond */
  
  GHashTable *module_data;
-diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dcc/dcc-send.c
---- irssi-0.7.98.4/src/irc/dcc/dcc-send.c      Wed Feb 28 20:26:21 2001
-+++ irssi-0.7.98.4.limited/src/irc/dcc/dcc-send.c      Sat Jan 19 19:43:15 2002
-@@ -48,14 +48,83 @@
+diff -urNp -x '*.orig' irssi-1.2.2.org/src/irc/dcc/dcc-send.c irssi-1.2.2/src/irc/dcc/dcc-send.c
+--- irssi-1.2.2.org/src/irc/dcc/dcc-send.c     2019-08-29 15:48:46.000000000 +0200
++++ irssi-1.2.2/src/irc/dcc/dcc-send.c 2021-05-04 21:22:16.382408355 +0200
+@@ -250,17 +250,87 @@ static void sig_dcc_destroyed(SEND_DCC_R
  {
        if (!IS_DCC_SEND(dcc)) return;
  
 +      if (dcc->timeout_tag != -1)
 +              g_source_remove(dcc->timeout_tag);
 +
-       if (dcc->fhandle != -1) close(dcc->fhandle);
+       if (dcc->fhandle != -1)
+               close(dcc->fhandle);
+       dcc_queue_send_next(dcc->queue);
  }
  
 +static int sent_too_much(SEND_DCC_REC *dcc)
@@ -62,7 +65,8 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dc
 +              return;
 +      }
 +
-+      g_source_remove(dcc->timeout_tag);
++      if (dcc->timeout_tag != -1)
++              g_source_remove(dcc->timeout_tag);
 +      dcc->timeout_tag = -1;
 +      
 +      dcc->tagwrite = g_input_add(dcc->handle, G_INPUT_WRITE,
@@ -102,7 +106,7 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dc
  
        ret = read(dcc->fhandle, buffer, sizeof(buffer));
        if (ret <= 0) {
-@@ -116,6 +185,7 @@
+@@ -316,6 +386,7 @@ static void dcc_send_connected(SEND_DCC_
          GIOChannel *handle;
        IPADDR addr;
        int port;
@@ -110,11 +114,10 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dc
  
        /* accept connection */
        handle = net_accept(dcc->handle, &addr, &port);
-@@ -129,6 +199,14 @@
+@@ -330,6 +401,13 @@ static void dcc_send_connected(SEND_DCC_
        g_source_remove(dcc->tagconn);
-       net_disconnect(dcc->handle);
+         dcc->tagconn = -1;
  
-+      dcc->timeout_tag = -1;
 +      dcc->skip_bytes = 0;
 +      dcc->max_speed = settings_get_int("dcc_send_top_speed");
 +
@@ -125,11 +128,19 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dc
        dcc->starttime = time(NULL);
        dcc->handle = handle;
        memcpy(&dcc->addr, &addr, sizeof(IPADDR));
-@@ -246,6 +324,7 @@
- {
+@@ -434,6 +512,7 @@ static int dcc_send_one_file(int queue,
+       dcc->size = st.st_size;
+       dcc->fhandle = hfile;
+       dcc->queue = queue;
++      dcc->timeout_tag = -1;
+         dcc->file_quoted = strchr(fname, ' ') != NULL;
+       if (!passive) {
+               dcc->tagconn = g_input_add(handle, G_INPUT_READ,
+@@ -473,6 +552,7 @@ void dcc_send_init(void)
          dcc_register_type("SEND");
        settings_add_str("dcc", "dcc_upload_path", "~");
+       settings_add_bool("dcc", "dcc_send_replace_space_with_underscore", FALSE);
 +      settings_add_int("dcc", "dcc_send_top_speed", 0);
        signal_add("dcc destroyed", (SIGNAL_FUNC) sig_dcc_destroyed);
+       signal_add("dcc reply send pasv", (SIGNAL_FUNC) dcc_send_connect);
        command_bind("dcc send", NULL, (SIGNAL_FUNC) cmd_dcc_send);
This page took 0.081618 seconds and 4 git commands to generate.