summaryrefslogtreecommitdiffstats
path: root/main/ipsec-tools/fd-priorities.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/ipsec-tools/fd-priorities.patch')
-rw-r--r--main/ipsec-tools/fd-priorities.patch285
1 files changed, 0 insertions, 285 deletions
diff --git a/main/ipsec-tools/fd-priorities.patch b/main/ipsec-tools/fd-priorities.patch
deleted file mode 100644
index 68fc4b345..000000000
--- a/main/ipsec-tools/fd-priorities.patch
+++ /dev/null
@@ -1,285 +0,0 @@
-? .msg
-? ChangeLog
-? alpine-config
-? commiters.txt
-? fd-priorities-2.patch
-? fd-priorities.patch
-? ipsec-tools-0.8-alpha20090820.tar.bz2
-? ipsec-tools-0.8-alpha20090903.tar.bz2
-? local-changes.diff
-? patch-to-support-cast128-cbc-algorithm.patch
-? racoon.txt
-? rpm/Makefile
-? rpm/Makefile.in
-? rpm/ipsec-tools.spec
-? rpm/suse/Makefile
-? rpm/suse/Makefile.in
-? rpm/suse/ipsec-tools.spec
-? src/Makefile
-? src/Makefile.in
-? src/include-glibc/.includes
-? src/include-glibc/Makefile
-? src/include-glibc/Makefile.in
-? src/libipsec/.deps
-? src/libipsec/.libs
-? src/libipsec/Makefile
-? src/libipsec/Makefile.in
-? src/libipsec/ipsec_dump_policy.lo
-? src/libipsec/ipsec_get_policylen.lo
-? src/libipsec/ipsec_strerror.lo
-? src/libipsec/key_debug.lo
-? src/libipsec/libipsec.la
-? src/libipsec/pfkey.lo
-? src/libipsec/pfkey_dump.lo
-? src/libipsec/policy_parse.c
-? src/libipsec/policy_parse.h
-? src/libipsec/policy_parse.lo
-? src/libipsec/policy_token.c
-? src/libipsec/policy_token.lo
-? src/racoon/.deps
-? src/racoon/.libs
-? src/racoon/Makefile
-? src/racoon/Makefile.in
-? src/racoon/cfparse.c
-? src/racoon/cfparse.h
-? src/racoon/cftoken.c
-? src/racoon/eaytest
-? src/racoon/libracoon.la
-? src/racoon/libracoon_la-kmpstat.lo
-? src/racoon/libracoon_la-misc.lo
-? src/racoon/libracoon_la-sockmisc.lo
-? src/racoon/libracoon_la-vmbuf.lo
-? src/racoon/plainrsa-gen
-? src/racoon/prsa_par.c
-? src/racoon/prsa_par.h
-? src/racoon/prsa_tok.c
-? src/racoon/racoon
-? src/racoon/racoonctl
-? src/racoon/samples/psk.txt
-? src/racoon/samples/racoon.conf
-? src/setkey/.deps
-? src/setkey/.libs
-? src/setkey/Makefile
-? src/setkey/Makefile.in
-? src/setkey/parse.c
-? src/setkey/parse.h
-? src/setkey/setkey
-? src/setkey/token.c
-Index: src/racoon/admin.c
-===================================================================
-RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/admin.c,v
-retrieving revision 1.32
-diff -u -r1.32 admin.c
---- a/src/racoon/admin.c 3 Sep 2009 09:29:07 -0000 1.32
-+++ b/src/racoon/admin.c 9 Mar 2010 07:50:46 -0000
-@@ -734,7 +734,7 @@
- return -1;
- }
-
-- monitor_fd(lcconf->sock_admin, admin_handler, NULL);
-+ monitor_fd(lcconf->sock_admin, admin_handler, NULL, 0);
- plog(LLV_DEBUG, LOCATION, NULL,
- "open %s as racoon management.\n", sunaddr.sun_path);
-
-Index: src/racoon/evt.c
-===================================================================
-RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/evt.c,v
-retrieving revision 1.9
-diff -u -r1.9 evt.c
---- a/src/racoon/evt.c 23 Jan 2009 08:05:58 -0000 1.9
-+++ b/src/racoon/evt.c 9 Mar 2010 07:50:46 -0000
-@@ -373,7 +373,7 @@
-
- LIST_INSERT_HEAD(list, l, ll_chain);
- l->fd = fd;
-- monitor_fd(l->fd, evt_unsubscribe_cb, l);
-+ monitor_fd(l->fd, evt_unsubscribe_cb, l, 0);
-
- plog(LLV_DEBUG, LOCATION, NULL,
- "[%d] admin connection is polling events\n", fd);
-Index: src/racoon/grabmyaddr.c
-===================================================================
-RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/grabmyaddr.c,v
-retrieving revision 1.23
-diff -u -r1.23 grabmyaddr.c
---- a/src/racoon/grabmyaddr.c 3 Jul 2009 06:41:46 -0000 1.23
-+++ b/src/racoon/grabmyaddr.c 9 Mar 2010 07:50:46 -0000
-@@ -296,7 +296,7 @@
- lcconf->rtsock = kernel_open_socket();
- if (lcconf->rtsock < 0)
- return -1;
-- monitor_fd(lcconf->rtsock, kernel_receive, NULL);
-+ monitor_fd(lcconf->rtsock, kernel_receive, NULL, 0);
- } else {
- lcconf->rtsock = -1;
- if (!myaddr_open_all_configured(NULL))
-Index: src/racoon/isakmp.c
-===================================================================
-RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/isakmp.c,v
-retrieving revision 1.60
-diff -u -r1.60 isakmp.c
---- a/src/racoon/isakmp.c 3 Sep 2009 09:29:07 -0000 1.60
-+++ b/src/racoon/isakmp.c 9 Mar 2010 07:50:48 -0000
-@@ -1720,7 +1720,7 @@
- "%s used as isakmp port (fd=%d)\n",
- saddr2str(addr), fd);
-
-- monitor_fd(fd, isakmp_handler, NULL);
-+ monitor_fd(fd, isakmp_handler, NULL, 1);
- return fd;
-
- err:
-Index: src/racoon/pfkey.c
-===================================================================
-RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/pfkey.c,v
-retrieving revision 1.52
-diff -u -r1.52 pfkey.c
---- a/src/racoon/pfkey.c 9 Feb 2010 23:05:16 -0000 1.52
-+++ b/src/racoon/pfkey.c 9 Mar 2010 07:50:49 -0000
-@@ -487,7 +487,7 @@
- return -1;
- }
- #endif
-- monitor_fd(lcconf->sock_pfkey, pfkey_handler, NULL);
-+ monitor_fd(lcconf->sock_pfkey, pfkey_handler, NULL, 0);
- return 0;
- }
-
-Index: src/racoon/session.c
-===================================================================
-RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/session.c,v
-retrieving revision 1.27
-diff -u -r1.27 session.c
---- a/src/racoon/session.c 4 Mar 2010 15:13:53 -0000 1.27
-+++ b/src/racoon/session.c 9 Mar 2010 07:50:50 -0000
-@@ -103,8 +103,13 @@
- struct fd_monitor {
- int (*callback)(void *ctx, int fd);
- void *ctx;
-+ int prio;
-+ int fd;
-+ TAILQ_ENTRY(fd_monitor) chain;
- };
-
-+#define NUM_PRIORITIES 2
-+
- static void close_session __P((void));
- static void initfds __P((void));
- static void init_signal __P((void));
-@@ -115,13 +120,14 @@
-
- static fd_set preset_mask, active_mask;
- static struct fd_monitor fd_monitors[FD_SETSIZE];
-+static TAILQ_HEAD(fd_monitor_list, fd_monitor) fd_monitor_tree[NUM_PRIORITIES];
- static int nfds = 0;
-
- static volatile sig_atomic_t sigreq[NSIG + 1];
- static struct sched scflushsa = SCHED_INITIALIZER();
-
- void
--monitor_fd(int fd, int (*callback)(void *, int), void *ctx)
-+monitor_fd(int fd, int (*callback)(void *, int), void *ctx, int priority)
- {
- if (fd < 0 || fd >= FD_SETSIZE) {
- plog(LLV_ERROR, LOCATION, NULL, "fd_set overrun");
-@@ -131,9 +137,17 @@
- FD_SET(fd, &preset_mask);
- if (fd > nfds)
- nfds = fd;
-+ if (priority <= 0)
-+ priority = 0;
-+ if (priority >= NUM_PRIORITIES)
-+ priority = NUM_PRIORITIES - 1;
-
- fd_monitors[fd].callback = callback;
- fd_monitors[fd].ctx = ctx;
-+ fd_monitors[fd].prio = priority;
-+ fd_monitors[fd].fd = fd;
-+ TAILQ_INSERT_TAIL(&fd_monitor_tree[priority],
-+ &fd_monitors[fd], chain);
- }
-
- void
-@@ -144,10 +158,15 @@
- exit(1);
- }
-
-+ if (fd_monitors[fd].callback == NULL)
-+ return;
-+
- FD_CLR(fd, &preset_mask);
- FD_CLR(fd, &active_mask);
- fd_monitors[fd].callback = NULL;
- fd_monitors[fd].ctx = NULL;
-+ TAILQ_REMOVE(&fd_monitor_tree[fd_monitors[fd].prio],
-+ &fd_monitors[fd], chain);
- }
-
- int
-@@ -158,11 +177,15 @@
- char pid_file[MAXPATHLEN];
- FILE *fp;
- pid_t racoon_pid = 0;
-- int i;
-+ int i, count;
-+ struct fd_monitor *fdm;
-
- nfds = 0;
- FD_ZERO(&preset_mask);
-
-+ for (i = 0; i < NUM_PRIORITIES; i++)
-+ TAILQ_INIT(&fd_monitor_tree[i]);
-+
- /* initialize schedular */
- sched_init();
- init_signal();
-@@ -291,16 +314,24 @@
- /*NOTREACHED*/
- }
-
-- for (i = 0; i <= nfds; i++) {
-- if (!FD_ISSET(i, &active_mask))
-- continue;
--
-- if (fd_monitors[i].callback != NULL)
-- fd_monitors[i].callback(fd_monitors[i].ctx, i);
-- else
-- plog(LLV_ERROR, LOCATION, NULL,
-- "fd %d set, but no active callback\n", i);
-+ count = 0;
-+ for (i = 0; i < NUM_PRIORITIES; i++) {
-+ TAILQ_FOREACH(fdm, &fd_monitor_tree[i], chain) {
-+ if (!FD_ISSET(fdm->fd, &active_mask))
-+ continue;
-+
-+ FD_CLR(fdm->fd, &active_mask);
-+ if (fdm->callback != NULL) {
-+ fdm->callback(fdm->ctx, fdm->fd);
-+ count++;
-+ } else
-+ plog(LLV_ERROR, LOCATION, NULL,
-+ "fd %d set, but no active callback\n", i);
-+ }
-+ if (count != 0)
-+ break;
- }
-+
- }
- }
-
-Index: src/racoon/session.h
-===================================================================
-RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/session.h,v
-retrieving revision 1.8
-diff -u -r1.8 session.h
---- a/src/racoon/session.h 23 Jan 2009 08:05:58 -0000 1.8
-+++ b/src/racoon/session.h 9 Mar 2010 07:50:50 -0000
-@@ -37,7 +37,7 @@
- extern int session __P((void));
- extern RETSIGTYPE signal_handler __P((int));
-
--extern void monitor_fd __P((int fd, int (*callback)(void *, int), void *ctx));
-+extern void monitor_fd __P((int fd, int (*callback)(void *, int), void *ctx, int priority));
- extern void unmonitor_fd __P((int fd));
-
- #endif /* _SESSION_H */