pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/net/py-twisted Twisted Core 17.1.0 (2017-02-04)
details: https://anonhg.NetBSD.org/pkgsrc/rev/98000c4d28d2
branches: trunk
changeset: 358491:98000c4d28d2
user: adam <adam%pkgsrc.org@localhost>
date: Mon Feb 13 18:59:04 2017 +0000
description:
Twisted Core 17.1.0 (2017-02-04)
================================
Features
--------
- Added a new interface,
twisted.internet.interfaces.IHostnameResolver, which is an
improvement to twisted.internet.interfaces.IResolverSimple that
supports resolving multiple addresses as well as resolving IPv6
addresses. This is a native, asynchronous, Twisted analogue to
getaddrinfo. (bug-4362)
- twisted.web.client.Agent now uses HostnameEndpoint internally; as a
consequence, it now supports IPv6, as well as making connections
faster and more reliably to hosts that have more than one DNS name.
(bug-6712)
- twisted.internet.ssl.CertificateOptions now has the new constructor
argument 'raiseMinimumTo', allowing you to increase the minimum TLS
version to this version or Twisted's default, whichever is higher.
The additional new constructor arguments 'lowerMaximumSecurityTo'
and 'insecurelyLowerMinimumTo' allow finer grained control over
negotiated versions that don't honour Twisted's defaults, for
working around broken peers, at the cost of reducing the security
of the TLS it will negotiate. (bug-6800)
- twisted.internet.ssl.CertificateOptions now sets the OpenSSL
context's mode to MODE_RELEASE_BUFFERS, which will free the
read/write buffers on idle TLS connections to save memory. (bug-8247)
- trial --help-reactors will only list reactors which can be
imported. (bug-8745)
- twisted.internet.endpoints.HostnameEndpoint now uses the passed
reactor's implementation of
twisted.internet.interfaces.IReactorPluggableResolver to resolve
hostnames rather than its own deferToThread/getaddrinfo wrapper;
this makes its hostname resolution pluggable via a public API.
(bug-8922)
- twisted.internet.reactor.spawnProcess now does not emit a
deprecation warning on Unicode arguments. It will encode Unicode
arguments down to bytes using the filesystem encoding on UNIX and
Python 2 on Windows, and pass Unicode through unchanged on Python 3
on Windows. (bug-8941)
- twisted.trial._dist.test.test_distreporter now works on Python 3.
(bug-8943)
Bugfixes
--------
- trial --help-reactors will now display iocp and win32er reactors
with Python 3. (bug-8745)
- twisted.logger._flatten.flattenEvent now handles log_format being
None instead of assuming the value is always a string. (bug-8860)
- twisted.protocol.ftp is now Python 3 compatible (bug-8865)
- twisted.names.client.Resolver can now resolve names with IPv6 DNS
servers. (bug-8877)
- twisted.application.internet.ClientService now waits for existing
connections to disconnect before trying to connect again when
restarting. (bug-8899)
- twisted.internet.unix.Server.doRead and
twisted.internet.unix.Client.doRead no longer fail if recvmsg's
ancilliary data contains more than one file descriptor. (bug-8911)
- twist on Python 3 now correctly prints the help text when given no
plugin to run. (bug-8918)
- twisted.python.sendmsg.sendmsg no longer segfaults on Linux +
Python 2. (bug-8969)
- IHandshakeListener providers connected via SSL4ClientEndpoint will
now have their handshakeCompleted methods called. (bug-8973)
- The twist script now respects the --reactor option. (bug-8983)
- Fix crash when using SynchronousTestCase with Warning object which
does not store a string as its first argument (like
libmysqlclient). (bug-9005)
- twisted.python.compat.execfile() does not open files with the
deprecated 'U' flag on Python 3. (bug-9012)
Deprecations and Removals
-------------------------
- twisted.internet.ssl.CertificateOption's 'method' constructor
argument is now deprecated, in favour of the new 'raiseMinimumTo',
'lowerMaximumSecurityTo', and 'insecurelyLowerMinimumTo' arguments.
(bug-6800)
- twisted.protocols.telnet (not to be confused with the supported
twisted.conch.telnet), deprecated since Twisted 2.5, has been
removed. (bug-8925)
- twisted.application.strports.parse, as well as the deprecated
default arguments in strports.service/listen, deprecated since
Twisted 10.2, has been removed. (bug-8926)
- twisted.web.client.getPage and twisted.web.client.downloadPage have
been deprecated in favour of https://pypi.org/project/treq and
twisted.web.client.Agent. (bug-8960)
- twisted.internet.defer.timeout is deprecated in favor of
twisted.internet.defer.Deferred.addTimeout (bug-8971)
diffstat:
net/py-twisted/Makefile | 12 +-
net/py-twisted/Makefile.common | 6 +-
net/py-twisted/PLIST | 636 ++++++++++++++++++++--------------------
net/py-twisted/distinfo | 10 +-
4 files changed, 337 insertions(+), 327 deletions(-)
diffs (truncated from 1075 to 300 lines):
diff -r 6bb21aea8ea3 -r 98000c4d28d2 net/py-twisted/Makefile
--- a/net/py-twisted/Makefile Mon Feb 13 18:57:05 2017 +0000
+++ b/net/py-twisted/Makefile Mon Feb 13 18:59:04 2017 +0000
@@ -1,13 +1,13 @@
-# $NetBSD: Makefile,v 1.30 2016/11/30 12:28:50 wiz Exp $
+# $NetBSD: Makefile,v 1.31 2017/02/13 18:59:04 adam Exp $
PKGNAME= ${PYPKGPREFIX}-${DISTNAME:tl}
-PKGREVISION= 1
COMMENT= Framework for writing networked applications
.include "../../net/py-twisted/Makefile.common"
DEPENDS+= ${PYPKGPREFIX}-constantly-[0-9]*:../../devel/py-constantly
DEPENDS+= ${PYPKGPREFIX}-incremental-[0-9]*:../../devel/py-incremental
DEPENDS+= ${PYPKGPREFIX}-OpenSSL>=0.6:../../security/py-OpenSSL
+DEPENDS+= ${PYPKGPREFIX}-service_identity-[0-9]*:../../security/py-service_identity
DEPENDS+= ${PYPKGPREFIX}-ZopeInterface>=3.0.1:../../devel/py-ZopeInterface
REPLACE_PYTHON+= src/twisted/mail/test/pop3testserver.py
@@ -25,10 +25,9 @@
post-install:
cd ${DESTDIR}${PREFIX}/bin && \
- for i in cftp ckeygen conch mailmail pyhtmlizer tkconch trial twist twistd; \
- do \
- ${MV} $$i $$i-${PYVERSSUFFIX}; \
- done
+ for i in cftp ckeygen conch mailmail pyhtmlizer tkconch trial twist twistd; do \
+ ${MV} $$i $$i-${PYVERSSUFFIX}; \
+ done
# Do not "make package" after running "make test"; this will result in files
# being installed that should not be.
@@ -41,5 +40,4 @@
# egg.mk restricts the Python version list
.include "../../lang/python/egg.mk"
.include "../../lang/python/application.mk"
-
.include "../../mk/bsd.pkg.mk"
diff -r 6bb21aea8ea3 -r 98000c4d28d2 net/py-twisted/Makefile.common
--- a/net/py-twisted/Makefile.common Mon Feb 13 18:57:05 2017 +0000
+++ b/net/py-twisted/Makefile.common Mon Feb 13 18:59:04 2017 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.37 2017/01/01 14:43:52 wiz Exp $
+# $NetBSD: Makefile.common,v 1.38 2017/02/13 18:59:04 adam Exp $
#
# used by net/py-twisted/Makefile
# used by net/py-twisted-docs/Makefile
-DISTNAME= Twisted-16.6.0
+DISTNAME= Twisted-17.1.0
CATEGORIES= net python
MASTER_SITES= http://twistedmatrix.com/Releases/Twisted/${PKGVERSION_NOREV:R}/
EXTRACT_SUFX= .tar.bz2
@@ -14,5 +14,3 @@
DISTINFO_FILE?= ${.CURDIR}/../py-twisted/distinfo
PATCHDIR?= ${.CURDIR}/../py-twisted/patches
-
-PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # many parts not yet ported as of 16.5.0 (PLIST: 465 files missing)
diff -r 6bb21aea8ea3 -r 98000c4d28d2 net/py-twisted/PLIST
--- a/net/py-twisted/PLIST Mon Feb 13 18:57:05 2017 +0000
+++ b/net/py-twisted/PLIST Mon Feb 13 18:59:04 2017 +0000
@@ -1,8 +1,8 @@
-@comment $NetBSD: PLIST,v 1.26 2016/11/28 13:55:50 wiz Exp $
+@comment $NetBSD: PLIST,v 1.27 2017/02/13 18:59:04 adam Exp $
bin/cftp-${PYVERSSUFFIX}
bin/ckeygen-${PYVERSSUFFIX}
bin/conch-${PYVERSSUFFIX}
-bin/mailmail-${PYVERSSUFFIX}
+${PLIST.py2x}bin/mailmail-${PYVERSSUFFIX}
bin/pyhtmlizer-${PYVERSSUFFIX}
bin/tkconch-${PYVERSSUFFIX}
bin/trial-${PYVERSSUFFIX}
@@ -78,6 +78,9 @@
${PYSITELIB}/twisted/application/runner/_exit.py
${PYSITELIB}/twisted/application/runner/_exit.pyc
${PYSITELIB}/twisted/application/runner/_exit.pyo
+${PYSITELIB}/twisted/application/runner/_pidfile.py
+${PYSITELIB}/twisted/application/runner/_pidfile.pyc
+${PYSITELIB}/twisted/application/runner/_pidfile.pyo
${PYSITELIB}/twisted/application/runner/_runner.py
${PYSITELIB}/twisted/application/runner/_runner.pyc
${PYSITELIB}/twisted/application/runner/_runner.pyo
@@ -87,6 +90,9 @@
${PYSITELIB}/twisted/application/runner/test/test_exit.py
${PYSITELIB}/twisted/application/runner/test/test_exit.pyc
${PYSITELIB}/twisted/application/runner/test/test_exit.pyo
+${PYSITELIB}/twisted/application/runner/test/test_pidfile.py
+${PYSITELIB}/twisted/application/runner/test/test_pidfile.pyc
+${PYSITELIB}/twisted/application/runner/test/test_pidfile.pyo
${PYSITELIB}/twisted/application/runner/test/test_runner.py
${PYSITELIB}/twisted/application/runner/test/test_runner.pyc
${PYSITELIB}/twisted/application/runner/test/test_runner.pyo
@@ -462,6 +468,9 @@
${PYSITELIB}/twisted/internet/_glibbase.py
${PYSITELIB}/twisted/internet/_glibbase.pyc
${PYSITELIB}/twisted/internet/_glibbase.pyo
+${PYSITELIB}/twisted/internet/_idna.py
+${PYSITELIB}/twisted/internet/_idna.pyc
+${PYSITELIB}/twisted/internet/_idna.pyo
${PYSITELIB}/twisted/internet/_newtls.py
${PYSITELIB}/twisted/internet/_newtls.pyc
${PYSITELIB}/twisted/internet/_newtls.pyo
@@ -474,15 +483,21 @@
${PYSITELIB}/twisted/internet/_posixstdio.py
${PYSITELIB}/twisted/internet/_posixstdio.pyc
${PYSITELIB}/twisted/internet/_posixstdio.pyo
+${PYSITELIB}/twisted/internet/_producer_helpers.py
+${PYSITELIB}/twisted/internet/_producer_helpers.pyc
+${PYSITELIB}/twisted/internet/_producer_helpers.pyo
+${PYSITELIB}/twisted/internet/_resolver.py
+${PYSITELIB}/twisted/internet/_resolver.pyc
+${PYSITELIB}/twisted/internet/_resolver.pyo
${PYSITELIB}/twisted/internet/_signals.py
${PYSITELIB}/twisted/internet/_signals.pyc
${PYSITELIB}/twisted/internet/_signals.pyo
${PYSITELIB}/twisted/internet/_sslverify.py
${PYSITELIB}/twisted/internet/_sslverify.pyc
${PYSITELIB}/twisted/internet/_sslverify.pyo
-${PYSITELIB}/twisted/internet/_threadedselect.py
-${PYSITELIB}/twisted/internet/_threadedselect.pyc
-${PYSITELIB}/twisted/internet/_threadedselect.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/internet/_threadedselect.py
+${PLIST.py2x}${PYSITELIB}/twisted/internet/_threadedselect.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/internet/_threadedselect.pyo
${PYSITELIB}/twisted/internet/_win32serialport.py
${PYSITELIB}/twisted/internet/_win32serialport.pyc
${PYSITELIB}/twisted/internet/_win32serialport.pyo
@@ -525,12 +540,12 @@
${PYSITELIB}/twisted/internet/gireactor.py
${PYSITELIB}/twisted/internet/gireactor.pyc
${PYSITELIB}/twisted/internet/gireactor.pyo
-${PYSITELIB}/twisted/internet/glib2reactor.py
-${PYSITELIB}/twisted/internet/glib2reactor.pyc
-${PYSITELIB}/twisted/internet/glib2reactor.pyo
-${PYSITELIB}/twisted/internet/gtk2reactor.py
-${PYSITELIB}/twisted/internet/gtk2reactor.pyc
-${PYSITELIB}/twisted/internet/gtk2reactor.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/internet/glib2reactor.py
+${PLIST.py2x}${PYSITELIB}/twisted/internet/glib2reactor.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/internet/glib2reactor.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/internet/gtk2reactor.py
+${PLIST.py2x}${PYSITELIB}/twisted/internet/gtk2reactor.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/internet/gtk2reactor.pyo
${PYSITELIB}/twisted/internet/gtk3reactor.py
${PYSITELIB}/twisted/internet/gtk3reactor.pyc
${PYSITELIB}/twisted/internet/gtk3reactor.pyo
@@ -592,9 +607,9 @@
${PYSITELIB}/twisted/internet/protocol.py
${PYSITELIB}/twisted/internet/protocol.pyc
${PYSITELIB}/twisted/internet/protocol.pyo
-${PYSITELIB}/twisted/internet/pyuisupport.py
-${PYSITELIB}/twisted/internet/pyuisupport.pyc
-${PYSITELIB}/twisted/internet/pyuisupport.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/internet/pyuisupport.py
+${PLIST.py2x}${PYSITELIB}/twisted/internet/pyuisupport.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/internet/pyuisupport.pyo
${PYSITELIB}/twisted/internet/reactor.py
${PYSITELIB}/twisted/internet/reactor.pyc
${PYSITELIB}/twisted/internet/reactor.pyo
@@ -644,12 +659,12 @@
${PYSITELIB}/twisted/internet/test/process_cli.py
${PYSITELIB}/twisted/internet/test/process_cli.pyc
${PYSITELIB}/twisted/internet/test/process_cli.pyo
-${PYSITELIB}/twisted/internet/test/process_connectionlost.py
-${PYSITELIB}/twisted/internet/test/process_connectionlost.pyc
-${PYSITELIB}/twisted/internet/test/process_connectionlost.pyo
-${PYSITELIB}/twisted/internet/test/process_gireactornocompat.py
-${PYSITELIB}/twisted/internet/test/process_gireactornocompat.pyc
-${PYSITELIB}/twisted/internet/test/process_gireactornocompat.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/internet/test/process_connectionlost.py
+${PLIST.py2x}${PYSITELIB}/twisted/internet/test/process_connectionlost.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/internet/test/process_connectionlost.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/internet/test/process_gireactornocompat.py
+${PLIST.py2x}${PYSITELIB}/twisted/internet/test/process_gireactornocompat.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/internet/test/process_gireactornocompat.pyo
${PYSITELIB}/twisted/internet/test/process_helper.py
${PYSITELIB}/twisted/internet/test/process_helper.pyc
${PYSITELIB}/twisted/internet/test/process_helper.pyo
@@ -728,6 +743,9 @@
${PYSITELIB}/twisted/internet/test/test_protocol.py
${PYSITELIB}/twisted/internet/test/test_protocol.pyc
${PYSITELIB}/twisted/internet/test/test_protocol.pyo
+${PYSITELIB}/twisted/internet/test/test_resolver.py
+${PYSITELIB}/twisted/internet/test/test_resolver.pyc
+${PYSITELIB}/twisted/internet/test/test_resolver.pyo
${PYSITELIB}/twisted/internet/test/test_serialport.py
${PYSITELIB}/twisted/internet/test/test_serialport.pyc
${PYSITELIB}/twisted/internet/test/test_serialport.pyo
@@ -767,9 +785,9 @@
${PYSITELIB}/twisted/internet/threads.py
${PYSITELIB}/twisted/internet/threads.pyc
${PYSITELIB}/twisted/internet/threads.pyo
-${PYSITELIB}/twisted/internet/tksupport.py
-${PYSITELIB}/twisted/internet/tksupport.pyc
-${PYSITELIB}/twisted/internet/tksupport.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/internet/tksupport.py
+${PLIST.py2x}${PYSITELIB}/twisted/internet/tksupport.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/internet/tksupport.pyo
${PYSITELIB}/twisted/internet/udp.py
${PYSITELIB}/twisted/internet/udp.pyc
${PYSITELIB}/twisted/internet/udp.pyo
@@ -782,12 +800,12 @@
${PYSITELIB}/twisted/internet/win32eventreactor.py
${PYSITELIB}/twisted/internet/win32eventreactor.pyc
${PYSITELIB}/twisted/internet/win32eventreactor.pyo
-${PYSITELIB}/twisted/internet/wxreactor.py
-${PYSITELIB}/twisted/internet/wxreactor.pyc
-${PYSITELIB}/twisted/internet/wxreactor.pyo
-${PYSITELIB}/twisted/internet/wxsupport.py
-${PYSITELIB}/twisted/internet/wxsupport.pyc
-${PYSITELIB}/twisted/internet/wxsupport.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/internet/wxreactor.py
+${PLIST.py2x}${PYSITELIB}/twisted/internet/wxreactor.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/internet/wxreactor.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/internet/wxsupport.py
+${PLIST.py2x}${PYSITELIB}/twisted/internet/wxsupport.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/internet/wxsupport.pyo
${PYSITELIB}/twisted/logger/__init__.py
${PYSITELIB}/twisted/logger/__init__.pyc
${PYSITELIB}/twisted/logger/__init__.pyo
@@ -878,98 +896,97 @@
${PYSITELIB}/twisted/logger/test/test_util.py
${PYSITELIB}/twisted/logger/test/test_util.pyc
${PYSITELIB}/twisted/logger/test/test_util.pyo
-${PYSITELIB}/twisted/mail/__init__.py
-${PYSITELIB}/twisted/mail/__init__.pyc
-${PYSITELIB}/twisted/mail/__init__.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/mail/__init__.py
+${PLIST.py2x}${PYSITELIB}/twisted/mail/__init__.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/mail/__init__.pyo
${PYSITELIB}/twisted/mail/_cred.py
${PYSITELIB}/twisted/mail/_cred.pyc
${PYSITELIB}/twisted/mail/_cred.pyo
${PYSITELIB}/twisted/mail/_except.py
${PYSITELIB}/twisted/mail/_except.pyc
${PYSITELIB}/twisted/mail/_except.pyo
-${PYSITELIB}/twisted/mail/alias.py
-${PYSITELIB}/twisted/mail/alias.pyc
-${PYSITELIB}/twisted/mail/alias.pyo
-${PYSITELIB}/twisted/mail/bounce.py
-${PYSITELIB}/twisted/mail/bounce.pyc
-${PYSITELIB}/twisted/mail/bounce.pyo
-${PYSITELIB}/twisted/mail/imap4.py
-${PYSITELIB}/twisted/mail/imap4.pyc
-${PYSITELIB}/twisted/mail/imap4.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/mail/alias.py
+${PLIST.py2x}${PYSITELIB}/twisted/mail/alias.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/mail/alias.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/mail/bounce.py
+${PLIST.py2x}${PYSITELIB}/twisted/mail/bounce.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/mail/bounce.pyo
+${PLIST.py2x}${PYSITELIB}/twisted/mail/imap4.py
+${PLIST.py2x}${PYSITELIB}/twisted/mail/imap4.pyc
+${PLIST.py2x}${PYSITELIB}/twisted/mail/imap4.pyo
${PYSITELIB}/twisted/mail/interfaces.py
${PYSITELIB}/twisted/mail/interfaces.pyc
${PYSITELIB}/twisted/mail/interfaces.pyo
-${PYSITELIB}/twisted/mail/mail.py
-${PYSITELIB}/twisted/mail/mail.pyc
-${PYSITELIB}/twisted/mail/mail.pyo
-${PYSITELIB}/twisted/mail/maildir.py
-${PYSITELIB}/twisted/mail/maildir.pyc
-${PYSITELIB}/twisted/mail/maildir.pyo
-${PYSITELIB}/twisted/mail/pb.py
-${PYSITELIB}/twisted/mail/pb.pyc
-${PYSITELIB}/twisted/mail/pb.pyo
-${PYSITELIB}/twisted/mail/pop3.py
-${PYSITELIB}/twisted/mail/pop3.pyc
-${PYSITELIB}/twisted/mail/pop3.pyo
-${PYSITELIB}/twisted/mail/pop3client.py
-${PYSITELIB}/twisted/mail/pop3client.pyc
-${PYSITELIB}/twisted/mail/pop3client.pyo
-${PYSITELIB}/twisted/mail/protocols.py
-${PYSITELIB}/twisted/mail/protocols.pyc
-${PYSITELIB}/twisted/mail/protocols.pyo
-${PYSITELIB}/twisted/mail/relay.py
-${PYSITELIB}/twisted/mail/relay.pyc
-${PYSITELIB}/twisted/mail/relay.pyo
-${PYSITELIB}/twisted/mail/relaymanager.py
-${PYSITELIB}/twisted/mail/relaymanager.pyc
-${PYSITELIB}/twisted/mail/relaymanager.pyo
-${PYSITELIB}/twisted/mail/scripts/__init__.py
-${PYSITELIB}/twisted/mail/scripts/__init__.pyc
-${PYSITELIB}/twisted/mail/scripts/__init__.pyo
-${PYSITELIB}/twisted/mail/scripts/mailmail.py
-${PYSITELIB}/twisted/mail/scripts/mailmail.pyc
-${PYSITELIB}/twisted/mail/scripts/mailmail.pyo
-${PYSITELIB}/twisted/mail/smtp.py
-${PYSITELIB}/twisted/mail/smtp.pyc
-${PYSITELIB}/twisted/mail/smtp.pyo
-${PYSITELIB}/twisted/mail/tap.py
-${PYSITELIB}/twisted/mail/tap.pyc
-${PYSITELIB}/twisted/mail/tap.pyo
-${PYSITELIB}/twisted/mail/test/__init__.py
-${PYSITELIB}/twisted/mail/test/__init__.pyc
-${PYSITELIB}/twisted/mail/test/__init__.pyo
-${PYSITELIB}/twisted/mail/test/pop3testserver.py
-${PYSITELIB}/twisted/mail/test/pop3testserver.pyc
Home |
Main Index |
Thread Index |
Old Index