jabberd/jabberd.patch

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
parent 541
869d6847b13e
child 768
70baf26f1088
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

michael@541 1 diff -Nau etc/c2s.xml.dist.in.orig etc/c2s.xml.dist.in
michael@224 2 Index: etc/c2s.xml.dist.in
michael@541 3 --- etc/c2s.xml.dist.in.orig 2012-05-22 22:27:51.000000000 +0200
michael@541 4 +++ etc/c2s.xml.dist.in 2012-08-27 13:44:20.119445160 +0200
michael@693 5 @@ -50,18 +50,16 @@
michael@224 6 </router>
michael@224 7
michael@224 8 <!-- Log configuration - type is "syslog", "file" or "stdout" -->
michael@224 9 - <log type='syslog'>
michael@224 10 + <log type='file'>
michael@224 11 <!-- If logging to syslog, this is the log ident -->
michael@224 12 - <ident>jabberd/c2s</ident>
michael@224 13 + <!-- <ident>jabberd/c2s</ident> -->
michael@224 14
michael@224 15 <!-- If logging to syslog, this is the log facility
michael@224 16 (local0 - local7) [default: local3] -->
michael@224 17 - <facility>local3</facility>
michael@224 18 + <!-- <facility>local3</facility> -->
michael@224 19
michael@224 20 <!-- If logging to file, this is the filename of the logfile -->
michael@693 21 - <!--
michael@693 22 <file>@localstatedir@/@package@/log/c2s.log</file>
michael@693 23 - -->
michael@693 24
michael@693 25 <!-- Filename of the debug logfile -->
michael@541 26 <!--
michael@693 27 @@ -154,7 +152,7 @@
michael@541 28 <id password-change='mu' /> -->
michael@224 29
michael@224 30 <!-- IP address to bind to (default: 0.0.0.0) -->
michael@224 31 - <ip>0.0.0.0</ip>
michael@224 32 + <ip>127.0.0.1</ip>
michael@224 33
michael@224 34 <!-- Port to bind to, or 0 to disable unencrypted access to the
michael@224 35 server (default: 5222) -->
michael@541 36 diff -Nau etc/router.xml.dist.in.orig etc/router.xml.dist.in
michael@224 37 Index: etc/router.xml.dist.in
michael@541 38 --- etc/router.xml.dist.in.orig 2012-05-04 18:24:36.000000000 +0200
michael@541 39 +++ etc/router.xml.dist.in 2012-08-27 13:47:20.357743449 +0200
michael@693 40 @@ -8,18 +8,16 @@
michael@541 41 <pidfile>@localstatedir@/@package@/pid/router.pid</pidfile>
michael@224 42
michael@224 43 <!-- Log configuration - type is "syslog", "file" or "stdout" -->
michael@224 44 - <log type='syslog'>
michael@224 45 + <log type='file'>
michael@224 46 <!-- If logging to syslog, this is the log ident -->
michael@224 47 - <ident>jabberd/router</ident>
michael@224 48 + <!-- <ident>jabberd/router</ident> -->
michael@224 49
michael@224 50 <!-- If logging to syslog, this is the log facility
michael@224 51 (local0 - local7) [default: local3] -->
michael@224 52 - <facility>local3</facility>
michael@224 53 + <!-- <facility>local3</facility> -->
michael@224 54
michael@224 55 <!-- If logging to file, this is the filename of the logfile -->
michael@693 56 - <!--
michael@693 57 <file>@localstatedir@/@package@/log/router.log</file>
michael@693 58 - -->
michael@693 59
michael@693 60 <!-- Filename of the debug logfile -->
michael@541 61 <!--
michael@693 62 @@ -30,7 +28,7 @@
michael@224 63 <!-- Local network configuration -->
michael@224 64 <local>
michael@224 65 <!-- IP address to bind to (default: 0.0.0.0) -->
michael@224 66 - <ip>0.0.0.0</ip>
michael@224 67 + <ip>127.0.0.1</ip>
michael@224 68
michael@224 69 <!-- Port to bind to (default: 5347) -->
michael@224 70 <port>5347</port>
michael@541 71 diff -Nau etc/s2s.xml.dist.in.orig etc/s2s.xml.dist.in
michael@224 72 Index: etc/s2s.xml.dist.in
michael@541 73 --- etc/s2s.xml.dist.in.orig 2012-08-06 20:18:46.000000000 +0200
michael@541 74 +++ etc/s2s.xml.dist.in 2012-08-27 13:45:50.771011934 +0200
michael@693 75 @@ -60,18 +60,16 @@
michael@224 76 </router>
michael@224 77
michael@224 78 <!-- Log configuration - type is "syslog", "file" or "stdout" -->
michael@224 79 - <log type='syslog'>
michael@224 80 + <log type='file'>
michael@224 81 <!-- If logging to syslog, this is the log ident -->
michael@224 82 - <ident>jabberd/s2s</ident>
michael@224 83 + <!-- <ident>jabberd/s2s</ident> -->
michael@224 84
michael@224 85 <!-- If logging to syslog, this is the log facility
michael@224 86 (local0 - local7) [default: local3] -->
michael@224 87 - <facility>local3</facility>
michael@224 88 + <!-- <facility>local3</facility> -->
michael@224 89
michael@224 90 <!-- if logging to file, this is the filename of the logfile -->
michael@693 91 - <!--
michael@693 92 <file>@localstatedir@/@package@/log/s2s.log</file>
michael@693 93 - -->
michael@693 94
michael@693 95 <!-- Filename of the debug logfile -->
michael@541 96 <!--
michael@693 97 @@ -83,7 +81,7 @@
michael@224 98 <local>
michael@224 99 <!-- IP and port to listen for incoming s2s connections on
michael@224 100 (default: 0.0.0.0, 5269) -->
michael@224 101 - <ip>0.0.0.0</ip>
michael@224 102 + <ip>127.0.0.1</ip>
michael@224 103 <port>5269</port>
michael@224 104
michael@224 105 <!-- Multihomed machines (with more than one interface and IP address)
michael@541 106 diff -Nau etc/sm.xml.dist.in.orig etc/sm.xml.dist.in
michael@224 107 Index: etc/sm.xml.dist.in
michael@541 108 --- etc/sm.xml.dist.in.orig 2012-05-04 18:24:36.000000000 +0200
michael@541 109 +++ etc/sm.xml.dist.in 2012-08-27 13:41:59.772838992 +0200
michael@224 110 @@ -50,13 +50,13 @@
michael@224 111 </router>
michael@224 112
michael@224 113 <!-- Log configuration - type is "syslog", "file" or "stdout" -->
michael@224 114 - <log type='syslog'>
michael@224 115 + <log type='file'>
michael@224 116 <!-- If logging to syslog, this is the log ident -->
michael@224 117 - <ident>jabberd/sm</ident>
michael@224 118 + <!-- <ident>jabberd/sm</ident> -->
michael@224 119
michael@224 120 <!-- If logging to syslog, this is the log facility
michael@224 121 (local0 - local7) [default: local3] -->
michael@224 122 - <facility>local3</facility>
michael@224 123 + <!-- <facility>local3</facility> -->
michael@224 124
michael@224 125 <!-- If logging to file, this is the filename of the logfile -->
michael@224 126 <!--
michael@541 127 diff -Nau sm/mod_iq_time.c.orig sm/mod_iq_time.c
michael@224 128 Index: sm/mod_iq_time.c
michael@541 129 --- sm/mod_iq_time.c.orig 2011-10-22 21:56:00.000000000 +0200
michael@541 130 +++ sm/mod_iq_time.c 2012-08-27 13:41:59.773059371 +0200
michael@224 131 @@ -39,6 +39,7 @@
michael@224 132 static mod_ret_t _iq_time_pkt_sm(mod_instance_t mi, pkt_t pkt)
michael@224 133 {
michael@224 134 time_t t;
michael@224 135 + time_t tzone;
michael@224 136 struct tm *tm;
michael@224 137 char buf[64];
michael@224 138 char *c;
michael@224 139 @@ -78,7 +79,8 @@
michael@224 140 datetime_out(t, dt_DATETIME, buf, 64);
michael@224 141 nad_insert_elem(pkt->nad, 2, NAD_ENS(pkt->nad, 1), "utc", buf);
michael@224 142 #ifdef HAVE_TZSET
michael@224 143 - snprintf(buf, 64, "%+03d:%02d", -((int)timezone)/(60*60), -((int)timezone)%(60*60));
michael@224 144 + tzone = (time_t)((long)mktime(gmtime(&t)) - (long)t);
michael@224 145 + snprintf(buf, 64, "%+03d:%02d", (int) -tzone/(60*60), (int) -tzone%(60*60));
michael@224 146 #else
michael@224 147 snprintf(buf, 64, "%+03d:%02d", (int) tm->tm_gmtoff/(60*60), (int) tm->tm_gmtoff%(60*60));
michael@224 148 #endif
michael@541 149 diff -Nau sm/mod_roster.c.orig sm/mod_roster.c
michael@224 150 Index: sm/mod_roster.c
michael@541 151 --- sm/mod_roster.c.orig 2012-02-12 22:36:18.000000000 +0100
michael@541 152 +++ sm/mod_roster.c 2012-08-27 13:41:59.773438877 +0200
michael@541 153 @@ -717,6 +717,9 @@
michael@224 154 if(user->sessions == NULL)
michael@224 155 return mod_PASS;
michael@224 156
michael@224 157 + /* We have to free old packet - Lemming's memory leak fix */
michael@224 158 + pkt_free(pkt);
michael@224 159 +
michael@224 160 /* build a new packet to push out to everyone */
michael@224 161 pkt = pkt_create(user->sm, "iq", "set", NULL, NULL);
michael@224 162 pkt_id_new(pkt);
michael@693 163 diff -Nau tools/jabberd.in.orig tools/jabberd.in
michael@693 164 Index: tools/jabberd.in
michael@693 165 --- tools/jabberd.in.orig 2012-02-12 22:38:25.000000000 +0100
michael@693 166 +++ tools/jabberd.in 2012-09-16 11:21:49.325189601 +0200
michael@693 167 @@ -65,7 +65,7 @@
michael@693 168
michael@693 169
michael@693 170 #-----------------------------------------------------------------------------
michael@693 171 -# Setup the jobs: router, sm, c2s, s2s
michael@693 172 +# Setup the jobs: router, sm, c2s, s2s, mu-conference
michael@693 173 #-----------------------------------------------------------------------------
michael@693 174 $jobs{jabberd}->{prefix} = "JBRD";
michael@693 175
michael@693 176 @@ -85,12 +85,17 @@
michael@693 177 $jobs{s2s}->{config} = "$config_dir/s2s.xml";
michael@693 178 $jobs{s2s}->{prefix} = "S2S";
michael@693 179
michael@693 180 +$jobs{muc}->{cmd} = "$Bin/mu-conference";
michael@693 181 +$jobs{muc}->{config} = "$config_dir/muc.xml";
michael@693 182 +$jobs{muc}->{prefix} = "MUC";
michael@693 183 +
michael@693 184 if ($config eq "internal")
michael@693 185 {
michael@693 186 $programs[0] = ["router"];
michael@693 187 $programs[1] = ["sm"];
michael@693 188 $programs[2] = ["c2s"];
michael@693 189 $programs[3] = ["s2s"];
michael@693 190 + $programs[4] = ["muc"];
michael@693 191 }
michael@693 192 else
michael@693 193 {
michael@541 194 diff -Nau util/util.h.orig util/util.h
michael@224 195 Index: util/util.h
michael@541 196 --- util/util.h.orig 2012-08-22 08:03:58.000000000 +0200
michael@541 197 +++ util/util.h 2012-08-27 13:41:59.773719964 +0200
michael@224 198 @@ -30,6 +30,8 @@
michael@224 199 #include <time.h>
michael@224 200 #include <errno.h>
michael@224 201 #include <assert.h>
michael@224 202 +#include <sys/types.h>
michael@224 203 +#include <sys/socket.h>
michael@224 204
michael@224 205 #include <expat.h>
michael@224 206

mercurial