opensips/opensips.patch

Mon, 17 Sep 2012 19:10:10 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 17 Sep 2012 19:10:10 +0200
changeset 689
9fe04d4d4e5a
parent 416
0bc1d0d1fe3a
permissions
-rw-r--r--

Update to new version of vendor software although Oracle fails to deliver.
More specifically, newer db(3) patch revisions exist but Oracle has
removed them from the canonical download server URI for Berkely DB.

michael@377 1 Index: main.c
michael@377 2 diff -Nau main.c.orig main.c
michael@410 3 --- main.c.orig 2012-03-21.orig 10:29:31.458420799 +0100
michael@410 4 +++ main.c 2012-03-21 10:30:52.034994020 +0100
michael@547 5 @@ -1029,6 +1029,10 @@
michael@377 6 ret=-1;
michael@377 7 my_argc=argc; my_argv=argv;
michael@377 8
michael@377 9 + /* if (!log_stderr), that's not usable yet! '/
michael@377 10 + /* ...so unconditionally log to syslog for now */
michael@377 11 + openlog(argv[0], LOG_PID|LOG_CONS, log_facility);
michael@377 12 +
michael@547 13 /* process pkg mem size from command line */
michael@547 14 opterr=0;
michael@547 15 options="f:cCm:M:b:l:n:N:rRvdDETSVhw:t:u:g:P:G:W:o:";
michael@547 16 @@ -1387,6 +1391,11 @@
michael@377 17
michael@377 18 /* init_daemon? */
michael@377 19 if (!dont_fork){
michael@377 20 + /* shortly after main() we called openlog(3) to log */
michael@377 21 + /* the initialization, but since daemonize() has its */
michael@377 22 + /* own syslog(3) handling, we need to close the log first */
michael@377 23 + closelog(); /* close the initialization logging logic */
michael@377 24 +
michael@377 25 if ( daemonize((log_name==0)?argv[0]:log_name, &own_pgid) <0 )
michael@377 26 goto error;
michael@377 27 }
michael@376 28 Index: Makefile.defs
michael@377 29 diff -Nau Makefile.defs.orig Makefile.defs
michael@410 30 --- Makefile.defs.orig 2012-03-21.orig 10:29:31.252995930 +0100
michael@410 31 +++ Makefile.defs 2012-03-21 10:30:52.038327356 +0100
michael@397 32 @@ -220,7 +220,7 @@
michael@377 33 else
michael@377 34 doc-dir = doc/$(MAIN_NAME)/
michael@377 35 man-dir = man/
michael@377 36 - data-dir = $(MAIN_NAME)/
michael@377 37 + data-dir = share/$(MAIN_NAME)/
michael@377 38 LOCALBASE ?= $(SYSBASE)/local
michael@377 39 endif
michael@377 40 endif
michael@547 41 @@ -1411,6 +1411,10 @@
michael@377 42 LIBS+= -lsctp
michael@377 43 endif
michael@376 44
michael@377 45 +#conditionally add libfsl
michael@376 46 +LDFLAGS += -L$(prefix)/lib
michael@376 47 +LIBS += -lfsl
michael@377 48 +
michael@377 49 ifneq ($(found_lock_method), yes)
michael@377 50 $(warning No locking method found so far, trying SYS V sems)
michael@377 51 DEFS+= -DUSE_SYSV_SEM # try sys v sems
michael@377 52 Index: scripts/opensipsctl.8
michael@377 53 diff -Nau scripts/opensipsctl.8.orig scripts/opensipsctl.8
michael@410 54 --- scripts/opensipsctl.8.orig 2012-03-21.orig 10:29:31.357825870 +0100
michael@410 55 +++ scripts/opensipsctl.8 2012-03-21 10:30:52.039349015 +0100
michael@377 56 @@ -20,8 +20,6 @@
michael@376 57
michael@377 58 .SH FILES
michael@377 59 .PD 0
michael@377 60 -.I /etc/opensips/.opensipsctlrc
michael@377 61 -.br
michael@377 62 .I /usr/local/etc/opensips/.opensipsctlrc
michael@377 63 .br
michael@377 64 .I ~/.opensipsctlrc
michael@377 65 Index: scripts/osipsconsole
michael@377 66 diff -Nau scripts/osipsconsole.orig scripts/osipsconsole
michael@410 67 --- scripts/osipsconsole.orig 2012-03-21.orig 10:29:31.335460757 +0100
michael@410 68 +++ scripts/osipsconsole 2012-03-21 10:30:52.050666821 +0100
michael@377 69 @@ -30,7 +30,6 @@
michael@377 70 use Term::ReadLine;
michael@377 71 use DBI;
michael@377 72 use POSIX;
michael@377 73 -use Frontier::RPC2;
michael@377 74 use IO::Socket;
michael@377 75 use Socket;
michael@377 76 #use Net::IP;
michael@547 77 @@ -376,6 +375,12 @@
michael@377 78 }
michael@377 79 }
michael@376 80
michael@377 81 + if ( $MD5 eq "" ) {
michael@377 82 + if ( $arr[0] =~ /^\s*MD5/ ) {
michael@377 83 + $MD5 = $arr[1];
michael@377 84 + }
michael@377 85 + }
michael@377 86 +
michael@377 87 if ( $AWK eq "" ) {
michael@377 88 if ( $arr[0] =~ /^\s*AWK/ ) {
michael@377 89 $AWK = $arr[1];
michael@376 90 Index: modules/permissions/parse_config.c
michael@377 91 diff -Nau modules/permissions/parse_config.c.orig modules/permissions/parse_config.c
michael@410 92 --- modules/permissions/parse_config.c.orig 2012-03-21.orig 10:29:32.047580003 +0100
michael@410 93 +++ modules/permissions/parse_config.c 2012-03-21 10:30:52.052696686 +0100
michael@376 94 @@ -114,8 +114,11 @@
michael@376 95 except = strstr(str, " EXCEPT ");
michael@376 96 if (except) {
michael@376 97 /* exception found */
michael@376 98 - strncpy(str2, str, except-str);
michael@376 99 - str2[except-str] = '\0';
michael@376 100 + int l = except - str;
michael@376 101 + if (l > sizeof(str2) - 1)
michael@376 102 + l = sizeof(str2) - 1;
michael@376 103 + strncpy(str2, str, l);
michael@376 104 + str2[l] = '\0';
michael@376 105 /* except+8 points to the exception */
michael@376 106 if (parse_expression_list(except+8, e_exceptions)) {
michael@376 107 /* error */
michael@376 108 @@ -124,7 +127,8 @@
michael@376 109 }
michael@376 110 } else {
michael@376 111 /* no exception */
michael@376 112 - strcpy(str2, str);
michael@376 113 + strncpy(str2, str, sizeof(str2)-1);
michael@376 114 + str2[sizeof(str2)-1] = '\0';
michael@376 115 *e_exceptions = NULL;
michael@376 116 }
michael@376 117
michael@410 118 Index: parser/sdp/sdp_helpr_funcs.c
michael@410 119 diff -Nau parser/sdp/sdp_helpr_funcs.c.orig parser/sdp/sdp_helpr_funcs.c
michael@410 120 --- parser/sdp/sdp_helpr_funcs.c.orig 2012-03-21.orig 10:29:31.444187545 +0100
michael@410 121 +++ parser/sdp/sdp_helpr_funcs.c 2012-03-21 10:30:52.057616045 +0100
michael@410 122 @@ -396,7 +396,7 @@
michael@410 123
michael@410 124 cp1 = NULL;
michael@410 125 for (cp = body->s; (len = body->s + body->len - cp) > 0;) {
michael@410 126 - cp1 = (char*)ser_memmem(cp, line, len, 2);
michael@410 127 + cp1 = (char*)ser_memmem(cp, line, len, strlen(line));
michael@410 128 if (cp1 == NULL || cp1[-1] == '\n' || cp1[-1] == '\r')
michael@410 129 break;
michael@410 130 cp = cp1 + 2;
michael@377 131 Index: modules/nathelper/nathelper.c
michael@377 132 diff -Nau modules/nathelper/nathelper.c.orig modules/nathelper/nathelper.c
michael@410 133 --- modules/nathelper/nathelper.c.orig 2012-03-21.orig 10:29:31.795178267 +0100
michael@410 134 +++ modules/nathelper/nathelper.c 2012-03-21 10:30:52.055610362 +0100
michael@410 135 @@ -289,6 +289,9 @@
michael@397 136 return 0;
michael@397 137 }
michael@376 138
michael@377 139 +/* MSvB macros */
michael@377 140 +#define OPENSIPS_NOOP ((void)0)
michael@377 141 +
michael@377 142
michael@377 143
michael@397 144
michael@410 145 @@ -813,6 +816,7 @@
michael@377 146 #define FIX_MEDIP 0x02
michael@377 147 #define ADD_ANORTPPROXY 0x04
michael@377 148 #define FIX_ORGIP 0x08
michael@377 149 +#define FIX_RTCPIP 0x10
michael@377 150
michael@377 151 #define ADIRECTION "a=direction:active"
michael@377 152 #define ADIRECTION_LEN (sizeof(ADIRECTION) - 1)
michael@410 153 @@ -829,7 +833,9 @@
michael@377 154 {
michael@377 155 char *buf;
michael@377 156 int offset;
michael@377 157 + int binlump;
michael@377 158 struct lump* anchor;
michael@377 159 + struct lump* templump;
michael@377 160 str omip, nip, oip;
michael@377 161
michael@377 162 /* check that updating mediaip is really necessary */
michael@410 163 @@ -860,7 +866,19 @@
michael@377 164 memcpy(buf, CRLF, CRLF_LEN);
michael@377 165 memcpy(buf + CRLF_LEN, omip.s, omip.len);
michael@377 166 memcpy(buf + CRLF_LEN + omip.len, oldip->s, oldip->len);
michael@377 167 - if (insert_new_lump_after(anchor, buf,
michael@377 168 +
michael@397 169 + /* if the oldmediaip string is already */
michael@397 170 + /* in the body then don't add it again */
michael@377 171 + binlump = 0;
michael@377 172 + for (templump = msg->body_lumps; templump; templump = templump->next)
michael@377 173 + if (templump->op == LUMP_ADD && strstr(templump->u.value, buf))
michael@377 174 + binlump = 1;
michael@377 175 + for (templump = msg->add_rm; templump; templump = templump->next)
michael@377 176 + if (templump->op == LUMP_ADD && strstr(templump->u.value, buf))
michael@377 177 + binlump = 1;
michael@377 178 + if (strstr(body->s, buf) || binlump)
michael@377 179 + pkg_free(buf);
michael@377 180 + else if (insert_new_lump_after(anchor, buf,
michael@377 181 omip.len + oldip->len + CRLF_LEN, 0) == NULL) {
michael@377 182 LM_ERR("insert_new_lump_after failed\n");
michael@377 183 pkg_free(buf);
michael@410 184 @@ -1046,6 +1064,12 @@
michael@397 185 p= p->next;
michael@397 186 }
michael@397 187
michael@397 188 + if (level & FIX_RTCPIP) {
michael@397 189 + /* Iterate all a=rtcp: and replace ips in them. */
michael@397 190 + if (replace_sdp_ip(msg, &body, "a=rtcp:", str2?&ip:0)==-1)
michael@397 191 + return -1;
michael@397 192 + }
michael@397 193 +
michael@397 194 return 1;
michael@397 195 }
michael@397 196
michael@416 197 Index: tls/tls_init.c
michael@416 198 diff -Nau tls/tls_init.c.orig tls/tls_init.c
michael@416 199 --- tls/tls_init.c.orig 2012-01-17 13:16:02.000000000 +0100
michael@416 200 +++ tls/tls_init.c 2012-03-30 18:34:08.540354386 +0200
michael@416 201 @@ -617,7 +617,7 @@
michael@416 202 d->cert_file = tls_cert_file;
michael@416 203 }
michael@416 204 if (load_certificate(d->ctx, d->cert_file) < 0)
michael@416 205 - return -1;
michael@416 206 + LM_WARN("tls[%s:%d] proceeding with no certificate at all!\n", ip_addr2a(&d->addr), d->port);
michael@416 207
michael@416 208 /*
michael@416 209 * load ca
michael@416 210 @@ -629,7 +629,7 @@
michael@416 211 d->ca_file = tls_ca_file;
michael@416 212 }
michael@416 213 if (d->ca_file && load_ca(d->ctx, d->ca_file) < 0)
michael@416 214 - return -1;
michael@416 215 + LM_WARN("tls[%s:%d] proceeding with no CA at all!\n", ip_addr2a(&d->addr), d->port);
michael@416 216 d = d->next;
michael@416 217 }
michael@416 218
michael@416 219 @@ -644,7 +644,7 @@
michael@416 220 d->pkey_file = tls_pkey_file;
michael@416 221 }
michael@416 222 if (load_private_key(d->ctx, d->pkey_file) < 0)
michael@416 223 - return -1;
michael@416 224 + LM_WARN("tls[%s:%d] proceeding with no key at all!\n", ip_addr2a(&d->addr), d->port);
michael@416 225 d = d->next;
michael@416 226 }
michael@416 227 return 0;
michael@547 228 Index: menuconfig/Makefile
michael@547 229 diff -Nau menuconfig/Makefile.orig menuconfig/Makefile
michael@547 230 --- menuconfig/Makefile.orig 2012-03-26 12:11:03.000000000 +0200
michael@547 231 +++ menuconfig/Makefile 2012-08-21 21:44:18.781092313 +0200
michael@547 232 @@ -5,10 +5,10 @@
michael@547 233 CFLAGS=-g -Wall -DMENUCONFIG_CFG_PATH=\"$(MENUCONFIG_CFG_PATH)\" \
michael@547 234 -DMENUCONFIG_GEN_PATH=\"$(MENUCONFIG_GEN_PATH)\" \
michael@547 235 -DMENUCONFIG_HAVE_SOURCES=$(MENUCONFIG_HAVE_SOURCES)
michael@547 236 -MY_LDFLAGS=-lcurses
michael@547 237 +MY_LDFLAGS=-lncurses
michael@547 238 EXEC_NAME=configure
michael@547 239 all: $(MENUCONFIG_FILES)
michael@547 240 - $(CC) -o $(EXEC_NAME) $(CFLAGS) $^ $(MY_LDFLAGS)
michael@547 241 + $(CC) -o $(EXEC_NAME) $(CFLAGS) $(CPPFLAGS) $^ $(LDFLAGS) $(LIBS)
michael@547 242
michael@547 243 proper:
michael@547 244 rm -f $(EXEC_NAME)
michael@547 245 Index: menuconfig/Makefile
michael@547 246 diff -Nau menuconfig/Makefile.orig menuconfig/Makefile
michael@547 247 --- menuconfig/curses.c.orig 2012-03-23 11:47:37.000000000 +0100
michael@547 248 +++ menuconfig/curses.c 2012-08-21 21:49:29.506561887 +0200
michael@547 249 @@ -28,6 +28,7 @@
michael@547 250 #include<string.h>
michael@547 251
michael@547 252 #include<sys/ioctl.h>
michael@547 253 +#include<sys/termio.h>
michael@547 254 #include<errno.h>
michael@547 255
michael@547 256 #include "curses.h"

mercurial