parent
9a6099176f
commit
4a8a0bc6da
@ -1,7 +1,7 @@
|
||||
DIST augeas-1.8.1.tar.gz 2165325 SHA256 65cf75b5a573fee2a5c6c6e3c95cad05f0101e70d3f9db10d53f6cc5b11bc9f9 SHA512 80be6dc75e86e2a00c56cb668824ffbe54105b64fad64a2737d980c8ee5ba347a97ddd190a1c712bd07a768ed23a8d07b0eb676033b367632036a8e7f98c976b WHIRLPOOL 71955a1a42294021f69bb9715439b248f341d06b7c2d72a72537abe3f77c8e990453a12ee99ab3ba0c979ad6fd21ef5056c6e85dc8bc01a2e9c5405389030df0
|
||||
DIST augeas-1.9.0.tar.gz 2199534 SHA256 2b463d398cabc9b42747aa61d3e83ed6a93ce03d9074cf8e7a7bd3107a668343 SHA512 340aed78ac2df455770735b41f3c10a1cbe40f160e236a735d4580edf5b635afeaf7ddadc10e759e9197c4b233e98b3b6b94a3c2f072aa765c104d64371ce171 WHIRLPOOL 226262afff83c9e3421928b24d0ca067b9971f353d152a5de6fd74d8bdf30259acf63881fe761d4c538f36865c8dcd6679583c12649e2c4545374e30a226b568
|
||||
EBUILD augeas-1.8.1.ebuild 1000 SHA256 6a112f872b20c583f7cf1d7acd019f9918a057af2c4f937b69ce5d40506e399e SHA512 47871941fbcb08efce33560c5e8d857fef6e2dff1cdde7c31af6b205517af837840b83664fde9b6943b5ee3c3a367a7709c603b9409397cb79d7f879fedde1a0 WHIRLPOOL 95be95ed87eebccabb97abef577d88ab1fc0db4cb3e807b8bf8a7e8dc0fff80cc59a68c8150a4601060d36f6ced58adbd70cfb18ea552975e59ca30d05556993
|
||||
EBUILD augeas-1.9.0.ebuild 1007 SHA256 2c7fa7d3ef04a292e16b1338da985f3bbcb2bc77f1203a362994033769c6959b SHA512 2cbfcc1006e5330d61667fcc4c01f12b7220ff9602f0b3933fd291cc1f054950554631d1e86cbfd577101ad07672bd81aff9e074cab41e96379d9e60df53e2db WHIRLPOOL df9a3056ae5580b9a5100c8930966c53340f9b0f39c6f0ab6c3ec2e3f63b665529ae5458e73c0ad36d8882315624e41939f407b183a233577ff034cd854c6a60
|
||||
EBUILD augeas-1.9.0.ebuild 1005 SHA256 a1a22e4a2978428994b82b5182c7e0ec427235587a3f4b0cf547d81bf3eca446 SHA512 8283b10f74ea521f7241ecd2b6bf1cac084a337e7f411ff3b665ba429a018336cd71e3ef53e69308c4c371985417e6f16ddd201f9da2409030aa1d794d625622 WHIRLPOOL b377c52837020e5e6da931b786abb9f519cc817cc37abbbd84cad1a417309b7e76a90ff6f45bb34e0800fd97fa9fe8a86551b3676ee2ebe05ef82e451af258df
|
||||
MISC ChangeLog 5096 SHA256 a43458b42603d43012d5331d5e373c03b92a75c3b88b9177d1238bf283bf17e1 SHA512 bf7e92ebbb1d714c13995ff12020d08d990a359c2772269d39869dba387e98b37caa4802ea14a09540ac0166b0a5d43dcef83961bfd74f2e2dcbdc1332995340 WHIRLPOOL a724244353b9c7cbb239cdb9e18c04fcbfa27e0c40990c3ee58c21389b8ecb7c3ac960ab2ed8861da2902be95d6cb1b062f0a2ee02ebdbba58dc87b9bbd9af75
|
||||
MISC ChangeLog-2015 7867 SHA256 2179c62fc1afc98a4902b960d3b945c6107fb5c7c12588bf81063d81f9d386cd SHA512 1467fb11d900332b57f356b58c470f7fcba3ff8b17a16b744cdef519922c561099a2c5c4e7c0dd0763c2333e548c8fb8428eec644944c241a639055788d35daa WHIRLPOOL bf03260b28195b879bafe06f584f824c24b9c353f9544baeb559f9f30dd20212ded555245b03e4ef16088bb7f249ee23485f4829920a37ace2d54d0e3ca04c6c
|
||||
MISC metadata.xml 693 SHA256 555de5a52dca8c4c99b3d03a5d62bf4c266e38a1ab1bb83d12efc105660a5f9a SHA512 1fcdcea259ed6cb652d08e763ccc67bee7bd5da9a7d3600dd492beaec7300868a47a7afdd71950ca8631886042428fce36cc17602a0776a9fa489f0fa2d27436 WHIRLPOOL d9cd4eb749649994fabba2e927139fa3d7a64cd515082996bcd0e2baf59d4dd6ceb1224c8f2424ad72f5da72cb6fec6e4f6ae62e6f2b2b15a4e4dbfa4fff7142
|
||||
|
@ -1,8 +1,10 @@
|
||||
AUX mcollectived.initd 497 SHA256 97de82c744874ad18356eb34b4b9ac411c8fdaa5b54482a68a68939df40aee2c SHA512 dc77a522e3ab6af3e23c559bfcb385033f2200b58b50db59000e7f56b2a789e8fbd83340f8ee494a1a9fdbdd1bd737a2b17ae4743823794264723fdc931ea6b0 WHIRLPOOL 1900da65b5d6f47fe98de411bd60dd88fc4ace9fffad48c38df2797ebe93dc350d38fa8563d2373c803dce5fab89ee55a2c9fe7128e6431c7d6458275641861b
|
||||
DIST mcollective-2.11.2.tar.gz 1516590 SHA256 aa3664d5ba2d4d20e448c374c315c91d55b5bb43918a04092747a4052bc3f969 SHA512 1dc393fa1a09c5151b64b84086ef9af934feeebd2700a00cc4c84696fa2a25d90a410a373b553198f5fda6e1e36808ffb8dc38edcb15bb9e4253998aa7504439 WHIRLPOOL f808d4f9ffbf733842dd29f8e0548b90a4705f8b502dcc62509380b013d69de786204025490d4fb67d657e5c6597fb0d3ffdac2724e8dbca6347511ef50be54a
|
||||
DIST mcollective-2.11.3.tar.gz 1516665 SHA256 b9080779fa56c2b77a3f37404b3ac933183e0b0940e6086b0060be2c44aa38d3 SHA512 f5e26dff03f7a671db5de12acba1ce726c8d57fb99831ddbb258da5ba297ade31ea991840fa63cb1ba261281f7f6167a8492c8764a13cc332202ccb9c88d79b8 WHIRLPOOL 69e384489c8138aecc0c404dc9a08e5d92e09deab05a43ab4781b77506f4fe6f3bbd1a9ec9399a59e8a7c89d3462d3062d73a50fae490215628826c2794bd9ff
|
||||
DIST mcollective-2.11.4.tar.gz 1517194 SHA256 2bf8425a50023744e28f26efd64931d6383b216e9918e1df49276bc5477e4493 SHA512 56af0a8b64ff75351f3448396f8a7cbba603869cdbfa7a97dde5a820e2e287c84e410a77469a3ce01f398858f5c6570c9e3542e372eaa00e3f54e68e3c1ce63b WHIRLPOOL 4e6bed8bbfbd9bf08c3380891321dd2fb673ffd4408acdd0e63c14ca3896d07014f6b034814f98ba89b52818522d49f4ad95d114cb940966ae13409f16ce9365
|
||||
EBUILD mcollective-2.11.2.ebuild 1641 SHA256 324bc04c36bbdcfa98b84a6f61c9182ee41559448e1621a8271cc0e593fdd1db SHA512 a699fb934af4b660c55ffb0d216e29d3b995601c1187e166e878fdbafd46ea7cea4e4951a1052139d115f00de1a38c990495715047f2c0ac13926b2fb613a25a WHIRLPOOL 8b10bedb9bd77b74c73bb80238496c36c1bfab0160dd7aaf589f8916be53a01551e9717c6f8ab1deea4ffdcd88f5caa166e523cc35fbb16037cc3d8f874292e1
|
||||
EBUILD mcollective-2.11.3.ebuild 1641 SHA256 324bc04c36bbdcfa98b84a6f61c9182ee41559448e1621a8271cc0e593fdd1db SHA512 a699fb934af4b660c55ffb0d216e29d3b995601c1187e166e878fdbafd46ea7cea4e4951a1052139d115f00de1a38c990495715047f2c0ac13926b2fb613a25a WHIRLPOOL 8b10bedb9bd77b74c73bb80238496c36c1bfab0160dd7aaf589f8916be53a01551e9717c6f8ab1deea4ffdcd88f5caa166e523cc35fbb16037cc3d8f874292e1
|
||||
EBUILD mcollective-2.11.4.ebuild 1643 SHA256 d962c900fda8a21403f3ae1b4e9bf1281ff5b73e9e57ae31c2031a37942790b8 SHA512 1b57aebd8141f77295a4fbae23c5a25889373e41752f4eefeeb96a856f0c7b78390687eb38bce1d901e5a348f3e55ed6af4dc648d89a19e0168a1de8f30b55ec WHIRLPOOL 02ece74395a5259517209d333c3a7e32213113f74a5e1f364dc5c404c9ab762eb90a6cdebc8f23c56b358e9a17ca30c82d8e0aef0f18dfc7e96991133a70b868
|
||||
MISC ChangeLog 3721 SHA256 312164363f75e97271f70aaec2869307d5d636513297acc7d943f8d3d680adc0 SHA512 01765da77e3c2806cd60d4802a2e57971a627aaec2525363391ba723366382a31a47bc7d6f7c108f2609926ff08a173b36bca5dfd99e6d8e29af84f8cfbccee8 WHIRLPOOL 0a56b19ee5d3558597907e7eea53a1900e694f969875c5514d1a43dcdfcb8be746be7e11c8edc9e3d1b2c42612022094197339b0c6fe860e93c0cc3b8becf1f6
|
||||
MISC ChangeLog-2015 4747 SHA256 1555e32b0cce5896f5aa1dc96dbfab9ee18005ca9861412adc257970943236c5 SHA512 588921e55eae4d4e2c5af0bdc1f5dcc1c5fdc75e1afa00505e71dac184015213f613151d82012c781e0206553e8ed24641daf569b3a31280efb3420ea1ad0607 WHIRLPOOL 7ffc8e316e46570275c026a87bc20a53c0e05819d5bb491b6072dc159593806b4bbdef069c48c3ad004cc266f110edf3a5318105961e4955c6ff36979c49b922
|
||||
MISC metadata.xml 534 SHA256 a49b8acc987ea0c9e2a42cfc4191bb1b0788d6b344d76483951eadc1fbd3b0c0 SHA512 e94dd85f11b4f8b838e928220cb887eeb70860e6d04f03e904ddd4332baddd3b01221305e7229fb575585235436d0d942c116f821ef37adae636a7d5c6193199 WHIRLPOOL 1b04bb250ec256dd971405639ae14f047ec37862fb56b6eb42c4fd98dc0fdd521ea9342a48139d35d4757a1b8b3592ab80180f55ed4bdb26191df7ca2541a8fd
|
||||
|
@ -0,0 +1,60 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
USE_RUBY="ruby21 ruby22 ruby23"
|
||||
|
||||
inherit ruby-ng
|
||||
|
||||
DESCRIPTION="Framework to build server orchestration or parallel job execution
|
||||
systems"
|
||||
HOMEPAGE="https://docs.puppet.com/mcollective/"
|
||||
SRC_URI="https://github.com/puppetlabs/marionette-collective/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/all/marionette-collective-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc +client"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="dev-ruby/stomp"
|
||||
|
||||
src_compile() {
|
||||
einfo "nothing to compile"
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
cd "marionette-collective-${PV}"
|
||||
doruby -r lib/*
|
||||
insinto /usr/share/mcollective
|
||||
use client && dosbin bin/mco
|
||||
dosbin bin/mcollectived
|
||||
if use doc ; then
|
||||
dohtml -r doc/*
|
||||
insinto /usr/share/doc/${P}/ext
|
||||
doins -r ext/*
|
||||
fi
|
||||
newinitd "${FILESDIR}"/mcollectived.initd mcollectived
|
||||
insinto /etc/mcollective
|
||||
cd etc
|
||||
for cfg in *.dist ; do
|
||||
newins "${cfg}" "${cfg%%.dist}"
|
||||
sed -i -e "s:^libdir.*:libdir = /usr/share/mcollective/plugins:" \
|
||||
"${D}"/etc/mcollective/${cfg%%.dist} || die "sed failed"
|
||||
done
|
||||
insinto /etc/mcollective/plugin.d
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo "Mcollective requires a stomp server installed and functioning before"
|
||||
einfo "you can use it. The recommended server to use is ActiveMQ [1] but"
|
||||
einfo "any other stomp compatible server should work."
|
||||
einfo
|
||||
einfo "It is recommended you read the \'getting started\' guide [2] if this"
|
||||
einfo "is a new installation"
|
||||
einfo
|
||||
einfo "[1] https://activemq.apache.org/"
|
||||
einfo "[2] https://code.google.com/p/mcollective/wiki/GettingStarted"
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="protects hosts from brute force attacks against ssh"
|
||||
HOMEPAGE="http://sshguard.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~x86-fbsd"
|
||||
|
||||
DEPEND="
|
||||
sys-devel/flex
|
||||
"
|
||||
RDEPEND="
|
||||
virtual/logger
|
||||
"
|
||||
DOCS=(
|
||||
CHANGELOG.rst
|
||||
CONTRIBUTING.rst
|
||||
README.rst
|
||||
examples/net.sshguard.plist
|
||||
examples/sshguard.service
|
||||
examples/whitelistfile.example
|
||||
)
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
||||
newconfd "${FILESDIR}"/${PN}.confd ${PN}
|
||||
|
||||
insinto /etc
|
||||
newins examples/sshguard.conf.sample sshguard.conf
|
||||
}
|
@ -1,15 +1,7 @@
|
||||
DIST certbot-0.15.0.tar.gz 942788 SHA256 87d306b1c013b472b8f548b38ccc476c125816435bb3b99e932fed09ac777296 SHA512 e884b34985a1128ce94d6b2be77af6ee86ded8b870e066f3f4bc22f78501f3f0a51060edcf75a11cd31dd525388adb8ccc4e2da0068b5b75be131d0fb0ca6844 WHIRLPOOL 01b172e8c7ac5d3678ee608b36d93f23943bf17f1e9c593cc1af3febcf0549b03961e69e537f099643dd9ee268497f76c2c18d8fa7a1d45753bc50e670375317
|
||||
DIST certbot-0.16.0.tar.gz 992700 SHA256 9abac759d7d72b520693ff806479e87609059a1546bb6ea26416267ebeedd25b SHA512 4cb6ec06c6ec71cd6886a716100f269de3922f17a582c8c20ec40327b65e1c16347a5b33d44131e56a7667233ebba88ff36a4e854beedd13e848897ba09a7e64 WHIRLPOOL 34dae0b20d472b4020986d0768ea6757c977fa4626666a9f81711007c051e76f9ad60f5a3bc77c768975e71a791f20e5ca2bb6f2fc41d809ebe2541129c975ef
|
||||
DIST certbot-0.17.0.tar.gz 1036099 SHA256 ed4334dce166bf38ecc7218449efda3798d62c7e2934a71702c0dc3d78eccdd1 SHA512 57fa830d19173eacdbb17242a3c446d9414f02e09fab6ccd41c82b15156bc103ec358ff3d515e94881fcf6438f6acfe449eee9bb3108df41f7b8f2395500b549 WHIRLPOOL cbfffc3866ffed3e0c702ac686768e879c7f1306a62dc050aab05e5a207b4f77a4acae9ca8f3ce973a6691d98838a488ab6335aa0692dd2b28a99c8aecff232d
|
||||
DIST certbot-0.18.2.tar.gz 1044019 SHA256 c8a94e3e2dfa8efa379912a8dc67f561cf6daf7d8e13dbb76b40a38cfb40c08d SHA512 30dea063cf8d4bd714a40c1a82a7f4aab51e3a7d4de0d5f9a923f95badb2881562562c4a198da6a4c3cd1db7f9e2d124c2def70f3a245faca0040438586bf6a4 WHIRLPOOL 79105ea9d54fdd42dbb4327dd3afa7beb80e5a13eef0a1d3236f5150b42281b299a06391a93372c80a04f0bd962565522e3ddd239cd4d2186e32262fedf97481
|
||||
DIST certbot-0.19.0.tar.gz 1061557 SHA256 164b496cc111f19619da1eac9e3fe03baac5ad5a97c2fa19eeffe07273c4b723 SHA512 d29c9e2041171f2574bf2ee9ff7442b80b261a03f9e82e4dd40aad0617730aca6bff17fcc728496bda4133f86a4894cf21d083dacb0d0df2dec11d23e4e1541b WHIRLPOOL 203f00121dfc95136821dcbe224419b02f4f03aa1bfaf1d5516baa7f3e43aa898f30488026a18ffb27d238c5603892df8fca059d0670993f6b72b27af7ac82a1
|
||||
DIST letsencrypt-0.1.0.tar.gz 524821 SHA256 1c1ac7b41e5e0fc0e41a7ef159ac9147a4aafff54453d57b519eb05bf52ade14 SHA512 6a786290362741ac97dcb4b59bc4cba56f3e8b5193bbc10be19086d462f76e6124259c42bac36afe9eb818f4bb9edec34f8e2a02bd8c855e3b35404f4ee81f96 WHIRLPOOL cdc41a3466de54ab8ddfeedea9935205d78383028769dcfbc876be0c2ef80c2d14f5d0e4a9c56a751163718f5ababb07848822989a060de7031ea8ebdf6424a0
|
||||
EBUILD acme-0.1.0.ebuild 1234 SHA256 8720192872d7fa7f7d40bbfd8bcb47da11c9ee53ef5491436844f907f087b2ed SHA512 a86535b4848749ad221269f2cc8494bd61cf7ae3e0352ab1d4d60c2d0b56b34dc2d0fad77786d49dfed08eb22c48cce936cddca97b9fccb946b7f9265695f5e8 WHIRLPOOL 5d8e66b8eccaf0cdc5cef94ecb0206b9e70f16d375775603a2d0322c09983c5218264468ec09f5e7265c367f8ea06debe1b138f1c4d50f43ac1221d16dc785ed
|
||||
EBUILD acme-0.15.0.ebuild 1088 SHA256 3901459c800d46b169a5c26ef8ccd97c8f7b0f08583f1181e4cf675d965561ec SHA512 4368b0a3b7442122bdeb5295988f3151000048c708cb86f8faa552670fee8d54a314c27a900bc14adf46545799ddc6560df2807263eacce9ae5c20e6361ebc9b WHIRLPOOL 9da58a0a770583d3f3c7b36682bf47a6a842927c5fa89eb75df2fa674bc4532f6524057e96f6d4ab5fbd7056f53501e6f9058377e3491b0fe8dc65b50d10da63
|
||||
EBUILD acme-0.16.0.ebuild 1088 SHA256 3901459c800d46b169a5c26ef8ccd97c8f7b0f08583f1181e4cf675d965561ec SHA512 4368b0a3b7442122bdeb5295988f3151000048c708cb86f8faa552670fee8d54a314c27a900bc14adf46545799ddc6560df2807263eacce9ae5c20e6361ebc9b WHIRLPOOL 9da58a0a770583d3f3c7b36682bf47a6a842927c5fa89eb75df2fa674bc4532f6524057e96f6d4ab5fbd7056f53501e6f9058377e3491b0fe8dc65b50d10da63
|
||||
EBUILD acme-0.17.0.ebuild 1088 SHA256 3901459c800d46b169a5c26ef8ccd97c8f7b0f08583f1181e4cf675d965561ec SHA512 4368b0a3b7442122bdeb5295988f3151000048c708cb86f8faa552670fee8d54a314c27a900bc14adf46545799ddc6560df2807263eacce9ae5c20e6361ebc9b WHIRLPOOL 9da58a0a770583d3f3c7b36682bf47a6a842927c5fa89eb75df2fa674bc4532f6524057e96f6d4ab5fbd7056f53501e6f9058377e3491b0fe8dc65b50d10da63
|
||||
EBUILD acme-0.18.2.ebuild 1095 SHA256 64e48f47a416b6fff4fc89f734fd798d81cfefc818cf0a6e8f7e5ab20a9b8971 SHA512 f6bd1a44d00471327892e61c4966b300339a2188510258bb22ed046b892587158a6290f09ee9a01bea7f55aba2ed1e2f5168cc7bb41da0574ec0854c2a8a19b4 WHIRLPOOL 4d1ece95d63fe48939ef8ea93ea0f15626ed2d39b72ac14fcc31c1904bc12d399239177f511e8c3d992206081aab1ae2871af38e905ead350be61a82c7eb2585
|
||||
EBUILD acme-0.19.0.ebuild 1103 SHA256 da323dba2cfc558a07d29a372e95ab0ef7c96764ec719c17739f44b8d49a6c46 SHA512 37c78b40124c666e76d6579c14b03e47ac54d0fd2157a42cf62405e2f485e05ab9d0416cc9ddb2db66786f5524b392cdf7d38a59ceba1dff577d795abd8e9aed WHIRLPOOL dc6a244eee32361d1d6bd9374a89341722417f6515655aec5b2846f82bc405c9cde05613839f22754f5e2d032419d7fcb83f151ec31b63571dc1322b9fcbb22a
|
||||
EBUILD acme-9999.ebuild 1095 SHA256 64e48f47a416b6fff4fc89f734fd798d81cfefc818cf0a6e8f7e5ab20a9b8971 SHA512 f6bd1a44d00471327892e61c4966b300339a2188510258bb22ed046b892587158a6290f09ee9a01bea7f55aba2ed1e2f5168cc7bb41da0574ec0854c2a8a19b4 WHIRLPOOL 4d1ece95d63fe48939ef8ea93ea0f15626ed2d39b72ac14fcc31c1904bc12d399239177f511e8c3d992206081aab1ae2871af38e905ead350be61a82c7eb2585
|
||||
EBUILD acme-0.19.0.ebuild 1101 SHA256 a0675a8f953972ff8a133aea62ae14cdf00f3ebb7eeb3178f72778ec5739020d SHA512 73db02807520cc53e8695f112e3ee75841bd0aaf9ec9935db7b3e812010f0f9947ed805bd8300d602c0757a5a18b1b4bf1665ac92494791915c09790c10953be WHIRLPOOL e3cb6c03fa30428e071e41c3b463cdb1c61ee88c76de469adaccf90347eafa352d30eca011620f540c222065640b02a73ea09aa263ef94df4a8a5348b04ac74f
|
||||
EBUILD acme-9999.ebuild 1103 SHA256 da323dba2cfc558a07d29a372e95ab0ef7c96764ec719c17739f44b8d49a6c46 SHA512 37c78b40124c666e76d6579c14b03e47ac54d0fd2157a42cf62405e2f485e05ab9d0416cc9ddb2db66786f5524b392cdf7d38a59ceba1dff577d795abd8e9aed WHIRLPOOL dc6a244eee32361d1d6bd9374a89341722417f6515655aec5b2846f82bc405c9cde05613839f22754f5e2d032419d7fcb83f151ec31b63571dc1322b9fcbb22a
|
||||
MISC ChangeLog 5917 SHA256 bdbadcd2933561b28889bf9b42c7d8863ecdf550db5b65662f3fb9096031b160 SHA512 63e3bf1a22642138436d2c123c9e25c33cd9b17ba6be7953a95babe7541ba0fafe82a1f504b3b1647eb08e19714075c79bb1fac3f7334b94ee6d7a740347b540 WHIRLPOOL 9eaaedda59338c0c9bc3e0188d2dcc08ed17b83adfc49a7afa21c7883d97ea07a4d457be8546c92354ce7eb85bc59dbea905fe09e5a9ea6809e879f2ba915eeb
|
||||
MISC metadata.xml 342 SHA256 cb538c63739de15c65069f536cf05b70d203ff46e6782d7671fa465eec4ce641 SHA512 bb057838d2a4161b1b5d545d32fb798bf52571fccaf3dfe7e1811ee4090813341222f7c27e21f36ea9353e9f48b401a4cda0f1937640ef052445e6b0eac9defb WHIRLPOOL c74a8e573a993be6355b81149e5b4fea5cd67d9cd3d6bbb27df1cc2093e87d78dea1ab0994d1b7e35e17f14cbb2d2b655f86870366dc86e0bd58ad92654960f5
|
||||
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/letsencrypt/letsencrypt.git"
|
||||
inherit git-r3
|
||||
KEYWORDS=""
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/letsencrypt/letsencrypt/archive/v${PV}.tar.gz -> letsencrypt-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
S=${WORKDIR}/letsencrypt-${PV}/acme
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="An implementation of the ACME protocol"
|
||||
HOMEPAGE="https://github.com/letsencrypt/letsencrypt https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND=">=dev-python/cryptography-0.8[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
>=dev-python/ndg-httpsclient-0.4[${PYTHON_USEDEP}]
|
||||
dev-python/pyasn1[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-0.15[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
dev-python/werkzeug[${PYTHON_USEDEP}]"
|
||||
DEPEND="test? ( ${RDEPEND} dev-python/nose[${PYTHON_USEDEP}] )
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
nosetests -w ${PN} || die
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
S=${WORKDIR}/certbot-${PV}/acme
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="An implementation of the ACME protocol"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND=">=dev-python/cryptography-0.8[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.10[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]"
|
||||
DEPEND="test? ( ${RDEPEND} dev-python/nose[${PYTHON_USEDEP}] )
|
||||
>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
nosetests -w ${PN} || die
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
S=${WORKDIR}/certbot-${PV}/acme
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="An implementation of the ACME protocol"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND=">=dev-python/cryptography-0.8[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.10[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]"
|
||||
DEPEND="test? ( ${RDEPEND} dev-python/nose[${PYTHON_USEDEP}] )
|
||||
>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
nosetests -w ${PN} || die
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
S=${WORKDIR}/certbot-${PV}/acme
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="An implementation of the ACME protocol"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND=">=dev-python/cryptography-0.8[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.10[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]"
|
||||
DEPEND="test? ( ${RDEPEND} dev-python/nose[${PYTHON_USEDEP}] )
|
||||
>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
nosetests -w ${PN} || die
|
||||
}
|
@ -1,11 +1,7 @@
|
||||
DIST certbot-0.15.0.tar.gz 942788 SHA256 87d306b1c013b472b8f548b38ccc476c125816435bb3b99e932fed09ac777296 SHA512 e884b34985a1128ce94d6b2be77af6ee86ded8b870e066f3f4bc22f78501f3f0a51060edcf75a11cd31dd525388adb8ccc4e2da0068b5b75be131d0fb0ca6844 WHIRLPOOL 01b172e8c7ac5d3678ee608b36d93f23943bf17f1e9c593cc1af3febcf0549b03961e69e537f099643dd9ee268497f76c2c18d8fa7a1d45753bc50e670375317
|
||||
DIST certbot-0.17.0.tar.gz 1036099 SHA256 ed4334dce166bf38ecc7218449efda3798d62c7e2934a71702c0dc3d78eccdd1 SHA512 57fa830d19173eacdbb17242a3c446d9414f02e09fab6ccd41c82b15156bc103ec358ff3d515e94881fcf6438f6acfe449eee9bb3108df41f7b8f2395500b549 WHIRLPOOL cbfffc3866ffed3e0c702ac686768e879c7f1306a62dc050aab05e5a207b4f77a4acae9ca8f3ce973a6691d98838a488ab6335aa0692dd2b28a99c8aecff232d
|
||||
DIST certbot-0.18.2.tar.gz 1044019 SHA256 c8a94e3e2dfa8efa379912a8dc67f561cf6daf7d8e13dbb76b40a38cfb40c08d SHA512 30dea063cf8d4bd714a40c1a82a7f4aab51e3a7d4de0d5f9a923f95badb2881562562c4a198da6a4c3cd1db7f9e2d124c2def70f3a245faca0040438586bf6a4 WHIRLPOOL 79105ea9d54fdd42dbb4327dd3afa7beb80e5a13eef0a1d3236f5150b42281b299a06391a93372c80a04f0bd962565522e3ddd239cd4d2186e32262fedf97481
|
||||
DIST certbot-0.19.0.tar.gz 1061557 SHA256 164b496cc111f19619da1eac9e3fe03baac5ad5a97c2fa19eeffe07273c4b723 SHA512 d29c9e2041171f2574bf2ee9ff7442b80b261a03f9e82e4dd40aad0617730aca6bff17fcc728496bda4133f86a4894cf21d083dacb0d0df2dec11d23e4e1541b WHIRLPOOL 203f00121dfc95136821dcbe224419b02f4f03aa1bfaf1d5516baa7f3e43aa898f30488026a18ffb27d238c5603892df8fca059d0670993f6b72b27af7ac82a1
|
||||
EBUILD certbot-apache-0.15.0.ebuild 1067 SHA256 e3301e6f2373be348fe85068bd1091a0c97be050aa8cee3fc13b5dc4ac60efec SHA512 023397617e302a728a4da177fafc3c745a7d3ad90d27f5f98adf222da8c8b4dbf898f7e828eb773b5e558f5fdf1a526f7320cc383ae37f6404941fd9e220dbf9 WHIRLPOOL a5a291f001a6654114dcb96aef3bf58c68dccad5121b2cb3219fb6a41e69e2b9e0c7821f542de212c9b7befd8eab90a57936c37787832b85c48e0cd192aac5f0
|
||||
EBUILD certbot-apache-0.17.0.ebuild 1067 SHA256 e3301e6f2373be348fe85068bd1091a0c97be050aa8cee3fc13b5dc4ac60efec SHA512 023397617e302a728a4da177fafc3c745a7d3ad90d27f5f98adf222da8c8b4dbf898f7e828eb773b5e558f5fdf1a526f7320cc383ae37f6404941fd9e220dbf9 WHIRLPOOL a5a291f001a6654114dcb96aef3bf58c68dccad5121b2cb3219fb6a41e69e2b9e0c7821f542de212c9b7befd8eab90a57936c37787832b85c48e0cd192aac5f0
|
||||
EBUILD certbot-apache-0.18.2.ebuild 1067 SHA256 e3301e6f2373be348fe85068bd1091a0c97be050aa8cee3fc13b5dc4ac60efec SHA512 023397617e302a728a4da177fafc3c745a7d3ad90d27f5f98adf222da8c8b4dbf898f7e828eb773b5e558f5fdf1a526f7320cc383ae37f6404941fd9e220dbf9 WHIRLPOOL a5a291f001a6654114dcb96aef3bf58c68dccad5121b2cb3219fb6a41e69e2b9e0c7821f542de212c9b7befd8eab90a57936c37787832b85c48e0cd192aac5f0
|
||||
EBUILD certbot-apache-0.19.0.ebuild 1072 SHA256 45e3b66baa7f79ec27b58391edcb1791e0611985c43253772e98818bccd47a3b SHA512 bd39dfef6a1993ecd2d26fadbfddaf1794dcc93a4ea030bd162b51b1125fa1f32c6c4d605a93e0ad9e3825cdf11feb0f37997312e63ad1d593222af8000e6852 WHIRLPOOL 0566a894f3381c2f90f86f8273164f3ae40484efe02d098fd84b893f22c78eaec83f6198fe252fa8eabb3ab085b87af1b50d4ccf0fee9b2151cd3d7f89d86bd5
|
||||
EBUILD certbot-apache-0.19.0.ebuild 1070 SHA256 0dc1cec573907188537cb75134a9ce07722dcb33417d7d0beb10235c4c5a3b0e SHA512 4f99ca73893eaf072f62781a3d740ae9a6836c53b20104d9f1673eae9f6dc5255c58c3e54dcc27d65cef710030a44fb4b8073788579db8ffa4fcee801594b781 WHIRLPOOL 1fb9eb56f2e8e4b509eba74722b708de9bd9f4ad670b3e0d372ed13ed5fd099bb087893582683173d1335467a40149929b07b60da550e5eca06628200e237ff8
|
||||
EBUILD certbot-apache-9999.ebuild 1072 SHA256 45e3b66baa7f79ec27b58391edcb1791e0611985c43253772e98818bccd47a3b SHA512 bd39dfef6a1993ecd2d26fadbfddaf1794dcc93a4ea030bd162b51b1125fa1f32c6c4d605a93e0ad9e3825cdf11feb0f37997312e63ad1d593222af8000e6852 WHIRLPOOL 0566a894f3381c2f90f86f8273164f3ae40484efe02d098fd84b893f22c78eaec83f6198fe252fa8eabb3ab085b87af1b50d4ccf0fee9b2151cd3d7f89d86bd5
|
||||
MISC ChangeLog 650 SHA256 0ceb4da791e6e05a4380d4db4297da391135e1ce24d0658b3697a0598bffbf75 SHA512 c841c9a2340dbb950dd8fa0861a84c18744cce90c4c6bc0fcb5a1a4caa087c9ad69ce0e5b4d344107f3eff6fa579a60ec054fc3c159318e872413fd968b6a85d WHIRLPOOL 2bea921c94946c02aaccfa5b1be5d05e3103a3927d71425b68acf46762a6e20a8a023789b920136d30bede21359deee5c3746306d0ad7e1022db8dbe3e3a82b3
|
||||
MISC metadata.xml 334 SHA256 e1059ce7794fc4edc2c39a6a55932cfaa9e6d4b6de59d4b9dafdfa8f6f790084 SHA512 e3d6dda6c44557523fd48b464b6d39fc45b90ba2ecbe03fb300a655973c1b2e654a24d8d381b769eba00d0d80fb5881e1dfec1694e223cd83047abba9f01a44f WHIRLPOOL 8a5d0b99f05b3f8097607db4c03ceedea11dacf064a1acdbc9b97f8ec3a7379e487e9470977cf61ef2cb21ccc29959b371f3f7caec322648091d84f95d7db5d8
|
||||
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/${PN%-apache}/${PN%-apache}/archive/v${PV}.tar.gz -> ${PN%-apache}-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
S=${WORKDIR}/${PN%-apache}-${PV}/${PN}
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Apache plugin for certbot (Let's Encrypt Client)"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="~app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
|
||||
~app-crypt/acme-${PV}[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/python-augeas[${PYTHON_USEDEP}]
|
||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
DEPEND="test? ( ${RDEPEND}
|
||||
dev-python/nose[${PYTHON_USEDEP}] )
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
nosetests || die
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/${PN%-apache}/${PN%-apache}/archive/v${PV}.tar.gz -> ${PN%-apache}-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
S=${WORKDIR}/${PN%-apache}-${PV}/${PN}
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Apache plugin for certbot (Let's Encrypt Client)"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="~app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
|
||||
~app-crypt/acme-${PV}[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/python-augeas[${PYTHON_USEDEP}]
|
||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
DEPEND="test? ( ${RDEPEND}
|
||||
dev-python/nose[${PYTHON_USEDEP}] )
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
nosetests || die
|
||||
}
|
@ -1,10 +1,6 @@
|
||||
DIST certbot-0.15.0.tar.gz 942788 SHA256 87d306b1c013b472b8f548b38ccc476c125816435bb3b99e932fed09ac777296 SHA512 e884b34985a1128ce94d6b2be77af6ee86ded8b870e066f3f4bc22f78501f3f0a51060edcf75a11cd31dd525388adb8ccc4e2da0068b5b75be131d0fb0ca6844 WHIRLPOOL 01b172e8c7ac5d3678ee608b36d93f23943bf17f1e9c593cc1af3febcf0549b03961e69e537f099643dd9ee268497f76c2c18d8fa7a1d45753bc50e670375317
|
||||
DIST certbot-0.17.0.tar.gz 1036099 SHA256 ed4334dce166bf38ecc7218449efda3798d62c7e2934a71702c0dc3d78eccdd1 SHA512 57fa830d19173eacdbb17242a3c446d9414f02e09fab6ccd41c82b15156bc103ec358ff3d515e94881fcf6438f6acfe449eee9bb3108df41f7b8f2395500b549 WHIRLPOOL cbfffc3866ffed3e0c702ac686768e879c7f1306a62dc050aab05e5a207b4f77a4acae9ca8f3ce973a6691d98838a488ab6335aa0692dd2b28a99c8aecff232d
|
||||
DIST certbot-0.18.2.tar.gz 1044019 SHA256 c8a94e3e2dfa8efa379912a8dc67f561cf6daf7d8e13dbb76b40a38cfb40c08d SHA512 30dea063cf8d4bd714a40c1a82a7f4aab51e3a7d4de0d5f9a923f95badb2881562562c4a198da6a4c3cd1db7f9e2d124c2def70f3a245faca0040438586bf6a4 WHIRLPOOL 79105ea9d54fdd42dbb4327dd3afa7beb80e5a13eef0a1d3236f5150b42281b299a06391a93372c80a04f0bd962565522e3ddd239cd4d2186e32262fedf97481
|
||||
DIST certbot-0.19.0.tar.gz 1061557 SHA256 164b496cc111f19619da1eac9e3fe03baac5ad5a97c2fa19eeffe07273c4b723 SHA512 d29c9e2041171f2574bf2ee9ff7442b80b261a03f9e82e4dd40aad0617730aca6bff17fcc728496bda4133f86a4894cf21d083dacb0d0df2dec11d23e4e1541b WHIRLPOOL 203f00121dfc95136821dcbe224419b02f4f03aa1bfaf1d5516baa7f3e43aa898f30488026a18ffb27d238c5603892df8fca059d0670993f6b72b27af7ac82a1
|
||||
EBUILD certbot-nginx-0.15.0.ebuild 1007 SHA256 92328a779013918cd7e37b929e5d37ddb613f59d0fe818cbf8d1a39ddfc4cfb5 SHA512 580e0d41237668b9d97d675743b6b80d7ddf7ad6baa62513224a6c79cbda3c197c8562a8f3548066216543eede2c0e21158363f8d545782920811aa01d6c4e56 WHIRLPOOL a1f69031ab8bd1062cc1173939b2f7b626bc0bea5e72429434d96c56b1b8e3c5953ec42096b7c3ed6231cbd27072bfacc81d14ab938a0a3c8402f04670fdea52
|
||||
EBUILD certbot-nginx-0.17.0.ebuild 1019 SHA256 4684022d68c2d0723af47361ad0d1810f0417e817719f4fd1cc6f1bae57f1184 SHA512 fd46383fc11f3d538d92341ac2ead040bb3e1f6dfd1d8bd05d415accc4321f7bd111d9b7217884cda7a54283ffd1d164e00776f8058e2e05f852e68576d36964 WHIRLPOOL 24a2761f1d9c09e8a08d3966b3fc4df84a58ae818cddcd140af3996be109be5977854836e6c6b3721d32de3be7b211c63e589f8c62db74dcf3fe2ed3eea7ebfb
|
||||
EBUILD certbot-nginx-0.18.2.ebuild 1019 SHA256 4684022d68c2d0723af47361ad0d1810f0417e817719f4fd1cc6f1bae57f1184 SHA512 fd46383fc11f3d538d92341ac2ead040bb3e1f6dfd1d8bd05d415accc4321f7bd111d9b7217884cda7a54283ffd1d164e00776f8058e2e05f852e68576d36964 WHIRLPOOL 24a2761f1d9c09e8a08d3966b3fc4df84a58ae818cddcd140af3996be109be5977854836e6c6b3721d32de3be7b211c63e589f8c62db74dcf3fe2ed3eea7ebfb
|
||||
EBUILD certbot-nginx-0.19.0.ebuild 1019 SHA256 4684022d68c2d0723af47361ad0d1810f0417e817719f4fd1cc6f1bae57f1184 SHA512 fd46383fc11f3d538d92341ac2ead040bb3e1f6dfd1d8bd05d415accc4321f7bd111d9b7217884cda7a54283ffd1d164e00776f8058e2e05f852e68576d36964 WHIRLPOOL 24a2761f1d9c09e8a08d3966b3fc4df84a58ae818cddcd140af3996be109be5977854836e6c6b3721d32de3be7b211c63e589f8c62db74dcf3fe2ed3eea7ebfb
|
||||
EBUILD certbot-nginx-0.19.0.ebuild 1017 SHA256 5472d90db03ebbd3d8915accd45efe618ee198c91ccf49a27d7fe785c6458342 SHA512 3454653979f0756144420c09f84fc7d349d2d6a661d43e3d53cdda0a5734082d65543292bccfc5f49f7a91230fdf4d51fd84a1fc8dd642609298dd1e7f5a2716 WHIRLPOOL f0591fb2bd7472721e8cc1b8346552f5d0963ba02476afd311ed5069742e7afde2ce8928e0d2cdc4e8f4847bd030df53ef559e9537fdbbddab8d802c9ae49847
|
||||
EBUILD certbot-nginx-9999.ebuild 1002 SHA256 6789f86bec3256aaaaf8ca42ac94c97660c2c95d99b2d622497aeb4bcea66c4e SHA512 c52f1ad93218421dcd0192605ab8540593bdd9c9ca475691d889662944295cd91228c84bfde9b9ca3af12784783ff17c8511e048ba3ef685bc3a76d9295a6d3e WHIRLPOOL 323f8b85458481b9ae09d1881edf207f3c5141e3e64afd8ab05f3ac3f6a6132e782e00e42ae78d7b6749063725ea61174a522fbd47eaf6e221bf1b23503a64e7
|
||||
MISC metadata.xml 334 SHA256 e1059ce7794fc4edc2c39a6a55932cfaa9e6d4b6de59d4b9dafdfa8f6f790084 SHA512 e3d6dda6c44557523fd48b464b6d39fc45b90ba2ecbe03fb300a655973c1b2e654a24d8d381b769eba00d0d80fb5881e1dfec1694e223cd83047abba9f01a44f WHIRLPOOL 8a5d0b99f05b3f8097607db4c03ceedea11dacf064a1acdbc9b97f8ec3a7379e487e9470977cf61ef2cb21ccc29959b371f3f7caec322648091d84f95d7db5d8
|
||||
|
@ -1,34 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/${PN%-nginx}/${PN%-nginx}/archive/v${PV}.tar.gz -> ${PN%-nginx}-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm"
|
||||
S=${WORKDIR}/${PN%-nginx}-${PV}/${PN}
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Nginx plugin for certbot (Let's Encrypt Client)"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
CDEPEND=">=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
|
||||
RDEPEND="${CDEPEND}
|
||||
~app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
|
||||
~app-crypt/acme-${PV}[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pyopenssl[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyparsing-1.5.5[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
DEPEND="${CDEPEND}"
|
@ -1,34 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/${PN%-nginx}/${PN%-nginx}/archive/v${PV}.tar.gz -> ${PN%-nginx}-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
S=${WORKDIR}/${PN%-nginx}-${PV}/${PN}
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Nginx plugin for certbot (Let's Encrypt Client)"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
CDEPEND=">=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
|
||||
RDEPEND="${CDEPEND}
|
||||
~app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
|
||||
~app-crypt/acme-${PV}[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pyopenssl[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyparsing-1.5.5[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
DEPEND="${CDEPEND}"
|
@ -1,11 +1,7 @@
|
||||
DIST certbot-0.15.0.tar.gz 942788 SHA256 87d306b1c013b472b8f548b38ccc476c125816435bb3b99e932fed09ac777296 SHA512 e884b34985a1128ce94d6b2be77af6ee86ded8b870e066f3f4bc22f78501f3f0a51060edcf75a11cd31dd525388adb8ccc4e2da0068b5b75be131d0fb0ca6844 WHIRLPOOL 01b172e8c7ac5d3678ee608b36d93f23943bf17f1e9c593cc1af3febcf0549b03961e69e537f099643dd9ee268497f76c2c18d8fa7a1d45753bc50e670375317
|
||||
DIST certbot-0.17.0.tar.gz 1036099 SHA256 ed4334dce166bf38ecc7218449efda3798d62c7e2934a71702c0dc3d78eccdd1 SHA512 57fa830d19173eacdbb17242a3c446d9414f02e09fab6ccd41c82b15156bc103ec358ff3d515e94881fcf6438f6acfe449eee9bb3108df41f7b8f2395500b549 WHIRLPOOL cbfffc3866ffed3e0c702ac686768e879c7f1306a62dc050aab05e5a207b4f77a4acae9ca8f3ce973a6691d98838a488ab6335aa0692dd2b28a99c8aecff232d
|
||||
DIST certbot-0.18.2.tar.gz 1044019 SHA256 c8a94e3e2dfa8efa379912a8dc67f561cf6daf7d8e13dbb76b40a38cfb40c08d SHA512 30dea063cf8d4bd714a40c1a82a7f4aab51e3a7d4de0d5f9a923f95badb2881562562c4a198da6a4c3cd1db7f9e2d124c2def70f3a245faca0040438586bf6a4 WHIRLPOOL 79105ea9d54fdd42dbb4327dd3afa7beb80e5a13eef0a1d3236f5150b42281b299a06391a93372c80a04f0bd962565522e3ddd239cd4d2186e32262fedf97481
|
||||
DIST certbot-0.19.0.tar.gz 1061557 SHA256 164b496cc111f19619da1eac9e3fe03baac5ad5a97c2fa19eeffe07273c4b723 SHA512 d29c9e2041171f2574bf2ee9ff7442b80b261a03f9e82e4dd40aad0617730aca6bff17fcc728496bda4133f86a4894cf21d083dacb0d0df2dec11d23e4e1541b WHIRLPOOL 203f00121dfc95136821dcbe224419b02f4f03aa1bfaf1d5516baa7f3e43aa898f30488026a18ffb27d238c5603892df8fca059d0670993f6b72b27af7ac82a1
|
||||
EBUILD certbot-0.15.0.ebuild 1500 SHA256 1d53e382a60512ee5527fb76eaae0d02cc5e9bc03bb853ebfcf3fa4e68187769 SHA512 e338028b2e4357527f0bbffa28d7a1b66798c047a488cf791f26477135513510e11c3e96d19981be372bc7de02f7a2df13bef4d07bbf2185a648fcf04a1a5219 WHIRLPOOL 47fa9b2c46fad4a3b2662e91c4318fc21a75ff15c09cdba6faf5407296468d970695ee9636bbca31136bc5445559487aa7140501cf640e0828cdfc500e535a5f
|
||||
EBUILD certbot-0.17.0.ebuild 1500 SHA256 c96ee09cd0f271d16cb0826c187634599746647a39bde38af91ed3142582714a SHA512 0b503c738a4d0ab32ecff828b6437d69e2b05191d641a921a199ee061ac4912530a7ea5362ed9b8307c69c553110f347cfe7284c8de50e4a0b36259ee5b48168 WHIRLPOOL 5e735f8f4b3221b6d62dcd7e946990c9e3785be9d8e682b0d6b01db928c0289fc569e53c728580d173ab575644d6ad4b5e8ea2493a26b8743c6641c752624931
|
||||
EBUILD certbot-0.18.2.ebuild 1507 SHA256 3d6ede4ae1fd388cf18137deb6f5fa157081baffd9146c4935f4075ddc48bb0f SHA512 791726c0f1964f2287bdfb04d276abe3650bf70e4826c1b16077b6fc81398e397387e0d89a9d6391dccd2ab6ca330610a689ef1b32f839619af91b7c9678a1b7 WHIRLPOOL 1edc3540fab11b4fb01fe2af9074895adfa07f8fd225101ec64be1203d97070023c14f8463d3a39a1f90e3d2f213cde083bb944acfe14284701afb54d980abd0
|
||||
EBUILD certbot-0.19.0.ebuild 1507 SHA256 3d6ede4ae1fd388cf18137deb6f5fa157081baffd9146c4935f4075ddc48bb0f SHA512 791726c0f1964f2287bdfb04d276abe3650bf70e4826c1b16077b6fc81398e397387e0d89a9d6391dccd2ab6ca330610a689ef1b32f839619af91b7c9678a1b7 WHIRLPOOL 1edc3540fab11b4fb01fe2af9074895adfa07f8fd225101ec64be1203d97070023c14f8463d3a39a1f90e3d2f213cde083bb944acfe14284701afb54d980abd0
|
||||
EBUILD certbot-9999.ebuild 1507 SHA256 ac6e46c228ed15ac2ae1d4ede6c5ce49e93b594a2f24de6b794d7ba2159bdd88 SHA512 f655df51f9235d44d672ad111cb63af517b04cab347d0d4b541a2e83a483c9ad90aca4461dc27a556edc811f94a8b382e8dc4a214063890bd32b0d5d93b82766 WHIRLPOOL 172ff59b5ae439115855ab1ae093bc8216db23987326f0c38ff7e6b9ab460d982bc6d632ea344427132835dab9d03ec32c9f07ef745df92dda8c3b43200447a6
|
||||
EBUILD certbot-0.19.0.ebuild 1505 SHA256 6684027afd454738f6df85e6e1a5d816f9a02fa55b596bda80e2eb316ef6a20c SHA512 a4e0e01665da6a1b93adca2dab9a062ede49e92f05534d23baeca5bbf34e7681d14455d2733f636ab4d08838c69ccb37bf4a228dd5a0abaf8c27a8f1a90b0f8a WHIRLPOOL 8e2df23075029dae201cf948dc662c1a315515e1833f8395ddb7c2ef5cb532514116e6b0bb1391a880257e2c96b47bf357b14532a4b485de921b5678eb3cc799
|
||||
EBUILD certbot-9999.ebuild 1507 SHA256 3d6ede4ae1fd388cf18137deb6f5fa157081baffd9146c4935f4075ddc48bb0f SHA512 791726c0f1964f2287bdfb04d276abe3650bf70e4826c1b16077b6fc81398e397387e0d89a9d6391dccd2ab6ca330610a689ef1b32f839619af91b7c9678a1b7 WHIRLPOOL 1edc3540fab11b4fb01fe2af9074895adfa07f8fd225101ec64be1203d97070023c14f8463d3a39a1f90e3d2f213cde083bb944acfe14284701afb54d980abd0
|
||||
MISC ChangeLog 1863 SHA256 9d89a7d29808f3035d10942923d1edd5cad4451c6c5b2192ec6a56e54a3a2179 SHA512 dfccd3086c1dd58a1d786c0568183b9b3b1a392682920db4e30d5a11e836064fc45b2bfa4f1f1444e1a876b39922196ca787fa8d830cc3bcf2bc0deb0089b4da WHIRLPOOL 3c8a8db43ccb599e2347ee24a90de65f6cb89d70dd4068950297ff89877dc85792e98d3a0a5fc833aff1f55a2cad78f6bb280c071ff7b4dd07c47e82ebbcce14
|
||||
MISC metadata.xml 440 SHA256 16826f65f60dcef99ee83af6bdaddd5c09a9c14ceb2c4b963d057e282cd90910 SHA512 fd75a843ffd978ceaf999883793735d132ab384cbfbba85635b94776866daa1da5500b108fc5a54b56cb8b8d908f0e9f4fa9137912e37c301a8c7c37c676ff5a WHIRLPOOL 0a23fefed8676511a365f97a4522fc09dc3802ccde6e25d51dc6c984985532a83dcfed29a362e4fd088f5bbe122b2e45323c379fa0571ec0a63ef979d5c21b61
|
||||
|
@ -1,52 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Let's encrypt client to automate deployment of X.509 certificates"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
CDEPEND=">=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
~app-crypt/acme-${PV}[${PYTHON_USEDEP}]
|
||||
>=dev-python/configargparse-0.9.3[${PYTHON_USEDEP}]
|
||||
dev-python/configobj[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-1.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/parsedatetime-1.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyopenssl[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
test? (
|
||||
>=dev-python/astroid-1.3.5[${PYTHON_USEDEP}]
|
||||
dev-python/coverage[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
dev-python/pep8[${PYTHON_USEDEP}]
|
||||
>=dev-python/pylint-1.4.2[${PYTHON_USEDEP}]
|
||||
dev-python/wheel[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
python_test() {
|
||||
nosetests -v ${PN} || die
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Let's encrypt client to automate deployment of X.509 certificates"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
CDEPEND=">=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
~app-crypt/acme-${PV}[${PYTHON_USEDEP}]
|
||||
>=dev-python/configargparse-0.9.3[${PYTHON_USEDEP}]
|
||||
dev-python/configobj[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-1.2[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
>=dev-python/parsedatetime-1.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyopenssl[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
test? (
|
||||
>=dev-python/astroid-1.3.5[${PYTHON_USEDEP}]
|
||||
dev-python/coverage[${PYTHON_USEDEP}]
|
||||
dev-python/ipdb[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
>=dev-python/pylint-1.4.2[${PYTHON_USEDEP}]
|
||||
dev-python/wheel[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
python_test() {
|
||||
nosetests -v ${PN} || die
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
GCONF_DEBUG="yes"
|
||||
|
||||
inherit gnome2
|
||||
|
||||
DESCRIPTION="Dictionary utility for GNOME"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/Dictionary"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1+"
|
||||
SLOT="0/9" # subslot = suffix of libgdict-1.0.so
|
||||
IUSE="+introspection ipv6"
|
||||
KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
|
||||
|
||||
COMMON_DEPEND="
|
||||
>=dev-libs/glib-2.39:2[dbus]
|
||||
x11-libs/cairo:=
|
||||
>=x11-libs/gtk+-3.14:3
|
||||
x11-libs/pango
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.42:= )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
gnome-base/gsettings-desktop-schemas
|
||||
!<gnome-extra/gnome-utils-3.4
|
||||
"
|
||||
# ${PN} was part of gnome-utils before 3.4
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-util/gtk-doc-am-1.15
|
||||
>=dev-util/intltool-0.40
|
||||
dev-util/itstool
|
||||
>=sys-devel/gettext-0.17
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure \
|
||||
$(use_enable introspection) \
|
||||
$(use_enable ipv6)
|
||||
}
|
@ -1,124 +0,0 @@
|
||||
AUX 271-3.10-00-userns.patch 1690 SHA256 15f290e50f179ef3dcd4737632971b5f0bd3f2c252a7188dc23244d24e45c3d9 SHA512 996aa6933afe7dea1fe4eb7f152c5eb5fff7fe64d56f257593a03b7dd1b2e9a0f702e5b14b51721d938aa389590e5b777ac5abfd514f410a9568e1c34e408908 WHIRLPOOL 70c652d7e0fcf6b8317aba9cbc1248c19bc3282cbd44c3791871c1819533ad877f31e54df6b03aadbfde2d4613f31c02cdd15d2791b6a769ff39d36a59668d75
|
||||
AUX 271-3.10-01-create_proc_entry.patch 1120 SHA256 7ac4f33f5a9433c1a9af4066113eb993359cf1d14e9c1a34fb29661791979426 SHA512 4c44be4ccfd827a185e2c6d302879f74d1c8054871b1b31770436bc5865e9feefa3bb4f20f3d1f5914517697e448d7d30e7afa396c310c56ae376774a98a0931 WHIRLPOOL 463d3bdc718b11f3b58511362d9246cc4262c6fb9cfb1a7c12d73e02b905723333e5a99351f5c3dc0f8a3db980da52684559fee09c4be5ae8a99e4d22d5904eb
|
||||
AUX 271-3.10-02-getname.patch 729 SHA256 59864b8c33b1b21d816bb2405232d4df1dadc4e969970f704520d01309e8ea2e SHA512 67aaf42b3f7b9602ea3e84ca2f07251ef0ffc2eb2eee2919410325b9ff9ddd3629e5af2eedc91a3f6f409f17b8f69c56f06d8e24573a7e12070fb52ca96c8522 WHIRLPOOL 4348ec879efb941042f11791cc8dafa6b560cf314dd97e407d8b63833043451a7a14c5215b3178afae506566f1ab5f3e499d0ef7d9de00dc44a523e2d597c85f
|
||||
AUX 271-3.10-03-deprecated.patch 3859 SHA256 5ae46a919ce41b0ca45489ceb648d0b91a93738cce674a82992d4ad90808f01d SHA512 750c40d130068515193c21120a2428a10e28bb4bd6e8aa82bd86c878dea4af3f3a989eef19e4a06e5c513250cb37f2c4f825df6d0b1ec9d9ddd3e1e2f3deedf8 WHIRLPOOL 23855e04d42f0ea534a0bb9afe34faf8aedfec88c1f3a0d89f29e16a7caeb66f8038d20f291fb4a5f7486421fc1410fe94528b9bcc09e1d0bfb7f7760beb0654
|
||||
AUX 271-3.10-04-unused-typedef.patch 6888 SHA256 bb028ec8ae615bec70dfa2c7f0716777dc29395d43b8b1486de0e42646dffcb4 SHA512 fbeee472486c64c2c8ceaf97a4243880326d3f64a71098b53a970d769713e7efbc02a94f8610302aac0971dc0461d2fee358360404373aac49043576ce16082e WHIRLPOOL cc2cd6b7530a746557b4a96e9beb95ec5eef5cd2bfdc33351becd192164aa20b73a0cbd7ecd6975097e678a62c256b9a8e0377d7a117882d2c6059d69712e2b0
|
||||
AUX 271-3.10-05-dentry.patch 1265 SHA256 4ed8fbf240e8263ccf9ec85de3a6a42df2c174044dff8b7213b4b5e74f731e71 SHA512 7d7729667d084cb8c89eed5e085efe818e2039f3869667081a0bb0f837c96f395f3d3177b88d2cd38e382c3842f6f2e614a470778dca0f34307972d3732e1d64 WHIRLPOOL 2baf16bfa96de468f87ba430e13272b89d75f85fd3f126ed2f0a7a30da9f455db07352d38dc45db994d284d7529bdeabd3d7ec04972cfb5fc1b698306eaa12dd
|
||||
AUX 271-3.10-06-inode.patch 1489 SHA256 d4db76ed1dc40386f4bb59886996e22c677629f1179a139e370cbe8b7859d1a7 SHA512 7c425186a21fd8546b3c2f51d18ff24ce999464d31e97326ddaf9ef134f1efcbc911ac538d9fa2c41b36569a5421633048bdcaf82db4d577dac28f04e1c7f413 WHIRLPOOL df57492be3c7eff7d35d026af595ade477c32c7893f73da61958579af6e97e7401d5f9bf9324ed374000f99a2999fa664be0ab7ec89f76b1378124ffe3efb672
|
||||
AUX 271-3.10-07-hub.patch 1044 SHA256 c842a7aee5da7e25a5162d209748f6d019e5869f201bc8e7df1768f937c73486 SHA512 3893ffffee22c883a2845082035a85e6c6c4593722a43f80866ab34c687df18681077fbb45770e1ee50514e8ae1121931c60fb878ff2ed5b8e5b99f3fdeb424d WHIRLPOOL a1c55f16f6cebe7dfa29545e4fad7dbd32bcb53cc89c31699a8d99f14934a0affcd4cf7d9ce123cf91316a8f147a2c21bb72106f028260ca3a4804d60cee7aac
|
||||
AUX 271-3.10.0.patch 23418 SHA256 346d1ca7705dd5f791e0d69cdbb346ebd31f2f4f11f3989c23d1a89e11e1b91b SHA512 878678f951b05137deb1656ccd7fd3185887f02649f2a223ef60ccecdedc7aeda6ca08ddd108e379734b5e04ef11d326b20e45c069c53cc52b7a6869b8db6410 WHIRLPOOL 196515870addefcd6857dd3e44a04b8a6c0da39185e7cea7826f1498f5a4c17997ebe43aada7f22a1c3fa94302576ced2a7ed36e2452de00711256c83f7fa41e
|
||||
AUX 271-3.11-00-readdir.patch 1063 SHA256 60a33321ef47dc99713677f639c49f46ff7a7e34aeb226eb8d234a4d2ab19ab2 SHA512 ab63a21bf40f5ac02dfafdf353e7b5a139e3e0f4e935b45562526479bf196547da10e2608a368f1cb62a743f969b38f5223679f967b23e13a555f8f38ec7842c WHIRLPOOL 3c9b75aa95656e550620a15cd760cb4b23b22d1c6b93e1b0be2d077d40bc506134fd53d4b5a6ce48ad2723339a97054b1b0d958d38662180ffa2c262f15e648b
|
||||
AUX 271-3.11-01-filldir.patch 1619 SHA256 5de58aa1dcd7b9566e32fd8eedac9bec3135a8da20e8bcc6fd3887bba92c4e5c SHA512 779d22bd1184507ec2a06466524b62c33e3bfea7c1c1a41a9a2c96797a6518f3a0159915ff75e9b18f8323e1007a09fc13f83da3ab9ee4b621544643028d0c49 WHIRLPOOL 3c72b7695cf593d757bb6a01ec94e66268aeb1dd8b52d7bb0fcbe7c537707240ac31a1095341887cbf344d77a150edba33cef946baca9b84999c63e6dc708ec6
|
||||
AUX 271-3.13-00-vmnet.patch 1297 SHA256 bfee163a4c275bfa67070f2e3488a1346c611851a7e3d7a59fc23967a818e5d0 SHA512 fe9e88748f282969281224753bec10a6b738d88fcd99b0ba9b1c0df3fa109f7d49369edffe57f7f8f96363a186eea09382f328ce51f69c15ee0de477c444f0e5 WHIRLPOOL 2e9e3545b0dc126697e43d149fd9e4e5808204104a8ff461fe627f1cd7a02d1ef3b5f5bbf9fcfce5134743d2377ee33211bc137df0d33385a719606ba8632303
|
||||
AUX 271-3.15-00-readlink.patch 544 SHA256 eeeefdd94c2c78adf0ae27c4f62ff612c53ef81c2b4bf1cb8b2b333f72a2de99 SHA512 2a238442f04685dc5daa2dfdcd7fbac8f46e954e90f604c681bfcae59c4a1c2b35d8311fb3560d5c8410207a691aac48da03665556429b54b493a7cda2e16a21 WHIRLPOOL d145b0a8879d365c0d861fccd0f3ec75b5db6fcd7f69dda5d9ab14285f2f65078123a6c9ade760513b5a77707f0ec8d3984e3881c4b546d0487edff353a5962e
|
||||
AUX 271-3.15-01-vsock.patch 1419 SHA256 7e12baa018536c6a2b4296d0167bd9fb459fcb3950857314c9491ebf06d572b2 SHA512 34fb51223102f96b9e94d2536d1397ce2d11cc5342d80f0a8797d3309326e2f9f2b3b675bf9180bb0eb915abcabf7fdab60619f5992956c4ee7bf9804a567626 WHIRLPOOL ae3ba7caf99468182363ed9928b1b6c8cbe0d771170b0061924cc55e395e1d2a017090f3aee62fa53cc6f07a17b2446805173494b4bd3283153285f1dcdce624
|
||||
AUX 271-3.17-00-netdev.patch 721 SHA256 1da176c9a3cff1a04d0424abd7ab090696a086021e73ca143d50f69252c86b00 SHA512 3b3e79e2afe9d19315de94bd021c73a26cb7d935a1bd5f771dc0eed8100c14522d4c07a58e4b1edea42ff8522a3a2139f55de7bd048e0067fddf6e8cb1aa2262 WHIRLPOOL c3cea09406deb050a42c1ebea0ecc01d3cc98e02794ead3caf26791df67785f0ec7bda621dc51a58ec1a38a7fd472c82e96c7c51d4918c96d44ff2c7129f55c6
|
||||
AUX 271-3.19-00-vmnet-warning.patch 592 SHA256 4a91d5a8d07cf0940eb2d247329485ba8722c2da13ec536ee3a5a4ca38a08f5e SHA512 5f75278a842d0579e37d61eae1ba5a031c7071c497a8f09376652904862669cf613ae34ca5f1adb43176724aed9c254057d4cbd1632f2d8c56a75e0d42c330f0 WHIRLPOOL 757219e58c63c1152abc5872c02c2773f3c3c0bdfe48f6e3794600894424453fcd5c467128da951ce212d26b7140f7fe550c106905d6fa97a9700d61dec0af79
|
||||
AUX 271-3.19-01-vmblock-path.patch 2943 SHA256 89467ebf6e8d938da494b32ff0bfd774d9dbc2107e5712e0d039f4c9d438fcff SHA512 356cdaba3ad69fcd3e517a3f6edc561684a8757fd8a1e5bf75ce990cdac89bef68d56adf5817cd8577875f182018f354f4aff4202684057a0ec7273137ee0ef6 WHIRLPOOL 753baa0392a7ee61614780f35df8164de5b865bfdbdf185b4c8b6e029d7c294c227ea14fc1231a4e0977638533920f58a0f50c5a3c28c987bb651802084de32b
|
||||
AUX 271-3.19-02-vmci.patch 1197 SHA256 6b9e095e0d50b13ddc176f117e417c5b176fbd5fb4017fdca4f73b0e7f078aab SHA512 aa3fd318d56b263ea39a7d1822f2bf6b8f2bcbe096037a5405adfcb0a4ca02d759d639943ade68cb4b45f8f44419219844b1171cf8bd6c74f71b1cdbc86aceb6 WHIRLPOOL b231fa54d26c39cf66de9574099441dcda585f174855c44c418de8c891cde35c78daba0d094eebb0297b14ddad0fa2a0e2ae5c67000e43fd67711888d67dc89b
|
||||
AUX 271-3.19-03-vmnet.patch 923 SHA256 f6a8ba5fd7e1a321ee5eedd5b521860d98452dee9aa935de45cd59d2966509ad SHA512 499131c6b85beb1537957083a8db0f378958bc919da4a4ff96c7aa426f460740cb1ad8f855647fbb682b3a89bacc79492e8de1689b38f2260f3d2f24e69995ae WHIRLPOOL b0fbece3b3e8454d41c33b8f901ede5f8cf3638faa61b9bf7400ee63dbc21d857753761838cf8b2a20ce3a56899d16456e00856da76b0c2e4f76263d5bf25770
|
||||
AUX 271-3.19-04-vsock.patch 571 SHA256 01964e884d427687ea27843c42d47f581503390ed71501bcca629360927d8f24 SHA512 5f1c56150192ea43480879f7b1686e065b7488b3cf70491024c78c0037e0365500d00d413a1c1aadd7f02dbc9a0f458c740aa74a814c73126d7f3c2df1140c5d WHIRLPOOL 16ebc5c2ac8da04c1cb41c74470ded344bf820c8486b06f062e77e3e707a4fa800a6127889919a979d86a656bcfbe76015f159c34d39401d970eeaba452688d2
|
||||
AUX 271-3.19-05-vsock.patch 602 SHA256 8ad74f7573ebdae27c446db708c7ca13f03a965e608836242d7c919f14dd1ba2 SHA512 c1684b6312b67849c0e2a2abafe9ebeaa6f46cdd8c5aeb37e1d1c3bf1db45134ab59254f36f84a8a6c366bfe6631ee7b8e75d7a0bf431c6d9570568cb61cc2ee WHIRLPOOL 4ede77589267d714e4c9eb6fc358b7856745b2d1610deca57a40a329d9ae0f1c96b728983069af556d966bfa5ae009a3cd6706ae83729fe538382ed3730926b3
|
||||
AUX 271-3.19-06-vmci_qpair.patch 1061 SHA256 2804d70faabdbee64647eb53e62ad967bbbf79cd5f1734154eed5077d63fcf77 SHA512 ab3ec8b074265c51bdfbdf4324753564fedace64267040b5fdeedceeab5823a74868c6ffc06cfbf4d0e503192efda4c63d8b68e17f1abd5a4defa926728a652e WHIRLPOOL 0eb891718b3bd7534062ff0f26f68281d05681fd91d567d7deb477e925c2823c908bbf897244ca6abdfb53ddbac620c165eddb876514a1c5fb1098361133f685
|
||||
AUX 271-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0
|
||||
AUX 271-filldir.patch 2485 SHA256 539e8940b47cb7a5f39ab2ba6f18ceb290a2627c81bd6daead6e5850aec02a63 SHA512 e5f85031f459a79a0f64b15224ae8c1ef23892ef159a37955b9c2a2b13ab6e892325a5aeedd4fd2969da3b187cedcaea8fc41540638d02cf56dce2d3e9194937 WHIRLPOOL a455300e72624e4f9c8d3dc79fa5c3ab1b288e79a04483503006a61d44bc83bf14faf0bfa753f82a70dbd23f870b2f6bfe1b06d23792eb1522a7265799ce03eb
|
||||
AUX 271-hardened.patch 5052 SHA256 191cf892bfb9a6288d110191de824bf6243bc6f48f1e62ab49f3582c7ade5af6 SHA512 52dcca8d9f689f0a0d0ca369c0c7ce0d177de3529d2d1325330eb5a9e940a55e8930bbbe7374793bdf29cbdefac9727e9eb21d00f81ad4f5eddba3a51597b7a5 WHIRLPOOL 539731bc36f3e292403f55d74c353deeb28baa312f726b36d2a6060adf3483dfa2ed011baf93eff941fa754ef62f4d6da86868c40550ee2292c4a711e061bde0
|
||||
AUX 271-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338
|
||||
AUX 271-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6
|
||||
AUX 271-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a
|
||||
AUX 271-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45
|
||||
AUX 271-vfsfollowlink.patch 1219 SHA256 b195f6492a172f682d55fb506ba02c473fd924bb47dc0d1359dd5de163b4da22 SHA512 b675f68175be0b7003d2f80c54dce05a064f8d5bd8744d40571d3d1e0153c01f909e37e0403e53f23a6d61383a9b054c40a2a9ffa95dd765eeffb0c7e739ff1d WHIRLPOOL 3e108ee29c2050029c6079f652e2670529a9f6b220524db214c7dadba3dcaef8fa1ab261f0e10ffa7506456d9f3cccc954bf6a82960e78ebd120c1eb2aac68e8
|
||||
AUX 271-vmmon.patch 1581 SHA256 a4e89766232d0fc0456bb026978dedca17fcc62e247c8d65ae747b537e62fd13 SHA512 10aca60b959647c058fa69f851892a0245acad971028876da8d0a0e6002d0e8f6f2677fd0d9b140ee8a1a68cf2cfa3f8937a992f8b0e7e163aa6bcc17b75c979 WHIRLPOOL 28d1a34e89c7a995dbde48d87d8942c6f58e61f4a24189a1463c148c843fdf16cea7df497993eb6fb8d8de228f07ae8a44233bb63e42b54ab1f762e7e24889ba
|
||||
AUX 279-3.10-00-userns.patch 1690 SHA256 15f290e50f179ef3dcd4737632971b5f0bd3f2c252a7188dc23244d24e45c3d9 SHA512 996aa6933afe7dea1fe4eb7f152c5eb5fff7fe64d56f257593a03b7dd1b2e9a0f702e5b14b51721d938aa389590e5b777ac5abfd514f410a9568e1c34e408908 WHIRLPOOL 70c652d7e0fcf6b8317aba9cbc1248c19bc3282cbd44c3791871c1819533ad877f31e54df6b03aadbfde2d4613f31c02cdd15d2791b6a769ff39d36a59668d75
|
||||
AUX 279-3.10-01-getname.patch 729 SHA256 59864b8c33b1b21d816bb2405232d4df1dadc4e969970f704520d01309e8ea2e SHA512 67aaf42b3f7b9602ea3e84ca2f07251ef0ffc2eb2eee2919410325b9ff9ddd3629e5af2eedc91a3f6f409f17b8f69c56f06d8e24573a7e12070fb52ca96c8522 WHIRLPOOL 4348ec879efb941042f11791cc8dafa6b560cf314dd97e407d8b63833043451a7a14c5215b3178afae506566f1ab5f3e499d0ef7d9de00dc44a523e2d597c85f
|
||||
AUX 279-3.10-03-deprecated.patch 3799 SHA256 ab44a1514e1e0c483094f1e4d9d57ae06b80f866260c35c75b3d292a39e333e7 SHA512 c7bd7dda3d6f1617eb2615d667b75000b5c85f6806016d5dd31f4b3508ef89e616c48aaf9785fadfdfb3e34897952d8b14db02fbdbf8e8e25754b7a3bc8b92bf WHIRLPOOL cf8116e9a99b63e099febad091bd153f7c714b718e14717a5b54cca87b34780fc6fdd44a2fa24fd6429fbcd4e34ecc51c54e72415f861fb361ceb6f1eb6a0c39
|
||||
AUX 279-3.10-04-dentry.patch 1265 SHA256 4ed8fbf240e8263ccf9ec85de3a6a42df2c174044dff8b7213b4b5e74f731e71 SHA512 7d7729667d084cb8c89eed5e085efe818e2039f3869667081a0bb0f837c96f395f3d3177b88d2cd38e382c3842f6f2e614a470778dca0f34307972d3732e1d64 WHIRLPOOL 2baf16bfa96de468f87ba430e13272b89d75f85fd3f126ed2f0a7a30da9f455db07352d38dc45db994d284d7529bdeabd3d7ec04972cfb5fc1b698306eaa12dd
|
||||
AUX 279-3.10-05-inode.patch 1489 SHA256 d4db76ed1dc40386f4bb59886996e22c677629f1179a139e370cbe8b7859d1a7 SHA512 7c425186a21fd8546b3c2f51d18ff24ce999464d31e97326ddaf9ef134f1efcbc911ac538d9fa2c41b36569a5421633048bdcaf82db4d577dac28f04e1c7f413 WHIRLPOOL df57492be3c7eff7d35d026af595ade477c32c7893f73da61958579af6e97e7401d5f9bf9324ed374000f99a2999fa664be0ab7ec89f76b1378124ffe3efb672
|
||||
AUX 279-3.15-00-readlink.patch 544 SHA256 eeeefdd94c2c78adf0ae27c4f62ff612c53ef81c2b4bf1cb8b2b333f72a2de99 SHA512 2a238442f04685dc5daa2dfdcd7fbac8f46e954e90f604c681bfcae59c4a1c2b35d8311fb3560d5c8410207a691aac48da03665556429b54b493a7cda2e16a21 WHIRLPOOL d145b0a8879d365c0d861fccd0f3ec75b5db6fcd7f69dda5d9ab14285f2f65078123a6c9ade760513b5a77707f0ec8d3984e3881c4b546d0487edff353a5962e
|
||||
AUX 279-3.15-01-vsock.patch 1419 SHA256 7e12baa018536c6a2b4296d0167bd9fb459fcb3950857314c9491ebf06d572b2 SHA512 34fb51223102f96b9e94d2536d1397ce2d11cc5342d80f0a8797d3309326e2f9f2b3b675bf9180bb0eb915abcabf7fdab60619f5992956c4ee7bf9804a567626 WHIRLPOOL ae3ba7caf99468182363ed9928b1b6c8cbe0d771170b0061924cc55e395e1d2a017090f3aee62fa53cc6f07a17b2446805173494b4bd3283153285f1dcdce624
|
||||
AUX 279-3.17-00-netdev.patch 721 SHA256 1da176c9a3cff1a04d0424abd7ab090696a086021e73ca143d50f69252c86b00 SHA512 3b3e79e2afe9d19315de94bd021c73a26cb7d935a1bd5f771dc0eed8100c14522d4c07a58e4b1edea42ff8522a3a2139f55de7bd048e0067fddf6e8cb1aa2262 WHIRLPOOL c3cea09406deb050a42c1ebea0ecc01d3cc98e02794ead3caf26791df67785f0ec7bda621dc51a58ec1a38a7fd472c82e96c7c51d4918c96d44ff2c7129f55c6
|
||||
AUX 279-3.18-00-version-redefined.patch 1020 SHA256 52ab071998e51e9c3a292d48b42f25442d69e5bfb442525dd28f950c914777c9 SHA512 e2edc74b7905a6409dbf9ced9e365fe16c43537f28cf5dd02adc668392659a41b005070dadee1e910106894721b2510d7c44b763c9be80dd281b0bfd024472e9 WHIRLPOOL c4e439fd98da2894489609ee0cd10162ca2d8eee7a01f9723e700dd666686f909e2a26228efa09d5b261a949d887b1b3886db0c3f121d347ed39bb3424c16d95
|
||||
AUX 279-3.19-00-compat-namei.patch 798 SHA256 510b30b679b263f2e0afa35f5d03fcfb5565ed7d3e3a48d08ceca3c497792d8e SHA512 abc9bc179fdbc1eec71ff5695e346ab06a160bdf6db5b97eb2037d5570cad8521aef33fe0ce6a4a683d7ef56274d4f31b494f017b9cdf2b2d2c98ae64cb83ee7 WHIRLPOOL 04f5ac62ac2d5e8a3394f3f2d60d170fc58ac5764582dbfee9ece7a5b4ec34cfe2f170213441b2e445cfa233de7df5c98995b6cc1d7acf5fd6d258ffb69ef82d
|
||||
AUX 279-3.19-01-dentry.patch 427 SHA256 d4225cace10bb8b119c8148027ee8b944dd1da315e978b8cf988ca05def55fe9 SHA512 ba68dbdbc745700426de8b5cc3d0d8c745112932e3512e34b915360936aa8f28c17212d1e29e2af73aa40d4bee756ad2461279519b30c6e1643dd935917bd9e1 WHIRLPOOL c4f371097fcce4f35b81b5fd496f130e8966e913f92b6b9a8c23b04240dceb52bf231039606b546555061cec6c94817a42a98cc01713bc021af72996a6904bb0
|
||||
AUX 279-3.19-02-vmblock-path.patch 2943 SHA256 89467ebf6e8d938da494b32ff0bfd774d9dbc2107e5712e0d039f4c9d438fcff SHA512 356cdaba3ad69fcd3e517a3f6edc561684a8757fd8a1e5bf75ce990cdac89bef68d56adf5817cd8577875f182018f354f4aff4202684057a0ec7273137ee0ef6 WHIRLPOOL 753baa0392a7ee61614780f35df8164de5b865bfdbdf185b4c8b6e029d7c294c227ea14fc1231a4e0977638533920f58a0f50c5a3c28c987bb651802084de32b
|
||||
AUX 279-3.19-03-iovec.patch 500 SHA256 1d041bad1658c6b4441de8ea496e93357e314572eb647ee903ea0ec447ad9563 SHA512 b9714b6795c08b95fe81176a7810b0c011275ba9208cee768a3c40d4a152b71a51e06e59d4d7d3a76b3c0762cdc64ae062fcaf74fa916b62a72f5aaa038202f7 WHIRLPOOL b61dae135310a8d1161540d1823d375279934e8ada36365a811ff0f147fa61609cfeed61f3972a17009c7701ca2026daf64ae13dd1b5524c8338db9037bd653b
|
||||
AUX 279-3.19-04-iovec.patch 1536 SHA256 4ed2c1f0323fc47037127631495df076f6b008090451438eaaa7ff1d294f1245 SHA512 503394dca2264fc5eb34695fb493161734b9ac5d0b526cc76730720fdbd03962d3d25692da27ab799053599d8041970ba99b52190578b244a5cd0fefb02bbb47 WHIRLPOOL bf988aa0f51befba684a013c918ace53e494f5a28904d9f715188074d538a7625211f786903c2645dc07a1422182c26b936c0a821d44f871f6627472662d90d9
|
||||
AUX 279-3.19-05-vmci_qpair.patch 1061 SHA256 2804d70faabdbee64647eb53e62ad967bbbf79cd5f1734154eed5077d63fcf77 SHA512 ab3ec8b074265c51bdfbdf4324753564fedace64267040b5fdeedceeab5823a74868c6ffc06cfbf4d0e503192efda4c63d8b68e17f1abd5a4defa926728a652e WHIRLPOOL 0eb891718b3bd7534062ff0f26f68281d05681fd91d567d7deb477e925c2823c908bbf897244ca6abdfb53ddbac620c165eddb876514a1c5fb1098361133f685
|
||||
AUX 279-3.19-06-vsock.patch 602 SHA256 8ad74f7573ebdae27c446db708c7ca13f03a965e608836242d7c919f14dd1ba2 SHA512 c1684b6312b67849c0e2a2abafe9ebeaa6f46cdd8c5aeb37e1d1c3bf1db45134ab59254f36f84a8a6c366bfe6631ee7b8e75d7a0bf431c6d9570568cb61cc2ee WHIRLPOOL 4ede77589267d714e4c9eb6fc358b7856745b2d1610deca57a40a329d9ae0f1c96b728983069af556d966bfa5ae009a3cd6706ae83729fe538382ed3730926b3
|
||||
AUX 279-3.19-07-vsock.patch 571 SHA256 01964e884d427687ea27843c42d47f581503390ed71501bcca629360927d8f24 SHA512 5f1c56150192ea43480879f7b1686e065b7488b3cf70491024c78c0037e0365500d00d413a1c1aadd7f02dbc9a0f458c740aa74a814c73126d7f3c2df1140c5d WHIRLPOOL 16ebc5c2ac8da04c1cb41c74470ded344bf820c8486b06f062e77e3e707a4fa800a6127889919a979d86a656bcfbe76015f159c34d39401d970eeaba452688d2
|
||||
AUX 279-4.2-00-cookie.patch 2832 SHA256 742609c70f089bef774cb05cee3bf58a1bfc8f61d53566c1a99f8cd41a3b1cba SHA512 3143e82ac5afb3d408b9ca5e84f02083594fab1bb1e15646518b6021a902fe0767e75b464e65d47cb8eb78a43ef52ee746db16d5c2ec54948e6a190500e4e68f WHIRLPOOL 1ea67e2c19f6dca23e98241eb876e5e7aa30d409b9e73955239ee55e453f9bb16052f349a5c0e26c20c8d1871b65b713cfca10e35cf8bed66f2f205eb899f003
|
||||
AUX 279-5.10-00-userns.patch 640 SHA256 fa72410fb6d198a576a42d40993f5b186fa4203893285e9540ff4ed70240dc86 SHA512 c943d045ab704bdf9e33d4fa78e40440c1a3ee0203a522bad44d3f014405279e3e3c2fc5afb551e8a9b1b54632e4b94465d40990f306d586cb4685ebac2ea258 WHIRLPOOL cecf0f9d17fb917acfc284386ee3cbe01b03d2d5d581954a3365fe9152cb358b458b9f88ff65e53a7a660dc2cecdfc8dc292dbec7a307e1f0b5f728e650b306c
|
||||
AUX 279-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0
|
||||
AUX 279-filldir.patch 2485 SHA256 539e8940b47cb7a5f39ab2ba6f18ceb290a2627c81bd6daead6e5850aec02a63 SHA512 e5f85031f459a79a0f64b15224ae8c1ef23892ef159a37955b9c2a2b13ab6e892325a5aeedd4fd2969da3b187cedcaea8fc41540638d02cf56dce2d3e9194937 WHIRLPOOL a455300e72624e4f9c8d3dc79fa5c3ab1b288e79a04483503006a61d44bc83bf14faf0bfa753f82a70dbd23f870b2f6bfe1b06d23792eb1522a7265799ce03eb
|
||||
AUX 279-hardened.patch 3334 SHA256 198c182b626aeeb0c6e6558e6982b6d9cd2f11bf03515f72972842f5c773e52c SHA512 eb6829742c44677c6d475894a2a996a87feb1c2ab9afda6a045333fc5befb1c2551ea17ec33e665542d322fb43195b6cfcd576665a73cfc82d66a98579521cf3 WHIRLPOOL d8fde574d68978a4850f06469e5a6dfe21acd0a68b744f3f37ffeb98d5f8786eedeb9fb435e1b141044a23fb142ae44879ee09a45229f2be1c84ef744c15cb7a
|
||||
AUX 279-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338
|
||||
AUX 279-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6
|
||||
AUX 279-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a
|
||||
AUX 279-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45
|
||||
AUX 279-vfsfollowlink.patch 1219 SHA256 b195f6492a172f682d55fb506ba02c473fd924bb47dc0d1359dd5de163b4da22 SHA512 b675f68175be0b7003d2f80c54dce05a064f8d5bd8744d40571d3d1e0153c01f909e37e0403e53f23a6d61383a9b054c40a2a9ffa95dd765eeffb0c7e739ff1d WHIRLPOOL 3e108ee29c2050029c6079f652e2670529a9f6b220524db214c7dadba3dcaef8fa1ab261f0e10ffa7506456d9f3cccc954bf6a82960e78ebd120c1eb2aac68e8
|
||||
AUX 279-vmblock.patch 1041 SHA256 217d27619ac782711686cffee44fbc4bbb40eb0657f335357ad1b0d064f30a35 SHA512 e8e565b677110090cb5bdb7c18d3e97c31049d846b82ee0406aa27dbfa9af8afc39512f1314d49edd6108ec576f3cbc565921de8dfdaaefe2822029ef98c303c WHIRLPOOL 769d0cffcb186d6110de049db963e20e049ef11d92b872c1a6ecfe262acad6c17f456376d219ce01e22839ddcb6a21a2d3e995d797f4c962a0838318dc6f56f9
|
||||
AUX 304-3.10-00-dentry.patch 1500 SHA256 efdd1ced43e6530c27fc8f60cdfab8ee9221be304f2872c7d76336d4b2609816 SHA512 a4f10f9c6aae9fb6ec6a89d817d75dfca9d737d8aaf3485529ed94f195463571a49baac851f73eb21d631787cd6c357094eed8cd7e34fe697e8c6586e00d031e WHIRLPOOL e858360a691a96bd6e5c9f1a582531f31d958f8e938717606b5635b0f2e2c3cbfc4fd219399160a6b2b45a27018974f1485a0f69765cb47054b4af3d261a2d33
|
||||
AUX 304-3.10-01-inode.patch 2885 SHA256 ae6d7f1ad52583378e71a70105c929108a58434f57005fc3d392a02fa6d1c3ff SHA512 c5c5cb94b1a2d7db41de93ed8bb81ff75e3853f9054cfa431d59ac2547f4df05e941bb7678c3f2378ded8eb746e45cb27c7faab22851ad8183d5067a1176af37 WHIRLPOOL 239c5e1ba57cddb394a1a16f5a8fe01f1fa5251eea882c94b64c6a8b8b4ab290d15c091ea3ff89d629f9535190d590397a06d9138408871a4917ea8882d53555
|
||||
AUX 304-3.10-02-control.patch 1679 SHA256 1929822dfcee818bf94056995fafbb1e8bb67254b6421dbfb03ff53ef7a22b4c SHA512 8e53dd4d6dc9b78e43396973ee42235ff24488c115d6f958e8090fa5dda0b738ae24b9b9bd56b13ad6c65ce69e2f2099fe929982b8b2894cf296b5b17cd71ab4 WHIRLPOOL fb708d317b3d2b938af9571f7d95c89ddfa08cf5847439be053417612e8b74a5e69211eba33bb3979144d8b199c0ee9cf24a725f89b385ba8a1c72d4c0de8100
|
||||
AUX 304-3.10-03-inline.patch 463 SHA256 812963c925af015668180d4bf484fe39d6cf19cd5d3139ea71d895d244fa03cf SHA512 951e9f40a29404b985bcecb659f82bcc20fcdef02aadec76fef7ca5e459309244316799031ac78cabbc29747ee17b754d8aa476ce07f4dc6ed543064e4f79382 WHIRLPOOL 75b7ee8d5ff8f5a122775206e33bb9fa2dde296e663be755dff55d82e083a92d34325627eedaab2901d809a921198f7335c039fdaf29e5b0c2bcabdf24934a31
|
||||
AUX 304-3.11-00-readdir.patch 1063 SHA256 60a33321ef47dc99713677f639c49f46ff7a7e34aeb226eb8d234a4d2ab19ab2 SHA512 ab63a21bf40f5ac02dfafdf353e7b5a139e3e0f4e935b45562526479bf196547da10e2608a368f1cb62a743f969b38f5223679f967b23e13a555f8f38ec7842c WHIRLPOOL 3c9b75aa95656e550620a15cd760cb4b23b22d1c6b93e1b0be2d077d40bc506134fd53d4b5a6ce48ad2723339a97054b1b0d958d38662180ffa2c262f15e648b
|
||||
AUX 304-3.11-01-filldir.patch 1619 SHA256 5de58aa1dcd7b9566e32fd8eedac9bec3135a8da20e8bcc6fd3887bba92c4e5c SHA512 779d22bd1184507ec2a06466524b62c33e3bfea7c1c1a41a9a2c96797a6518f3a0159915ff75e9b18f8323e1007a09fc13f83da3ab9ee4b621544643028d0c49 WHIRLPOOL 3c72b7695cf593d757bb6a01ec94e66268aeb1dd8b52d7bb0fcbe7c537707240ac31a1095341887cbf344d77a150edba33cef946baca9b84999c63e6dc708ec6
|
||||
AUX 304-3.15-00-vsock.patch 1419 SHA256 7e12baa018536c6a2b4296d0167bd9fb459fcb3950857314c9491ebf06d572b2 SHA512 34fb51223102f96b9e94d2536d1397ce2d11cc5342d80f0a8797d3309326e2f9f2b3b675bf9180bb0eb915abcabf7fdab60619f5992956c4ee7bf9804a567626 WHIRLPOOL ae3ba7caf99468182363ed9928b1b6c8cbe0d771170b0061924cc55e395e1d2a017090f3aee62fa53cc6f07a17b2446805173494b4bd3283153285f1dcdce624
|
||||
AUX 304-3.18-00-version-redefined.patch 1096 SHA256 0a15dcc65fcd8b8e99866d1f4c7fdc2ab1d4d49982108b5838188bb8a44e8514 SHA512 1a63aca35e50feeb9950ca1867e6961eda62adb1e1d61a3c4ab9b86b6d07b0897caf89e1702ab49384e03aaa68368a9d84eb6aecd1516a81aa0ffa7741304d9b WHIRLPOOL d2ef4bd78a91c5093f57be487fa80fd22aee5f8d158e7227cb4fdb03fb549ba1d834a5683caf0131c11f76dd170531559a52f4a3f867370d69c9feeb17c885a3
|
||||
AUX 304-3.19-00-compat-namei.patch 866 SHA256 7c95f4993e086ede3d2cd47014475c78097476c8dc0b9366074ed3dcb82e3fd0 SHA512 592015525aad3c6cd5eb7b46d59a25b9cfd1fdc3782a4e4cdd555a3b2fbd2e7734d8168e04425418c8bd7075c33e20cfa1e36457450bea6ec8a819b511212d5a WHIRLPOOL b02e137b19f70d03c46607e8ffe45f22691e9b6d8391ca41478ff1b8a65dd7a0bd44b4b74cf4fae3876d8d27a274a875487b8db3cb809dd7522e0d417e1a02d2
|
||||
AUX 304-3.19-01-dentry.patch 492 SHA256 ff66564d79bffdf3f79c0bb1c383778340382ea16f2d7763e80288f074b7f162 SHA512 8366248eb4f48a71475cb8f7e8cc45905b80df1626a3527abe6df926ee5e3e65f8dc26a44b2c927406c57a25b85764896128b6b20134bf4abecdaf8b39ef2ce2 WHIRLPOOL d8ab2f6a2b99dabae4215bbd2f7df842b0bb88a658496f23de20422df923f28b3bf3716aa5e9c495826135d27583219a5ba4fe14c38abcdb4e2e17178c6adab0
|
||||
AUX 304-3.19-02-vmblock-path.patch 2943 SHA256 89467ebf6e8d938da494b32ff0bfd774d9dbc2107e5712e0d039f4c9d438fcff SHA512 356cdaba3ad69fcd3e517a3f6edc561684a8757fd8a1e5bf75ce990cdac89bef68d56adf5817cd8577875f182018f354f4aff4202684057a0ec7273137ee0ef6 WHIRLPOOL 753baa0392a7ee61614780f35df8164de5b865bfdbdf185b4c8b6e029d7c294c227ea14fc1231a4e0977638533920f58a0f50c5a3c28c987bb651802084de32b
|
||||
AUX 304-3.19-03-iovec.patch 604 SHA256 169d892f6d2fcd6300412e2cf2871205342ca454ca7c4feb313ae6e1a714f41b SHA512 be86fa1b4c05cb7f1df2b0ee0765592e5c492a17caaad82ac0b251589025e9b2a689e4e2b3713a3ebfaf557de8f5176749657499c67456f96aa9be476149117b WHIRLPOOL 9c676a2de939d89cd5776b8cfcbe8498a307c69a6b21916a8a7356a74610bb272cbb72221cb87d2f2d18f5dbcd7f652d5a13f83fe6ac321f825d62a9992f1ec7
|
||||
AUX 304-3.19-04-iovec.patch 2169 SHA256 335056000885960c24ef19216ff0d9a44994cd519b5d0d2fdb4c3ec973d609f8 SHA512 2768b54c1bdd5781b76b866a5055662b76d6d2e99ccbcc5fedcc2244ec369fb7f7ba502ea8554762eff6641ef6fdbeb53f95684a45485a9ccd32892e0a32722d WHIRLPOOL ff9a1e7d57a0e1422c8199a28269ac18cdc546ff901ddcea4e2f485044b066000dd76471d512ecc63b182d8aaebc74dfc9fdd016d4c0a7ed4cea7a60a2e15b63
|
||||
AUX 304-3.19-05-vmci_qpair.patch 1165 SHA256 6311745690e2c0a2d6c064dced0ee8518d95c4ade1aa76ff5300ccd6e653aaf9 SHA512 d8a719e314dbd20c26f448031e1bfc536dcaa1d707c05efe90af3ce0e2c6742e65ff83d1196ec5f33a8fed61a7de9f5c9948e2813cba80c074eaa0f1df5d7b30 WHIRLPOOL d410b9c186a82b6583fcedc3caf00163e1804202e5a2203d4eb56238bc134850d19bad1263165750b3c5ef101cb190cb6b4d7c42e81f50cc28136502e8170963
|
||||
AUX 304-3.19-06-vsock.patch 706 SHA256 d2c7abdc2b695f091ed17ffc89b4cad44e635b81dc4f70cd06b2693bf29ae2c3 SHA512 50f32d161f2a08b9ae894d2386bad7e0e9da19db552a8367cf5191465c94bf664e90d5c73dd1e69b30b6fc6f98ffed0df404723e3548a648525ded80bea15464 WHIRLPOOL 50689f8709f33e9c950bbe11c2b499abb4ec6d3025ad3bdad98c9ab383562206e23dde350a9b345c4cff97381dcc88ffdbb9df4ba4af8d28ac921ec93927ab74
|
||||
AUX 304-3.19-07-vsock.patch 675 SHA256 35ae4e7c2837549ea0a7c05ddeb06267e94e1828176a535e6d97d7b25c1261fa SHA512 552f8564820941d347d1cb8cc3203642e6d8eef40cd1855de3c771be481426df923d1d17be4506836a37bad8f728c617d9c194c6e832f4e6db7cc39eaa1153dc WHIRLPOOL 10732f5c4c2d62ebbdcd338d5959dab081c03fc232dc678a9e210693cd5a5994f07ae7b30d50b2bddadac175afd2e9fef3e61958a5bd9b9e7ef419ccfb3a6681
|
||||
AUX 304-4.2-00-inode_op.patch 1614 SHA256 a0f5f7b772973df8179137a9fdadcd459a9403365434162ff0f2e6e920ce37c6 SHA512 ef2deeeed2683e81339d032e7bf363360fbc9335a5ec0b3a2b2e4221e961762d1e42b81507767256724e5d105087ffcd8b3faccaabc3acaed9320366058a24f5 WHIRLPOOL 26713d6cc19330f61262da8986c6b3bf869a6ec53fe9261bca8f165a381eabf0f1a7e66cf71b40fae19b7c66e1561e24fe89ac097f7b2c6581e92e0408e7771e
|
||||
AUX 304-4.2-01-inode.patch 1678 SHA256 9cdf18611fb68e852125842222afa2db440938102199c8f63c8388d525694072 SHA512 b26c57bea28c4841111e2dad2a20e19ede9de8a3e099dce1547c1604996f8f213df840bcd46509887c187722d879389b28fa46f4507d8a550d22aa2ad575c78e WHIRLPOOL d63f4417529b383dd872398486110dfe2f95408b7176b24db90c075c9f79b97bdec99a3c37c265a2d226c2c27be85a269474cc098994bcd33a06f2d1c2068647
|
||||
AUX 304-4.2-01-vmci_vmalloc.patch 484 SHA256 31ceef7cb3fc9b9273a64b1eb843481f04c5488a1edd40a0e8e698e3f6eac391 SHA512 a0589ec7f163533ce35aac9b23ab8c1ad2bf6c465f1e22c542ecc655ffbe5089ac47b70823810cfd69acd4af962532111daa6ff0fbcf7a2e29efda83270255f2 WHIRLPOOL 327557011366d5d2f701841edf432c17f931f4cdbc51208f0a23e4d03ef4e5110b8151de4512b7a390ab9966a172c5520b7ec8b2ead22e939f7eb958432a0152
|
||||
AUX 304-4.2-02-vmnetInt.patch 915 SHA256 8658f039782e74780b40bacb2a0eb62922117ba3a0b0a7768f9efd9bf200cca0 SHA512 caf1296a46f34404a917b3910319dd2b1cd50b6b1255c9836ae379c74270ad0630ec2c62493f3b2c90a0eb0f356f0040259d93cfb788ee057fc997c8c4a56171 WHIRLPOOL 33dd6bc1d263c291943f54355d82ca8b36b1f0451c92844e048ee9ff9c87e237e08985bcf0edac262c29f627b044280a99d5dc1a3b5f48c79d9fa72957ba357c
|
||||
AUX 304-4.2-02-vsock.patch 3482 SHA256 e813bac14c61129811ab3abdb2733d6c7f5d2ef8a2ad808f32888a03eddfc8f9 SHA512 d09572f71bea90117bfc6c1783f2f55aa1a87394c6ea52d7a50849713b2f5c8c00ae632246d9496d75a99beacd4121582e118f4f5d0b97f976882233a5b647b1 WHIRLPOOL 3dd275814cc0ef489ccaad425c539ef1c7308201ee6c0fd6128bfe9fe39976b8fc66ecf973a510b04da0321ac2a93e52fa08d12888d1bd44b9219525bfc57858
|
||||
AUX 304-4.2-03-af_vsock.patch 665 SHA256 e35240d40292fd75098941f25881ffe7b6a34f6b9b5e5cb8ffba36ecb6246875 SHA512 90606f5a509712d3cb756885c7f00ea0f4a12a3fb028c402011c82fa4e8b6f8bba1aeb4c45381fefe84d4775db997ffe1e413d52efb2814270a2b266dd50ded8 WHIRLPOOL b79dc9dc497ed6330b3825f157e3e22833a5b0231a9ab9bd49c5793191916c43fb33a79176645aebce0172fea3269cdbcb88142e705b08270b4d704e19ca91e7
|
||||
AUX 304-4.2-03-vsock.patch 768 SHA256 f58ad63514d4841cc4c8e866a2f083b20cc43ad1fef39778885ad194c2686061 SHA512 dbe42f664ee0e7d1935afc5b29e33fc6a87c8cb36d79a08c0808dec490dfe76334a6c8c951f1cb517df1bec7cbdc7d864f3d4edda1d2fc8e4eb73984e041424d WHIRLPOOL 3960e24bc6e20748c31fff7de2b840d1ab874e595dfa0e948bec79cc3fda80991239c4485ee509018fce83425be68f65fe9a5384bcc42465e4626c08a9f8d4a4
|
||||
AUX 304-4.2-04-driver.patch 1495 SHA256 6782262a23876a4062d1b58fbe1501e692a34689c3930e5bd3b44c1de01bc19b SHA512 1b2b4689d62ea6a39acce9e1832f37c6a395a00cd9dc38a67ba0b7c54e4d51457abed828c2283c00b54017a340c2ec5bf4f611be65a6cc60885f7e01b2e91c31 WHIRLPOOL 53a50e2424e23ff3246c98c8bf33f3f97205a2aa01ec2a591964ac98f4e7f404dc2df13cf8b347a3a9bafb18e81aa4e568a0746e22c0d3f8ee84b0a255698c91
|
||||
AUX 304-4.3-00-misc_deregister.patch 1081 SHA256 9fded0ffbf9268c4f3806d50c30af7306974d64d3777f5469cff18fe13a0bc80 SHA512 22e7a2a53e72fe262af3b085aaf869b381b630ed07103a1cf755f6cd1365954cc36f8c6228d9cc81a065a55c2465685e3dbe396ec56d1b6ddb9e24b2b58c9cdd WHIRLPOOL a66a146a25662ec23d8ca1a05e4a85a1c8908275710ce828c5184f4055274dac44a7c4845ae9127b613fb91619838039903dccea18f4757a17114d5d254e72aa
|
||||
AUX 304-4.5-00-get_link.patch 2435 SHA256 97f8581e2b66aca41fe14367da7b400a6241d73f0a961fbad0c72a6f5ad3b368 SHA512 026117f283c569321851bbb7e24bf606dbf3fbe3291b898ee279620465c34975766ff136d24d013bf9624323f9e04047fd373db9c488ffb44ed9d22645d33523 WHIRLPOOL f7f99f880ac8f154398dc73ca62b931c7b26477903cd3918f6bcf74436ba1f5d1f6c1ca0979ee3910a8e46a74f6369cada0c7147fe84362fa5acb796f483f220
|
||||
AUX 304-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0
|
||||
AUX 304-hardened.patch 3334 SHA256 198c182b626aeeb0c6e6558e6982b6d9cd2f11bf03515f72972842f5c773e52c SHA512 eb6829742c44677c6d475894a2a996a87feb1c2ab9afda6a045333fc5befb1c2551ea17ec33e665542d322fb43195b6cfcd576665a73cfc82d66a98579521cf3 WHIRLPOOL d8fde574d68978a4850f06469e5a6dfe21acd0a68b744f3f37ffeb98d5f8786eedeb9fb435e1b141044a23fb142ae44879ee09a45229f2be1c84ef744c15cb7a
|
||||
AUX 304-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338
|
||||
AUX 304-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6
|
||||
AUX 304-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a
|
||||
AUX 308-3.10-00-dentry.patch 1500 SHA256 efdd1ced43e6530c27fc8f60cdfab8ee9221be304f2872c7d76336d4b2609816 SHA512 a4f10f9c6aae9fb6ec6a89d817d75dfca9d737d8aaf3485529ed94f195463571a49baac851f73eb21d631787cd6c357094eed8cd7e34fe697e8c6586e00d031e WHIRLPOOL e858360a691a96bd6e5c9f1a582531f31d958f8e938717606b5635b0f2e2c3cbfc4fd219399160a6b2b45a27018974f1485a0f69765cb47054b4af3d261a2d33
|
||||
AUX 308-3.10-01-inode.patch 2885 SHA256 ae6d7f1ad52583378e71a70105c929108a58434f57005fc3d392a02fa6d1c3ff SHA512 c5c5cb94b1a2d7db41de93ed8bb81ff75e3853f9054cfa431d59ac2547f4df05e941bb7678c3f2378ded8eb746e45cb27c7faab22851ad8183d5067a1176af37 WHIRLPOOL 239c5e1ba57cddb394a1a16f5a8fe01f1fa5251eea882c94b64c6a8b8b4ab290d15c091ea3ff89d629f9535190d590397a06d9138408871a4917ea8882d53555
|
||||
AUX 308-3.10-02-control.patch 1679 SHA256 1929822dfcee818bf94056995fafbb1e8bb67254b6421dbfb03ff53ef7a22b4c SHA512 8e53dd4d6dc9b78e43396973ee42235ff24488c115d6f958e8090fa5dda0b738ae24b9b9bd56b13ad6c65ce69e2f2099fe929982b8b2894cf296b5b17cd71ab4 WHIRLPOOL fb708d317b3d2b938af9571f7d95c89ddfa08cf5847439be053417612e8b74a5e69211eba33bb3979144d8b199c0ee9cf24a725f89b385ba8a1c72d4c0de8100
|
||||
AUX 308-3.10-03-inline.patch 463 SHA256 812963c925af015668180d4bf484fe39d6cf19cd5d3139ea71d895d244fa03cf SHA512 951e9f40a29404b985bcecb659f82bcc20fcdef02aadec76fef7ca5e459309244316799031ac78cabbc29747ee17b754d8aa476ce07f4dc6ed543064e4f79382 WHIRLPOOL 75b7ee8d5ff8f5a122775206e33bb9fa2dde296e663be755dff55d82e083a92d34325627eedaab2901d809a921198f7335c039fdaf29e5b0c2bcabdf24934a31
|
||||
AUX 308-3.11-00-readdir.patch 1063 SHA256 60a33321ef47dc99713677f639c49f46ff7a7e34aeb226eb8d234a4d2ab19ab2 SHA512 ab63a21bf40f5ac02dfafdf353e7b5a139e3e0f4e935b45562526479bf196547da10e2608a368f1cb62a743f969b38f5223679f967b23e13a555f8f38ec7842c WHIRLPOOL 3c9b75aa95656e550620a15cd760cb4b23b22d1c6b93e1b0be2d077d40bc506134fd53d4b5a6ce48ad2723339a97054b1b0d958d38662180ffa2c262f15e648b
|
||||
AUX 308-3.11-01-filldir.patch 1619 SHA256 5de58aa1dcd7b9566e32fd8eedac9bec3135a8da20e8bcc6fd3887bba92c4e5c SHA512 779d22bd1184507ec2a06466524b62c33e3bfea7c1c1a41a9a2c96797a6518f3a0159915ff75e9b18f8323e1007a09fc13f83da3ab9ee4b621544643028d0c49 WHIRLPOOL 3c72b7695cf593d757bb6a01ec94e66268aeb1dd8b52d7bb0fcbe7c537707240ac31a1095341887cbf344d77a150edba33cef946baca9b84999c63e6dc708ec6
|
||||
AUX 308-3.15-00-vsock.patch 1419 SHA256 7e12baa018536c6a2b4296d0167bd9fb459fcb3950857314c9491ebf06d572b2 SHA512 34fb51223102f96b9e94d2536d1397ce2d11cc5342d80f0a8797d3309326e2f9f2b3b675bf9180bb0eb915abcabf7fdab60619f5992956c4ee7bf9804a567626 WHIRLPOOL ae3ba7caf99468182363ed9928b1b6c8cbe0d771170b0061924cc55e395e1d2a017090f3aee62fa53cc6f07a17b2446805173494b4bd3283153285f1dcdce624
|
||||
AUX 308-3.18-00-version-redefined.patch 1096 SHA256 0a15dcc65fcd8b8e99866d1f4c7fdc2ab1d4d49982108b5838188bb8a44e8514 SHA512 1a63aca35e50feeb9950ca1867e6961eda62adb1e1d61a3c4ab9b86b6d07b0897caf89e1702ab49384e03aaa68368a9d84eb6aecd1516a81aa0ffa7741304d9b WHIRLPOOL d2ef4bd78a91c5093f57be487fa80fd22aee5f8d158e7227cb4fdb03fb549ba1d834a5683caf0131c11f76dd170531559a52f4a3f867370d69c9feeb17c885a3
|
||||
AUX 308-3.19-00-compat-namei.patch 866 SHA256 7c95f4993e086ede3d2cd47014475c78097476c8dc0b9366074ed3dcb82e3fd0 SHA512 592015525aad3c6cd5eb7b46d59a25b9cfd1fdc3782a4e4cdd555a3b2fbd2e7734d8168e04425418c8bd7075c33e20cfa1e36457450bea6ec8a819b511212d5a WHIRLPOOL b02e137b19f70d03c46607e8ffe45f22691e9b6d8391ca41478ff1b8a65dd7a0bd44b4b74cf4fae3876d8d27a274a875487b8db3cb809dd7522e0d417e1a02d2
|
||||
AUX 308-3.19-02-vmblock-path.patch 2943 SHA256 89467ebf6e8d938da494b32ff0bfd774d9dbc2107e5712e0d039f4c9d438fcff SHA512 356cdaba3ad69fcd3e517a3f6edc561684a8757fd8a1e5bf75ce990cdac89bef68d56adf5817cd8577875f182018f354f4aff4202684057a0ec7273137ee0ef6 WHIRLPOOL 753baa0392a7ee61614780f35df8164de5b865bfdbdf185b4c8b6e029d7c294c227ea14fc1231a4e0977638533920f58a0f50c5a3c28c987bb651802084de32b
|
||||
AUX 308-3.19-04-iovec.patch 2169 SHA256 335056000885960c24ef19216ff0d9a44994cd519b5d0d2fdb4c3ec973d609f8 SHA512 2768b54c1bdd5781b76b866a5055662b76d6d2e99ccbcc5fedcc2244ec369fb7f7ba502ea8554762eff6641ef6fdbeb53f95684a45485a9ccd32892e0a32722d WHIRLPOOL ff9a1e7d57a0e1422c8199a28269ac18cdc546ff901ddcea4e2f485044b066000dd76471d512ecc63b182d8aaebc74dfc9fdd016d4c0a7ed4cea7a60a2e15b63
|
||||
AUX 308-3.19-05-vmci_qpair.patch 1165 SHA256 6311745690e2c0a2d6c064dced0ee8518d95c4ade1aa76ff5300ccd6e653aaf9 SHA512 d8a719e314dbd20c26f448031e1bfc536dcaa1d707c05efe90af3ce0e2c6742e65ff83d1196ec5f33a8fed61a7de9f5c9948e2813cba80c074eaa0f1df5d7b30 WHIRLPOOL d410b9c186a82b6583fcedc3caf00163e1804202e5a2203d4eb56238bc134850d19bad1263165750b3c5ef101cb190cb6b4d7c42e81f50cc28136502e8170963
|
||||
AUX 308-3.19-06-vsock.patch 706 SHA256 d2c7abdc2b695f091ed17ffc89b4cad44e635b81dc4f70cd06b2693bf29ae2c3 SHA512 50f32d161f2a08b9ae894d2386bad7e0e9da19db552a8367cf5191465c94bf664e90d5c73dd1e69b30b6fc6f98ffed0df404723e3548a648525ded80bea15464 WHIRLPOOL 50689f8709f33e9c950bbe11c2b499abb4ec6d3025ad3bdad98c9ab383562206e23dde350a9b345c4cff97381dcc88ffdbb9df4ba4af8d28ac921ec93927ab74
|
||||
AUX 308-3.19-07-vsock.patch 675 SHA256 35ae4e7c2837549ea0a7c05ddeb06267e94e1828176a535e6d97d7b25c1261fa SHA512 552f8564820941d347d1cb8cc3203642e6d8eef40cd1855de3c771be481426df923d1d17be4506836a37bad8f728c617d9c194c6e832f4e6db7cc39eaa1153dc WHIRLPOOL 10732f5c4c2d62ebbdcd338d5959dab081c03fc232dc678a9e210693cd5a5994f07ae7b30d50b2bddadac175afd2e9fef3e61958a5bd9b9e7ef419ccfb3a6681
|
||||
AUX 308-4.01-00-vsock.patch 3262 SHA256 72fa0dde43386260208797bac7735bc87faf9010136e66d772b1c58e58b96340 SHA512 9702ea2db83bb5412617fc00b2113a0c7188785db040de6a5eeb60a015f9a1156838767ac70f1ef9b394b808dd267543fd05af34ab428ccab35b0c6bcfc49f62 WHIRLPOOL 161910c8d19c632b163be0e7e16020e971beb6597e100edf4e4f1ee1f3847799b17cb480ed99247f57e9927472e24e6b4557530564a9645f297124fb801901a4
|
||||
AUX 308-4.02-00-nd_set_link.patch 1841 SHA256 61c35e4a5477b29b5fc65f04fca4a60ef45299e3a5153084742a5e3b74804717 SHA512 720b19747edef22bfb48d94d11f1bd0c67c8f18e08e4ff284b5d9b13c310e4b1aaa7acbdba55bdc3386e625562ba91253e9f92006f5e6ef5231f84b91e47ad60 WHIRLPOOL ff7cbbc7de21c1e35c783c79115da3d400120756abb4cb5b7d978714fd27bf094899650250167472357bfccc369cc5c617addbb3bec6eafd8066c77fffa17078
|
||||
AUX 308-4.02-01-sk_alloc.patch 1033 SHA256 426c8087f648518b9e07d4a6cb94c71cc4bb4d7169ffc44f208145ff29900488 SHA512 e2e2523a78cefb648cbfe99302043e57e7ccd9b2bcac45f2feb039278ddf30aec1ad3c9c9ff5f0cbed993c3b1c557bf6f1116619b00438a9ca2c04d7db8432e5 WHIRLPOOL 9113899ade845cd475c13b47574f17fa07cdc698737492d3138bcb96bc5ee4e437fe0f1eb1f367689b0c49efefddbe71b902a056e20175f24a7cd78f134c7e09
|
||||
AUX 308-4.03-00-vmci-misc_deregister.patch 829 SHA256 2b5def2395c7120e0c626a082b6a99381c88e4518c871ff7e6cf2950e4d5b206 SHA512 ad9eed0b7c76fc210af72a438c4f6f882c1e3039151bf9d166a6f62ac64045b7f0cea7281c02fb1b456233bba9bcccd64587974108d0a9a793ba18ec92e1bf54 WHIRLPOOL c25648d92b0285ea395a6e3a0f365199561004ffc610f4462c62280d5befd9e93eb723658bd7fe4e8a505fb0b019e170472631ff6aee8c473aeda9446a7f1f8e
|
||||
AUX 308-4.03-00-vmmon-misc_deregister.patch 564 SHA256 68c6ebe4e41866b9d83163fbf1b2f370411438fcb26d74585b58e8799b312092 SHA512 566b90d05185371c07574df8a84633047ed559e2677d7689dab64b14cde417e872a4c32e8ca2c6434d66cf25fac5c6e51a7e735acc3b51c15201f07bf118ed9a WHIRLPOOL a7da87d06d9077cc73b43fe44a3123113b9286a4144e014a473b0921c00e7062c10c633cd6a6976ac3fedf5cfd85e777f2018a1378a0f54bef1354cc6b19052c
|
||||
AUX 308-4.05-00-vmblock-follow_link.patch 1764 SHA256 0ae11afc27a80a7ca5be2eca38e4f1c146c6237dfa7df405a35a3acce9b871c9 SHA512 9957ec445ce4691a772f2a7cf1f2eb7ff3b4b215fb47b93e1eef3ba222e4137e65f968335a46ce2a429698b7c10bece7455330beb895455a9e6a3efbf63c27f9 WHIRLPOOL 900f6b5488bb2875c9b1bb85d4013ec1b70cfc189c7c5ce76a0eff82c7ef2dfb2c56a333552fccbcfa84f575b2d3f99c1ce0c295ab940575eb10116a6951e0b7
|
||||
AUX 308-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0
|
||||
AUX 308-hardened.patch 2946 SHA256 c13903aa4167bb0c97642787dec5ad4ca69a2ab4b3f26c050562531d71016c1c SHA512 baacfbae28ea36f475c0e8b6c373d4dda8fdc1ef0a97a3cfe8b31204a7deb613086338cddc942d1b92e5775668d28366392033c41cdd79a96a54ce7ca284bae3 WHIRLPOOL 4926de36d53646f36731cbde677f2fdb0f25fb6705be89b7530bad37f3b61815ff1a1b25972de41eeeae671afa36e05df5115be6661efc8cc1c58a36a7648b77
|
||||
AUX 308-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338
|
||||
AUX 308-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6
|
||||
AUX 308-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a
|
||||
AUX hardened.patch 5052 SHA256 191cf892bfb9a6288d110191de824bf6243bc6f48f1e62ab49f3582c7ade5af6 SHA512 52dcca8d9f689f0a0d0ca369c0c7ce0d177de3529d2d1325330eb5a9e940a55e8930bbbe7374793bdf29cbdefac9727e9eb21d00f81ad4f5eddba3a51597b7a5 WHIRLPOOL 539731bc36f3e292403f55d74c353deeb28baa312f726b36d2a6060adf3483dfa2ed011baf93eff941fa754ef62f4d6da86868c40550ee2292c4a711e061bde0
|
||||
EBUILD vmware-modules-271.3-r1.ebuild 3734 SHA256 cf23ee820ee71b6d703759fa79a010b4a64cb5f73d9f0f54d1d2f12a61b26f02 SHA512 880c8ac94c639116219300a71ab7abfe1ab38223b52cc25edb2594ae0e394c54709262b121358b7e6eeb70b38335a9f22247c616149b6f94e83b700d28b64b9c WHIRLPOOL 54dea8588a07cf46f8028f9f9f860790e7b76a08638ca82dcaccac5bbb7cb1abd8daeab503263502a56c5d4c1e6b1ced0eaee26dc087cd6c890c133a6c9262f5
|
||||
EBUILD vmware-modules-279.6.ebuild 4077 SHA256 e98e005d42845f9cd5e8dfe0a27a52ddd6d8d15ca4d09f460a3be656720c8985 SHA512 ad22fc89112c0be7b9499bab8776850eb67cc77b65f43c73fbc6388b77b416b6ba0b29b4b8d26d2733465b3a941d5909673ba3f848f4218d33c09208aeeef13b WHIRLPOOL ca8177e3ccc2da2eb64a428016c9ad77a502cfb4db1770da084194c37e1132a576524777f3d42d0e57194b74927c646fcebcb442eee39bf3eb25396e132d1194
|
||||
EBUILD vmware-modules-304.2.ebuild 4018 SHA256 f7f6fbdace6cc6e0f67069f62d511cceeea5343686052c9f54428ccd30443e01 SHA512 cded892fa639c8fa43b152d47cf3e9331b5bc132d8b4c6db3d8c29267f7e9d1e5d7988c7297b6dbb281df3f0d4a44dd879badddfb148cc134e7a73ec413125e6 WHIRLPOOL bb9c433e93c85185268c720959f3f0155972e005ec97cdead0c0fd5743fe197283f65c6db843b5b4cbf00f4da39d87085675383b6b6a7b4ae2d623047cac2026
|
||||
EBUILD vmware-modules-304.3-r1.ebuild 4166 SHA256 55c6bc6bff52f02b605ed006117036c11d71b78dacf156ce758f424e23e6b1eb SHA512 f11c876d5e67a56a3e614f06d70842e909063901e828a10e5299cf751364024893652e1bd5fa611385173e9fc9506b3cb0d4c7d7e1c83b0feae2148af17fbcbb WHIRLPOOL b0005ded232ddd67794235557aa0b270b0373ffacdefe1b78a1c830b466f277f2dd98402bc8c877431df76f958aa47111039bf14c309f6fa40949f9250d57dd9
|
||||
EBUILD vmware-modules-308.1.0.ebuild 4840 SHA256 4218d2c265fa12bdce5717a9df1e93881b39579c9f49e7d95bf5931ce5b672de SHA512 c4331f61587add5724a85ec26533fd9b1aea23353a41e8f5af2b7049e543d16e7b79144b8c2af13f6a87cb6a3eaef6dd6625df45c287d26814075a77264aa02f WHIRLPOOL 6a8e0fe0f03295379b554e7fb0f1a69e7c5da45b7442f97ac4ea279a2101cee64c0cdad30f4b1ed64f93a39e00ad9d9ae9228b525632c7e7c8120ec1c3398c03
|
||||
MISC ChangeLog 8938 SHA256 9638cdb6f0e956bf309e5d69294ef551ee99ce6b609343588dd6846a611bb073 SHA512 8647d9130e503ee399b9799de4492022542c04fb0ce78b70f9e95428762de42b65db85d09052983bd2791a2a0eb9b09a98b21753e655fba73fe2a4fcf22533f4 WHIRLPOOL 3423d202a2927c84dcfd685cb4a4028abd24f442a080715bc4c52e707c1a5d5ea0f6cef31b527f6ab887da760351f8052b16a27cbe167bd7df6700c907ff1580
|
||||
MISC ChangeLog-2015 27252 SHA256 2c987c712dcc1969d5edb0a1f570c73f993f06066e2b57fb6c97d5c11c252ad8 SHA512 c275541dec97b6f348d1bcaa29f95e8e5fb7bea0fad6aa3ff76ba679821bf4517d01173cf5b77cdb1c7c947c1404face3bcf948c1c9befed3a175aff6494eaec WHIRLPOOL 91721ae435f6820e9c71166b9e301c33b591d62bb27a35111c383a0ba2128a1767d9b3b1d8f80604f349f6efcad48fadbc0646b0f9176f96f420177149298f0a
|
||||
MISC metadata.xml 727 SHA256 fe14276628a6256ab3c4bc6735826869bae771b94d9a9686d9c5059392df5474 SHA512 e9b59883bb997e0e91b50b1ea8c57ad3465ed1f52cba14208bbbda1ad8d4500cba965592f2721763e24bc8a5ffb0706ce43910a92259c69eef3aaacc8c5aca8d WHIRLPOOL 2c9bf3f08c73ac9fa12e8f402a235cd8f437bc80ac5c3ffb315b63299214aa9dd8a3d78f5725a0db634a8a8d62c0e34162ed059a726c97065495fcd2df52f190
|
@ -1,41 +0,0 @@
|
||||
correctly initializes UID/GID values
|
||||
gets UID correctly in light of user namespace API
|
||||
origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
|
||||
|
||||
--- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100
|
||||
+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100
|
||||
@@ -135,7 +135,8 @@
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
- inode->i_uid = inode->i_gid = 0;
|
||||
+ inode->i_uid = GLOBAL_ROOT_UID;
|
||||
+ inode->i_gid = GLOBAL_ROOT_GID;
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
||||
|
||||
--- a/vmci-only/linux/driver.c 2013-03-20 17:57:35.000000000 +0100
|
||||
+++ b/vmci-only/linux/driver.c 2013-03-20 17:57:43.000000000 +0100
|
||||
@@ -740,7 +740,7 @@
|
||||
goto init_release;
|
||||
}
|
||||
|
||||
- user = current_uid();
|
||||
+ user = from_kuid(current_user_ns(), current_uid());
|
||||
retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
|
||||
0 /* Unused */, vmciLinux->userVersion,
|
||||
&user, &vmciLinux->context);
|
||||
|
||||
--- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100
|
||||
+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100
|
||||
@@ -2866,7 +2866,7 @@
|
||||
vsk->connectTimeout = psk->connectTimeout;
|
||||
} else {
|
||||
vsk->trusted = capable(CAP_NET_ADMIN);
|
||||
- vsk->owner = current_uid();
|
||||
+ vsk->owner = from_kuid(current_user_ns(), current_uid());
|
||||
vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
|
||||
vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
|
||||
vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
|
||||
|
@ -1,28 +0,0 @@
|
||||
uses the new proc_create function to create /proc entries
|
||||
instead of create_proc_entry which was deprecated:
|
||||
https://lkml.org/lkml/2013/4/11/215
|
||||
|
||||
--- a/vmblock-only/linux/control.c 2013-05-21 19:21:19.165750556 +0200
|
||||
+++ b/vmblock-only/linux/control.c 2013-05-21 19:22:18.363747723 +0200
|
||||
@@ -208,9 +208,10 @@
|
||||
VMBlockSetProcEntryOwner(controlProcMountpoint);
|
||||
|
||||
/* Create /proc/fs/vmblock/dev */
|
||||
- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
|
||||
- VMBLOCK_CONTROL_MODE,
|
||||
- controlProcDirEntry);
|
||||
+ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
|
||||
+ VMBLOCK_CONTROL_MODE,
|
||||
+ controlProcDirEntry,
|
||||
+ &ControlFileOps);
|
||||
if (!controlProcEntry) {
|
||||
Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
|
||||
remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
|
||||
@@ -218,7 +219,6 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- controlProcEntry->proc_fops = &ControlFileOps;
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,24 +0,0 @@
|
||||
uses __getname/__putname instead of getname. getname was deprecated
|
||||
the new code calls __getname (which really is a specific type of
|
||||
memory allocator, then copies the string safely from user space
|
||||
into the allocated buffer
|
||||
|
||||
--- vmblock-only/linux/control.c 2014-03-15 15:28:40.871076076 +0100
|
||||
+++ vmblock-only/linux/control.c.new 2014-03-15 15:29:15.079074439 +0100
|
||||
@@ -279,11 +279,17 @@
|
||||
int i;
|
||||
int retval;
|
||||
|
||||
- name = getname(buf);
|
||||
+ name = __getname();
|
||||
if (IS_ERR(name)) {
|
||||
return PTR_ERR(name);
|
||||
}
|
||||
|
||||
+ i = strncpy_from_user(name, buf, PATH_MAX);
|
||||
+ if (i < 0 || i == PATH_MAX) {
|
||||
+ __putname(name);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
|
@ -1,89 +0,0 @@
|
||||
undefines DEPRECATED which is unfortunately also defined (as a string)
|
||||
in <linux/printk.h>. Realistically, this macro isn't even used, so this
|
||||
doesn't matter much. But it hushes some very loud warnings.
|
||||
|
||||
diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
|
||||
--- vmblock-only/shared/vm_assert.h 2014-10-09 21:50:54.221159088 -0400
|
||||
+++ vmblock-only.new/shared/vm_assert.h 2014-10-09 21:53:04.612166156 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
|
||||
--- vmci-only/shared/vm_assert.h 2014-10-09 21:50:54.222159088 -0400
|
||||
+++ vmci-only.new/shared/vm_assert.h 2014-10-09 21:52:52.348165492 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
|
||||
--- vmmon-only/include/vm_assert.h 2014-10-09 21:50:54.222159088 -0400
|
||||
+++ vmmon-only.new/include/vm_assert.h 2014-10-09 21:52:36.877164653 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
|
||||
--- vmnet-only/vm_assert.h 2014-10-09 21:50:54.222159088 -0400
|
||||
+++ vmnet-only.new/vm_assert.h 2014-10-09 21:52:57.736165784 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
|
||||
--- vsock-only/shared/vm_assert.h 2014-10-09 21:50:54.222159088 -0400
|
||||
+++ vsock-only.new/shared/vm_assert.h 2014-10-09 21:52:45.352165112 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
@ -1,115 +0,0 @@
|
||||
hushes warnings about unused typedefs which are part of the "static assert"
|
||||
technique that the code uses. We simply add an "__attribute__((unused)) to each of them
|
||||
|
||||
--- vmblock-only/shared/vm_assert.h 2014-10-07 22:43:39.519402467 -0400
|
||||
+++ vmblock-only/shared/vm_assert.h 2014-10-07 22:48:01.346409957 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vmci-only/shared/vm_assert.h 2014-10-07 22:43:39.519402467 -0400
|
||||
+++ vmci-only/shared/vm_assert.h 2014-10-07 22:47:51.829409685 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vmmon-only/include/vm_assert.h 2014-10-07 22:43:39.520402467 -0400
|
||||
+++ vmmon-only/include/vm_assert.h 2014-10-07 22:47:39.246409325 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vmnet-only/vm_assert.h 2014-10-07 22:43:39.520402467 -0400
|
||||
+++ vmnet-only/vm_assert.h 2014-10-07 22:47:55.804409799 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vsock-only/shared/vm_assert.h 2014-10-07 22:47:11.595408534 -0400
|
||||
+++ vsock-only/shared/vm_assert.h 2014-10-07 22:45:55.715406363 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vsock-only/shared/vm_atomic.h 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only/shared/vm_atomic.h 2014-10-07 22:53:06.024418673 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
\
|
||||
--- vmci-only/shared/vm_atomic.h 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vmci-only/shared/vm_atomic.h 2014-10-07 22:53:24.873419213 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
\
|
||||
|
||||
--- vmblock-only/shared/vm_atomic.h 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vmblock-only/shared/vm_atomic.h 2014-10-07 22:53:31.073419390 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
|
||||
--- vmnet-only/vm_atomic.h 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only/vm_atomic.h 2014-10-07 23:04:50.637438831 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
\
|
||||
|
||||
--- vmmon-only/include/vm_atomic.h 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmmon-only/include/vm_atomic.h 2014-10-07 23:04:50.637438831 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
\
|
@ -1,34 +0,0 @@
|
||||
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
|
||||
as the second argument, not a nameidata pointer! see fs/namei.c
|
||||
for implementation
|
||||
|
||||
diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only/linux/dentry.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2014-04-26 10:58:03.062635343 -0400
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "block.h"
|
||||
|
||||
|
||||
-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
|
||||
|
||||
struct dentry_operations LinkDentryOps = {
|
||||
.d_revalidate = DentryOpRevalidate,
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
static int
|
||||
DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
|
||||
- struct nameidata *nd) // IN: lookup flags & intent
|
||||
+ unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct nameidata actualNd;
|
||||
@@ -101,7 +101,7 @@
|
||||
if (actualDentry &&
|
||||
actualDentry->d_op &&
|
||||
actualDentry->d_op->d_revalidate) {
|
||||
- return actualDentry->d_op->d_revalidate(actualDentry, nd);
|
||||
+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
|
||||
}
|
||||
|
||||
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
|
@ -1,36 +0,0 @@
|
||||
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
|
||||
as the second argument, not a nameidata pointer! see fs/namei.c
|
||||
for implementation. Also changing vfs_follow_link to nd_set_link.
|
||||
See: https://lkml.org/lkml/2013/9/9/236
|
||||
|
||||
diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c
|
||||
--- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -0400
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
/* Inode operations */
|
||||
static struct dentry *InodeOpLookup(struct inode *dir,
|
||||
- struct dentry *dentry, struct nameidata *nd);
|
||||
+ struct dentry *dentry, unsigned int flags);
|
||||
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
@@ -75,7 +75,7 @@
|
||||
static struct dentry *
|
||||
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
|
||||
struct dentry *dentry, // IN: dentry to lookup
|
||||
- struct nameidata *nd) // IN: lookup intent and information
|
||||
+ unsigned int flags) // IN: lookup intent and information
|
||||
{
|
||||
char *filename;
|
||||
struct inode *inode;
|
||||
@@ -221,7 +221,8 @@
|
||||
goto out;
|
||||
}
|
||||
|
||||
- ret = vfs_follow_link(nd, iinfo->name);
|
||||
+ nd_set_link(nd, iinfo->name);
|
||||
+ ret = 0;
|
||||
|
||||
out:
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
@ -1,26 +0,0 @@
|
||||
fixes a bug where sizeof was being used on a pointer when they clearly
|
||||
meant to use the size of the array referred to. Fortunately, the amount is
|
||||
always smaller than the actual size of the buffer, so likely not a security issue
|
||||
(and was fixed in vmware-workstaiton 10
|
||||
|
||||
diff -rupN vmnet-only/hub.c vmnet-only.new/hub.c
|
||||
--- vmnet-only/hub.c 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only.new/hub.c 2014-10-07 18:45:34.403918680 -0400
|
||||
@@ -129,7 +129,7 @@ VNetHubFindHubByID(uint8 idNum[VNET_PVN_
|
||||
{
|
||||
VNetHub *currHub = vnetHub;
|
||||
while (currHub && (currHub->hubType != HUB_TYPE_PVN ||
|
||||
- memcmp(idNum, currHub->id.pvnID, sizeof idNum))) {
|
||||
+ memcmp(idNum, currHub->id.pvnID, VNET_PVN_ID_LEN))) {
|
||||
currHub = currHub->next;
|
||||
}
|
||||
return currHub;
|
||||
@@ -312,7 +312,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE
|
||||
|
||||
if (allocPvn) {
|
||||
hub->hubType = HUB_TYPE_PVN;
|
||||
- memcpy(hub->id.pvnID, id, sizeof id);
|
||||
+ memcpy(hub->id.pvnID, id, VNET_PVN_ID_LEN);
|
||||
++pvnInstance;
|
||||
} else {
|
||||
hub->hubType = HUB_TYPE_VNET;
|
@ -1,809 +0,0 @@
|
||||
--- a/vmnet-only/bridge.c
|
||||
+++ b/vmnet-only/bridge.c
|
||||
@@ -105,8 +105,6 @@ static Bool VNetBridgeCycleDetect(VNetJack *this, int generation);
|
||||
static Bool VNetBridgeIsDeviceWireless(struct net_device *dev);
|
||||
static void VNetBridgePortsChanged(VNetJack *this);
|
||||
static int VNetBridgeIsBridged(VNetJack *this);
|
||||
-static int VNetBridgeProcRead(char *page, char **start, off_t off,
|
||||
- int count, int *eof, void *data);
|
||||
static void VNetBridgeComputeHeaderPosIPv6(struct sk_buff *skb);
|
||||
static PacketStatus VNetCallSMACFunc(struct SMACState *state,
|
||||
struct sk_buff **skb, void *startOfData,
|
||||
@@ -225,6 +223,53 @@ VNetBridgeDevCompatible(VNetBridge *bridge, // IN: Bridge
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
+ * VNetBridgeProcShow --
|
||||
+ *
|
||||
+ * Callback for read operation on this bridge entry in vnets proc fs.
|
||||
+ *
|
||||
+ * Results:
|
||||
+ * Length of read operation.
|
||||
+ *
|
||||
+ * Side effects:
|
||||
+ * None.
|
||||
+ *
|
||||
+ *----------------------------------------------------------------------
|
||||
+ */
|
||||
+
|
||||
+int
|
||||
+VNetBridgeProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
|
||||
+ void *data) // IN: client data - pointer to bridge
|
||||
+{
|
||||
+ VNetBridge *bridge = (VNetBridge*)data;
|
||||
+
|
||||
+ if (!bridge) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ VNetPrintPort(&bridge->port, seqf);
|
||||
+
|
||||
+ seq_printf(seqf, "dev %s ", bridge->name);
|
||||
+
|
||||
+ seq_printf(seqf, "\n");
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int proc_bridge_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return single_open(file, VNetBridgeProcShow, PDE_DATA(inode));
|
||||
+}
|
||||
+
|
||||
+static const struct file_operations proc_bridge_fops = {
|
||||
+ .open = proc_bridge_open,
|
||||
+ .read = seq_read,
|
||||
+ .llseek = seq_lseek,
|
||||
+ .release = seq_release,
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ *----------------------------------------------------------------------
|
||||
+ *
|
||||
* VNetBridge_Create --
|
||||
*
|
||||
* Creates a bridge. Allocates struct, allocates internal device,
|
||||
@@ -319,17 +364,14 @@ VNetBridge_Create(const char *devName, // IN: name of device (e.g., "eth0")
|
||||
* Make proc entry for this jack.
|
||||
*/
|
||||
|
||||
- retval = VNetProc_MakeEntry(bridge->port.jack.name, S_IFREG,
|
||||
- &bridge->port.jack.procEntry);
|
||||
+ retval = VNetProc_MakeEntryOps(bridge->port.jack.name, S_IFREG,
|
||||
+ &bridge->port.jack.procEntry, &proc_bridge_fops, bridge);
|
||||
if (retval) {
|
||||
if (retval == -ENXIO) {
|
||||
bridge->port.jack.procEntry = NULL;
|
||||
} else {
|
||||
goto out;
|
||||
}
|
||||
- } else {
|
||||
- bridge->port.jack.procEntry->read_proc = VNetBridgeProcRead;
|
||||
- bridge->port.jack.procEntry->data = bridge;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1719,45 +1761,3 @@ VNetBridgeReceiveFromDev(struct sk_buff *skb, // IN: packet to receive
|
||||
return 0;
|
||||
}
|
||||
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------
|
||||
- *
|
||||
- * VNetBridgeProcRead --
|
||||
- *
|
||||
- * Callback for read operation on this bridge entry in vnets proc fs.
|
||||
- *
|
||||
- * Results:
|
||||
- * Length of read operation.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * None.
|
||||
- *
|
||||
- *----------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-int
|
||||
-VNetBridgeProcRead(char *page, // IN/OUT: buffer to write into
|
||||
- char **start, // OUT: 0 if file < 4k, else offset into page
|
||||
- off_t off, // IN: (unused) offset of read into the file
|
||||
- int count, // IN: (unused) maximum number of bytes to read
|
||||
- int *eof, // OUT: TRUE if there is nothing more to read
|
||||
- void *data) // IN: client data - pointer to bridge
|
||||
-{
|
||||
- VNetBridge *bridge = (VNetBridge*)data;
|
||||
- int len = 0;
|
||||
-
|
||||
- if (!bridge) {
|
||||
- return len;
|
||||
- }
|
||||
-
|
||||
- len += VNetPrintPort(&bridge->port, page+len);
|
||||
-
|
||||
- len += sprintf(page+len, "dev %s ", bridge->name);
|
||||
-
|
||||
- len += sprintf(page+len, "\n");
|
||||
-
|
||||
- *start = 0;
|
||||
- *eof = 1;
|
||||
- return len;
|
||||
-}
|
||||
--- a/vmnet-only/driver.c
|
||||
+++ b/vmnet-only/driver.c
|
||||
@@ -1785,21 +1785,17 @@ VNetSetMACUnique(VNetPort *port, // IN:
|
||||
*----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
-int
|
||||
+void
|
||||
VNetPrintJack(const VNetJack *jack, // IN: jack
|
||||
- char *buf) // OUT: info about jack
|
||||
+ struct seq_file *seqf) // OUT: info about jack
|
||||
{
|
||||
- int len = 0;
|
||||
-
|
||||
read_lock(&vnetPeerLock);
|
||||
if (!jack->peer) {
|
||||
- len += sprintf(buf+len, "connected not ");
|
||||
+ seq_printf(seqf, "connected not ");
|
||||
} else {
|
||||
- len += sprintf(buf+len, "connected %s ", jack->peer->name);
|
||||
+ seq_printf(seqf, "connected %s ", jack->peer->name);
|
||||
}
|
||||
read_unlock(&vnetPeerLock);
|
||||
-
|
||||
- return len;
|
||||
}
|
||||
|
||||
|
||||
@@ -1819,52 +1815,48 @@ VNetPrintJack(const VNetJack *jack, // IN: jack
|
||||
*----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
-int
|
||||
+void
|
||||
VNetPrintPort(const VNetPort *port, // IN: port
|
||||
- char *buf) // OUT: info about port
|
||||
+ struct seq_file *seqf) // OUT: info about port
|
||||
{
|
||||
- int len = 0;
|
||||
+ VNetPrintJack(&port->jack, seqf);
|
||||
|
||||
- len += VNetPrintJack(&port->jack, buf+len);
|
||||
-
|
||||
- len += sprintf(buf+len, "mac %02x:%02x:%02x:%02x:%02x:%02x ",
|
||||
+ seq_printf(seqf, "mac %02x:%02x:%02x:%02x:%02x:%02x ",
|
||||
port->paddr[0], port->paddr[1], port->paddr[2],
|
||||
port->paddr[3], port->paddr[4], port->paddr[5]);
|
||||
|
||||
- len += sprintf(buf+len, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ",
|
||||
+ seq_printf(seqf, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ",
|
||||
port->ladrf[0], port->ladrf[1], port->ladrf[2],
|
||||
port->ladrf[3], port->ladrf[4], port->ladrf[5],
|
||||
port->ladrf[6], port->ladrf[7]);
|
||||
|
||||
- len += sprintf(buf+len, "flags IFF_RUNNING");
|
||||
+ seq_printf(seqf, "flags IFF_RUNNING");
|
||||
|
||||
if (port->flags & IFF_UP) {
|
||||
- len += sprintf(buf+len, ",IFF_UP");
|
||||
+ seq_printf(seqf, ",IFF_UP");
|
||||
}
|
||||
|
||||
if (port->flags & IFF_BROADCAST) {
|
||||
- len += sprintf(buf+len, ",IFF_BROADCAST");
|
||||
+ seq_printf(seqf, ",IFF_BROADCAST");
|
||||
}
|
||||
|
||||
if (port->flags & IFF_DEBUG) {
|
||||
- len += sprintf(buf+len, ",IFF_DEBUG");
|
||||
+ seq_printf(seqf, ",IFF_DEBUG");
|
||||
}
|
||||
|
||||
if (port->flags & IFF_PROMISC) {
|
||||
- len += sprintf(buf+len, ",IFF_PROMISC");
|
||||
+ seq_printf(seqf, ",IFF_PROMISC");
|
||||
}
|
||||
|
||||
if (port->flags & IFF_MULTICAST) {
|
||||
- len += sprintf(buf+len, ",IFF_MULTICAST");
|
||||
+ seq_printf(seqf, ",IFF_MULTICAST");
|
||||
}
|
||||
|
||||
if (port->flags & IFF_ALLMULTI) {
|
||||
- len += sprintf(buf+len, ",IFF_ALLMULTI");
|
||||
+ seq_printf(seqf, ",IFF_ALLMULTI");
|
||||
}
|
||||
|
||||
- len += sprintf(buf+len, " ");
|
||||
-
|
||||
- return len;
|
||||
+ seq_printf(seqf, " ");
|
||||
}
|
||||
|
||||
|
||||
--- a/vmnet-only/hub.c
|
||||
+++ b/vmnet-only/hub.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <linux/sched.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/poll.h>
|
||||
+#include <linux/seq_file.h>
|
||||
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/etherdevice.h>
|
||||
@@ -71,8 +72,6 @@ static void VNetHubReceive(VNetJack *this, struct sk_buff *skb);
|
||||
static Bool VNetHubCycleDetect(VNetJack *this, int generation);
|
||||
static void VNetHubPortsChanged(VNetJack *this);
|
||||
static int VNetHubIsBridged(VNetJack *this);
|
||||
-static int VNetHubProcRead(char *page, char **start, off_t off,
|
||||
- int count, int *eof, void *data);
|
||||
|
||||
static VNetHub *vnetHub;
|
||||
static DEFINE_SPINLOCK(vnetHubLock);
|
||||
@@ -241,6 +240,53 @@ VNetHub_AllocPvn(uint8 id[]) // IN: the PVN ID to alloc on
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
+ * VNetHubProcShow --
|
||||
+ *
|
||||
+ * Callback for read operation on hub entry in vnets proc fs.
|
||||
+ *
|
||||
+ * Results:
|
||||
+ * Length of read operation.
|
||||
+ *
|
||||
+ * Side effects:
|
||||
+ * None.
|
||||
+ *
|
||||
+ *----------------------------------------------------------------------
|
||||
+ */
|
||||
+
|
||||
+int
|
||||
+VNetHubProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
|
||||
+ void *data) // IN: client data - not used
|
||||
+{
|
||||
+ VNetJack *jack = (VNetJack*)data;
|
||||
+ VNetHub *hub;
|
||||
+
|
||||
+ if (!jack || !jack->private) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ hub = (VNetHub*)jack->private;
|
||||
+
|
||||
+ VNetPrintJack(jack, seqf);
|
||||
+
|
||||
+ seq_printf(seqf, "tx %u ", hub->stats[jack->index].tx);
|
||||
+ seq_printf(seqf, "\n");
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int proc_hub_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return single_open(file, VNetHubProcShow, PDE_DATA(inode));
|
||||
+}
|
||||
+
|
||||
+static const struct file_operations proc_hub_fops = {
|
||||
+ .open = proc_hub_open,
|
||||
+ .read = seq_read,
|
||||
+ .llseek = seq_lseek,
|
||||
+ .release = seq_release,
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ *----------------------------------------------------------------------
|
||||
+ *
|
||||
* VNetHubAlloc --
|
||||
*
|
||||
* Allocate a jack on this hub.
|
||||
@@ -354,7 +400,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet
|
||||
* Make proc entry for this jack.
|
||||
*/
|
||||
|
||||
- retval = VNetProc_MakeEntry(jack->name, S_IFREG, &jack->procEntry);
|
||||
+ retval = VNetProc_MakeEntryOps(jack->name, S_IFREG, &jack->procEntry, &proc_hub_fops, jack);
|
||||
if (retval) {
|
||||
if (retval == -ENXIO) {
|
||||
jack->procEntry = NULL;
|
||||
@@ -362,9 +408,6 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet
|
||||
hub->used[i] = FALSE;
|
||||
return NULL;
|
||||
}
|
||||
- } else {
|
||||
- jack->procEntry->read_proc = VNetHubProcRead;
|
||||
- jack->procEntry->data = jack;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -686,46 +729,3 @@ VNetHubIsBridged(VNetJack *this)
|
||||
}
|
||||
|
||||
|
||||
-/*
|
||||
- *----------------------------------------------------------------------
|
||||
- *
|
||||
- * VNetHubProcRead --
|
||||
- *
|
||||
- * Callback for read operation on hub entry in vnets proc fs.
|
||||
- *
|
||||
- * Results:
|
||||
- * Length of read operation.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * None.
|
||||
- *
|
||||
- *----------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-int
|
||||
-VNetHubProcRead(char *page, // IN/OUT: buffer to write into
|
||||
- char **start, // OUT: 0 if file < 4k, else offset into page
|
||||
- off_t off, // IN: offset of read into the file
|
||||
- int count, // IN: maximum number of bytes to read
|
||||
- int *eof, // OUT: TRUE if there is nothing more to read
|
||||
- void *data) // IN: client data - not used
|
||||
-{
|
||||
- VNetJack *jack = (VNetJack*)data;
|
||||
- VNetHub *hub;
|
||||
- int len = 0;
|
||||
-
|
||||
- if (!jack || !jack->private) {
|
||||
- return len;
|
||||
- }
|
||||
- hub = (VNetHub*)jack->private;
|
||||
-
|
||||
- len += VNetPrintJack(jack, page+len);
|
||||
-
|
||||
- len += sprintf(page+len, "tx %u ", hub->stats[jack->index].tx);
|
||||
-
|
||||
- len += sprintf(page+len, "\n");
|
||||
-
|
||||
- *start = 0;
|
||||
- *eof = 1;
|
||||
- return len;
|
||||
-}
|
||||
--- a/vmnet-only/netif.c
|
||||
+++ b/vmnet-only/netif.c
|
||||
@@ -62,8 +62,6 @@ static int VNetNetifStartXmit(struct sk_buff *skb, struct net_device *dev);
|
||||
static struct net_device_stats *VNetNetifGetStats(struct net_device *dev);
|
||||
static int VNetNetifSetMAC(struct net_device *dev, void *addr);
|
||||
static void VNetNetifSetMulticast(struct net_device *dev);
|
||||
-static int VNetNetIfProcRead(char *page, char **start, off_t off,
|
||||
- int count, int *eof, void *data);
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
@@ -116,6 +114,53 @@ VNetNetIfSetup(struct net_device *dev) // IN:
|
||||
|
||||
}
|
||||
|
||||
+/*
|
||||
+ *----------------------------------------------------------------------
|
||||
+ *
|
||||
+ * VNetNetIfProcShow --
|
||||
+ *
|
||||
+ * Callback for read operation on this netif entry in vnets proc fs.
|
||||
+ *
|
||||
+ * Results:
|
||||
+ * Length of read operation.
|
||||
+ *
|
||||
+ * Side effects:
|
||||
+ * None.
|
||||
+ *
|
||||
+ *----------------------------------------------------------------------
|
||||
+ */
|
||||
+
|
||||
+int
|
||||
+VNetNetIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
|
||||
+ void *data) // IN: client data
|
||||
+{
|
||||
+ VNetNetIF *netIf = data;
|
||||
+
|
||||
+ if (!netIf) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ VNetPrintPort(&netIf->port, seqf);
|
||||
+
|
||||
+ seq_printf(seqf, "dev %s ", netIf->dev->name);
|
||||
+
|
||||
+ seq_printf(seqf, "\n");
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int proc_netif_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return single_open(file, VNetNetIfProcShow, PDE_DATA(inode));
|
||||
+}
|
||||
+
|
||||
+static const struct file_operations proc_netif_fops = {
|
||||
+ .open = proc_netif_open,
|
||||
+ .read = seq_read,
|
||||
+ .llseek = seq_lseek,
|
||||
+ .release = seq_release,
|
||||
+};
|
||||
+
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
@@ -180,16 +225,13 @@ VNetNetIf_Create(char *devName, // IN:
|
||||
* Make proc entry for this jack.
|
||||
*/
|
||||
|
||||
- retval = VNetProc_MakeEntry(netIf->port.jack.name, S_IFREG,
|
||||
- &netIf->port.jack.procEntry);
|
||||
+ retval = VNetProc_MakeEntryOps(netIf->port.jack.name, S_IFREG,
|
||||
+ &netIf->port.jack.procEntry, &proc_netif_fops, netIf);
|
||||
if (retval) {
|
||||
netIf->port.jack.procEntry = NULL;
|
||||
if (retval != -ENXIO) {
|
||||
goto outFreeDev;
|
||||
}
|
||||
- } else {
|
||||
- netIf->port.jack.procEntry->read_proc = VNetNetIfProcRead;
|
||||
- netIf->port.jack.procEntry->data = netIf;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -553,45 +595,3 @@ VNetNetifGetStats(struct net_device *dev) // IN:
|
||||
return &netIf->stats;
|
||||
}
|
||||
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------
|
||||
- *
|
||||
- * VNetNetIfProcRead --
|
||||
- *
|
||||
- * Callback for read operation on this netif entry in vnets proc fs.
|
||||
- *
|
||||
- * Results:
|
||||
- * Length of read operation.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * None.
|
||||
- *
|
||||
- *----------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-int
|
||||
-VNetNetIfProcRead(char *page, // IN/OUT: buffer to write into
|
||||
- char **start, // OUT: 0 if file < 4k, else offset into page
|
||||
- off_t off, // IN: (unused) offset of read into the file
|
||||
- int count, // IN: (unused) maximum number of bytes to read
|
||||
- int *eof, // OUT: TRUE if there is nothing more to read
|
||||
- void *data) // IN: client data
|
||||
-{
|
||||
- VNetNetIF *netIf = data;
|
||||
- int len = 0;
|
||||
-
|
||||
- if (!netIf) {
|
||||
- return len;
|
||||
- }
|
||||
-
|
||||
- len += VNetPrintPort(&netIf->port, page+len);
|
||||
-
|
||||
- len += sprintf(page+len, "dev %s ", netIf->dev->name);
|
||||
-
|
||||
- len += sprintf(page+len, "\n");
|
||||
-
|
||||
- *start = 0;
|
||||
- *eof = 1;
|
||||
- return len;
|
||||
-}
|
||||
--- a/vmnet-only/procfs.c
|
||||
+++ b/vmnet-only/procfs.c
|
||||
@@ -45,10 +45,6 @@
|
||||
|
||||
#if defined(CONFIG_PROC_FS)
|
||||
|
||||
-static int VNetProcMakeEntryInt(VNetProcEntry *parent, char *name, int mode,
|
||||
- VNetProcEntry **ret);
|
||||
-static void VNetProcRemoveEntryInt(VNetProcEntry *node, VNetProcEntry *parent);
|
||||
-
|
||||
static VNetProcEntry *base = NULL;
|
||||
|
||||
|
||||
@@ -71,7 +67,12 @@ static VNetProcEntry *base = NULL;
|
||||
int
|
||||
VNetProc_Init(void)
|
||||
{
|
||||
- return VNetProcMakeEntryInt(NULL, "vmnet", S_IFDIR, &base);
|
||||
+ base = proc_mkdir("vmnet", NULL);
|
||||
+ if(IS_ERR(base)) {
|
||||
+ base = NULL;
|
||||
+ return PTR_ERR(base);
|
||||
+ }
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -94,14 +95,14 @@ VNetProc_Init(void)
|
||||
void
|
||||
VNetProc_Cleanup(void)
|
||||
{
|
||||
- VNetProcRemoveEntryInt(base, NULL);
|
||||
+ proc_remove(base);
|
||||
base = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
- * VNetProcMakeEntryInt --
|
||||
+ * VNetProc_MakeEntryOps --
|
||||
*
|
||||
* Make an entry in the vnets proc file system.
|
||||
*
|
||||
@@ -116,72 +117,21 @@ VNetProc_Cleanup(void)
|
||||
*/
|
||||
|
||||
int
|
||||
-VNetProcMakeEntryInt(VNetProcEntry *parent, // IN:
|
||||
- char *name, // IN:
|
||||
+VNetProc_MakeEntryOps(char *name, // IN:
|
||||
int mode, // IN:
|
||||
- VNetProcEntry **ret) // OUT:
|
||||
+ VNetProcEntry **ret,
|
||||
+ const struct file_operations *fops,
|
||||
+ void *data
|
||||
+ ) // OUT:
|
||||
{
|
||||
VNetProcEntry *ent;
|
||||
- ent = create_proc_entry(name, mode, parent);
|
||||
+ ent = proc_create_data(name, mode, base, fops, data);
|
||||
*ret = ent;
|
||||
if (!ent)
|
||||
return -ENOMEM;
|
||||
return 0;
|
||||
}
|
||||
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------
|
||||
- *
|
||||
- * VNetProcRemoveEntryInt --
|
||||
- *
|
||||
- * Remove a previously installed proc entry.
|
||||
- *
|
||||
- * Results:
|
||||
- * None.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * None.
|
||||
- *
|
||||
- *----------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-void
|
||||
-VNetProcRemoveEntryInt(VNetProcEntry *node,
|
||||
- VNetProcEntry *parent)
|
||||
-{
|
||||
- if (node) {
|
||||
- remove_proc_entry(node->name, parent);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------
|
||||
- *
|
||||
- * VNetProc_MakeEntry --
|
||||
- *
|
||||
- * Make an entry in the vnets proc file system.
|
||||
- *
|
||||
- * Results:
|
||||
- * errno. If errno is 0 and ret is non NULL then ret is filled
|
||||
- * in with the resulting proc entry.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * None.
|
||||
- *
|
||||
- *----------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-int
|
||||
-VNetProc_MakeEntry(char *name, // IN:
|
||||
- int mode, // IN:
|
||||
- VNetProcEntry **ret) // OUT:
|
||||
-{
|
||||
- return VNetProcMakeEntryInt(base, name, mode, ret);
|
||||
-}
|
||||
-
|
||||
-
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
@@ -201,7 +151,8 @@ VNetProc_MakeEntry(char *name, // IN:
|
||||
void
|
||||
VNetProc_RemoveEntry(VNetProcEntry *node)
|
||||
{
|
||||
- VNetProcRemoveEntryInt(node, base);
|
||||
+ if(node)
|
||||
+ proc_remove(node);
|
||||
}
|
||||
|
||||
|
||||
@@ -253,31 +204,6 @@ VNetProc_Cleanup(void)
|
||||
}
|
||||
|
||||
|
||||
-/*
|
||||
- *----------------------------------------------------------------------
|
||||
- *
|
||||
- * VNetProc_MakeEntry --
|
||||
- *
|
||||
- * Make an entry in the vnets proc file system.
|
||||
- *
|
||||
- * Results:
|
||||
- * errno. If errno is 0 and ret is non NULL then ret is filled
|
||||
- * in with the resulting proc entry.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * None.
|
||||
- *
|
||||
- *----------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-int
|
||||
-VNetProc_MakeEntry(char *name,
|
||||
- int mode,
|
||||
- VNetProcEntry **ret)
|
||||
-{
|
||||
- return -ENXIO;
|
||||
-}
|
||||
-
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
--- a/vmnet-only/userif.c
|
||||
+++ b/vmnet-only/userif.c
|
||||
@@ -389,7 +389,7 @@ VNetUserIfReceive(VNetJack *this, // IN
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
- * VNetUserIfProcRead --
|
||||
+ * VNetUserIfProcShow --
|
||||
*
|
||||
* Callback for read operation on this userif entry in vnets proc fs.
|
||||
*
|
||||
@@ -403,30 +403,23 @@ VNetUserIfReceive(VNetJack *this, // IN
|
||||
*/
|
||||
|
||||
static int
|
||||
-VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into
|
||||
- char **start, // OUT: 0 if file < 4k, else offset into
|
||||
- // page
|
||||
- off_t off, // IN: offset of read into the file
|
||||
- int count, // IN: maximum number of bytes to read
|
||||
- int *eof, // OUT: TRUE if there is nothing more to
|
||||
- // read
|
||||
+VNetUserIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into
|
||||
void *data) // IN: client data - not used
|
||||
{
|
||||
VNetUserIF *userIf = (VNetUserIF*)data;
|
||||
- int len = 0;
|
||||
|
||||
if (!userIf) {
|
||||
- return len;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
- len += VNetPrintPort(&userIf->port, page+len);
|
||||
+ VNetPrintPort(&userIf->port, seqf);
|
||||
|
||||
- len += sprintf(page+len, "read %u written %u queued %u ",
|
||||
+ seq_printf(seqf, "read %u written %u queued %u ",
|
||||
userIf->stats.read,
|
||||
userIf->stats.written,
|
||||
userIf->stats.queued);
|
||||
|
||||
- len += sprintf(page+len,
|
||||
+ seq_printf(seqf,
|
||||
"dropped.down %u dropped.mismatch %u "
|
||||
"dropped.overflow %u dropped.largePacket %u",
|
||||
userIf->stats.droppedDown,
|
||||
@@ -434,13 +427,23 @@ VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into
|
||||
userIf->stats.droppedOverflow,
|
||||
userIf->stats.droppedLargePacket);
|
||||
|
||||
- len += sprintf(page+len, "\n");
|
||||
+ seq_printf(seqf, "\n");
|
||||
|
||||
- *start = 0;
|
||||
- *eof = 1;
|
||||
- return len;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int proc_userif_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return single_open(file, VNetUserIfProcShow, PDE_DATA(inode));
|
||||
}
|
||||
|
||||
+static const struct file_operations proc_userif_fops = {
|
||||
+ .open = proc_userif_open,
|
||||
+ .read = seq_read,
|
||||
+ .llseek = seq_lseek,
|
||||
+ .release = seq_release,
|
||||
+};
|
||||
+
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
@@ -1036,8 +1039,8 @@ VNetUserIf_Create(VNetPort **ret) // OUT
|
||||
* Make proc entry for this jack.
|
||||
*/
|
||||
|
||||
- retval = VNetProc_MakeEntry(userIf->port.jack.name, S_IFREG,
|
||||
- &userIf->port.jack.procEntry);
|
||||
+ retval = VNetProc_MakeEntryOps(userIf->port.jack.name, S_IFREG,
|
||||
+ &userIf->port.jack.procEntry, &proc_userif_fops, userIf);
|
||||
if (retval) {
|
||||
if (retval == -ENXIO) {
|
||||
userIf->port.jack.procEntry = NULL;
|
||||
@@ -1045,9 +1048,6 @@ VNetUserIf_Create(VNetPort **ret) // OUT
|
||||
kfree(userIf);
|
||||
return retval;
|
||||
}
|
||||
- } else {
|
||||
- userIf->port.jack.procEntry->read_proc = VNetUserIfProcRead;
|
||||
- userIf->port.jack.procEntry->data = userIf;
|
||||
}
|
||||
|
||||
/*
|
||||
--- a/vmnet-only/vnetInt.h
|
||||
+++ b/vmnet-only/vnetInt.h
|
||||
@@ -171,12 +171,14 @@ VNetJack *VNetDisconnect(VNetJack *jack);
|
||||
|
||||
void VNetSend(const VNetJack *jack, struct sk_buff *skb);
|
||||
|
||||
-int VNetProc_MakeEntry(char *name, int mode,
|
||||
- VNetProcEntry **ret);
|
||||
+int VNetProc_MakeEntryOps(char *name, int mode,
|
||||
+ VNetProcEntry **ret,
|
||||
+ const struct file_operations *fops,
|
||||
+ void *data);
|
||||
|
||||
void VNetProc_RemoveEntry(VNetProcEntry *node);
|
||||
|
||||
-int VNetPrintJack(const VNetJack *jack, char *buf);
|
||||
+void VNetPrintJack(const VNetJack *jack, struct seq_file *seqf);
|
||||
|
||||
int VNet_MakeMACAddress(VNetPort *port);
|
||||
|
||||
@@ -196,7 +198,7 @@ Bool VNetPacketMatch(const uint8 *destAddr, const uint8 *ifAddr,
|
||||
|
||||
Bool VNetCycleDetectIf(const char *name, int generation);
|
||||
|
||||
-int VNetPrintPort(const VNetPort *port, char *buf);
|
||||
+void VNetPrintPort(const VNetPort *port, struct seq_file *seqf);
|
||||
|
||||
int VNetSnprintf(char *str, size_t size, const char *format, ...);
|
||||
|
||||
--
|
||||
--- a/vmblock-only/linux/control.c 2013-05-21 19:21:19.165750556 +0200
|
||||
+++ b/vmblock-only/linux/control.c 2013-05-21 19:22:18.363747723 +0200
|
||||
@@ -208,9 +208,10 @@
|
||||
VMBlockSetProcEntryOwner(controlProcMountpoint);
|
||||
|
||||
/* Create /proc/fs/vmblock/dev */
|
||||
- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
|
||||
- VMBLOCK_CONTROL_MODE,
|
||||
- controlProcDirEntry);
|
||||
+ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
|
||||
+ VMBLOCK_CONTROL_MODE,
|
||||
+ controlProcDirEntry,
|
||||
+ &ControlFileOps);
|
||||
if (!controlProcEntry) {
|
||||
Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
|
||||
remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
|
||||
@@ -218,7 +219,6 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- controlProcEntry->proc_fops = &ControlFileOps;
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,41 +0,0 @@
|
||||
replaces usage of vfs_readdir with iterate_dir. origionally found here:
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=508204
|
||||
|
||||
diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only/linux/file.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2014-04-26 10:58:03.062635343 -0400
|
||||
@@ -166,11 +166,9 @@
|
||||
|
||||
static int
|
||||
FileOpReaddir(struct file *file, // IN
|
||||
- void *dirent, // IN
|
||||
- filldir_t filldir) // IN
|
||||
+ struct dir_context *ctx)
|
||||
{
|
||||
int ret;
|
||||
- FilldirInfo info;
|
||||
struct file *actualFile;
|
||||
|
||||
if (!file) {
|
||||
@@ -184,11 +182,8 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- info.filldir = filldir;
|
||||
- info.dirent = dirent;
|
||||
-
|
||||
actualFile->f_pos = file->f_pos;
|
||||
- ret = vfs_readdir(actualFile, Filldir, &info);
|
||||
+ ret = iterate_dir(actualFile, ctx);
|
||||
file->f_pos = actualFile->f_pos;
|
||||
|
||||
return ret;
|
||||
@@ -237,7 +232,7 @@
|
||||
|
||||
|
||||
struct file_operations RootFileOps = {
|
||||
- .readdir = FileOpReaddir,
|
||||
+ .iterate = FileOpReaddir,
|
||||
.open = FileOpOpen,
|
||||
.release = FileOpRelease,
|
||||
};
|
@ -1,53 +0,0 @@
|
||||
simply remove the code for Filldir since it is no longer used with the new
|
||||
iterate_dir API
|
||||
|
||||
diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c
|
||||
--- vmblock-only/linux/file.c 2014-10-07 23:22:46.832469618 -0400
|
||||
+++ vmblock-only.new/linux/file.c 2014-10-07 23:24:35.276472720 -0400
|
||||
@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
|
||||
typedef ino_t inode_num_t;
|
||||
#endif
|
||||
|
||||
-/* Specifically for our filldir_t callback */
|
||||
-typedef struct FilldirInfo {
|
||||
- filldir_t filldir;
|
||||
- void *dirent;
|
||||
-} FilldirInfo;
|
||||
-
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------------
|
||||
- *
|
||||
- * Filldir --
|
||||
- *
|
||||
- * Callback function for readdir that we use in place of the one provided.
|
||||
- * This allows us to specify that each dentry is a symlink, but pass through
|
||||
- * everything else to the original filldir function.
|
||||
- *
|
||||
- * Results:
|
||||
- * Original filldir's return value.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * Directory information gets copied to user's buffer.
|
||||
- *
|
||||
- *----------------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-static int
|
||||
-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir
|
||||
- const char *name, // IN: Dirent name
|
||||
- int namelen, // IN: len of dirent's name
|
||||
- loff_t offset, // IN: Offset
|
||||
- inode_num_t ino, // IN: Inode number of dirent
|
||||
- unsigned int d_type) // IN: Type of file
|
||||
-{
|
||||
- FilldirInfo *info = buf;
|
||||
-
|
||||
- /* Specify DT_LNK regardless */
|
||||
- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
|
||||
-}
|
||||
-
|
||||
-
|
||||
/* File operations */
|
||||
|
||||
/*
|
@ -1,39 +0,0 @@
|
||||
the new API to get the hooknum
|
||||
origionally from http://forums.gentoo.org/viewtopic-t-979802-start-25.html
|
||||
|
||||
--- work/vmnet-only/filter.c 2013-08-27 20:29:04.000000000 +0100
|
||||
+++ patched/vmnet-only/filter.c 2014-01-26 01:09:05.184893854 +0000
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "compat_module.h"
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/netdevice.h>
|
||||
+#include <linux/version.h>
|
||||
#if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
|
||||
# include <linux/module.h>
|
||||
#else
|
||||
@@ -203,7 +204,11 @@
|
||||
#endif
|
||||
|
||||
static unsigned int
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
|
||||
VNetFilterHookFn(unsigned int hooknum, // IN:
|
||||
+#else
|
||||
+VNetFilterHookFn(const struct nf_hook_ops *ops, // IN:
|
||||
+#endif
|
||||
#ifdef VMW_NFHOOK_USES_SKB
|
||||
struct sk_buff *skb, // IN:
|
||||
#else
|
||||
@@ -252,7 +257,12 @@
|
||||
|
||||
/* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
|
||||
/* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
|
||||
- transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
|
||||
+
|
||||
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
|
||||
+ transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
|
||||
+ #else
|
||||
+ transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
|
||||
+ #endif
|
||||
|
||||
packetHeader = compat_skb_network_header(skb);
|
||||
ip = (struct iphdr*)packetHeader;
|
@ -1,15 +0,0 @@
|
||||
replacing usage of vfs_readlink with new readlink_copy API
|
||||
see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090
|
||||
|
||||
diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c
|
||||
--- vmblock-only/linux/inode.c 2014-10-05 23:20:14.545218357 -0400
|
||||
+++ vmblock-only/linux/inode.c 2014-10-05 23:33:01.549259933 -0400
|
||||
@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- return vfs_readlink(dentry, buffer, buflen, iinfo->name);
|
||||
+ return readlink_copy(buffer, buflen, iinfo->name);
|
||||
}
|
||||
|
||||
|
@ -1,46 +0,0 @@
|
||||
removing the no longer existing second parameter to sk_data_ready
|
||||
doesn't seem it ever served a purpose.
|
||||
|
||||
diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
|
||||
--- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400
|
||||
@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
vsk = vsock_sk(sk);
|
||||
PKT_FIELD(vsk, sentWaitingRead) = FALSE;
|
||||
#endif
|
||||
-
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
|
||||
--- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400
|
||||
@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
struct sockaddr_vm *dst, // IN: unused
|
||||
struct sockaddr_vm *src) // IN: unused
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
|
||||
}
|
||||
|
||||
/* See the comment in VSockVmciNotifyPktSendPostEnqueue */
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
return err;
|
@ -1,16 +0,0 @@
|
||||
new alloc_netdev requires a new parameter. All examples in the kernel i've seen just
|
||||
use the constant NET_NAME_UNKNOWN.
|
||||
origionally from: https://communities.vmware.com/message/2425189
|
||||
|
||||
diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c
|
||||
--- vmnet-only/netif.c 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only.new/netif.c 2014-10-09 17:29:12.361307961 -0400
|
||||
@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName, // IN:
|
||||
memcpy(deviceName, devName, sizeof deviceName);
|
||||
NULL_TERMINATE_STRING(deviceName);
|
||||
|
||||
- dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
|
||||
+ dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup);
|
||||
if (!dev) {
|
||||
retval = -ENOMEM;
|
||||
goto out;
|
@ -1,13 +0,0 @@
|
||||
diff -rupN vmnet-only/vm_device_version.h vmnet-only.new/vm_device_version.h
|
||||
--- vmnet-only/vm_device_version.h 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only.new/vm_device_version.h 2015-05-05 12:03:06.879202223 -0400
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_NET 0x0720
|
@ -1,67 +0,0 @@
|
||||
Sources:
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396484
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396482
|
||||
diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500
|
||||
@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
|
||||
unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
struct dentry *actualDentry;
|
||||
int ret;
|
||||
|
||||
diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
|
||||
--- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500
|
||||
@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct inode *inode;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
|
||||
ASSERT(sb);
|
||||
|
||||
diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
|
||||
--- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500
|
||||
@@ -26,21 +26,21 @@
|
||||
* struct. They were both replaced with a struct path.
|
||||
*/
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
|
||||
+#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#else
|
||||
#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#endif
|
||||
|
||||
/* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_path_release(nd) path_put(&(nd)->path)
|
||||
+#define compat_path_release(nd) path_put(nd)
|
||||
#else
|
||||
#define compat_path_release(nd) path_release(nd)
|
||||
#endif
|
||||
|
||||
/* path_lookup was removed in 2.6.39 merge window VFS merge */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
-#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path))
|
||||
+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd)
|
||||
#else
|
||||
#define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd)
|
||||
#endif
|
||||
diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500
|
||||
@@ -92,7 +92,7 @@
|
||||
* and that would try to acquire the inode's semaphore; if the two inodes
|
||||
* are the same we'll deadlock.
|
||||
*/
|
||||
- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
|
||||
+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
|
||||
Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
|
||||
if (filp_close(actualFile, current->files) < 0) {
|
||||
Warning("FileOpOpen: unable to close opened file.\n");
|
@ -1,29 +0,0 @@
|
||||
diff -rupN vmci-only/linux/vmciKernelIf.c vmci-only.new/linux/vmciKernelIf.c
|
||||
--- vmci-only/linux/vmciKernelIf.c 2015-05-05 11:22:55.276071501 -0400
|
||||
+++ vmci-only.new/linux/vmciKernelIf.c 2015-05-05 11:23:58.912074950 -0400
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <linux/socket.h> /* For memcpy_{to,from}iovec(). */
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/wait.h>
|
||||
+#include <linux/skbuff.h>
|
||||
|
||||
#include "compat_highmem.h"
|
||||
#include "compat_interrupt.h"
|
||||
diff -rupN vmci-only/linux/vmciKernelIf.c vmci-only.new/linux/vmciKernelIf.c
|
||||
--- vmci-only/linux/vmciKernelIf.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmci-only.new/linux/vmciKernelIf.c 2015-05-05 11:21:59.929068500 -0400
|
||||
@@ -1246,11 +1246,11 @@ __VMCIMemcpyFromQueue(void *dest,
|
||||
}
|
||||
|
||||
if (isIovec) {
|
||||
- struct iovec *iov = (struct iovec *)dest;
|
||||
+ struct msghdr *msg = dest;
|
||||
int err;
|
||||
|
||||
/* The iovec will track bytesCopied internally. */
|
||||
- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
|
||||
+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
|
||||
if (err != 0) {
|
||||
kunmap(kernelIf->page[pageIndex]);
|
||||
return VMCI_ERROR_INVALID_ARGS;
|
||||
|
@ -1,29 +0,0 @@
|
||||
diff -ur vmnet-only.orig/driver.c vmnet-only/driver.c
|
||||
--- vmnet-only.orig/driver.c 2014-06-13 02:38:25.000000000 +0200
|
||||
+++ vmnet-only/driver.c 2015-02-21 17:31:22.630656305 +0100
|
||||
@@ -1236,8 +1236,8 @@
|
||||
struct inode *inode = NULL;
|
||||
long err;
|
||||
|
||||
- if (filp && filp->f_dentry) {
|
||||
- inode = filp->f_dentry->d_inode;
|
||||
+ if (filp && filp->f_path.dentry) {
|
||||
+ inode = filp->f_path.dentry->d_inode;
|
||||
}
|
||||
err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
|
||||
return err;
|
||||
diff -ur vmnet-only.orig/userif.c vmnet-only/userif.c
|
||||
--- vmnet-only.orig/userif.c 2014-06-13 02:38:25.000000000 +0200
|
||||
+++ vmnet-only/userif.c 2015-02-21 17:37:46.154589854 +0100
|
||||
@@ -523,7 +523,10 @@
|
||||
.iov_base = buf,
|
||||
.iov_len = len,
|
||||
};
|
||||
- return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+ struct iov_iter to;
|
||||
+
|
||||
+ iov_iter_init(&to, READ, &iov, 1, len);
|
||||
+ return skb_copy_datagram_iter(skb, 0, &to, len);
|
||||
}
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:26:05.145081792 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:30:54.304097466 -0400
|
||||
@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc
|
||||
goto out;
|
||||
}
|
||||
|
||||
- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
|
||||
+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
|
||||
|
||||
dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
|
||||
dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);
|
@ -1,15 +0,0 @@
|
||||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:31:35.710099711 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:36:33.260115840 -0400
|
||||
@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc
|
||||
}
|
||||
|
||||
/* Place the datagram payload in the user's iovec. */
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
|
||||
+#else
|
||||
+ err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen);
|
||||
+#endif
|
||||
if (err) {
|
||||
goto out;
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c
|
||||
--- vsock-only.old/linux/af_vsock.c 2015-05-06 20:41:47.684046762 -0400
|
||||
+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400
|
||||
@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio
|
||||
* able to send.
|
||||
*/
|
||||
|
||||
- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
|
||||
+ written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov,
|
||||
len - totalWritten, 0);
|
||||
if (written < 0) {
|
||||
err = -ENOMEM;
|
||||
@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
|
||||
}
|
||||
|
||||
if (flags & MSG_PEEK) {
|
||||
- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
} else {
|
||||
- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
}
|
||||
|
||||
if (read < 0) {
|
@ -1,12 +0,0 @@
|
||||
diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
|
||||
index f1f4b10..c43242f 100644
|
||||
--- a/vmmon-only/linux/hostif.c
|
||||
+++ b/vmmon-only/linux/hostif.c
|
||||
@@ -55,6 +55,7 @@
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/wait.h>
|
||||
|
||||
+#include <asm/apic.h>
|
||||
|
||||
#include "vmware.h"
|
||||
#include "x86apic.h"
|
@ -1,91 +0,0 @@
|
||||
diff --git a/vmblock-only/linux/file.c b/vmblock-only/linux/file.c
|
||||
index d7ac1f6..5499169 100644
|
||||
--- a/vmblock-only/linux/file.c
|
||||
+++ b/vmblock-only/linux/file.c
|
||||
@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
|
||||
typedef ino_t inode_num_t;
|
||||
#endif
|
||||
|
||||
-/* Specifically for our filldir_t callback */
|
||||
-typedef struct FilldirInfo {
|
||||
- filldir_t filldir;
|
||||
- void *dirent;
|
||||
-} FilldirInfo;
|
||||
-
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------------
|
||||
- *
|
||||
- * Filldir --
|
||||
- *
|
||||
- * Callback function for readdir that we use in place of the one provided.
|
||||
- * This allows us to specify that each dentry is a symlink, but pass through
|
||||
- * everything else to the original filldir function.
|
||||
- *
|
||||
- * Results:
|
||||
- * Original filldir's return value.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * Directory information gets copied to user's buffer.
|
||||
- *
|
||||
- *----------------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-static int
|
||||
-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir
|
||||
- const char *name, // IN: Dirent name
|
||||
- int namelen, // IN: len of dirent's name
|
||||
- loff_t offset, // IN: Offset
|
||||
- inode_num_t ino, // IN: Inode number of dirent
|
||||
- unsigned int d_type) // IN: Type of file
|
||||
-{
|
||||
- FilldirInfo *info = buf;
|
||||
-
|
||||
- /* Specify DT_LNK regardless */
|
||||
- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
|
||||
-}
|
||||
-
|
||||
-
|
||||
/* File operations */
|
||||
|
||||
/*
|
||||
@@ -166,11 +126,10 @@ FileOpOpen(struct inode *inode, // IN
|
||||
|
||||
static int
|
||||
FileOpReaddir(struct file *file, // IN
|
||||
- void *dirent, // IN
|
||||
- filldir_t filldir) // IN
|
||||
+ struct dir_context *ctx) // IN
|
||||
{
|
||||
int ret;
|
||||
- FilldirInfo info;
|
||||
+
|
||||
struct file *actualFile;
|
||||
|
||||
if (!file) {
|
||||
@@ -184,12 +143,10 @@ FileOpReaddir(struct file *file, // IN
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- info.filldir = filldir;
|
||||
- info.dirent = dirent;
|
||||
-
|
||||
- actualFile->f_pos = file->f_pos;
|
||||
- ret = vfs_readdir(actualFile, Filldir, &info);
|
||||
- file->f_pos = actualFile->f_pos;
|
||||
+ /* Ricky Wong Yung Fei:
|
||||
+ * Manipulation of pos is now handled internally by iterate_dir().
|
||||
+ */
|
||||
+ ret = iterate_dir(actualFile, ctx);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -237,7 +194,7 @@ FileOpRelease(struct inode *inode, // IN
|
||||
|
||||
|
||||
struct file_operations RootFileOps = {
|
||||
- .readdir = FileOpReaddir,
|
||||
+ .iterate = FileOpReaddir,
|
||||
.open = FileOpOpen,
|
||||
.release = FileOpRelease,
|
||||
};
|
@ -1,170 +0,0 @@
|
||||
diff --git a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c
|
||||
index 921f25c..41a39e3 100644
|
||||
--- a/vmci-only/linux/driver.c
|
||||
+++ b/vmci-only/linux/driver.c
|
||||
@@ -241,7 +241,24 @@ static unsigned int LinuxDriverPoll(struct file *file, poll_table *wait);
|
||||
#define LinuxDriverUnlockIoctlPerFD(mutex) do {} while (0)
|
||||
#endif
|
||||
|
||||
-static struct file_operations vmuser_fops;
|
||||
+/*
|
||||
+ * Moved file operations initialize here because of incompatibilites
|
||||
+ * with Gentoo hardened profile/hardend Linux 3.
|
||||
+ */
|
||||
+static struct file_operations vmuser_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .poll = LinuxDriverPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = LinuxDriver_Ioctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = LinuxDriver_Open,
|
||||
+ .release = LinuxDriver_Close
|
||||
+};
|
||||
|
||||
|
||||
/*
|
||||
@@ -378,26 +395,6 @@ vmci_host_init(void)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vmuser_fops, 0, sizeof vmuser_fops);
|
||||
- vmuser_fops.owner = THIS_MODULE;
|
||||
- vmuser_fops.poll = LinuxDriverPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#else
|
||||
- vmuser_fops.ioctl = LinuxDriver_Ioctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#endif
|
||||
- vmuser_fops.open = LinuxDriver_Open;
|
||||
- vmuser_fops.release = LinuxDriver_Close;
|
||||
-
|
||||
sprintf(linuxState.deviceName, "vmci");
|
||||
linuxState.major = 10;
|
||||
linuxState.misc.minor = MISC_DYNAMIC_MINOR;
|
||||
diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
|
||||
index b21dd44..960c2aa 100644
|
||||
--- a/vmmon-only/linux/driver.c
|
||||
+++ b/vmmon-only/linux/driver.c
|
||||
@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = {
|
||||
#endif
|
||||
};
|
||||
|
||||
-static struct file_operations vmuser_fops;
|
||||
+static struct file_operations vmuser_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .poll = LinuxDriverPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = LinuxDriver_Ioctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = LinuxDriver_Open,
|
||||
+ .release = LinuxDriver_Close,
|
||||
+ .mmap = LinuxDriverMmap
|
||||
+};
|
||||
+
|
||||
static struct timer_list tscTimer;
|
||||
|
||||
/*
|
||||
@@ -357,27 +372,6 @@ init_module(void)
|
||||
spin_lock_init(&linuxState.pollListLock);
|
||||
#endif
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vmuser_fops, 0, sizeof vmuser_fops);
|
||||
- vmuser_fops.owner = THIS_MODULE;
|
||||
- vmuser_fops.poll = LinuxDriverPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#else
|
||||
- vmuser_fops.ioctl = LinuxDriver_Ioctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#endif
|
||||
- vmuser_fops.open = LinuxDriver_Open;
|
||||
- vmuser_fops.release = LinuxDriver_Close;
|
||||
- vmuser_fops.mmap = LinuxDriverMmap;
|
||||
-
|
||||
#ifdef VMX86_DEVEL
|
||||
devel_init_module();
|
||||
linuxState.minor = 0;
|
||||
diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
|
||||
index b12b982..40bd4cf 100644
|
||||
--- a/vmnet-only/driver.c
|
||||
+++ b/vmnet-only/driver.c
|
||||
@@ -165,7 +165,22 @@ static long VNetFileOpUnlockedIoctl(struct file * filp,
|
||||
unsigned int iocmd, unsigned long ioarg);
|
||||
#endif
|
||||
|
||||
-static struct file_operations vnetFileOps;
|
||||
+static struct file_operations vnetFileOps = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .read = VNetFileOpRead,
|
||||
+ .write = VNetFileOpWrite,
|
||||
+ .poll = VNetFileOpPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = VNetFileOpUnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = VNetFileOpIoctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = VNetFileOpUnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = VNetFileOpOpen,
|
||||
+ .release = VNetFileOpClose
|
||||
+};
|
||||
|
||||
/*
|
||||
* Utility functions
|
||||
@@ -476,28 +491,6 @@ init_module(void)
|
||||
goto err_proto;
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vnetFileOps, 0, sizeof vnetFileOps);
|
||||
- vnetFileOps.owner = THIS_MODULE;
|
||||
- vnetFileOps.read = VNetFileOpRead;
|
||||
- vnetFileOps.write = VNetFileOpWrite;
|
||||
- vnetFileOps.poll = VNetFileOpPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl;
|
||||
-#else
|
||||
- vnetFileOps.ioctl = VNetFileOpIoctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl;
|
||||
-#endif
|
||||
- vnetFileOps.open = VNetFileOpOpen;
|
||||
- vnetFileOps.release = VNetFileOpClose;
|
||||
-
|
||||
retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
|
||||
if (retval) {
|
||||
LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",
|
@ -1,65 +0,0 @@
|
||||
diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel
|
||||
index ab7a727..e3ec9d2 100644
|
||||
--- a/vmblock-only/Makefile.kernel
|
||||
+++ b/vmblock-only/Makefile.kernel
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
INCLUDE += -I$(SRCROOT)/include
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c, -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
|
||||
diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
|
||||
index ba343ee..861ea83 100644
|
||||
--- a/vmci-only/Makefile.kernel
|
||||
+++ b/vmci-only/Makefile.kernel
|
||||
@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
|
||||
|
||||
INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
obj-m += $(DRIVER).o
|
||||
|
||||
diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
|
||||
index 8770d1d..c4746c3 100644
|
||||
--- a/vmmon-only/Makefile.kernel
|
||||
+++ b/vmmon-only/Makefile.kernel
|
||||
@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE
|
||||
INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \
|
||||
-I$(SRCROOT)/vmcore
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, )
|
||||
|
||||
diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel
|
||||
index d1e3133..665d428 100644
|
||||
--- a/vmnet-only/Makefile.kernel
|
||||
+++ b/vmnet-only/Makefile.kernel
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
INCLUDE := -I$(SRCROOT)
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
|
||||
diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
|
||||
index b4629ee..264b8cb 100644
|
||||
--- a/vsock-only/Makefile.kernel
|
||||
+++ b/vsock-only/Makefile.kernel
|
||||
@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
|
||||
INCLUDE += -I$(SRCROOT)/linux
|
||||
INCLUDE += -I$(SRCROOT)/common
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )
|
||||
|
||||
|
@ -1,85 +0,0 @@
|
||||
diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile
|
||||
index 2b81323..746c8b8 100644
|
||||
--- a/vmblock-only/Makefile
|
||||
+++ b/vmblock-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmblock
|
||||
PRODUCT := ws
|
||||
diff --git a/vmci-only/Makefile b/vmci-only/Makefile
|
||||
index 8e9c5be..6ec828b 100644
|
||||
--- a/vmci-only/Makefile
|
||||
+++ b/vmci-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmci
|
||||
PRODUCT := ws
|
||||
diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
|
||||
index 5bd867b..91a83d4 100644
|
||||
--- a/vmmon-only/Makefile
|
||||
+++ b/vmmon-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmmon
|
||||
PRODUCT := @@PRODUCT@@
|
||||
diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile
|
||||
index d4eb73c..c7c6d38 100644
|
||||
--- a/vmnet-only/Makefile
|
||||
+++ b/vmnet-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmnet
|
||||
PRODUCT := @@PRODUCT@@
|
||||
diff --git a/vsock-only/Makefile b/vsock-only/Makefile
|
||||
index 93dd61d..9765696 100644
|
||||
--- a/vsock-only/Makefile
|
||||
+++ b/vsock-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vsock
|
||||
PRODUCT := ws
|
@ -1,24 +0,0 @@
|
||||
diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h
|
||||
index 7a56304..9ff4548 100644
|
||||
--- a/vmnet-only/compat_netdevice.h
|
||||
+++ b/vmnet-only/compat_netdevice.h
|
||||
@@ -47,6 +47,19 @@
|
||||
# define net_device device
|
||||
#endif
|
||||
|
||||
+/* it looks like these have been removed from the kernel 3.1
|
||||
+ * probably because the "transition" is considered complete.
|
||||
+ * so to keep this source compatible we just redefine them like they were
|
||||
+ * previously
|
||||
+ */
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)
|
||||
+#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev
|
||||
+ functions are available. */
|
||||
+#define HAVE_FREE_NETDEV /* free_netdev() */
|
||||
+#define HAVE_NETDEV_PRIV /* netdev_priv() */
|
||||
+#define HAVE_NETIF_QUEUE
|
||||
+#define HAVE_NET_DEVICE_OPS
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting
|
@ -1,13 +0,0 @@
|
||||
diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c
|
||||
index 79716bd..2dd83fe 100644
|
||||
--- a/vmblock-only/linux/control.c
|
||||
+++ b/vmblock-only/linux/control.c
|
||||
@@ -293,7 +293,7 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name
|
||||
|
||||
retval = i < 0 ? -EINVAL : blockOp(name, blocker);
|
||||
|
||||
- putname(name);
|
||||
+ __putname(name);
|
||||
|
||||
return retval;
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
diff -Naur a/linux/inode.c b/linux/inode.c
|
||||
--- a/vmblock-only/linux/inode.c 2013-10-03 04:29:47.471339204 -0400
|
||||
+++ b/vmblock-only/linux/inode.c 2013-10-03 04:31:56.607334636 -0400
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
/* Inode operations */
|
||||
static struct dentry *InodeOpLookup(struct inode *dir,
|
||||
- struct dentry *dentry, struct nameidata *nd);
|
||||
+ struct dentry *dentry, unsigned int flags);
|
||||
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
@@ -75,7 +75,7 @@
|
||||
static struct dentry *
|
||||
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
|
||||
struct dentry *dentry, // IN: dentry to lookup
|
||||
- struct nameidata *nd) // IN: lookup intent and information
|
||||
+ unsigned int flags) // IN: lookup intent and information
|
||||
{
|
||||
char *filename;
|
||||
struct inode *inode;
|
||||
@@ -221,7 +221,7 @@
|
||||
goto out;
|
||||
}
|
||||
|
||||
- ret = vfs_follow_link(nd, iinfo->name);
|
||||
+ nd_set_link(nd, iinfo->name);
|
||||
|
||||
out:
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
@ -1,44 +0,0 @@
|
||||
diff -ru source900/vmmon-only/linux/hostif.c source/vmmon-only/linux/hostif.c
|
||||
--- source900/vmmon-only/linux/hostif.c 2012-07-23 18:18:55.000000000 +0900
|
||||
+++ source/vmmon-only/linux/hostif.c 2012-08-03 16:20:23.200420885 +0900
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <linux/smp_lock.h>
|
||||
#endif
|
||||
|
||||
+#include <asm/asm.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <linux/mc146818rtc.h>
|
||||
@@ -3586,31 +3587,14 @@
|
||||
{
|
||||
int ret;
|
||||
unsigned low, high;
|
||||
-#if defined(VM_X86_64)
|
||||
asm volatile("2: rdmsr ; xor %0,%0\n"
|
||||
"1:\n\t"
|
||||
".section .fixup,\"ax\"\n\t"
|
||||
"3: mov %4,%0 ; jmp 1b\n\t"
|
||||
".previous\n\t"
|
||||
- ".section __ex_table,\"a\"\n\t"
|
||||
- ".balign 8\n"
|
||||
- ".quad 2b,3b\n"
|
||||
- ".previous\n"
|
||||
+ _ASM_EXTABLE(2b,3b)
|
||||
: "=r"(ret), "=a"(low), "=d"(high)
|
||||
: "c"(msr), "i"(-EFAULT), "1"(0), "2"(0)); // init eax/edx to 0
|
||||
-#else
|
||||
- asm volatile("2: rdmsr ; xor %0,%0\n"
|
||||
- "1:\n\t"
|
||||
- ".section .fixup,\"ax\"\n\t"
|
||||
- "3: mov %4,%0 ; jmp 1b\n\t"
|
||||
- ".previous\n\t"
|
||||
- ".section __ex_table,\"a\"\n"
|
||||
- ".balign 4\n"
|
||||
- ".long 2b,3b\n"
|
||||
- ".previous\n"
|
||||
- : "=r"(ret), "=a"(low), "=d"(high)
|
||||
- : "c"(msr), "i"(-EFAULT), "1"(0), "2"(0)); // init eax/edx to 0
|
||||
-#endif // VM_X86_64
|
||||
*val = (low | ((u64)(high) << 32));
|
||||
|
||||
return ret;
|
@ -1,41 +0,0 @@
|
||||
correctly initializes UID/GID values
|
||||
gets UID correctly in light of user namespace API
|
||||
origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
|
||||
|
||||
--- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100
|
||||
+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100
|
||||
@@ -135,7 +135,8 @@
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
- inode->i_uid = inode->i_gid = 0;
|
||||
+ inode->i_uid = GLOBAL_ROOT_UID;
|
||||
+ inode->i_gid = GLOBAL_ROOT_GID;
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
||||
|
||||
--- a/vmci-only/linux/driver.c 2013-03-20 17:57:35.000000000 +0100
|
||||
+++ b/vmci-only/linux/driver.c 2013-03-20 17:57:43.000000000 +0100
|
||||
@@ -740,7 +740,7 @@
|
||||
goto init_release;
|
||||
}
|
||||
|
||||
- user = current_uid();
|
||||
+ user = from_kuid(current_user_ns(), current_uid());
|
||||
retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
|
||||
0 /* Unused */, vmciLinux->userVersion,
|
||||
&user, &vmciLinux->context);
|
||||
|
||||
--- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100
|
||||
+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100
|
||||
@@ -2866,7 +2866,7 @@
|
||||
vsk->connectTimeout = psk->connectTimeout;
|
||||
} else {
|
||||
vsk->trusted = capable(CAP_NET_ADMIN);
|
||||
- vsk->owner = current_uid();
|
||||
+ vsk->owner = from_kuid(current_user_ns(), current_uid());
|
||||
vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
|
||||
vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
|
||||
vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
|
||||
|
@ -1,24 +0,0 @@
|
||||
uses __getname/__putname instead of getname. getname was deprecated
|
||||
the new code calls __getname (which really is a specific type of
|
||||
memory allocator, then copies the string safely from user space
|
||||
into the allocated buffer
|
||||
|
||||
--- vmblock-only/linux/control.c 2014-03-15 15:28:40.871076076 +0100
|
||||
+++ vmblock-only/linux/control.c.new 2014-03-15 15:29:15.079074439 +0100
|
||||
@@ -279,11 +279,17 @@
|
||||
int i;
|
||||
int retval;
|
||||
|
||||
- name = getname(buf);
|
||||
+ name = __getname();
|
||||
if (IS_ERR(name)) {
|
||||
return PTR_ERR(name);
|
||||
}
|
||||
|
||||
+ i = strncpy_from_user(name, buf, PATH_MAX);
|
||||
+ if (i < 0 || i == PATH_MAX) {
|
||||
+ __putname(name);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
|
@ -1,89 +0,0 @@
|
||||
undefines DEPRECATED which is unfortunately also defined (as a string)
|
||||
in <linux/printk.h>. Realistically, this macro isn't even used, so this
|
||||
doesn't matter much. But it hushes some very loud warnings.
|
||||
|
||||
diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
|
||||
--- vmblock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400
|
||||
+++ vmblock-only.new/shared/vm_assert.h 2014-10-11 17:37:23.010352172 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
|
||||
--- vmci-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400
|
||||
+++ vmci-only.new/shared/vm_assert.h 2014-10-11 17:37:08.936352130 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
|
||||
--- vmmon-only/include/vm_assert.h 2014-04-14 20:06:20.000000000 -0400
|
||||
+++ vmmon-only.new/include/vm_assert.h 2014-10-11 17:36:45.289352058 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
|
||||
--- vmnet-only/vm_assert.h 2014-04-14 20:06:21.000000000 -0400
|
||||
+++ vmnet-only.new/vm_assert.h 2014-10-11 17:37:14.364352146 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
|
||||
--- vsock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400
|
||||
+++ vsock-only.new/shared/vm_assert.h 2014-10-11 17:37:02.778352111 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
@ -1,34 +0,0 @@
|
||||
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
|
||||
as the second argument, not a nameidata pointer! see fs/namei.c
|
||||
for implementation
|
||||
|
||||
diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only/linux/dentry.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2014-04-26 10:58:03.062635343 -0400
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "block.h"
|
||||
|
||||
|
||||
-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
|
||||
|
||||
struct dentry_operations LinkDentryOps = {
|
||||
.d_revalidate = DentryOpRevalidate,
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
static int
|
||||
DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
|
||||
- struct nameidata *nd) // IN: lookup flags & intent
|
||||
+ unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct nameidata actualNd;
|
||||
@@ -101,7 +101,7 @@
|
||||
if (actualDentry &&
|
||||
actualDentry->d_op &&
|
||||
actualDentry->d_op->d_revalidate) {
|
||||
- return actualDentry->d_op->d_revalidate(actualDentry, nd);
|
||||
+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
|
||||
}
|
||||
|
||||
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
|
@ -1,36 +0,0 @@
|
||||
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
|
||||
as the second argument, not a nameidata pointer! see fs/namei.c
|
||||
for implementation. Also changing vfs_follow_link to nd_set_link.
|
||||
See: https://lkml.org/lkml/2013/9/9/236
|
||||
|
||||
diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c
|
||||
--- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -0400
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
/* Inode operations */
|
||||
static struct dentry *InodeOpLookup(struct inode *dir,
|
||||
- struct dentry *dentry, struct nameidata *nd);
|
||||
+ struct dentry *dentry, unsigned int flags);
|
||||
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
@@ -75,7 +75,7 @@
|
||||
static struct dentry *
|
||||
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
|
||||
struct dentry *dentry, // IN: dentry to lookup
|
||||
- struct nameidata *nd) // IN: lookup intent and information
|
||||
+ unsigned int flags) // IN: lookup intent and information
|
||||
{
|
||||
char *filename;
|
||||
struct inode *inode;
|
||||
@@ -221,7 +221,8 @@
|
||||
goto out;
|
||||
}
|
||||
|
||||
- ret = vfs_follow_link(nd, iinfo->name);
|
||||
+ nd_set_link(nd, iinfo->name);
|
||||
+ ret = 0;
|
||||
|
||||
out:
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
@ -1,15 +0,0 @@
|
||||
replacing usage of vfs_readlink with new readlink_copy API
|
||||
see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090
|
||||
|
||||
diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c
|
||||
--- vmblock-only/linux/inode.c 2014-10-05 23:20:14.545218357 -0400
|
||||
+++ vmblock-only/linux/inode.c 2014-10-05 23:33:01.549259933 -0400
|
||||
@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- return vfs_readlink(dentry, buffer, buflen, iinfo->name);
|
||||
+ return readlink_copy(buffer, buflen, iinfo->name);
|
||||
}
|
||||
|
||||
|
@ -1,46 +0,0 @@
|
||||
removing the no longer existing second parameter to sk_data_ready
|
||||
doesn't seem it ever served a purpose.
|
||||
|
||||
diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
|
||||
--- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400
|
||||
@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
vsk = vsock_sk(sk);
|
||||
PKT_FIELD(vsk, sentWaitingRead) = FALSE;
|
||||
#endif
|
||||
-
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
|
||||
--- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400
|
||||
@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
struct sockaddr_vm *dst, // IN: unused
|
||||
struct sockaddr_vm *src) // IN: unused
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
|
||||
}
|
||||
|
||||
/* See the comment in VSockVmciNotifyPktSendPostEnqueue */
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
return err;
|
@ -1,16 +0,0 @@
|
||||
new alloc_netdev requires a new parameter. All examples in the kernel i've seen just
|
||||
use the constant NET_NAME_UNKNOWN.
|
||||
origionally from: https://communities.vmware.com/message/2425189
|
||||
|
||||
diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c
|
||||
--- vmnet-only/netif.c 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only.new/netif.c 2014-10-09 17:29:12.361307961 -0400
|
||||
@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName, // IN:
|
||||
memcpy(deviceName, devName, sizeof deviceName);
|
||||
NULL_TERMINATE_STRING(deviceName);
|
||||
|
||||
- dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
|
||||
+ dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup);
|
||||
if (!dev) {
|
||||
retval = -ENOMEM;
|
||||
goto out;
|
@ -1,24 +0,0 @@
|
||||
--- a/vmci-only/shared/vm_device_version.h 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmci-only/shared/vm_device_version.h 2015-02-24 03:58:06.041605450 +0300
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#ifndef PCI_VENDOR_ID_VMWARE
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_VGA 0x0711
|
||||
--- a/vmnet-only/vm_device_version.h 2015-02-07 03:54:16.000000000 +0300
|
||||
+++ c/vmnet-only/vm_device_version.h 2015-02-24 03:58:06.044604981 +0300
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#ifndef PCI_VENDOR_ID_VMWARE
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_VGA 0x0711
|
@ -1,23 +0,0 @@
|
||||
--- a/vmblock-only/shared/compat_namei.h 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmblock-only/shared/compat_namei.h 2015-02-24 03:51:25.235286047 +0300
|
||||
@@ -21,6 +21,20 @@
|
||||
|
||||
#include <linux/namei.h>
|
||||
|
||||
+/* Copy-n-paste from kernel's source/fs/namei.c */
|
||||
+struct nameidata {
|
||||
+ struct path path;
|
||||
+ struct qstr last;
|
||||
+ struct path root;
|
||||
+ struct inode *inode; /* path.dentry.d_inode */
|
||||
+ unsigned int flags;
|
||||
+ unsigned seq, m_seq;
|
||||
+ int last_type;
|
||||
+ unsigned depth;
|
||||
+ struct file *base;
|
||||
+ char *saved_names[MAX_NESTED_LINKS + 1];
|
||||
+};
|
||||
+
|
||||
/*
|
||||
* In 2.6.25-rc2, dentry and mount objects were removed from the nameidata
|
||||
* struct. They were both replaced with a struct path.
|
@ -1,13 +0,0 @@
|
||||
--- a/vmnet-only/driver.c 2015-02-07 03:54:17.000000000 +0300
|
||||
+++ c/vmnet-only/driver.c 2015-02-24 03:58:06.043605137 +0300
|
||||
@@ -1191,8 +1191,8 @@
|
||||
struct inode *inode = NULL;
|
||||
long err;
|
||||
|
||||
- if (filp && filp->f_dentry) {
|
||||
- inode = filp->f_dentry->d_inode;
|
||||
+ if (filp && filp->f_path.dentry) {
|
||||
+ inode = filp->f_path.dentry->d_inode;
|
||||
}
|
||||
err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
|
||||
return err;
|
@ -1,67 +0,0 @@
|
||||
Sources:
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396484
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396482
|
||||
diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500
|
||||
@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
|
||||
unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
struct dentry *actualDentry;
|
||||
int ret;
|
||||
|
||||
diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
|
||||
--- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500
|
||||
@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct inode *inode;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
|
||||
ASSERT(sb);
|
||||
|
||||
diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
|
||||
--- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500
|
||||
@@ -26,21 +26,21 @@
|
||||
* struct. They were both replaced with a struct path.
|
||||
*/
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
|
||||
+#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#else
|
||||
#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#endif
|
||||
|
||||
/* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_path_release(nd) path_put(&(nd)->path)
|
||||
+#define compat_path_release(nd) path_put(nd)
|
||||
#else
|
||||
#define compat_path_release(nd) path_release(nd)
|
||||
#endif
|
||||
|
||||
/* path_lookup was removed in 2.6.39 merge window VFS merge */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
-#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path))
|
||||
+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd)
|
||||
#else
|
||||
#define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd)
|
||||
#endif
|
||||
diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500
|
||||
@@ -92,7 +92,7 @@
|
||||
* and that would try to acquire the inode's semaphore; if the two inodes
|
||||
* are the same we'll deadlock.
|
||||
*/
|
||||
- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
|
||||
+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
|
||||
Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
|
||||
if (filp_close(actualFile, current->files) < 0) {
|
||||
Warning("FileOpOpen: unable to close opened file.\n");
|
@ -1,19 +0,0 @@
|
||||
--- a/vmnet-only/userif.c 2015-02-07 03:54:17.000000000 +0300
|
||||
+++ c/vmnet-only/userif.c 2015-02-24 03:58:06.043605137 +0300
|
||||
@@ -523,7 +523,15 @@
|
||||
.iov_base = buf,
|
||||
.iov_len = len,
|
||||
};
|
||||
- return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
+ return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+#else
|
||||
+ struct iov_iter to;
|
||||
+ iov_iter_init(&to, READ, &iov, 1, len);
|
||||
+ return skb_copy_datagram_iter(skb, 0, &to, len);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
@ -1,39 +0,0 @@
|
||||
diff -rupN vmci-only.old/linux/vmciKernelIf.c vmci-only/linux/vmciKernelIf.c
|
||||
--- vmci-only.old/linux/vmciKernelIf.c 2015-04-28 18:05:56.000000000 +0000
|
||||
+++ vmci-only/linux/vmciKernelIf.c 2015-07-06 08:02:08.314262258 +0000
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <linux/socket.h> /* For memcpy_{to,from}iovec(). */
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/wait.h>
|
||||
+#include <linux/skbuff.h>
|
||||
|
||||
#include "compat_highmem.h"
|
||||
#include "compat_interrupt.h"
|
||||
@@ -1227,11 +1228,11 @@ __VMCIMemcpyToQueue(VMCIQueue *queue,
|
||||
}
|
||||
|
||||
if (isIovec) {
|
||||
- struct iovec *iov = (struct iovec *)src;
|
||||
+ struct msghdr *msg = (struct msghdr *)src;
|
||||
int err;
|
||||
|
||||
/* The iovec will track bytesCopied internally. */
|
||||
- err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy);
|
||||
+ err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy);
|
||||
if (err != 0) {
|
||||
if (!kernelIf->isDataMapped) {
|
||||
kunmap(kernelIf->page[pageIndex]);
|
||||
@@ -1302,11 +1303,11 @@ __VMCIMemcpyFromQueue(void *dest,
|
||||
}
|
||||
|
||||
if (isIovec) {
|
||||
- struct iovec *iov = (struct iovec *)dest;
|
||||
+ struct msghdr *msg = (struct msghdr *)dest;
|
||||
int err;
|
||||
|
||||
/* The iovec will track bytesCopied internally. */
|
||||
- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
|
||||
+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
|
||||
if (err != 0) {
|
||||
if (!kernelIf->isDataMapped) {
|
||||
kunmap(kernelIf->page[pageIndex]);
|
@ -1,24 +0,0 @@
|
||||
diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c
|
||||
--- vsock-only.old/linux/af_vsock.c 2015-05-06 20:41:47.684046762 -0400
|
||||
+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400
|
||||
@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio
|
||||
* able to send.
|
||||
*/
|
||||
|
||||
- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
|
||||
+ written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov,
|
||||
len - totalWritten, 0);
|
||||
if (written < 0) {
|
||||
err = -ENOMEM;
|
||||
@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
|
||||
}
|
||||
|
||||
if (flags & MSG_PEEK) {
|
||||
- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
} else {
|
||||
- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
}
|
||||
|
||||
if (read < 0) {
|
@ -1,15 +0,0 @@
|
||||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:31:35.710099711 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:36:33.260115840 -0400
|
||||
@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc
|
||||
}
|
||||
|
||||
/* Place the datagram payload in the user's iovec. */
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
|
||||
+#else
|
||||
+ err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen);
|
||||
+#endif
|
||||
if (err) {
|
||||
goto out;
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:26:05.145081792 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:30:54.304097466 -0400
|
||||
@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc
|
||||
goto out;
|
||||
}
|
||||
|
||||
- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
|
||||
+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
|
||||
|
||||
dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
|
||||
dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);
|
@ -1,79 +0,0 @@
|
||||
See https://bugs.gentoo.org/show_bug.cgi?id=559602
|
||||
Patch by Mike Auty <ikelos@gentoo.org>
|
||||
|
||||
diff --git a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c
|
||||
index 4811abd..2cbc1f6 100644
|
||||
--- a/vmblock-only/linux/inode.c
|
||||
+++ b/vmblock-only/linux/inode.c
|
||||
@@ -38,7 +38,9 @@
|
||||
static struct dentry *InodeOpLookup(struct inode *dir,
|
||||
struct dentry *dentry, unsigned int flags);
|
||||
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
|
||||
+static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie);
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
#else
|
||||
static int InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
@@ -207,7 +209,12 @@ static void *
|
||||
static int
|
||||
#endif
|
||||
InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink
|
||||
- struct nameidata *nd) // OUT: stores result
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
|
||||
+ void **cookie
|
||||
+#else
|
||||
+ struct nameidata *nd
|
||||
+#endif
|
||||
+ ) // OUT: stores result
|
||||
{
|
||||
int ret;
|
||||
VMBlockInodeInfo *iinfo;
|
||||
diff --git a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c
|
||||
index acb2803..4811abd 100644
|
||||
--- a/vmblock-only/linux/inode.c
|
||||
+++ b/vmblock-only/linux/inode.c
|
||||
@@ -199,7 +199,9 @@ InodeOpReadlink(struct dentry *dentry, // IN : dentry of symlink
|
||||
*----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
|
||||
+static const char *
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *
|
||||
#else
|
||||
static int
|
||||
@@ -222,8 +224,12 @@ InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink
|
||||
goto out;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
|
||||
+ return *cookie = (char *)(iinfo->name);
|
||||
+#else
|
||||
nd_set_link(nd, iinfo->name);
|
||||
ret = 0;
|
||||
+#endif
|
||||
|
||||
out:
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
diff --git a/vmnet-only/vmnetInt.h b/vmnet-only/vmnetInt.h
|
||||
index 23b5d19..d129f7b 100644
|
||||
--- a/vmnet-only/vmnetInt.h
|
||||
+++ b/vmnet-only/vmnetInt.h
|
||||
@@ -78,8 +78,13 @@
|
||||
|
||||
extern struct proto vmnet_proto;
|
||||
#ifdef VMW_NETDEV_HAS_NET
|
||||
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
|
||||
# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
|
||||
- PF_NETLINK, _pri, &vmnet_proto)
|
||||
+ PF_NETLINK, _pri, &vmnet_proto, 1)
|
||||
+# else
|
||||
+# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
|
||||
+ PF_NETLINK, _pri, &vmnet_proto)
|
||||
+# endif
|
||||
#else
|
||||
# define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
|
||||
#endif
|
@ -1,16 +0,0 @@
|
||||
correctly initializes UID/GID values
|
||||
gets UID correctly in light of user namespace API
|
||||
origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
|
||||
|
||||
--- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100
|
||||
+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100
|
||||
@@ -135,7 +135,8 @@
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
- inode->i_uid = inode->i_gid = 0;
|
||||
+ inode->i_uid = GLOBAL_ROOT_UID;
|
||||
+ inode->i_gid = GLOBAL_ROOT_GID;
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
@ -1,12 +0,0 @@
|
||||
diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
|
||||
index f1f4b10..c43242f 100644
|
||||
--- a/vmmon-only/linux/hostif.c
|
||||
+++ b/vmmon-only/linux/hostif.c
|
||||
@@ -55,6 +55,7 @@
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/wait.h>
|
||||
|
||||
+#include <asm/apic.h>
|
||||
|
||||
#include "vmware.h"
|
||||
#include "x86apic.h"
|
@ -1,91 +0,0 @@
|
||||
diff --git a/vmblock-only/linux/file.c b/vmblock-only/linux/file.c
|
||||
index d7ac1f6..5499169 100644
|
||||
--- a/vmblock-only/linux/file.c
|
||||
+++ b/vmblock-only/linux/file.c
|
||||
@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
|
||||
typedef ino_t inode_num_t;
|
||||
#endif
|
||||
|
||||
-/* Specifically for our filldir_t callback */
|
||||
-typedef struct FilldirInfo {
|
||||
- filldir_t filldir;
|
||||
- void *dirent;
|
||||
-} FilldirInfo;
|
||||
-
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------------
|
||||
- *
|
||||
- * Filldir --
|
||||
- *
|
||||
- * Callback function for readdir that we use in place of the one provided.
|
||||
- * This allows us to specify that each dentry is a symlink, but pass through
|
||||
- * everything else to the original filldir function.
|
||||
- *
|
||||
- * Results:
|
||||
- * Original filldir's return value.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * Directory information gets copied to user's buffer.
|
||||
- *
|
||||
- *----------------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-static int
|
||||
-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir
|
||||
- const char *name, // IN: Dirent name
|
||||
- int namelen, // IN: len of dirent's name
|
||||
- loff_t offset, // IN: Offset
|
||||
- inode_num_t ino, // IN: Inode number of dirent
|
||||
- unsigned int d_type) // IN: Type of file
|
||||
-{
|
||||
- FilldirInfo *info = buf;
|
||||
-
|
||||
- /* Specify DT_LNK regardless */
|
||||
- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
|
||||
-}
|
||||
-
|
||||
-
|
||||
/* File operations */
|
||||
|
||||
/*
|
||||
@@ -166,11 +126,10 @@ FileOpOpen(struct inode *inode, // IN
|
||||
|
||||
static int
|
||||
FileOpReaddir(struct file *file, // IN
|
||||
- void *dirent, // IN
|
||||
- filldir_t filldir) // IN
|
||||
+ struct dir_context *ctx) // IN
|
||||
{
|
||||
int ret;
|
||||
- FilldirInfo info;
|
||||
+
|
||||
struct file *actualFile;
|
||||
|
||||
if (!file) {
|
||||
@@ -184,12 +143,10 @@ FileOpReaddir(struct file *file, // IN
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- info.filldir = filldir;
|
||||
- info.dirent = dirent;
|
||||
-
|
||||
- actualFile->f_pos = file->f_pos;
|
||||
- ret = vfs_readdir(actualFile, Filldir, &info);
|
||||
- file->f_pos = actualFile->f_pos;
|
||||
+ /* Ricky Wong Yung Fei:
|
||||
+ * Manipulation of pos is now handled internally by iterate_dir().
|
||||
+ */
|
||||
+ ret = iterate_dir(actualFile, ctx);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -237,7 +194,7 @@ FileOpRelease(struct inode *inode, // IN
|
||||
|
||||
|
||||
struct file_operations RootFileOps = {
|
||||
- .readdir = FileOpReaddir,
|
||||
+ .iterate = FileOpReaddir,
|
||||
.open = FileOpOpen,
|
||||
.release = FileOpRelease,
|
||||
};
|
@ -1,113 +0,0 @@
|
||||
diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
|
||||
index b21dd44..960c2aa 100644
|
||||
--- a/vmmon-only/linux/driver.c
|
||||
+++ b/vmmon-only/linux/driver.c
|
||||
@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = {
|
||||
#endif
|
||||
};
|
||||
|
||||
-static struct file_operations vmuser_fops;
|
||||
+static struct file_operations vmuser_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .poll = LinuxDriverPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = LinuxDriver_Ioctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = LinuxDriver_Open,
|
||||
+ .release = LinuxDriver_Close,
|
||||
+ .mmap = LinuxDriverMmap
|
||||
+};
|
||||
+
|
||||
static struct timer_list tscTimer;
|
||||
|
||||
/*
|
||||
@@ -357,27 +372,6 @@ init_module(void)
|
||||
spin_lock_init(&linuxState.pollListLock);
|
||||
#endif
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vmuser_fops, 0, sizeof vmuser_fops);
|
||||
- vmuser_fops.owner = THIS_MODULE;
|
||||
- vmuser_fops.poll = LinuxDriverPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#else
|
||||
- vmuser_fops.ioctl = LinuxDriver_Ioctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#endif
|
||||
- vmuser_fops.open = LinuxDriver_Open;
|
||||
- vmuser_fops.release = LinuxDriver_Close;
|
||||
- vmuser_fops.mmap = LinuxDriverMmap;
|
||||
-
|
||||
#ifdef VMX86_DEVEL
|
||||
devel_init_module();
|
||||
linuxState.minor = 0;
|
||||
diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
|
||||
index b12b982..40bd4cf 100644
|
||||
--- a/vmnet-only/driver.c
|
||||
+++ b/vmnet-only/driver.c
|
||||
@@ -165,7 +165,22 @@ static long VNetFileOpUnlockedIoctl(struct file * filp,
|
||||
unsigned int iocmd, unsigned long ioarg);
|
||||
#endif
|
||||
|
||||
-static struct file_operations vnetFileOps;
|
||||
+static struct file_operations vnetFileOps = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .read = VNetFileOpRead,
|
||||
+ .write = VNetFileOpWrite,
|
||||
+ .poll = VNetFileOpPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = VNetFileOpUnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = VNetFileOpIoctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = VNetFileOpUnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = VNetFileOpOpen,
|
||||
+ .release = VNetFileOpClose
|
||||
+};
|
||||
|
||||
/*
|
||||
* Utility functions
|
||||
@@ -476,28 +491,6 @@ init_module(void)
|
||||
goto err_proto;
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vnetFileOps, 0, sizeof vnetFileOps);
|
||||
- vnetFileOps.owner = THIS_MODULE;
|
||||
- vnetFileOps.read = VNetFileOpRead;
|
||||
- vnetFileOps.write = VNetFileOpWrite;
|
||||
- vnetFileOps.poll = VNetFileOpPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl;
|
||||
-#else
|
||||
- vnetFileOps.ioctl = VNetFileOpIoctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl;
|
||||
-#endif
|
||||
- vnetFileOps.open = VNetFileOpOpen;
|
||||
- vnetFileOps.release = VNetFileOpClose;
|
||||
-
|
||||
retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
|
||||
if (retval) {
|
||||
LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",
|
@ -1,65 +0,0 @@
|
||||
diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel
|
||||
index ab7a727..e3ec9d2 100644
|
||||
--- a/vmblock-only/Makefile.kernel
|
||||
+++ b/vmblock-only/Makefile.kernel
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
INCLUDE += -I$(SRCROOT)/include
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c, -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
|
||||
diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
|
||||
index ba343ee..861ea83 100644
|
||||
--- a/vmci-only/Makefile.kernel
|
||||
+++ b/vmci-only/Makefile.kernel
|
||||
@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
|
||||
|
||||
INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
obj-m += $(DRIVER).o
|
||||
|
||||
diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
|
||||
index 8770d1d..c4746c3 100644
|
||||
--- a/vmmon-only/Makefile.kernel
|
||||
+++ b/vmmon-only/Makefile.kernel
|
||||
@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE
|
||||
INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \
|
||||
-I$(SRCROOT)/vmcore
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, )
|
||||
|
||||
diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel
|
||||
index d1e3133..665d428 100644
|
||||
--- a/vmnet-only/Makefile.kernel
|
||||
+++ b/vmnet-only/Makefile.kernel
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
INCLUDE := -I$(SRCROOT)
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
|
||||
diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
|
||||
index b4629ee..264b8cb 100644
|
||||
--- a/vsock-only/Makefile.kernel
|
||||
+++ b/vsock-only/Makefile.kernel
|
||||
@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
|
||||
INCLUDE += -I$(SRCROOT)/linux
|
||||
INCLUDE += -I$(SRCROOT)/common
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )
|
||||
|
||||
|
@ -1,85 +0,0 @@
|
||||
diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile
|
||||
index 2b81323..746c8b8 100644
|
||||
--- a/vmblock-only/Makefile
|
||||
+++ b/vmblock-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmblock
|
||||
PRODUCT := ws
|
||||
diff --git a/vmci-only/Makefile b/vmci-only/Makefile
|
||||
index 8e9c5be..6ec828b 100644
|
||||
--- a/vmci-only/Makefile
|
||||
+++ b/vmci-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmci
|
||||
PRODUCT := ws
|
||||
diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
|
||||
index 5bd867b..91a83d4 100644
|
||||
--- a/vmmon-only/Makefile
|
||||
+++ b/vmmon-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmmon
|
||||
PRODUCT := @@PRODUCT@@
|
||||
diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile
|
||||
index d4eb73c..c7c6d38 100644
|
||||
--- a/vmnet-only/Makefile
|
||||
+++ b/vmnet-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmnet
|
||||
PRODUCT := @@PRODUCT@@
|
||||
diff --git a/vsock-only/Makefile b/vsock-only/Makefile
|
||||
index 93dd61d..9765696 100644
|
||||
--- a/vsock-only/Makefile
|
||||
+++ b/vsock-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vsock
|
||||
PRODUCT := ws
|
@ -1,24 +0,0 @@
|
||||
diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h
|
||||
index 7a56304..9ff4548 100644
|
||||
--- a/vmnet-only/compat_netdevice.h
|
||||
+++ b/vmnet-only/compat_netdevice.h
|
||||
@@ -47,6 +47,19 @@
|
||||
# define net_device device
|
||||
#endif
|
||||
|
||||
+/* it looks like these have been removed from the kernel 3.1
|
||||
+ * probably because the "transition" is considered complete.
|
||||
+ * so to keep this source compatible we just redefine them like they were
|
||||
+ * previously
|
||||
+ */
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)
|
||||
+#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev
|
||||
+ functions are available. */
|
||||
+#define HAVE_FREE_NETDEV /* free_netdev() */
|
||||
+#define HAVE_NETDEV_PRIV /* netdev_priv() */
|
||||
+#define HAVE_NETIF_QUEUE
|
||||
+#define HAVE_NET_DEVICE_OPS
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting
|
@ -1,13 +0,0 @@
|
||||
diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c
|
||||
index 79716bd..2dd83fe 100644
|
||||
--- a/vmblock-only/linux/control.c
|
||||
+++ b/vmblock-only/linux/control.c
|
||||
@@ -293,7 +293,7 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name
|
||||
|
||||
retval = i < 0 ? -EINVAL : blockOp(name, blocker);
|
||||
|
||||
- putname(name);
|
||||
+ __putname(name);
|
||||
|
||||
return retval;
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
diff -Naur a/linux/inode.c b/linux/inode.c
|
||||
--- a/vmblock-only/linux/inode.c 2013-10-03 04:29:47.471339204 -0400
|
||||
+++ b/vmblock-only/linux/inode.c 2013-10-03 04:31:56.607334636 -0400
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
/* Inode operations */
|
||||
static struct dentry *InodeOpLookup(struct inode *dir,
|
||||
- struct dentry *dentry, struct nameidata *nd);
|
||||
+ struct dentry *dentry, unsigned int flags);
|
||||
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
@@ -75,7 +75,7 @@
|
||||
static struct dentry *
|
||||
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
|
||||
struct dentry *dentry, // IN: dentry to lookup
|
||||
- struct nameidata *nd) // IN: lookup intent and information
|
||||
+ unsigned int flags) // IN: lookup intent and information
|
||||
{
|
||||
char *filename;
|
||||
struct inode *inode;
|
||||
@@ -221,7 +221,7 @@
|
||||
goto out;
|
||||
}
|
||||
|
||||
- ret = vfs_follow_link(nd, iinfo->name);
|
||||
+ nd_set_link(nd, iinfo->name);
|
||||
|
||||
out:
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
@ -1,23 +0,0 @@
|
||||
diff -ruN work.orig/vmblock-only/linux/control.c work/vmblock-only/linux/control.c
|
||||
--- work.orig/vmblock-only/linux/control.c 2013-11-02 18:05:39.960226399 +0100
|
||||
+++ work/vmblock-only/linux/control.c 2013-11-02 18:09:11.760231432 +0100
|
||||
@@ -208,17 +208,14 @@
|
||||
VMBlockSetProcEntryOwner(controlProcMountpoint);
|
||||
|
||||
/* Create /proc/fs/vmblock/dev */
|
||||
- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
|
||||
- VMBLOCK_CONTROL_MODE,
|
||||
- controlProcDirEntry);
|
||||
- if (!controlProcEntry) {
|
||||
+ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME, VMBLOCK_CONTROL_MODE, controlProcDirEntry, &ControlFileOps);
|
||||
+ if (controlProcEntry == NULL) {
|
||||
Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
|
||||
remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
|
||||
remove_proc_entry(VMBLOCK_CONTROL_PROC_DIRNAME, NULL);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- controlProcEntry->proc_fops = &ControlFileOps;
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,43 +0,0 @@
|
||||
Minor change the API, now it just gets passed flags instead of a pointer to the nameidata
|
||||
--- a/vmblock-only/linux/dentry.c 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmblock-only/linux/dentry.c 2015-02-24 03:58:06.038605919 +0300
|
||||
@@ -32,7 +32,11 @@
|
||||
#include "block.h"
|
||||
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
|
||||
+#else
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int);
|
||||
+#endif
|
||||
|
||||
struct dentry_operations LinkDentryOps = {
|
||||
.d_revalidate = DentryOpRevalidate,
|
||||
@@ -58,9 +62,12 @@
|
||||
*----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
-static int
|
||||
-DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
|
||||
- struct nameidata *nd) // IN: lookup flags & intent
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd)
|
||||
+#else
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags)
|
||||
+#endif
|
||||
+
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct nameidata actualNd;
|
||||
@@ -101,7 +108,11 @@
|
||||
if (actualDentry &&
|
||||
actualDentry->d_op &&
|
||||
actualDentry->d_op->d_revalidate) {
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
|
||||
+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
|
||||
+#else
|
||||
return actualDentry->d_op->d_revalidate(actualDentry, nd);
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
|
@ -1,94 +0,0 @@
|
||||
Minor change the API, now it just gets passed flags instead of a pointer to the nameidata
|
||||
Properly initializes UID/GID with repsect to namespaces
|
||||
Some changes the readlink/setlink APIs
|
||||
--- a/vmblock-only/linux/inode.c 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmblock-only/linux/inode.c 2015-02-24 03:58:06.039605762 +0300
|
||||
@@ -35,9 +35,15 @@
|
||||
|
||||
|
||||
/* Inode operations */
|
||||
-static struct dentry *InodeOpLookup(struct inode *dir,
|
||||
- struct dentry *dentry, struct nameidata *nd);
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
+static struct dentry *InodeOpLookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd);
|
||||
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
|
||||
+#else
|
||||
+static struct dentry *InodeOpLookup(struct inode *, struct dentry *, unsigned int);
|
||||
+static int InodeOpReadlink(struct dentry *, char __user *, int);
|
||||
+#endif
|
||||
+
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
#else
|
||||
@@ -49,12 +55,15 @@
|
||||
.lookup = InodeOpLookup,
|
||||
};
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
|
||||
static struct inode_operations LinkInodeOps = {
|
||||
+#else
|
||||
+struct inode_operations LinkInodeOps = {
|
||||
+#endif
|
||||
.readlink = InodeOpReadlink,
|
||||
.follow_link = InodeOpFollowlink,
|
||||
};
|
||||
|
||||
-
|
||||
/*
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
@@ -75,7 +84,11 @@
|
||||
static struct dentry *
|
||||
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
|
||||
struct dentry *dentry, // IN: dentry to lookup
|
||||
- struct nameidata *nd) // IN: lookup intent and information
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
+ struct nameidata *nd) // IN: lookup intent and information
|
||||
+#else
|
||||
+ unsigned int flags)
|
||||
+#endif
|
||||
{
|
||||
char *filename;
|
||||
struct inode *inode;
|
||||
@@ -135,7 +148,12 @@
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
inode->i_uid = inode->i_gid = 0;
|
||||
+#else
|
||||
+ inode->i_gid = make_kgid(current_user_ns(), 0);
|
||||
+ inode->i_uid = make_kuid(current_user_ns(), 0);
|
||||
+#endif
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
||||
@@ -177,7 +195,12 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- return vfs_readlink(dentry, buffer, buflen, iinfo->name);
|
||||
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
|
||||
+ return vfs_readlink(dentry, buffer, buflen, iinfo->name);
|
||||
+#else
|
||||
+ return readlink_copy(buffer, buflen, iinfo->name);
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
|
||||
|
||||
@@ -221,7 +244,7 @@
|
||||
goto out;
|
||||
}
|
||||
|
||||
- ret = vfs_follow_link(nd, iinfo->name);
|
||||
+ nd_set_link(nd, iinfo->name);
|
||||
|
||||
out:
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
@@ -230,3 +253,4 @@
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
+
|
@ -1,57 +0,0 @@
|
||||
The API to create proc entries now takes the file ops structure directly, instead of being set after the fact
|
||||
Using new __getname/__putname API
|
||||
--- a/vmblock-only/linux/control.c 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmblock-only/linux/control.c 2015-02-24 03:58:06.038605919 +0300
|
||||
@@ -208,9 +208,11 @@
|
||||
VMBlockSetProcEntryOwner(controlProcMountpoint);
|
||||
|
||||
/* Create /proc/fs/vmblock/dev */
|
||||
- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
|
||||
- VMBLOCK_CONTROL_MODE,
|
||||
- controlProcDirEntry);
|
||||
+ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
|
||||
+ VMBLOCK_CONTROL_MODE,
|
||||
+ controlProcDirEntry,
|
||||
+ &ControlFileOps);
|
||||
+
|
||||
if (!controlProcEntry) {
|
||||
Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
|
||||
remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
|
||||
@@ -218,7 +220,10 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
controlProcEntry->proc_fops = &ControlFileOps;
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -287,18 +287,24 @@ ExecuteBlockOp(const char __user *buf,
|
||||
int i;
|
||||
int retval;
|
||||
|
||||
- name = getname(buf);
|
||||
+ name = __getname();
|
||||
if (IS_ERR(name)) {
|
||||
return PTR_ERR(name);
|
||||
}
|
||||
|
||||
+ i = strncpy_from_user(name, buf, PATH_MAX);
|
||||
+ if (i < 0 || i == PATH_MAX) {
|
||||
+ __putname(name);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
|
||||
name[i] = '\0';
|
||||
}
|
||||
|
||||
retval = i < 0 ? -EINVAL : blockOp(name, blocker);
|
||||
|
||||
- putname(name);
|
||||
+ __putname(name);
|
||||
|
||||
return retval;
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
Hushes a warning
|
||||
--- a/vmmon-only/linux/driver.c 2015-02-07 03:54:16.000000000 +0300
|
||||
+++ c/vmmon-only/linux/driver.c 2015-02-24 03:58:06.042605293 +0300
|
||||
@@ -1328,7 +1328,9 @@
|
||||
*-----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
-__attribute__((always_inline)) static Bool
|
||||
+#include <linux/compiler-gcc.h>
|
||||
+
|
||||
+__always_inline static Bool
|
||||
LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
|
||||
{
|
||||
TSCDelta tscDelta;
|
@ -1,41 +0,0 @@
|
||||
replaces usage of vfs_readdir with iterate_dir. origionally found here:
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=508204
|
||||
|
||||
diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only/linux/file.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2014-04-26 10:58:03.062635343 -0400
|
||||
@@ -166,11 +166,9 @@
|
||||
|
||||
static int
|
||||
FileOpReaddir(struct file *file, // IN
|
||||
- void *dirent, // IN
|
||||
- filldir_t filldir) // IN
|
||||
+ struct dir_context *ctx)
|
||||
{
|
||||
int ret;
|
||||
- FilldirInfo info;
|
||||
struct file *actualFile;
|
||||
|
||||
if (!file) {
|
||||
@@ -184,11 +182,8 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- info.filldir = filldir;
|
||||
- info.dirent = dirent;
|
||||
-
|
||||
actualFile->f_pos = file->f_pos;
|
||||
- ret = vfs_readdir(actualFile, Filldir, &info);
|
||||
+ ret = iterate_dir(actualFile, ctx);
|
||||
file->f_pos = actualFile->f_pos;
|
||||
|
||||
return ret;
|
||||
@@ -237,7 +232,7 @@
|
||||
|
||||
|
||||
struct file_operations RootFileOps = {
|
||||
- .readdir = FileOpReaddir,
|
||||
+ .iterate = FileOpReaddir,
|
||||
.open = FileOpOpen,
|
||||
.release = FileOpRelease,
|
||||
};
|
@ -1,53 +0,0 @@
|
||||
simply remove the code for Filldir since it is no longer used with the new
|
||||
iterate_dir API
|
||||
|
||||
diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c
|
||||
--- vmblock-only/linux/file.c 2014-10-07 23:22:46.832469618 -0400
|
||||
+++ vmblock-only.new/linux/file.c 2014-10-07 23:24:35.276472720 -0400
|
||||
@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
|
||||
typedef ino_t inode_num_t;
|
||||
#endif
|
||||
|
||||
-/* Specifically for our filldir_t callback */
|
||||
-typedef struct FilldirInfo {
|
||||
- filldir_t filldir;
|
||||
- void *dirent;
|
||||
-} FilldirInfo;
|
||||
-
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------------
|
||||
- *
|
||||
- * Filldir --
|
||||
- *
|
||||
- * Callback function for readdir that we use in place of the one provided.
|
||||
- * This allows us to specify that each dentry is a symlink, but pass through
|
||||
- * everything else to the original filldir function.
|
||||
- *
|
||||
- * Results:
|
||||
- * Original filldir's return value.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * Directory information gets copied to user's buffer.
|
||||
- *
|
||||
- *----------------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-static int
|
||||
-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir
|
||||
- const char *name, // IN: Dirent name
|
||||
- int namelen, // IN: len of dirent's name
|
||||
- loff_t offset, // IN: Offset
|
||||
- inode_num_t ino, // IN: Inode number of dirent
|
||||
- unsigned int d_type) // IN: Type of file
|
||||
-{
|
||||
- FilldirInfo *info = buf;
|
||||
-
|
||||
- /* Specify DT_LNK regardless */
|
||||
- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
|
||||
-}
|
||||
-
|
||||
-
|
||||
/* File operations */
|
||||
|
||||
/*
|
@ -1,46 +0,0 @@
|
||||
removing the no longer existing second parameter to sk_data_ready
|
||||
doesn't seem it ever served a purpose.
|
||||
|
||||
diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
|
||||
--- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400
|
||||
@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
vsk = vsock_sk(sk);
|
||||
PKT_FIELD(vsk, sentWaitingRead) = FALSE;
|
||||
#endif
|
||||
-
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
|
||||
--- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400
|
||||
@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
struct sockaddr_vm *dst, // IN: unused
|
||||
struct sockaddr_vm *src) // IN: unused
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
|
||||
}
|
||||
|
||||
/* See the comment in VSockVmciNotifyPktSendPostEnqueue */
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
return err;
|
@ -1,25 +0,0 @@
|
||||
Hushes some (but not all warnings) relating to redefinitions of this define
|
||||
--- a/vmci-only/shared/vm_device_version.h 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmci-only/shared/vm_device_version.h 2015-02-24 03:58:06.041605450 +0300
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#ifndef PCI_VENDOR_ID_VMWARE
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_VGA 0x0711
|
||||
--- a/vmnet-only/vm_device_version.h 2015-02-07 03:54:16.000000000 +0300
|
||||
+++ c/vmnet-only/vm_device_version.h 2015-02-24 03:58:06.044604981 +0300
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#ifndef PCI_VENDOR_ID_VMWARE
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_VGA 0x0711
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue