diff options
author | Rene Ladan <rene@FreeBSD.org> | 2019-10-16 15:29:32 +0000 |
---|---|---|
committer | Rene Ladan <rene@FreeBSD.org> | 2019-10-16 15:29:32 +0000 |
commit | 13d4527a34237c3848445140a659128518ca196f (patch) | |
tree | a59de3287464c291f091b739fe407ba6df10c951 /www/junkbuster/files/patch-ao | |
parent | net-p2p/monero-cli: fix build on non-x86 (diff) |
Remove expired ports:
2019-10-16 archivers/freetar: Unfetchable, unmaintained
2019-10-16 archivers/hffzip: Unfetchable, unmaintained
2019-10-16 archivers/hpack.non-usa.only: Unfetchable, unmaintained
2019-10-16 archivers/untar: Unfetchable, unmaintained
2019-10-16 astro/gpsdrive: Unfetchable, unmaintained
2019-10-16 astro/planets: Unfetchable, unmaintained
2019-10-16 audio/ascd: Unfetchable, unmaintained
2019-10-16 audio/audiotag: Unfetchable, unmaintained
2019-10-16 audio/gmidimonitor: Unfetchable, unmaintained
2019-10-16 audio/gmpc-lyricwiki: Unfetchable, unmaintained
2019-10-16 audio/jack_mixer: Unfetchable, unmaintained
2019-10-16 audio/jmusic: Unfetchable, unmaintained
2019-10-16 audio/maplay: Unfetchable, unmaintained
2019-10-16 audio/mbox: Unfetchable, unmaintained
2019-10-16 audio/nuvolaplayer: Unfetchable, unmaintained
2019-10-16 audio/vagalume: Unfetchable, unmaintained
2019-10-16 audio/wmsmixer: Unfetchable, unmaintained
2019-10-16 audio/xmms2-scrobbler: Unfetchable, unmaintained
2019-10-16 benchmarks/filebench: Unfetchable, unmaintained
2019-10-16 biology/chemeq: Unfetchable, unmaintained
2019-10-16 biology/linux-foldingathome: Unfetchable, unmaintained
2019-10-16 cad/dxf2fig: Unfetchable, unmaintained
2019-10-16 cad/gerbv: Unfetchable, unmaintained
2019-10-16 cad/ghdl: Unfetchable, unmaintained
2019-10-16 comms/gsmlib: Unfetchable, unmaintained
2019-10-16 comms/nokryptia: Unfetchable, unmaintained
2019-10-16 databases/mrtg-mysql-load: Unfetchable, unmaintained
2019-10-16 databases/postgres-xl: Unfetchable, unmaintained
2019-10-16 databases/wmjsql: Unfetchable, unmaintained
2019-10-16 deskutils/dlume: Unfetchable, unmaintained
2019-10-16 deskutils/gkrellm-reminder2: Unfetchable, unmaintained
2019-10-16 deskutils/ljit: Unfetchable, unmaintained
2019-10-16 deskutils/mdh: Unfetchable, unmaintained
2019-10-16 devel/atlassian-plugin-sdk: Unfetchable, unmaintained
2019-10-15 devel/bingo: Abandoned upstream
2019-10-16 devel/dprog: Unfetchable, unmaintained
2019-10-16 devel/eblob: Unfetchable, unmaintained
2019-10-16 devel/elftoaout: Unfetchable, unmaintained
2019-10-16 devel/fga: Unfetchable, unmaintained
2019-10-16 devel/fib: Unfetchable, unmaintained
2019-10-16 devel/flickrnet: Unfetchable, unmaintained
2019-10-16 devel/fujaba: Unfetchable, unmaintained
2019-10-16 devel/funnelweb: Unfetchable, unmaintained
2019-10-16 devel/genproto: Unfetchable, unmaintained
2019-10-16 devel/gitphp: Unfetchable, unmaintained
2019-10-16 devel/gnatcoll: Unfetchable, unmaintained
2019-10-16 devel/kimwitu: Unfetchable, unmaintained
2019-10-16 devel/libghthash: Unfetchable, unmaintained
2019-10-16 devel/lua-alien: Unfetchable, unmaintained
2019-10-16 devel/monotone-viz: Unfetchable, unmaintained
2019-10-16 devel/noweb: Unfetchable, unmaintained
2019-10-16 devel/p65: Unfetchable, unmaintained
2019-10-16 devel/py-fileutils: Unfetchable, unmaintained
2019-10-16 devel/py-mercurialserver: Unfetchable, unmaintained
2019-10-16 devel/py-pqueue: Unfetchable, unmaintained
2019-10-16 devel/pypersrc: Unfetchable, unmaintained
2019-10-16 devel/root-doc: Unfetchable, unmaintained
2019-10-16 devel/sfio: Unfetchable, unmaintained
2019-10-16 devel/styx: Unfetchable, unmaintained
2019-10-16 devel/tclmore: Unfetchable, unmaintained
2019-10-16 devel/umem: Unfetchable, unmaintained
2019-10-16 dns/ez-ipupdate: Unfetchable, unmaintained
2019-10-16 editors/zoinks: Unfetchable, unmaintained
2019-10-16 emulators/aftp: Unfetchable, unmaintained
2019-10-16 emulators/ia64sim: Unfetchable, unmaintained
2019-10-16 emulators/loemu: Unfetchable, unmaintained
2019-10-16 emulators/pipelight: Unfetchable, unmaintained
2019-10-16 finance/ledgersmb: Unfetchable, unmaintained
2019-10-16 ftp/atftp: Unfetchable, unmaintained
2019-10-16 ftp/cftp: Unfetchable, unmaintained
2019-10-16 games/arkanoidsb: Unfetchable, unmaintained
2019-10-16 games/balazar: Unfetchable, unmaintained
2019-10-16 games/blockade: Unfetchable, unmaintained
2019-10-16 games/cleanq3: Unfetchable, unmaintained
2019-10-16 games/conquest: Unfetchable, unmaintained
2019-10-16 games/crafty-tablebase-no-pawn: Unfetchable, unmaintained
2019-10-16 games/epiar: Unfetchable, unmaintained
2019-10-16 games/exmars: Unfetchable, unmaintained
2019-10-16 games/fteqw: Unfetchable, unmaintained
2019-10-16 games/gnake: Unfetchable, unmaintained
2019-10-16 games/gru: Unfetchable, unmaintained
2019-10-16 games/gtkpool: Unfetchable, unmaintained
2019-10-16 games/imaze: Unfetchable, unmaintained
2019-10-16 games/inform: Unfetchable, unmaintained
2019-10-16 games/iourbanterror: Unfetchable, unmaintained
2019-10-16 games/iourbanterror-server: Unfetchable, unmaintained
2019-10-16 games/jools: Unfetchable, unmaintained
2019-10-16 games/legends: Unfetchable, unmaintained
2019-10-16 games/linux-enemyterritory-etpro: Unfetchable, unmaintained
2019-10-16 games/linux-worldofgoo-demo: Unfetchable, unmaintained
2019-10-16 games/noegnud-data: Unfetchable, unmaintained
2019-10-16 games/poker-engine: Unfetchable, unmaintained
2019-10-16 games/ptools: Unfetchable, unmaintained
2019-10-16 games/pyawale: Unfetchable, unmaintained
2019-10-16 games/pysycache-lang: Unfetchable, unmaintained
2019-10-16 games/qmars: Unfetchable, unmaintained
2019-10-16 games/quake-reaper: Unfetchable, unmaintained
2019-10-16 games/quake3-ra3: Unfetchable, unmaintained
2019-10-16 games/sdlCC: Unfetchable, unmaintained
2019-10-16 games/speyes: Unfetchable, unmaintained
2019-10-16 games/vodovod: Unfetchable, unmaintained
2019-10-16 games/wmeyes: Unfetchable, unmaintained
2019-10-16 games/wmshuffle: Unfetchable, unmaintained
2019-10-16 games/xabacus: Unfetchable, unmaintained
2019-10-16 games/xpacman: Unfetchable, unmaintained
2019-10-16 games/xscorch: Unfetchable, unmaintained
2019-10-16 graphics/aeskulap: Unfetchable, unmaintained
2019-10-16 graphics/agave: Unfetchable, unmaintained
2019-10-16 graphics/cbview: Unfetchable, unmaintained
2019-10-16 graphics/copperspice: Unfetchable, unmaintained
2019-10-16 graphics/cthumb: Unfetchable, unmaintained
2019-10-16 graphics/fujiplay: Unfetchable, unmaintained
2019-10-16 graphics/gimp-ez-perspective-plugin: Unfetchable, unmaintained
2019-10-16 graphics/gimp-focusblur-plugin: Unfetchable, unmaintained
2019-10-16 graphics/gimp-jagged-border-script: Unfetchable, unmaintained
2019-10-16 graphics/gimp-manual-html: Unfetchable, unmaintained
2019-10-16 graphics/gimp-save-for-web: Unfetchable, unmaintained
2019-10-16 graphics/gimp-wavelet-denoise-plugin: Unfetchable, unmaintained
2019-10-16 graphics/gimp-wavelet-sharpen-plugin: Unfetchable, unmaintained
2019-10-16 graphics/giram: Unfetchable, unmaintained
2019-10-16 graphics/inventor: Unfetchable, unmaintained, Depends on expiring graphics/libGLw
2019-10-16 graphics/jpg2pdf: Unfetchable, unmaintained
2019-10-16 graphics/jpgraph2: Unfetchable, unmaintained
2019-10-16 graphics/makehuman: Unfetchable, unmaintained
2019-10-16 graphics/pstoepsi: Unfetchable, unmaintained
2019-10-16 graphics/xmandel: Unfetchable, unmaintained
2019-10-16 irc/minbif: Unfetchable, unmaintained
2019-10-16 japanese/VTPSfont: Unfetchable, unmaintained
2019-10-16 japanese/asterisk-sounds: Unfetchable, unmaintained
2019-10-16 japanese/cannadic: Unfetchable, unmaintained
2019-10-16 japanese/edict-utf-8: Unfetchable, unmaintained
2019-10-16 japanese/kpcal: Unfetchable, unmaintained
2019-10-16 japanese/multiskkserv: Unfetchable, unmaintained
2019-10-16 japanese/skkfep: Unfetchable, unmaintained
2019-10-16 java/eclipse-log4e: Unfetchable, unmaintained
2019-10-16 java/eclipse-lomboz: Unfetchable, unmaintained
2019-10-16 java/java-checkstyle: Unfetchable, unmaintained
2019-10-16 korean/baekmukfonts-ttf: Unfetchable, unmaintained
2019-10-16 korean/gtkcomm: Unfetchable, unmaintained
2019-10-16 lang/arena: Unfetchable, unmaintained
2019-10-16 lang/diveintopython: Unfetchable, unmaintained
2019-10-16 lang/modula3: Unfetchable, unmaintained
2019-10-16 lang/p2c: Unfetchable, unmaintained
2019-10-16 lang/quack: Unfetchable, unmaintained
2019-10-16 lang/stldoc: Unfetchable, unmaintained
2019-10-16 mail/altermime: Unfetchable, unmaintained
2019-10-16 mail/autosig: Unfetchable, unmaintained
2019-10-16 mail/gkrellmmailwatch2: Unfetchable, unmaintained
2019-10-16 mail/mboxcheck-applet: Unfetchable, unmaintained
2019-10-16 mail/nmzmail: Unfetchable, unmaintained
2019-10-16 mail/poppy: Unfetchable, unmaintained
2019-10-16 mail/prom-wl: Unfetchable, unmaintained
2019-10-16 mail/py-apolicy: Unfetchable, unmaintained
2019-10-16 mail/spamdb-curses: Unfetchable, unmaintained
2019-10-16 mail/xlbiff: Unfetchable, unmaintained
2019-10-16 math/algotutor: Unfetchable, unmaintained
2019-10-16 math/nyh-hoc: Unfetchable, unmaintained
2019-10-16 math/superlu_mt: Unfetchable, unmaintained
2019-10-16 math/testu01: Unfetchable, unmaintained
2019-10-16 misc/astrolog: Unfetchable, unmaintained
2019-10-16 misc/chord2html: Unfetchable, unmaintained
2019-10-16 misc/crosspad: Unfetchable, unmaintained
2019-10-16 misc/detachtty: Unfetchable, unmaintained
2019-10-16 misc/dphys-config: Unfetchable, unmaintained
2019-10-16 misc/dvorakng: Unfetchable, unmaintained
2019-10-16 misc/gctpc: Unfetchable, unmaintained
2019-10-16 misc/gkrellm-helium: Unfetchable, unmaintained
2019-10-16 misc/gkrellweather2: Unfetchable, unmaintained
2019-10-16 misc/linm: Unfetchable, unmaintained
2019-10-16 misc/mc-light: Unfetchable, unmaintained
2019-10-16 misc/newer: Unfetchable, unmaintained
2019-10-16 misc/telbook: Unfetchable, unmaintained
2019-10-16 misc/valspeak: Unfetchable, unmaintained
2019-10-16 misc/xd: Unfetchable, unmaintained
2019-10-16 multimedia/audiopreview: Unfetchable, unmaintained
2019-10-16 multimedia/dvts: Unfetchable, unmaintained
2019-10-16 multimedia/gcfilms: Unfetchable, unmaintained
2019-10-16 multimedia/kissdx: Unfetchable, unmaintained
2019-10-16 multimedia/playd: Unfetchable, unmaintained
2019-10-16 multimedia/subtitleeditor: Unfetchable, unmaintained
2019-10-16 multimedia/umr: Unfetchable, unmaintained
2019-10-16 net/bluemix-cli: Unfetchable, unmaintained
2019-10-16 net/boclient: Unfetchable, unmaintained
2019-10-16 net/csync2: Unfetchable, unmaintained
2019-10-16 net/dictd-database: Unfetchable, unmaintained
2019-10-16 net/gtic: Unfetchable, unmaintained
2019-10-16 net/hidentd: Unfetchable, unmaintained
2019-10-16 net/ldap2dns: Unfetchable, unmaintained
2019-10-16 net/libmxp: Unfetchable, unmaintained
2019-10-16 net/librouteros: Unfetchable, unmaintained
2019-10-16 net/nettest: Unfetchable, unmaintained
2019-10-16 net/py-netstring: Unfetchable, unmaintained
2019-10-16 net/radiusd-cistron: Unfetchable, unmaintained
2019-10-16 net/rtptools: Unfetchable, unmaintained
2019-10-16 net/smbldap-tools: Unfetchable, unmaintained
2019-10-16 net/tcptrace: Unfetchable, unmaintained
2019-10-16 net/wackford-squeers: Unfetchable, unmaintained
2019-10-16 net/wmnet2: Unfetchable, unmaintained
2019-10-16 net-im/pidgin-birthday-reminder: Unfetchable, unmaintained
2019-10-16 net-im/pidgin-pidgimpd: Unfetchable, unmaintained
2019-10-16 net-im/poezio: Unfetchable, unmaintained
2019-10-16 net-mgmt/bsnmp-jails: Unfetchable, unmaintained
2019-10-16 net-mgmt/iog: Unfetchable, unmaintained
2019-10-16 net-mgmt/lanmap: Unfetchable, unmaintained
2019-10-16 net-mgmt/nagios-spamd-plugin: Unfetchable, unmaintained
2019-10-16 net-mgmt/nefu: Unfetchable, unmaintained
2019-10-16 net-mgmt/pixilate: Unfetchable, unmaintained
2019-10-16 net-mgmt/slate: Unfetchable, unmaintained
2019-10-16 net-mgmt/weplab: Unfetchable, unmaintained
2019-10-16 net-p2p/bnbt: Unfetchable, unmaintained
2019-10-16 net-p2p/btpd: Unfetchable, unmaintained
2019-10-16 net-p2p/gkremldk: Unfetchable, unmaintained
2019-10-16 news/newscache: Unfetchable, unmaintained
2019-10-16 news/nntpbtr: Unfetchable, unmaintained
2019-10-16 news/slrnconf: Unfetchable, unmaintained
2019-10-16 news/xpn: Unfetchable, unmaintained
2019-10-16 polish/ekg: Unfetchable, unmaintained
2019-10-16 polish/ekg2: Unfetchable, unmaintained
2019-10-16 ports-mgmt/fastest_sites: Unfetchable, unmaintained
2019-10-16 ports-mgmt/pkg-plist: Unfetchable, unmaintained
2019-10-16 ports-mgmt/symports: Unfetchable, unmaintained
2019-10-16 print/poster: Unfetchable, unmaintained
2019-10-16 russian/d1489: Unfetchable, unmaintained
2019-10-16 science/metaf2xml: Unfetchable, unmaintained
2019-10-16 security/authforce: Unfetchable, unmaintained
2019-10-16 security/avcheck: Unfetchable, unmaintained
2019-10-16 security/digest: Unfetchable, unmaintained
2019-10-16 security/fpm2: Unfetchable, unmaintained
2019-10-16 security/fwipe: Unfetchable, unmaintained
2019-10-16 security/gnome-password-generator: Unfetchable, unmaintained
2019-10-16 security/httprint: Unfetchable, unmaintained
2019-10-16 security/ike-scan: Unfetchable, unmaintained
2019-10-16 security/ipfwcount: Unfetchable, unmaintained
2019-10-16 security/libsparkcrypto: Unfetchable, unmaintained
2019-10-16 security/md4coll: Unfetchable, unmaintained
2019-10-16 security/md5coll: Unfetchable, unmaintained
2019-10-16 security/osiris: Unfetchable, unmaintained
2019-10-16 security/ranpwd: Unfetchable, unmaintained
2019-10-16 security/rdigest: Unfetchable, unmaintained
2019-10-16 security/smap: Unfetchable, unmaintained
2019-10-16 security/sshblock: Unfetchable, unmaintained
2019-10-16 shells/bashc: Unfetchable, unmaintained
2019-10-16 shells/flash: Unfetchable, unmaintained
2019-10-16 sysutils/cotty: Unfetchable, unmaintained
2019-10-16 sysutils/dt: Unfetchable, unmaintained
2019-10-16 sysutils/gkrellfire: Unfetchable, unmaintained
2019-10-16 sysutils/log_analysis: Unfetchable, unmaintained
2019-10-16 sysutils/mksunbootcd: Unfetchable, unmaintained
2019-10-16 sysutils/rfstool: Unfetchable, unmaintained
2019-10-16 sysutils/skill: Unfetchable, unmaintained
2019-10-16 sysutils/sloth: Unfetchable, unmaintained
2019-10-16 sysutils/snowlog: Unfetchable, unmaintained
2019-10-16 sysutils/wmfire: Unfetchable, unmaintained
2019-10-16 sysutils/xbattbar: Unfetchable, unmaintained
2019-10-16 textproc/bedic-data: Unfetchable, unmaintained
2019-10-16 textproc/clit: Unfetchable, unmaintained
2019-10-16 textproc/docbook-tdg: Unfetchable, unmaintained
2019-10-16 textproc/emacs-wiki: Depends on expiring ports
2019-10-16 textproc/htmlize.el: Unfetchable, unmaintained
2019-10-16 textproc/libflate: Unfetchable, unmaintained
2019-10-16 textproc/mguesser: Unfetchable, unmaintained
2019-10-16 textproc/opensched: Unfetchable, unmaintained
2019-10-16 textproc/opentoken: Unfetchable, unmaintained
2019-10-16 textproc/rot: Unfetchable, unmaintained
2019-10-16 textproc/rtfx: Unfetchable, unmaintained
2019-10-16 textproc/supercat: Unfetchable, unmaintained
2019-10-16 textproc/xml_ez_out: Unfetchable, unmaintained
2019-10-16 textproc/xmldiff: Unfetchable, unmaintained
2019-10-16 textproc/xqilla: Unfetchable, unmaintained
2019-10-16 www/WebMagick: Unfetchable, unmaintained
2019-10-16 www/bins: Unfetchable, unmaintained
2019-10-16 www/blogsum: Unfetchable, unmaintained
2019-10-16 www/boa: Unfetchable, unmaintained
2019-10-16 www/cgihtml: Unfetchable, unmaintained
2019-10-16 www/cgiparse: Unfetchable, unmaintained
2019-10-16 www/flot: Unfetchable, unmaintained
2019-10-16 www/ftasv: Unfetchable, unmaintained
2019-10-16 www/hastymail2-devel: Unfetchable, unmaintained
2019-10-16 www/htmlpp: Unfetchable, unmaintained
2019-10-16 www/http-analyze: Unfetchable, unmaintained
2019-10-16 www/junkbuster: Unfetchable, unmaintained
2019-10-16 www/links-hacked: Unfetchable, unmaintained
2019-10-16 www/llgal: Unfetchable, unmaintained
2019-10-16 www/mgstat: Unfetchable, unmaintained
2019-10-16 www/php-screw: Unfetchable, unmaintained
2019-10-16 www/phproxy: Unfetchable, unmaintained
2019-10-16 www/py-prewikka: Unfetchable, unmaintained
2019-10-16 www/redmine-backlogs: Unfetchable, unmaintained
2019-10-16 www/swfdec-plugin: Unfetchable, unmaintained
2019-10-16 www/swish-e: Unfetchable, unmaintained
2019-10-16 x11/blast: Unfetchable, unmaintained
2019-10-16 x11/dynamag: Unfetchable, unmaintained
2019-10-16 x11/xcurs: Unfetchable, unmaintained
2019-10-16 x11/xscreensaver-gnome: Unfetchable, unmaintained
2019-10-16 x11/xscreensaver-gnome-hacks: Unfetchable, unmaintained
2019-10-16 x11-clocks/cairo-clock: Unfetchable, unmaintained
2019-10-16 x11-clocks/pclock: Unfetchable, unmaintained
2019-10-16 x11-clocks/stopwatch: Unfetchable, unmaintained
2019-10-16 x11-clocks/wmfuzzy: Unfetchable, unmaintained
2019-10-16 x11-fm/emelfm2: Unfetchable, unmaintained
2019-10-16 x11-fm/ezfm: Unfetchable, unmaintained
2019-10-16 x11-fm/ultracopier: Unfetchable, unmaintained
2019-10-16 x11-fm/xplore: Unfetchable, unmaintained
2019-10-16 x11-fonts/indic-ttf: Unfetchable, unmaintained
2019-10-16 x11-fonts/pingwi: Unfetchable, unmaintained
2019-10-16 x11-themes/cursor-ecliz: Unfetchable, unmaintained
2019-10-16 x11-themes/cursor-grounation-theme: Unfetchable, unmaintained
2019-10-16 x11-themes/cursor-neutral-theme: Unfetchable, unmaintained
2019-10-16 x11-themes/cursor-polar-theme: Unfetchable, unmaintained
2019-10-16 x11-themes/gtk-envy-theme: Unfetchable, unmaintained
2019-10-16 x11-themes/gtk-equinox-engine: Unfetchable, unmaintained
2019-10-16 x11-themes/gtk-qnxtheme: Unfetchable, unmaintained
2019-10-16 x11-themes/plank-theme-moka: Unfetchable, unmaintained
2019-10-15 x11-toolkits/swt-devel: Obsolete. Superseded by x11-toolkits/swt
2019-10-16 x11-wm/genmenu: Unfetchable, unmaintained
2019-10-16 x11-wm/musca: Unfetchable, unmaintained
2019-10-16 x11-wm/weewm: Unfetchable, unmaintained
2019-10-16 x11-wm/windowlab: Unfetchable, unmaintained
2019-10-16 x11-wm/wmfs: Unfetchable, unmaintained
Diffstat (limited to 'www/junkbuster/files/patch-ao')
-rw-r--r-- | www/junkbuster/files/patch-ao | 633 |
1 files changed, 0 insertions, 633 deletions
diff --git a/www/junkbuster/files/patch-ao b/www/junkbuster/files/patch-ao deleted file mode 100644 index 58e6fdd74ead..000000000000 --- a/www/junkbuster/files/patch-ao +++ /dev/null @@ -1,633 +0,0 @@ -Obtained from: ftp://ftp.linux.org.uk/pub/linux/rmk/ijb20.rmk.diff - ---- bind.c.orig Fri Nov 30 11:25:23 2001 -+++ bind.c Fri Nov 30 11:33:46 2001 -@@ -45,6 +45,242 @@ - long remote_ip_long; - char *remote_ip_str; - -+#ifdef HAVE_IPV6 -+#ifdef HAVE_POLL -+/* -+ * Do we have the superiour poll() interface? -+ */ -+#include <sys/poll.h> -+ -+static struct pollfd *b_pfd; -+static int nr_fds; -+#else -+/* -+ * Argh, we've only got the select() interface. -+ */ -+#include <sys/select.h> -+ -+static fd_set sfd; -+static int max_fd; -+#endif -+ -+static int add_fd(fd) -+ int fd; -+{ -+#ifdef HAVE_POLL -+ struct pollfd *n; -+ int nr = nr_fds + 1; -+ -+ n = realloc(b_pfd, nr * sizeof(*n)); -+ if (!n) -+ return -3; -+ -+ n[nr_fds].fd = fd; -+ n[nr_fds].events = POLLIN; -+ -+ b_pfd = n; -+ nr_fds = nr; -+ -+ return 0; -+#else -+ if (fd >= max_fd) -+ max_fd = fd + 1; -+ FD_SET(fd, &sfd); -+ return 0; -+#endif -+} -+ -+/* -+ * Bind one port of an address family, specified by `ai' -+ */ -+static int bind_one(ai) -+ struct addrinfo *ai; -+{ -+ int fd, one = 1; -+ -+ fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); -+ if (fd == -1) { -+ /* -+ * Is it an unsupported family or protocol? -+ * Move along please. -+ */ -+ if (errno == EINVAL || errno == EPROTONOSUPPORT) -+ return -1; -+ -+ /* -+ * Ok, something else went wrong - fatal error. -+ */ -+ return -3; -+ } -+ -+ setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, -+ (char *)&one, sizeof(one)); -+ -+ /* -+ * Now bind the socket. This may fail on Linux. -+ */ -+ if (bind(fd, ai->ai_addr, ai->ai_addrlen) < 0) { -+ close(fd); -+ -+ if (errno == EADDRINUSE) -+ return -2; -+ else -+ return -1; -+ } -+ -+ /* -+ * and ensure that it is listening. -+ */ -+ while (listen(fd, 5) == -1) { -+ if (errno != EINTR) { -+ close(fd); -+ return -1; -+ } -+ } -+ -+ return add_fd(fd); -+} -+ -+/* -+ * BIND-PORT (portnum) -+ * if success, return file descriptor -+ * if failure, returns -2 if address is in use, otherwise -1 -+ */ -+int bind_port (hostnam, portnum) -+char *hostnam; -+int portnum; -+{ -+ struct addrinfo *ai, *aip, aihint; -+ int rc, nr = 0; -+ char serv[NI_MAXSERV]; -+ -+ if (snprintf(serv, NI_MAXSERV, "%d", portnum) >= NI_MAXSERV) -+ return -1; -+ -+ memset(&aihint, 0, sizeof(aihint)); -+ -+ aihint.ai_flags = AI_PASSIVE; -+ aihint.ai_family = PF_UNSPEC; -+ aihint.ai_socktype = SOCK_STREAM; -+ -+ rc = getaddrinfo(hostnam, serv, &aihint, &ai); -+ if (rc) -+ return -1; -+ -+ /* -+ * Go through each entry creating a socket and trying -+ * to bind it. Note that on Linux, if we bind to an -+ * IPv6 address, we can't bind to it's corresponding -+ * IPv4 address, so we bind IPv6 first, then IPv4. -+ * -+ * We classify success as being able to establish at -+ * least one listening socket. -+ */ -+ for (aip = ai; aip; aip = aip->ai_next) { -+ if (aip->ai_family == PF_INET6) { -+ rc = bind_one(aip); -+ if (rc == 0) -+ nr++; -+ } -+ } -+ -+ for (aip = ai; aip; aip = aip->ai_next) { -+ if (aip->ai_family == PF_INET) { -+ rc = bind_one(aip); -+ if (rc == 0) -+ nr++; -+ } -+ } -+ -+ freeaddrinfo(ai); -+ -+ if (nr != 0) -+ rc = 0; -+ -+ return rc; -+} -+ -+/* -+ * ACCEPT-CONNECTION -+ * the argument, fd, is the value returned from bind_port -+ * -+ * when a connection is accepted, it returns the file descriptor -+ * for the connected port -+ */ -+int accept_connection (_fd) -+int _fd; -+{ -+ struct sockaddr_storage sa; -+ int afd, alen = sizeof(sa); -+ char host[NI_MAXHOST]; -+ int rc, fd; -+ -+#ifdef HAVE_POLL -+ int i; -+ -+ do { -+ rc = poll(b_pfd, nr_fds, -1); -+ } while (rc == 0 || (rc == -1 && errno == EINTR)); -+ -+ /* -+ * I wish we could spawn the handler here. Alas, without -+ * rewriting more of ijb... -+ */ -+ for (i = 0; i < nr_fds; i++) -+ if (b_pfd[i].revents) -+ break; -+ -+ /* -+ * hmm, if we ran out of fds to check, someone lied to us. -+ */ -+ if (i >= nr_fds) -+ return -1; -+ -+ fd = b_pfd[i].fd; -+#else -+ fd_set rfds; -+ -+ rfds = sfd; -+ do { -+ rc = select(max_fd, &rfds, NULL, NULL, NULL); -+ } while (rc == 0 || (rc == -1 && errno == EINTR)); -+ -+ /* -+ * Find the first fd. Same comment as above. -+ */ -+ for (fd = 0; fd < max_fd; fd++) -+ if (FD_ISSET(fd, &rfds)) -+ break; -+ -+ /* -+ * If we found no fds, someone lied to us. -+ */ -+ if (fd >= max_fd) -+ return -1; -+ -+#endif -+ afd = accept(fd, (struct sockaddr *)&sa, &alen); -+ if (afd < 0) -+ return -1; -+ -+ if (getnameinfo((struct sockaddr *)&sa, alen, -+ host, NI_MAXHOST, -+ NULL, 0, NI_NUMERICHOST)) -+ strcpy(host, "unknown"); -+ -+ remote_ip_str = strdup(host); -+ remote_ip_long = 0; -+ -+ return afd; -+} -+#else -+/* -+ * -------------------------------- IPv4 ---------------------------- -+ */ -+ -+extern int atoip(); -+ -+ - /* - * BIND-PORT (portnum) - * if success, return file descriptor -@@ -100,7 +336,6 @@ - return fd; - } - -- - /* - * ACCEPT-CONNECTION - * the argument, fd, is the value returned from bind_port -@@ -128,3 +363,5 @@ - - return afd; - } -+#endif -+ ---- conn.c.orig Fri Nov 30 11:25:23 2001 -+++ conn.c Fri Nov 30 11:30:30 2001 -@@ -41,6 +41,10 @@ - #include "gnuregex.h" - #endif - -+#ifdef HAVE_POLL -+#include <sys/poll.h> -+#endif -+ - #include "jcc.h" - - int -@@ -82,14 +86,127 @@ - return(inaddr.sin_addr.s_addr); - } - -+#ifdef HAVE_IPV6 -+int connect_to(char *host, int portnum, struct client_state *csp) -+{ -+ struct addrinfo *ai, *aip, aihint; -+ int fd = -1, rc; -+ char serv[NI_MAXSERV]; -+ -+ if (snprintf(serv, NI_MAXSERV, "%d", portnum) >= NI_MAXSERV) { -+ errno = EOVERFLOW; -+ return -1; -+ } -+ -+ memset(&aihint, 0, sizeof(aihint)); -+ -+ aihint.ai_family = PF_UNSPEC; -+ aihint.ai_socktype = SOCK_STREAM; -+ -+ rc = getaddrinfo(host, serv, &aihint, &ai); -+ if (rc) -+ return -1; -+ -+ /* -+ * Go through each entry trying to connect to the host. -+ */ -+ for (aip = ai; aip; aip = aip->ai_next) { -+ int flags; -+ -+ fd = socket(aip->ai_family, aip->ai_socktype, aip->ai_protocol); -+ if (fd == -1) -+ continue; -+ -+#ifdef TCP_NODELAY /* turn off TCP coalescence */ -+ { -+ int mi = 1; -+ setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char *)&mi, sizeof(mi)); -+ } -+#endif -+#if !defined(_WIN32) && !defined(__BEOS__) -+ flags = fcntl(fd, F_GETFL, 0); -+ if (flags != -1) -+ fcntl(fd, F_SETFL, flags | O_NDELAY); -+#endif -+ do { -+ rc = connect(fd, aip->ai_addr, aip->ai_addrlen); -+ } while (rc == -1 && errno == EINTR); -+ -+ if (rc == -1 && errno != EINPROGRESS) { -+ close(fd); -+ fd = -1; -+ continue; -+ } -+ -+ /* -+ * Ok, the connection is in progress. -+ */ -+#if !defined(_WIN32) && !defined(__BEOS__) -+ if (flags != -1) -+ fcntl(fd, F_SETFL, flags); -+#endif -+ { -+#ifdef HAVE_POLL -+ struct pollfd pfd; -+ -+ pfd.fd = fd; -+ pfd.events = POLLOUT | POLLERR | POLLHUP; -+ -+ if (poll(&pfd, 1, 30000) <= 0) { -+ close(fd); -+ fd = -1; -+ continue; -+ } -+ -+ if (pfd.revents & (POLLERR|POLLHUP)) { -+ close(fd); -+ fd = -1; -+ continue; -+ } -+#else -+ fd_set rfds, wfds; -+ struct timeval tv[1]; -+ -+ FD_ZERO(&rfds); -+ FD_ZERO(&wfds); -+ FD_SET(fd, &rfds); -+ FD_SET(fd, &wfds); -+ -+ tv->tv_sec = 30; -+ tv->tv_usec = 0; -+ -+ if (select(fd + 1, &rfds, &wfds, NULL, tv) <= 0) { -+ (void) close(fd); -+ fd = -1; -+ continue; -+ } -+ -+ if (FD_ISSET(fd, &rfds) && FD_ISSET(fd, &wfds)) { -+ int r = 0, l = sizeof(r); -+ -+ if (getsockopt(fd, SOL_SOCKET, SO_ERROR, &r, &l) -+ || r) { -+ (void) close(fd); -+ fd = -1; -+ continue; -+ } -+ } -+#endif -+ } -+ break; -+ } -+ -+ freeaddrinfo(ai); - -+ return fd; -+} -+ -+#else - int - connect_to(char *host, int portnum, struct client_state *csp) - { - struct sockaddr_in inaddr; - int fd, addr; -- fd_set wfds; -- struct timeval tv[1]; - int flags; - struct access_control_addr src[1], dst[1]; - -@@ -122,23 +239,19 @@ - } - - #ifdef TCP_NODELAY --{ /* turn off TCP coalescence */ -- int mi = 1; -- setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, (char * ) &mi, sizeof (int)); --} -+ { /* turn off TCP coalescence */ -+ int mi = 1; -+ setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, (char * ) &mi, sizeof (int)); -+ } - #endif -- --#ifndef _WIN32 --#ifndef __BEOS__ -+#if !defined(_WIN32) && !defined(__BEOS__) - if ((flags = fcntl(fd, F_GETFL, 0)) != -1) { - flags |= O_NDELAY; - fcntl(fd, F_SETFL, flags); - } - #endif --#endif - - while (connect(fd, (struct sockaddr *) & inaddr, sizeof inaddr) == -1) { -- - #ifdef _WIN32 - if (errno == WSAEINPROGRESS) - #else -@@ -154,25 +267,59 @@ - } - } - --#ifndef _WIN32 --#ifndef __BEOS__ -+#if !defined(_WIN32) && !defined(__BEOS__) - if (flags != -1) { - flags &= ~O_NDELAY; - fcntl(fd, F_SETFL, flags); - } - #endif --#endif - -- /* wait for connection to complete */ -- FD_ZERO(&wfds); -- FD_SET(fd, &wfds); -+ { -+#ifdef HAVE_POLL -+ struct pollfd pfd; -+ -+ pfd.fd = fd; -+ pfd.events = POLLOUT | POLLERR | POLLHUP; -+ -+ if (poll(&pfd, 1, 30000) <= 0) { -+ close(fd); -+ return -1; -+ } - -- tv->tv_sec = 30; -- tv->tv_usec = 0; -+ if (pfd.revents & (POLLERR|POLLHUP)) { -+ close(fd); -+ return -1; -+ } -+#else -+ fd_set rfds, wfds; -+ struct timeval tv[1]; - -- if (select(fd + 1, NULL, &wfds, NULL, tv) <= 0) { -- (void) close(fd); -- return(-1); -+ /* wait for connection to complete */ -+ FD_ZERO(&rfds); -+ FD_ZERO(&wfds); -+ FD_SET(fd, &rfds); -+ FD_SET(fd, &wfds); -+ -+ tv->tv_sec = 30; -+ tv->tv_usec = 0; -+ -+ if (select(fd + 1, &rfds, &wfds, NULL, tv) <= 0) { -+ (void) close(fd); -+ return(-1); -+ } -+ -+ if (FD_ISSET(fd, &rfds) && FD_ISSET(fd, &wfds)) { -+ int r = 0, l = sizeof(r); -+ -+ if (getsockopt(fd, SOL_SOCKET, SO_ERROR, &r, &l) -+ || r) { -+ (void) close(fd); -+ fd = -1; -+ } -+ } -+#endif - } -+ - return(fd); - } -+#endif ---- jcc.c.orig Fri Nov 30 11:25:24 2001 -+++ jcc.c Fri Nov 30 11:30:30 2001 -@@ -32,9 +32,13 @@ - #include <OS.h> /* declarations for threads and stuff. */ - #endif - -+#ifdef HAVE_POLL -+#include <sys/poll.h> -+#else - #ifndef FD_ZERO - #include <select.h> - #endif -+#endif - - #endif - -@@ -640,7 +644,26 @@ - - server_body = 0; - -+#ifdef HAVE_POLL -+ fds[0].fd = csp->cfd; -+ fds[0].events = POLLIN|POLLHUP; -+ fds[1].fd = csp->sfd; -+ fds[1].events = POLLIN|POLLHUP; -+#endif -+ - for(;;) { -+#ifdef HAVE_POLL -+ n = poll(fds, 2, -1); -+ -+ if (n < 0) { -+ fprintf(logfp, "%s: poll() failed!: ", prog); -+ fperror(logfp, ""); -+ return; -+ } -+ -+#define IS_CLIENT() (fds[0].revents & POLLIN) -+#define IS_SERVER() (fds[1].revents & POLLIN) -+#else - FD_ZERO(&rfds); - - FD_SET(csp->cfd, &rfds); -@@ -653,12 +676,14 @@ - fperror(logfp, ""); - return; - } -- -+#define IS_CLIENT() FD_ISSET(csp->cfd, &rfds) -+#define IS_SERVER() FD_ISSET(csp->sfd, &rfds) -+#endif - /* this is the body of the browser's request - * just read it and write it. - */ - -- if(FD_ISSET(csp->cfd, &rfds)) { -+ if(IS_CLIENT()) { - - n = read_socket(csp->cfd, buf, sizeof(buf)); - -@@ -679,7 +704,7 @@ - * otherwise it's the body - */ - -- if(FD_ISSET(csp->sfd, &rfds)) { -+ if(IS_SERVER()) { - - n = read_socket(csp->sfd, buf, sizeof(buf)); - ---- jcc.h.orig Fri Nov 30 11:25:24 2001 -+++ jcc.h Fri Nov 30 11:37:12 2001 -@@ -339,6 +339,7 @@ - extern void client_cookie_adder(struct client_state *csp); - extern void client_xtra_adder(struct client_state *csp); - extern void client_x_forwarded_adder(struct client_state *csp); -+extern void server_conn_close_adder(struct client_state *csp); - - /* interceptors from filters.c - */ ---- parsers.c.orig Fri Nov 30 11:25:24 2001 -+++ parsers.c Fri Nov 30 11:30:30 2001 -@@ -32,6 +32,7 @@ - { "cookie:", 7, client_send_cookie }, - { "x-forwarded-for:", 16, client_x_forwarded }, - { "proxy-connection:", 17, crumble }, -+ { "keep-alive:", 11, crumble }, - /* { "if-modified-since:", 18, crumble }, */ - { NULL, 0, NULL } - }; -@@ -57,6 +58,7 @@ - }; - - void (*add_server_headers[])() = { -+ server_conn_close_adder, /* for http/1.1 */ - NULL - }; - -@@ -608,6 +610,12 @@ - if(csp->accept_server_cookie == 0) return(crumble(v, s, csp)); - - return(strdup(s)); -+} -+ -+void server_conn_close_adder(struct client_state *csp) -+{ -+ char *p = strsav(NULL, "Connection: close"); -+ enlist(csp->headers, p); - } - - /* case insensitive string comparison */ ---- socks4.c.orig Fri Nov 30 11:25:25 2001 -+++ socks4.c Fri Nov 30 11:30:31 2001 -@@ -11,6 +11,7 @@ - - - #include <stdio.h> -+#include <string.h> - #include <sys/types.h> - #include <errno.h> - -@@ -112,6 +113,8 @@ - strcpy(((char *)cbuf) + csiz, http->host); - csiz = n; - break; -+ default: -+ return -1; /* oops */ - } - - c->vn = 4; |