# ChangeLog for app-admin/sysklogd
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/ChangeLog,v 1.101 2014/11/29 19:43:48 maekke Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/ChangeLog,v 1.102 2014/12/18 13:03:07 polynomial-c Exp $
+
+ 18 Dec 2014; Lars Wendler <polynomial-c@gentoo.org>
+ -sysklogd-1.4.2_pre20061230-r2.ebuild, -sysklogd-1.5-r2.ebuild,
+ -sysklogd-1.5-r3.ebuild, -files/sysklogd-1.4.1-accept.patch,
+ -files/sysklogd-1.4.1-caen-owl-klogd-drop-root.diff,
+ -files/sysklogd-1.4.1-caen-owl-syslogd-bind.diff,
+ -files/sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff,
+ -files/sysklogd-1.4.1-ksym-headers.patch,
+ -files/sysklogd-1.4.1-punt-SO_BSDCOMPAT.patch,
+ -files/sysklogd-1.4.1-querymod.patch, -files/sysklogd.rc6,
+ -files/syslog.conf, -files/syslog-cron, -files/syslogd-listfiles,
+ -files/syslogd-listfiles.8:
+ Removed old (vulnerable versions).
29 Nov 2014; Markus Meier <maekke@gentoo.org> sysklogd-1.5.1.ebuild:
arm stable, bug #524058
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
-AUX sysklogd-1.4.1-accept.patch 292 SHA256 b0aca8d3a1c3421348f74be265aa4c9b2528c9114bd22a0b849a9efcef37e1d3 SHA512 44ee25258c2e3b5093cb0de4093ce5180f90aa01e58dc2e6f8a3216ebfacc6d27c85d64d3fff2a620a139122af087b20c662ad4005dbef1d8eaaebc02643386b WHIRLPOOL 5bc71d8fd5f966f9030f9328ca18f07c07172da13713fb6b219bd22743f9604226d2bea25bb9268a2cc554ac5d4435e4f5818fe62ad7cde567d38829eac5dfac
-AUX sysklogd-1.4.1-caen-owl-klogd-drop-root.diff 4320 SHA256 c09d92c25b9c99b9dc16aee67fdb59bb4f97784a8552eae92f53b3fe5aa3772e SHA512 1cf1460bc09d17a99965d920e9ca02b1ea4930ea20f35f999968fa510e2cdf5b9020602a4241e78fcab36f046e55a0a145ec68177acc42ec43041fa637de9a1c WHIRLPOOL e637ffc88ccaed9b03ad137c56f99d051619a5824bd82b281a295c3cb62ad17386b065bb06587b48cf56a85af13cc3b926fc661cf5c089264bc8ca752f470be9
-AUX sysklogd-1.4.1-caen-owl-syslogd-bind.diff 2844 SHA256 0ffbf96cc96e6502ddfaedd517520966de02411059b21dfe092819772279173b SHA512 a8f027d8ac2c3bc8aa7144dde36b1739bb0a0f28f2b67d43563175a96792e093f66cb10db9ecee375df2485470d9c82a360cda4f85d0ac8bc55c5d920441175d WHIRLPOOL ac3840e0f1853923cfd777397b7309d166a0646cfa9f56ca88be0b4b8db8e2d07bf0947bdbb149edb3bd627aafaf1e21a2e3db694746f0999dc3d7d89ccfba2a
-AUX sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff 2907 SHA256 0f08fecee20d69021dce3b9dc2b901c4509f9501f804f0fd88445e7751d9a16a SHA512 a9521abb0ac911b56f8871bd65b453d0873511a8244a7cc2e3eedb8bacdd16a8dbcadd492c8c3f2c77924f840d12764ae7d80c6251c17a64bf493f5b4f453b52 WHIRLPOOL 03b9747c55e727e50f827a5b773910166fd9f9fe8d18d3c04e987ae3a391ba799c018a3bcb3876190d879b7c8c85abb7e8e880cd42a598bdd44c3d095cb06d83
-AUX sysklogd-1.4.1-ksym-headers.patch 481 SHA256 cf5f2673f303e556dbe816c818802e71d04e566d5b2f2683ad19857650ecf230 SHA512 c843580560f4af49d0960ce9d856ca7a55bdd30fc0f90a4d711a38607fb3d553d3d8f8acb7a071b06424c85cf5e96436f95fb857570b60620fec50fec43b6a90 WHIRLPOOL eabe79b68eab98ec270875c37699e42e69d4cc180091f9b7acd1f19481e3166316923178548d8f1e21ec9f12e19e2d4af7834890a27b224bd60461bfae32900d
-AUX sysklogd-1.4.1-punt-SO_BSDCOMPAT.patch 641 SHA256 f08817a6974dbb3d331a4a6f1793a213862b16feff16bddd5ba320d9b63bd04c SHA512 134ba85b76eff356444f275d9644ebd2ae736786e31900d3012a6d5b9b63863bd905adaadc16cca7cf0ce6c3a4ddcbe50a2cc1b9b0e9860ddb676e10742091e2 WHIRLPOOL 5e8b06d03329b731c425f9c9c7133c6dc17183ae3ea0dfb0601f5c99bd53ab828101ce9b77541a734b41a0b751be718e9401af0328e36ba92e609ef503fd01eb
-AUX sysklogd-1.4.1-querymod.patch 10599 SHA256 a6033fd938b5febacad4f8ce056a3e17ed8942e861849744730e266b0ede9770 SHA512 ed82f43a5eccfa44e195f2910a2f87f80530b2d448ab7a7350cef927a93ec59f650a107c6bbf5ea027228adc22d049501067e38909c79c0b2a1a59cade30e1b9 WHIRLPOOL 910c1a3974529f0abfbe0d7786f3da45c117a6898c03213d86854900473d0042c78f3c54f9873ff5c7426626670a08410f8ad80ff6774b8d07222f76cbfa329d
AUX sysklogd-1.4.2-caen-owl-klogd-drop-root.diff 4315 SHA256 f316586561ec40eb185bb83b6e785185b9e33b8290767336cdab626767f88060 SHA512 1a5cf4a5dec3ecaa8258110820b64d6a8e1e768e841a3f0ade8d7827b91e73c2d8a49a9d8b74566373133627af88dd46d14e83ae1940a0b2e6cd6fe8710a7e7a WHIRLPOOL 39768749718213a0e7ff923a0d94a729b4686e543fc1c3d8b32d0c8b125f8d4e03ca5e95c21c4dcfcc05ba57878d7a8deca534b4cc8b152c07e5b98b409824cf
AUX sysklogd-1.4.2-caen-owl-syslogd-bind.diff 3242 SHA256 1818aee4cb0d501542721468199e376b73c71d8635b178b6a8d7bd6aff49aa9d SHA512 995c240fc54681445f68f7681173e1e1860aaab309edc8ac3531881c63c8889f009a7fd622d37145e80fe187410b80c28554140d6a6660134ca87a1c8d13570d WHIRLPOOL c750d7ebb851a92a03c2530d5d47aa4fd51f8c759a97a2ca684d8a64416423b13eeb6f014cabea5125892b6ed48ba1f0f6e90baf6e88af21f659829803dadaa6
AUX sysklogd-1.4.2-caen-owl-syslogd-drop-root.diff 3245 SHA256 0105d924d9451531645a9957ec7d40228cf2a1cb4ccdf3d89ff255dfec0841b9 SHA512 87865e069f9c78990660cf29a37ba1ded7cc078ea8f05af63fc6068c470d1881181387477dccb830d96af05f352959181619380d61afccf3a11d213372e68852 WHIRLPOOL 288286a3cef3312eb26ced30f6ecc2b8821bfd1042b08b8cd6af3ab82e8f6ff2a638eb55c51e78fb874b12ed3834ebeccf0fe7ba5f65b01233660781732f7165
AUX sysklogd-1.5-syslog-func-collision.patch 2273 SHA256 e035765eb6d7f013d42d872dc0561deac52dccaf00fa26e21504891b3e0ae14a SHA512 1fc3e215a45d95dd11ca2d1713f9a3f416e82b9d60127da62d904071f02ec1e934aa099a20d09a7c1eea37f9d93dbaa0e0ce8118af9b58b92d781cc26659e5fc WHIRLPOOL 2d1e25a2cc1ca3154d831db080036ca4c4de7a4c7958fd65cb4c246a313bd81076b95d8195f2448c7728daacb133983bff1da81a8138e7509d6a56e0ee0717ad
AUX sysklogd.confd 113 SHA256 11a1eeb9edd09639d5143227bada137945822b23c5abb88fec5ebaef064b991d SHA512 4553d85e93fb07e7d4a6ed0b47a3ea2044a5605adaac05223724c32a60bb8ae96d99ca95965c3931640beef234e976c1141b83f603aa8c6e8aca1dec20ca807c WHIRLPOOL 4785cb1036e25a15a11de75b68e46138563ed0a610ccc70454807e8c0b22235e40779910157ad5dce67d98d661b9a614a22cbf7c4f76db9df15cbafdb9733bfa
AUX sysklogd.logrotate 402 SHA256 2e864ce0e5a2ca2c7964f7dff0fe1a76a5dcb90d237c0df7c19fa9cc6b5cb5e4 SHA512 655b25bc92c6d73807b11b0d64f97d619c067efb9fc16ee9c2aba5ba349b13991a22c83e7adaafb95e17578b17992992cab16d18b7bdb2be7d4fc876df5824f7 WHIRLPOOL b03ff6ecdf95fc164e161389e51bcf6c38760815dbafab711f7e2a5720d939fb54dbef930d97c7d752262d5dcf840c2b9296c2f02190730083947bf682a958d9
-AUX sysklogd.rc6 1575 SHA256 d62ddc4d2750dca70c577f497bde69e30d9d258f709326aa4ecb8d75995f78a9 SHA512 ec578ce4930725a6270a977a00ad48c80d5f8cb3690855a4dae792bef87f11cfa28193fa8f71c281c7d709a267ed71c92e8d4e917b09d4e00ef4d36ea3c4355d WHIRLPOOL 011c91cea0a3de86afc703da68f4fe52e74ad58fc722badb5c2d2db30007b4fc43c57fd7abf806194e41ad5ba31a0f9dd4aefd0d75fcc735f87c61acfd7945f8
AUX sysklogd.rc7 1564 SHA256 c0d23c3c09c7b71510a6b6571c2729b7d9b6a7e1bfbc224da8750d99f94b3907 SHA512 40d8b22fd56e8f5334a4d238e70099f722fec08cc651b719f12a28e90c53e046b4ce64b6254cf381c989900125cf8caa742fb3fdfbe979988a1f466633cddeaa WHIRLPOOL 3d737320adb126a24688c5dcc5f4cdedf07f60da6fbfff8d7c929a86bd364dd5af69e85f89d1c2e3ac1677260b9c8fba998829f6b055294492fc436c92062e6a
-AUX syslog-cron 658 SHA256 cdf96a7283b8fcf51797ff3483393b25f658979015b46aa570c22da719b7bf8c SHA512 fc00efe053f1b8759115a998dc45ffa3f42c40b1f9752b5ef1571cbd889e173f45b7d23ab4897a5b2e418ab82206c583d18782a55d318fa6957577c3302818ab WHIRLPOOL 77e9a3c8c2af1c75cbc9851bd15e8b26b4d92a40501b3c835e354d5cd14140521b714272865337435c8df50bcb20a7f379e9e9229ded6874bb01644a963fc316
-AUX syslog.conf 2269 SHA256 c2e7ad7d19f313ebfc7d9dcbc7c58566d8985fd15212f31f548f320c4a94bdc5 SHA512 23e96e3c0d9df35de8deb54d280a01960cacc7dfb3bc00d6188f0f05a4d5fb0adf6abc64e448385e5cb448adb10515d6b5190520b777f18649b2705385d5a655 WHIRLPOOL dfa04aad78bf500171f7437c0e3d5170f7e932ba6a639df7a9093b31859efa414fe78e5fa474a03538a340ed77cbd2976944bf1b6182d140f21073590ade186e
-AUX syslogd-listfiles 2759 SHA256 8622d5efba7bcbaa912f689cde94d6d331dfd1b53701be7bf6bfc06e57fe3a98 SHA512 16b9d48b0fadb473b620726caa6072b199168621b946a9a630182cf05bbec775cab681b6071b39f1391de068d531581c548cabcc3cb4b6d247969b87b92ae2bb WHIRLPOOL 6e7c14b6ece4d487243d1351da767ebf96b0dc732fa1b7cb28c3472ead2217f28184c42da5ac79489554e5c71258b299a14bb1c982f46ff05d6d5a962595be03
-AUX syslogd-listfiles.8 2540 SHA256 e8e624d7efef7e2c74be3f87cf3708fe25334feb6e759705d1560001df81c145 SHA512 bc172f3e9bd9375631fda7df45838b0f893b599d61958197e006f4a4eb718bec93f7e4d6b4593972d758786de25980e93212b72c702e432515c90664b183b1c2 WHIRLPOOL 6d1d8999c257167055225e072a51ca2b14e619269716f0afdf3138029b0d68d5da41d592793707d58ad3e606d4909a9d3edbeed63e7f45ddd2126ea06a35af89
-DIST sysklogd-1.4.1-cvs-20061230.patch.bz2 12584 SHA256 4ca2fd34dacd1c10018b6a786c24faa392d6fef57607e240e3bcaf925231e2b2 SHA512 30c6577638b5591473ec8c1d81c4f5932beccdabfcb94c6aaf5a149eb7502078f67e79fed48bb8d6215f5d4a57504aebcbafc648f4bcd3ee5c35cf0495fb2eeb WHIRLPOOL dacbf8481f72dd535d94a4348f4f188666e25e2822f965071019ac970d599f3d4117515670815aef43e3f866102ac38a1c47f9c0c582cf4210e8be054c1975c3
-DIST sysklogd-1.4.1.tar.gz 81784 SHA256 44357e0fae8c8f0e315bf130b4e86a4f96b91d66eeb4e473def4ce8336fff102 SHA512 01924f9b9c72e3a0ee1a530eb8bd39779ca52dfabb62725085c6d3d71898777e6a47dae1c104ad6d376064c66b9dada9e3ba27e98ba92915a0875e789d8b2c8b WHIRLPOOL 2a275609c70af99fd8f72de29823c61f338322062d9ea8895dd6f4e906d01690546d76d5733035f052715b6e09f35e4af5e0d26cf3a688cb6b9e0b7bd88d8ef9
DIST sysklogd-1.5.1.tar.gz 90011 SHA256 5166c185ae23c92e8b9feee66a6e3d0bc944bf673112f53e3ecf62e08ce7c201 SHA512 a72196a1a172d25be1c4791ef6256fe71fa2ba8c1383d230e646e93f8a65c3a57c535189726325da4c792fdb2e9cb119bba43c878816a8e78e78189fd32b12b7 WHIRLPOOL a9be298553e89d1b61f3ac4d5cfc6bd5662ab84d9120adfcdd6b8aaf5fe4d54d9e34ac19dab5c1738578af302597e424e95fc68345a1855e3be2760b093037ea
-DIST sysklogd-1.5.tar.gz 86557 SHA256 6169b8e91d29288e90404f01462b69e7f2afb1161aa419826fe4736c7f9eb773 SHA512 19ef104c03a8c87ea30c811fe54bb30e7c73a2834a83c8720841f0d553d41508dbf052d4e3dd9ea929eedff31e9fbb79f8c05546f48005b74f01ebf2a57e48f7 WHIRLPOOL 29c44d78bed58224291403e6ff26fd5c50d9d1f774df2f8560ad5f24fe0dd3ac6c232ac19489c96eeaa1d2a6171a735f5b8f0c9e5734c88e9d03e98d1ac08e48
DIST sysklogd_1.5-6.diff.gz 25677 SHA256 1c5366865bd058530071a6071c317ab3562f33f4b0f3a934878cb97059fde20a SHA512 816961a835a43057569f62fd20d9f7b5e0bfcfcb173b68947457708504db3ce47e635956c8a9564f9bd577d8f3c49dfc725d321dfd3370b2de918363c30f838e WHIRLPOOL 0c330ed79b5a688ddec0a80e6333c181cfa297350ec9559166e5828d715a305b5b52eee5f7cc95f7b4ebccf03f21de594d428fa2b2ef117bd0a1630684c71364
-EBUILD sysklogd-1.4.2_pre20061230-r2.ebuild 1845 SHA256 cc7634ea2bd49a1ef042994cb60de73110dee195154778559d733dee228a3a91 SHA512 ab4e735f22211581302b5638c2aa057f3cec2a05081f9f2cf61aa7946a601d9c4d4637e496ae63f2f9bf56ae7a701d6574ab3df74f320e6292f37cf72d382082 WHIRLPOOL 6ad876624663cdf7fcb46a30b61fa3bccfb4abe5ec7d33b5e0f11e571f965c7da4b54f56721907f63d28122ea532db62e766ebd6a0f295bfd3628e7f5ef9790f
-EBUILD sysklogd-1.5-r2.ebuild 1679 SHA256 6f5889a86bdc4cd06372ef10e48fede5f25a52dfa99f82ad6ae38cd96262fba4 SHA512 734fa36fc257593aee5e5a1998aa006c780e0e3b6491ffb91e7b7ab08b33c6f0bf202b729262b56b0c2c0bf5340739d4339b6c5b1b50d26f45346485935d90ce WHIRLPOOL 828a731f2efdf8a57fe5b68eb24f9a39a827b9f87089cbc7a17e898e83cd39b63793d7d4ec835b6239da98ac78dac6a5fc558177255a7d8b4f51f2190f516377
-EBUILD sysklogd-1.5-r3.ebuild 1812 SHA256 2ebfed074a584239bf90e02b33b446792a47e45570c646e120133a6fff87aefa SHA512 1d5f5260f0f6eda0ab6f2a3dd0dbff158ba19d7a9523aa17847856fa3da637c1b9fc35f2d28096c1fb8f2013c36f9f8fc9f2be72c5b6e686bb42d2165be8622d WHIRLPOOL fcb8b04d3fcc933d9f7d3aef1e58fa70a609253b5378f06ac1fa617a8736ac92cc48cfcb37e6f83fd71aa509ed4fc4011b57976a9764412219337f7fb4909346
EBUILD sysklogd-1.5.1.ebuild 1756 SHA256 ccd55488b98641ad85c7653999c13133756a1695f06384caff2e9b7980078878 SHA512 de9ea75f2b0db45c8da603abd27ae5cad1b5723383bc1d2f07c38e484a6bf19274d4c47be3d4841be75b02f5606f74e7dbed8344064afa52bc41ef3c034257ac WHIRLPOOL 69d1a882aa27ee3183f68c1f8fbfefef9409c4b1dd865c508f753c037946c5bffd5fb81f3a6ee329f297ca0fe642f254ad6825606e465e7cdcdea19daad4181a
-MISC ChangeLog 14992 SHA256 c1b7370b8d8e0ba2d9517e5c4d83a558f884beff9ed8bdec2a2844f269e0c26b SHA512 3940e2cfb1abccd9d46bb7b96eb824d93861cbd0ffea16ecf8574723cf33c4ea4547fc0eff31473e072925f52286b31aeeeecfaab5245541a1f25c1074340567 WHIRLPOOL 36d4338da0bc2ccdbaa4961bc82f43cfecd094098a4a54b941c8a116ff894b7067e0946128fc34eec56c288de5f12b8cbe1e16b7eef45d17de2862e8ff06743e
+MISC ChangeLog 15635 SHA256 cfccc77a19c2729be872db0550b7e0f67c97a659803f2c82edf724c4622a9dd8 SHA512 51b47993682d6e95eccb280d1287f434c0571b92d81bfb12fa27bac13fd44d5736b3c895725ab7787b1a1701bd4ceb373e7a85483518c5f365c2910309694d73 WHIRLPOOL efd9b53f4b75b728f913efbf91e8921618bf85cb59c0bf7eb0db726fc4645740c75b30e89305aa090efabd74109fd1aa69fc1688f21d1b3b3efad7e7cd02c108
MISC metadata.xml 286 SHA256 1da9a105e361faa4f82b5a309461857cdaa116af0f58c2276852f1241f637c2d SHA512 0341cc7b590ecaf8f1f03f28ff80adb2af3d429879c0b7eca048bbf87e11fe72f7ef9b76ecd3899f097df3443a3df48c1c447f2c9f51affa14f3406b4d5a993b WHIRLPOOL 91d57b8c23199b941cccd933b6e35f880072aba50305e5bf8d16b3d1e7aca4d0f78068859a562786dc6381984fbc0f9ba37f2a1de86d2db3b1a10af7627d41bb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iEYEAREIAAYFAlR6IfcACgkQkKaRLQcq0GJXjgCfVm1FicQk+HYuf6T1w4+x+4rg
-xgcAn3/X/W8Tw08oHkyzrhwsDxboOF9m
-=LNn3
+iQIcBAEBCAAGBQJUktCMAAoJEPiazRVxLXTFqZ4P/iLPCt7Er/Bp0+/PLEvCQmOE
+de0PUMvcmyhyx3jklKYGZ8+R2r1MoDkrCZgrUO8B/iZsax+daKBMkHUshdccNRLh
+Xgwl804KLFCIh64fitkxXjZu30LfqVIYGq9omYEfnBwCH1qHH2rruaVu5XujSEJB
+c24Yqz1DdtvOqKOo2WMhcqQRSvcnBUL7Yt3MKhZxMCpTNAjjiQoAyI5Tn9pXlBGm
+z06lIwNmTPGnxu+WgCTu1IjAWOx0hNHh23SqS+zDLvkb4gx1rL3dhIjXmxa1UbDj
+TK1kDHqzWk1sca6Jarn0NdxmWC0OJfejdimn3tga9t849B4oOJrgRdSVbv3GNkwT
+OsXHrz2PSlrJ0q+SMGGinZtU8Ec1OpaAkvBqpwLIE0pGH/ZPYgVOvSwjGhGLKTHq
+N8HGszP1bEsjwNYeHldXBrfYyqOE76aFV0X4XpK0Dbx61HCPJxefC9+ZT5sI/d7/
+i4rpKTg/4ed3jhmatQswaVZnfC0EUxhk/w/ayf/s2UIwSDyZ5jGUgfAv9RYxDLY7
+rabB6I26shsEg4XzLsRr8YfpzNMx0XZevMAAzKdILngQF4czGfs9dSXAxdU7fIMx
+MI9H8//H4ZF2onITE7hXxkWp/0YfmWi5aUNhYuvRd+ePmAeNxubVKk/bAQK9y2tI
+R+Cxb5PxGg4TZn0e5gS4
+=mCgk
-----END PGP SIGNATURE-----
+++ /dev/null
-accept/recvfrom take pointers to socklen_t's
-
-http://lists.infodrom.org/infodrom-sysklogd/2006/0011.html
-
---- syslogd.c
-+++ syslogd.c
-@@ -841,7 +841,7 @@
- int len, num_fds;
- #else /* __GLIBC__ */
- #ifndef TESTING
-- size_t len;
-+ socklen_t len;
- #endif
- int num_fds;
- #endif /* __GLIBC__ */
+++ /dev/null
-diff -Naur sysklogd-1.4.1-orig/klogd.8 sysklogd-1.4.1/klogd.8
---- sysklogd-1.4.1-orig/klogd.8 2005-03-11 11:12:09.000000000 -0500
-+++ sysklogd-1.4.1/klogd.8 2005-10-17 23:47:41.615009160 -0400
-@@ -3,6 +3,7 @@
- .\" Sun Jul 30 01:35:55 MET: Martin Schulze: Updates
- .\" Sun Nov 19 23:22:21 MET: Martin Schulze: Updates
- .\" Mon Aug 19 09:42:08 CDT 1996: Dr. G.W. Wettstein: Updates
-+.\" Thu Feb 17 2000: Chris Wing: Unprivileged klogd feature
- .\" Fri Mar 11 17:11:46 CET 2005: Martin Schulze: sysctl updates
- .\"
- .TH KLOGD 8 "11 March 2005" "Version 1.4" "Linux System Administration"
-@@ -18,6 +19,12 @@
- .RB [ " \-f "
- .I fname
- ]
-+.RB [ " \-u "
-+.I username
-+]
-+.RB [ " \-j "
-+.I chroot_dir
-+]
- .RB [ " \-iI " ]
- .RB [ " \-n " ]
- .RB [ " \-o " ]
-@@ -53,6 +60,20 @@
- .BI "\-f " file
- Log messages to the specified filename rather than to the syslog facility.
- .TP
-+.BI "\-u " username
-+Tells klogd to become the specified user and drop root privileges before
-+starting logging.
-+.TP
-+.BI "\-j " chroot_dir
-+Tells klogd to
-+.BR chroot (2)
-+into this directory after initializing.
-+This option is only valid if the \-u option is also used to run klogd
-+without root privileges.
-+Note that the use of this option will prevent \-i and \-I from working
-+unless you set up the chroot directory in such a way that klogd can still
-+read the kernel module symbols.
-+.TP
- .BI "\-i \-I"
- Signal the currently executing klogd daemon. Both of these switches control
- the loading/reloading of symbol information. The \-i switch signals the
-diff -Naur sysklogd-1.4.1-orig/klogd.c sysklogd-1.4.1/klogd.c
---- sysklogd-1.4.1-orig/klogd.c 2004-04-29 09:29:03.000000000 -0400
-+++ sysklogd-1.4.1/klogd.c 2005-10-17 23:46:05.200556847 -0400
-@@ -261,6 +261,8 @@
- #include <stdarg.h>
- #include <paths.h>
- #include <stdlib.h>
-+#include <pwd.h>
-+#include <grp.h>
- #include "klogd.h"
- #include "ksyms.h"
- #ifndef TESTING
-@@ -311,6 +313,9 @@
- int debugging = 0;
- int symbols_twice = 0;
-
-+char *server_user = NULL;
-+char *chroot_dir = NULL;
-+int log_flags = 0;
-
- /* Function prototypes. */
- extern int ksyslog(int type, char *buf, int len);
-@@ -531,8 +536,9 @@
- * First do a stat to determine whether or not the proc based
- * file system is available to get kernel messages from.
- */
-- if ( use_syscall ||
-- ((stat(_PATH_KLOG, &sb) < 0) && (errno == ENOENT)) )
-+ if (!server_user &&
-+ (use_syscall ||
-+ ((stat(_PATH_KLOG, &sb) < 0) && (errno == ENOENT))))
- {
- /* Initialize kernel logging. */
- ksyslog(1, NULL, 0);
-@@ -980,6 +986,27 @@
- }
-
-
-+static int drop_root(void)
-+{
-+ struct passwd *pw;
-+
-+ if (!(pw = getpwnam(server_user))) return -1;
-+
-+ if (!pw->pw_uid) return -1;
-+
-+ if (chroot_dir) {
-+ if (chroot(chroot_dir)) return -1;
-+ if (chdir("/")) return -1;
-+ }
-+
-+ if (setgroups(0, NULL)) return -1;
-+ if (setgid(pw->pw_gid)) return -1;
-+ if (setuid(pw->pw_uid)) return -1;
-+
-+ return 0;
-+}
-+
-+
- int main(argc, argv)
-
- int argc;
-@@ -997,7 +1024,7 @@
- chdir ("/");
- #endif
- /* Parse the command-line. */
-- while ((ch = getopt(argc, argv, "c:df:iIk:nopsvx2")) != EOF)
-+ while ((ch = getopt(argc, argv, "c:df:u:j:iIk:nopsvx2")) != EOF)
- switch((char)ch)
- {
- case '2': /* Print lines with symbols twice. */
-@@ -1019,6 +1046,10 @@
- case 'I':
- SignalDaemon(SIGUSR2);
- return(0);
-+ case 'j': /* chroot 'j'ail */
-+ chroot_dir = optarg;
-+ log_flags |= LOG_NDELAY;
-+ break;
- case 'k': /* Kernel symbol file. */
- symfile = optarg;
- break;
-@@ -1034,6 +1065,9 @@
- case 's': /* Use syscall interface. */
- use_syscall = 1;
- break;
-+ case 'u': /* Run as this user */
-+ server_user = optarg;
-+ break;
- case 'v':
- printf("klogd %s.%s\n", VERSION, PATCHLEVEL);
- exit (1);
-@@ -1042,6 +1076,10 @@
- break;
- }
-
-+ if (chroot_dir && !server_user) {
-+ fputs("'-j' is only valid with '-u'", stderr);
-+ exit(1);
-+ }
-
- /* Set console logging level. */
- if ( log_level != (char *) 0 )
-@@ -1139,7 +1177,7 @@
- }
- }
- else
-- openlog("kernel", 0, LOG_KERN);
-+ openlog("kernel", log_flags, LOG_KERN);
-
-
- /* Handle one-shot logging. */
-@@ -1166,6 +1204,11 @@
- InitMsyms();
- }
-
-+ if (server_user && drop_root()) {
-+ syslog(LOG_ALERT, "klogd: failed to drop root");
-+ Terminate();
-+ }
-+
- /* The main loop. */
- while (1)
- {
+++ /dev/null
-diff -ur sysklogd-1.4.1.orig/sysklogd.8 sysklogd-1.4.1/sysklogd.8
---- sysklogd-1.4.1.orig/sysklogd.8 Sun Mar 11 22:35:51 2001
-+++ sysklogd-1.4.1/sysklogd.8 Mon Oct 8 07:20:31 2001
-@@ -15,6 +15,9 @@
- .I config file
- ]
- .RB [ " \-h " ]
-+.RB [ " \-i "
-+.I IP address
-+]
- .RB [ " \-l "
- .I hostlist
- ]
-@@ -103,6 +106,13 @@
- Specifying this switch on the command line will cause the log daemon to
- forward any remote messages it receives to forwarding hosts which have been
- defined.
-+.TP
-+.BI "\-i " "IP address"
-+If
-+.B syslogd
-+is configured to accept log input from a UDP port, specify an IP address
-+to bind to, rather than the default of INADDR_ANY. The address must be in
-+dotted quad notation, DNS host names are not allowed.
- .TP
- .BI "\-l " "hostlist"
- Specify a hostname that should be logged only with its simple hostname
-diff -ur sysklogd-1.4.1.orig/syslogd.c sysklogd-1.4.1/syslogd.c
---- sysklogd-1.4.1.orig/syslogd.c Sun Mar 11 22:40:10 2001
-+++ sysklogd-1.4.1/syslogd.c Mon Oct 8 07:24:41 2001
-@@ -736,6 +736,8 @@
- int NoHops = 1; /* Can we bounce syslog messages through an
- intermediate host. */
-
-+char *bind_addr = NULL; /* bind UDP port to this interface only */
-+
- extern int errno;
-
- /* Function prototypes. */
-@@ -829,7 +831,7 @@
- funix[i] = -1;
- }
-
-- while ((ch = getopt(argc, argv, "a:dhf:l:m:np:rs:v")) != EOF)
-+ while ((ch = getopt(argc, argv, "a:dhf:i:l:m:np:rs:v")) != EOF)
- switch((char)ch) {
- case 'a':
- if (nfunix < MAXFUNIX)
-@@ -846,9 +848,17 @@
- case 'h':
- NoHops = 0;
- break;
-+ case 'i':
-+ if (bind_addr) {
-+ fprintf(stderr, "Only one -i argument allowed, "
-+ "the first one is taken.\n");
-+ break;
-+ }
-+ bind_addr = optarg;
-+ break;
- case 'l':
- if (LocalHosts) {
-- fprintf (stderr, "Only one -l argument allowed," \
-+ fprintf(stderr, "Only one -l argument allowed, "
- "the first one is taken.\n");
- break;
- }
-@@ -1175,7 +1185,7 @@
- int usage()
- {
- fprintf(stderr, "usage: syslogd [-drvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \
-- " [-s domainlist] [-f conffile]\n");
-+ " [-s domainlist] [-f conffile] [-i IP address]\n");
- exit(1);
- }
-
-@@ -1217,15 +1227,22 @@
- int fd, on = 1;
- struct sockaddr_in sin;
-
-+ memset(&sin, 0, sizeof(sin));
-+ sin.sin_family = AF_INET;
-+ sin.sin_port = LogPort;
-+ if (bind_addr) {
-+ if (!inet_aton(bind_addr, &sin.sin_addr)) {
-+ logerror("syslog: not a valid IP address to bind to.");
-+ return -1;
-+ }
-+ }
-+
- fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (fd < 0) {
- logerror("syslog: Unknown protocol, suspending inet service.");
- return fd;
- }
-
-- memset(&sin, 0, sizeof(sin));
-- sin.sin_family = AF_INET;
-- sin.sin_port = LogPort;
- if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, \
- (char *) &on, sizeof(on)) < 0 ) {
- logerror("setsockopt(REUSEADDR), suspending inet");
+++ /dev/null
-diff -ur sysklogd-1.4.1-caen-owl-syslogd-bind/sysklogd.8 sysklogd-1.4.1/sysklogd.8
---- sysklogd-1.4.1-caen-owl-syslogd-bind/sysklogd.8 Mon Oct 8 07:26:27 2001
-+++ sysklogd-1.4.1/sysklogd.8 Mon Oct 8 07:30:31 2001
-@@ -32,6 +32,9 @@
- .RB [ " \-s "
- .I domainlist
- ]
-+.RB [ " \-u"
-+.IB username
-+]
- .RB [ " \-v " ]
- .LP
- .SH DESCRIPTION
-@@ -159,6 +162,19 @@
- is specified and the host logging resolves to satu.infodrom.north.de
- no domain would be cut, you will have to specify two domains like:
- .BR "\-s north.de:infodrom.north.de" .
-+.TP
-+.BI "\-u " "username"
-+This causes the
-+.B syslogd
-+daemon to become the named user before starting up logging.
-+
-+Note that when this option is in use,
-+.B syslogd
-+will open all log files as root when the daemon is first started;
-+however, after a
-+.B SIGHUP
-+the files will be reopened as the non-privileged user. You should
-+take this into account when deciding the ownership of the log files.
- .TP
- .B "\-v"
- Print version and exit.
-diff -ur sysklogd-1.4.1-caen-owl-syslogd-bind/syslogd.c sysklogd-1.4.1/syslogd.c
---- sysklogd-1.4.1-caen-owl-syslogd-bind/syslogd.c Mon Oct 8 07:26:27 2001
-+++ sysklogd-1.4.1/syslogd.c Mon Oct 8 07:40:35 2001
-@@ -491,6 +491,10 @@
- #include <arpa/nameser.h>
- #include <arpa/inet.h>
- #include <resolv.h>
-+
-+#include <pwd.h>
-+#include <grp.h>
-+
- #ifndef TESTING
- #include "pidfile.h"
- #endif
-@@ -737,6 +741,7 @@
- intermediate host. */
-
- char *bind_addr = NULL; /* bind UDP port to this interface only */
-+char *server_user = NULL; /* user name to run server as */
-
- extern int errno;
-
-@@ -778,6 +783,21 @@
- static int create_inet_socket();
- #endif
-
-+static int drop_root(void)
-+{
-+ struct passwd *pw;
-+
-+ if (!(pw = getpwnam(server_user))) return -1;
-+
-+ if (!pw->pw_uid) return -1;
-+
-+ if (initgroups(server_user, pw->pw_gid)) return -1;
-+ if (setgid(pw->pw_gid)) return -1;
-+ if (setuid(pw->pw_uid)) return -1;
-+
-+ return 0;
-+}
-+
- int main(argc, argv)
- int argc;
- char **argv;
-@@ -831,7 +851,7 @@
- funix[i] = -1;
- }
-
-- while ((ch = getopt(argc, argv, "a:dhf:i:l:m:np:rs:v")) != EOF)
-+ while ((ch = getopt(argc, argv, "a:dhf:i:l:m:np:rs:u:v")) != EOF)
- switch((char)ch) {
- case 'a':
- if (nfunix < MAXFUNIX)
-@@ -884,6 +904,9 @@
- }
- StripDomains = crunch_list(optarg);
- break;
-+ case 'u':
-+ server_user = optarg;
-+ break;
- case 'v':
- printf("syslogd %s.%s\n", VERSION, PATCHLEVEL);
- exit (0);
-@@ -1031,6 +1054,11 @@
- kill (ppid, SIGTERM);
- #endif
-
-+ if (server_user && drop_root()) {
-+ dprintf("syslogd: failed to drop root\n");
-+ exit(1);
-+ }
-+
- /* Main loop begins here. */
- for (;;) {
- int nfds;
-@@ -1185,7 +1213,7 @@
- int usage()
- {
- fprintf(stderr, "usage: syslogd [-drvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \
-- " [-s domainlist] [-f conffile] [-i IP address]\n");
-+ " [-s domainlist] [-f conffile] [-i IP address] [-u username]\n");
- exit(1);
- }
-
+++ /dev/null
---- ksym_mod.c
-+++ ksym_mod.c
-@@ -95,14 +95,6 @@
- #include <sys/fcntl.h>
- #include <sys/stat.h>
- #include "module.h"
--#if !defined(__GLIBC__)
--#include <linux/time.h>
--#include <linux/linkage.h>
--#else /* __GLIBC__ */
--#include <linux/linkage.h>
--extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
--extern int get_kernel_syms __P ((struct kernel_sym *__table));
--#endif /* __GLIBC__ */
- #include <stdarg.h>
- #include <paths.h>
- #include <linux/version.h>
+++ /dev/null
-http://lists.infodrom.org/infodrom-sysklogd/2006/0012.html
-
---- syslogd.c
-+++ syslogd.c
-@@ -1318,15 +1318,6 @@
- close(fd);
- return -1;
- }
-- /* We need to enable BSD compatibility. Otherwise an attacker
-- * could flood our log files by sending us tons of ICMP errors.
-- */
-- if (setsockopt(fd, SOL_SOCKET, SO_BSDCOMPAT, \
-- (char *) &on, sizeof(on)) < 0) {
-- logerror("setsockopt(BSDCOMPAT), suspending inet");
-- close(fd);
-- return -1;
-- }
- /* We must not block on the network socket, in case a packet
- * gets lost between select and recv, otherise the process
- * will stall until the timeout, and other processes trying to
+++ /dev/null
-http://linuxfromscratch.org/pipermail/patches/2003-October/000432.html
-http://lists.infodrom.org/infodrom-sysklogd/2003/0024.html
-
-diff -Naur sysklogd-1.4.1-orig/ksym_mod.c sysklogd-1.4.1/ksym_mod.c
---- sysklogd-1.4.1-orig/ksym_mod.c 2005-10-17 23:56:17.527192000 -0400
-+++ sysklogd-1.4.1/ksym_mod.c 2005-10-18 00:07:36.817712908 -0400
-@@ -128,6 +128,8 @@
- #define getsyms get_kernel_syms
- #endif /* __GLIBC__ */
-
-+extern int query_module(const char *, int, void *, size_t, size_t *);
-+
- /* Variables static to this module. */
- struct sym_table
- {
-@@ -148,7 +150,7 @@
- };
-
- static int num_modules = 0;
--struct Module *sym_array_modules = (struct Module *) 0;
-+struct Module *sym_array_modules = NULL;
-
- static int have_modules = 0;
-
-@@ -161,8 +163,8 @@
-
- /* Function prototypes. */
- static void FreeModules(void);
--static int AddSymbol(struct Module *mp, unsigned long, char *);
--static int AddModule(unsigned long, char *);
-+static int AddSymbol(struct Module *mp, unsigned long, const char *);
-+static int AddModule(char *);
- static int symsort(const void *, const void *);
-
-
-@@ -185,81 +187,107 @@
- extern int InitMsyms()
-
- {
-- auto int rtn,
-- tmp;
-+ auto size_t rtn;
-+ auto int tmp;
-+
-+ auto char **mod_table;
-+
-+ char *modbuf = NULL,
-+ *newbuf;
-
-- auto struct kernel_sym *ksym_table,
-- *p;
-+ int modsize = 32,
-+ result;
-
-
- /* Initialize the kernel module symbol table. */
- FreeModules();
-
-+ /*
-+ * New style symbol table parser. This uses the newer query_module
-+ * function rather than the old obsolete hack of stepping thru
-+ * /dev/kmem.
-+ */
-
- /*
-- * The system call which returns the kernel symbol table has
-- * essentialy two modes of operation. Called with a null pointer
-- * the system call returns the number of symbols defined in the
-- * the table.
-- *
-- * The second mode of operation is to pass a valid pointer to
-- * the call which will then load the current symbol table into
-- * the memory provided.
-- *
-- * Returning the symbol table is essentially an all or nothing
-- * proposition so we need to pre-allocate enough memory for the
-- * complete table regardless of how many symbols we need.
-- *
-- * Bummer.
-+ * First, we query for the list of loaded modules. We may
-+ * have to grow our buffer in size.
- */
-- if ( (rtn = getsyms((struct kernel_sym *) 0)) < 0 )
-- {
-- if ( errno == ENOSYS )
-- Syslog(LOG_INFO, "No module symbols loaded - "
-- "kernel modules not enabled.\n");
-- else
-+ do {
-+ modsize+=modsize;
-+ newbuf=realloc(modbuf, modsize);
-+
-+ if (newbuf==NULL) {
-+ /* Well, that sucks. */
- Syslog(LOG_ERR, "Error loading kernel symbols " \
- "- %s\n", strerror(errno));
-+ if (modbuf!=NULL) free(modbuf);
-+ return(0);
-+ }
-+
-+ modbuf=newbuf;
-+
-+ result=query_module(NULL, QM_MODULES, modbuf, modsize, &rtn);
-+
-+ if (result<0 && errno!=ENOSPC) {
-+ if (errno != ENOSYS)
-+ Syslog(LOG_ERR, "Error querying loaded modules " \
-+ "- %s\n", strerror(errno));
-+ free(modbuf);
-+ return(0);
-+ }
-+ } while (result<0);
-+
-+ if ( rtn <= 0 ) {
-+ /* No modules??? */
-+ Syslog(LOG_INFO, "No module symbols loaded - "
-+ "modules disabled?\n");
-+ free(modbuf);
- return(0);
- }
- if ( debugging )
- fprintf(stderr, "Loading kernel module symbols - "
- "Size of table: %d\n", rtn);
-
-- ksym_table = (struct kernel_sym *) malloc(rtn * \
-- sizeof(struct kernel_sym));
-- if ( ksym_table == (struct kernel_sym *) 0 )
-+ mod_table = (char **) malloc(rtn * sizeof(char *));
-+ if ( mod_table == NULL )
- {
- Syslog(LOG_WARNING, " Failed memory allocation for kernel " \
- "symbol table.\n");
-+ free(modbuf);
- return(0);
- }
-- if ( (rtn = getsyms(ksym_table)) < 0 )
-+
-+ sym_array_modules = (struct Module *) malloc(rtn * sizeof(struct Module));
-+ if ( sym_array_modules == NULL )
- {
-- Syslog(LOG_WARNING, "Error reading kernel symbols - %s\n", \
-- strerror(errno));
-+ Syslog(LOG_WARNING, " Failed memory allocation for kernel " \
-+ "symbol table.\n");
-+ free(mod_table);
-+ free(modbuf);
- return(0);
- }
-
--
- /*
- * Build a symbol table compatible with the other one used by
- * klogd.
- */
-- tmp = rtn;
-- p = ksym_table;
-- while ( tmp-- )
-+ newbuf=modbuf;
-+ for (tmp=rtn-1; tmp>=0; tmp--)
- {
-- if ( !AddModule(p->value, p->name) )
-+ mod_table[tmp]=newbuf;
-+ newbuf+=(strlen(newbuf)+1);
-+ if ( !AddModule(mod_table[tmp]) )
- {
- Syslog(LOG_WARNING, "Error adding kernel module table "
- "entry.\n");
-- free(ksym_table);
-+ free(mod_table);
-+ free(modbuf);
- return(0);
- }
-- ++p;
- }
-
-+ have_modules = 1;
-+
- /* Sort the symbol tables in each module. */
- for (rtn = tmp= 0; tmp < num_modules; ++tmp)
- {
-@@ -277,7 +304,8 @@
- Syslog(LOG_INFO, "Loaded %d %s from %d module%s", rtn, \
- (rtn == 1) ? "symbol" : "symbols", \
- num_modules, (num_modules == 1) ? "." : "s.");
-- free(ksym_table);
-+ free(mod_table);
-+ free(modbuf);
- return(1);
- }
-
-@@ -322,23 +350,23 @@
-
- /* Check to see if the module symbol tables need to be cleared. */
- have_modules = 0;
-- if ( num_modules == 0 )
-- return;
--
-
-- for (nmods= 0; nmods < num_modules; ++nmods)
-- {
-- mp = &sym_array_modules[nmods];
-- if ( mp->num_syms == 0 )
-- continue;
-+ if (sym_array_modules != NULL) {
-+ for (nmods= 0; nmods < num_modules; ++nmods)
-+ {
-+ mp = &sym_array_modules[nmods];
-+ if ( mp->num_syms == 0 )
-+ continue;
-
-- for (nsyms= 0; nsyms < mp->num_syms; ++nsyms)
-- free(mp->sym_array[nsyms].name);
-- free(mp->sym_array);
-+ for (nsyms= 0; nsyms < mp->num_syms; ++nsyms)
-+ free(mp->sym_array[nsyms].name);
-+ free(mp->sym_array);
-+ }
-+
-+ free(sym_array_modules);
-+ sym_array_modules = NULL;
- }
-
-- free(sym_array_modules);
-- sym_array_modules = (struct Module *) 0;
- num_modules = 0;
- return;
- }
-@@ -350,23 +378,25 @@
- * Purpose: This function is responsible for adding a module to
- * the list of currently loaded modules.
- *
-- * Arguements: (unsigned long) address, (char *) symbol
-- *
-- * address:-> The address of the module.
-+ * Arguements: (char *) symbol
- *
- * symbol:-> The name of the module.
- *
- * Return: int
- **************************************************************************/
-
--static int AddModule(address, symbol)
--
-- unsigned long address;
-+static int AddModule(symbol)
-
- char *symbol;
-
- {
-- auto int memfd;
-+ size_t rtn;
-+ size_t i;
-+ const char *cbuf;
-+ int symsize=128;
-+ int result;
-+ struct module_symbol *symbuf=NULL,
-+ *newbuf;
-
- auto struct Module *mp;
-
-@@ -374,78 +404,75 @@
- /* Return if we have loaded the modules. */
- if ( have_modules )
- return(1);
-+
-+ /* We already have space for the module. */
-+ mp = &sym_array_modules[num_modules];
-+
-+ if (query_module(symbol, QM_INFO, &sym_array_modules[num_modules].module,
-+ sizeof(struct module), &rtn)<0)
-+ {
-+ Syslog(LOG_WARNING, "Error reading module info for %s.\n",
-+ symbol);
-+ return(0);
-+ }
-+
-+ /* Save the module name. */
-+ mp->name = strdup(symbol);
-+ if ( mp->name == NULL )
-+ return(0);
-+
-+ mp->num_syms = 0;
-+ mp->sym_array = NULL;
-+ ++num_modules;
-
- /*
-- * The following section of code is responsible for determining
-- * whether or not we are done reading the list of modules.
-+ * First, we query for the list of exported symbols. We may
-+ * have to grow our buffer in size.
- */
-- if ( symbol[0] == '#' )
-- {
-+ do {
-+ symsize+=symsize;
-+ newbuf=realloc(symbuf, symsize);
-
-- if ( symbol[1] == '\0' )
-- {
-- /*
-- * A symbol which consists of a # sign only
-- * signifies a a resident kernel segment. When we
-- * hit one of these we are done reading the
-- * module list.
-- */
-- have_modules = 1;
-- return(1);
-- }
-- /* Allocate space for the module. */
-- sym_array_modules = (struct Module *) \
-- realloc(sym_array_modules, \
-- (num_modules+1) * sizeof(struct Module));
-- if ( sym_array_modules == (struct Module *) 0 )
-- {
-- Syslog(LOG_WARNING, "Cannot allocate Module array.\n");
-+ if (newbuf==NULL) {
-+ /* Well, that sucks. */
-+ Syslog(LOG_ERR, "Error loading kernel symbols " \
-+ "- %s\n", strerror(errno));
-+ if (symbuf!=NULL) free(symbuf);
- return(0);
- }
-- mp = &sym_array_modules[num_modules];
-
-- if ( (memfd = open("/dev/kmem", O_RDONLY)) < 0 )
-- {
-- Syslog(LOG_WARNING, "Error opening /dev/kmem\n");
-- return(0);
-- }
-- if ( lseek64(memfd, address, SEEK_SET) < 0 )
-- {
-- Syslog(LOG_WARNING, "Error seeking in /dev/kmem\n");
-- Syslog(LOG_WARNING, "Symbol %s, value %08x\n", symbol, address);
-- return(0);
-- }
-- if ( read(memfd, \
-- (char *)&sym_array_modules[num_modules].module, \
-- sizeof(struct module)) < 0 )
-- {
-- Syslog(LOG_WARNING, "Error reading module "
-- "descriptor.\n");
-- return(0);
-- }
-- close(memfd);
-+ symbuf=newbuf;
-+
-+ result=query_module(symbol, QM_SYMBOLS, symbuf, symsize, &rtn);
-
-- /* Save the module name. */
-- mp->name = (char *) malloc(strlen(&symbol[1]) + 1);
-- if ( mp->name == (char *) 0 )
-+ if (result<0 && errno!=ENOSPC) {
-+ Syslog(LOG_ERR, "Error querying symbol list for %s " \
-+ "- %s\n", symbol, strerror(errno));
-+ free(symbuf);
- return(0);
-- strcpy(mp->name, &symbol[1]);
-+ }
-+ } while (result<0);
-
-- mp->num_syms = 0;
-- mp->sym_array = (struct sym_table *) 0;
-- ++num_modules;
-- return(1);
-- }
-- else
-- {
-- if (num_modules > 0)
-- mp = &sym_array_modules[num_modules - 1];
-- else
-- mp = &sym_array_modules[0];
-- AddSymbol(mp, address, symbol);
-+ if ( rtn < 0 ) {
-+ /* No symbols??? */
-+ Syslog(LOG_INFO, "No module symbols loaded - unknown error.\n");
-+ free(symbuf);
-+ return(0);
- }
-
-+ cbuf=(char *)symbuf;
-+
-+ for (i=0; i<rtn; i++) {
-+ if (num_modules > 0)
-+ mp = &sym_array_modules[num_modules - 1];
-+ else
-+ mp = &sym_array_modules[0];
-+
-+ AddSymbol(mp, symbuf[i].value,
-+ cbuf+(unsigned long)(symbuf[i].name));
-+ }
-
-+ free(symbuf);
- return(1);
- }
-
-@@ -477,7 +504,7 @@
-
- unsigned long address;
-
-- char *symbol;
-+ const char *symbol;
-
- {
- auto int tmp;
-diff -Naur sysklogd-1.4.1-orig/module.h sysklogd-1.4.1/module.h
---- sysklogd-1.4.1-orig/module.h 2005-10-17 23:56:17.530192000 -0400
-+++ sysklogd-1.4.1/module.h 2005-10-18 00:05:23.308858441 -0400
-@@ -38,11 +38,24 @@
- char name[MODULE_NAME_LEN];
- };
-
-+struct module_symbol
-+{
-+ unsigned long value;
-+ const char *name;
-+};
-
- struct list_head {
- struct list_head *next, *prev;
- };
-
-+/* Values for query_module's which. */
-+
-+#define QM_MODULES 1
-+#define QM_DEPS 2
-+#define QM_REFS 3
-+#define QM_SYMBOLS 4
-+#define QM_INFO 5
-+
-
- struct module_info
- {
+++ /dev/null
-#!/sbin/runscript
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/files/sysklogd.rc6,v 1.12 2007/05/01 12:49:04 uberlord Exp $
-
-opts="reload"
-
-depend() {
- need clock hostname
- provide logger
-}
-
-start_daemon() {
- local retval=0
- local daemon="$1"
- local options="$2"
-
- [ -z "${daemon}" ] && return 1
-
- ebegin "sysklogd -> start: ${daemon}"
- start-stop-daemon --start --exec /usr/sbin/"${daemon}" \
- --pidfile /var/run/"${daemon}".pid -- ${options}
- retval=$?
- eend ${retval} "Failed to start ${daemon}"
-
- return ${retval}
-}
-
-stop_daemon() {
- local retval=0
- local daemon="$1"
-
- [ -z "${daemon}" ] && return 1
-
- ebegin "sysklogd -> stop: ${daemon}"
- # syslogd can be stubborn some times (--retry 15)...
- start-stop-daemon --stop --retry 15 --quiet --pidfile /var/run/"${daemon}".pid
- retval=$?
- eend ${retval} "Failed to stop ${daemon}"
-
- return ${retval}
-}
-
-start() {
- start_daemon "syslogd" "${SYSLOGD}" || return 1
-
- # klogd do not always start proper if started too early
- sleep 1
-
- if ! start_daemon "klogd" "${KLOGD}" ; then
- stop_daemon "syslogd"
- return 1
- fi
-
- return 0
-}
-
-stop() {
- stop_daemon "klogd" || return 1
- stop_daemon "syslogd" || return 1
- return 0
-}
-
-reload() {
- local ret=0
-
- ebegin "Reloading configuration"
-
- start-stop-daemon --stop --oknodo --signal HUP --pidfile /var/run/syslogd.pid
- ret=$((${ret} + $?))
- start-stop-daemon --stop --oknodo --signal USR1 --pidfile /var/run/klogd.pid
- ret=$((${ret} + $?))
-
- eend ${ret}
-}
+++ /dev/null
-#! /bin/sh
-
-# sysklogd Cron script to rotate system log files daily.
-#
-# If you want to rotate other logfiles daily, edit
-# this script. An easy way is to add them manually
-# or to add -a to syslogd-listfiles and add some grep
-# stuff
-#
-# Written by Martin Schulze <joey@debian.org>.
-# $Id: syslog-cron,v 1.6 2007/07/13 10:31:25 uberlord Exp $
-
-cd /var/log
-for LOG in `syslogd-listfiles`
-do
- if [ -f $LOG ]; then
- savelog -g adm -m 640 -u root -c 7 $LOG >/dev/null
- fi
-done
-
-for LOG in `syslogd-listfiles --auth`
-do
- if [ -f $LOG ]; then
- chown root:adm $LOG
- chmod o-rwx $LOG
- fi
-done
-
-# Restart syslogd
-#
-killall -HUP syslogd
+++ /dev/null
-# /etc/syslog.conf Configuration file for syslogd.
-#
-# For more information see syslog.conf(5)
-# manpage.
-# This is from Debian, we are using it for now
-# Daniel Robbins, 5/15/99
-
-#
-# First some standard logfiles. Log by facility.
-#
-
-auth,authpriv.* /var/log/auth.log
-*.*;auth,authpriv.none -/var/log/syslog
-#cron.* /var/log/cron.log
-daemon.* -/var/log/daemon.log
-kern.* -/var/log/kern.log
-lpr.* -/var/log/lpr.log
-mail.* /var/log/mail.log
-user.* -/var/log/user.log
-uucp.* -/var/log/uucp.log
-local6.debug /var/log/imapd.log
-
-#
-# Logging for the mail system. Split it up so that
-# it is easy to write scripts to parse these files.
-#
-mail.info -/var/log/mail.info
-mail.warn -/var/log/mail.warn
-mail.err /var/log/mail.err
-
-# Logging for INN news system
-#
-news.crit /var/log/news/news.crit
-news.err /var/log/news/news.err
-news.notice -/var/log/news/news.notice
-
-#
-# Some `catch-all' logfiles.
-#
-*.=debug;auth,authpriv.none;news.none;mail.none -/var/log/debug
-*.=info;*.=notice;*.=warn;auth,authpriv.none;cron,daemon.none;mail,news.none -/var/log/messages
-
-#
-# Emergencies are sent to everybody logged in.
-#
-*.emerg *
-
-#
-# I like to have messages displayed on the console, but only on a virtual
-# console I usually leave idle.
-#
-#daemon,mail.*;\
-# news.=crit;news.=err;news.=notice;\
-# *.=debug;*.=info;\
-# *.=notice;*.=warn /dev/tty8
-
-# The named pipe /dev/xconsole is for the `xconsole' utility. To use it,
-# you must invoke `xconsole' with the `-file' option:
-#
-# $ xconsole -file /dev/xconsole [...]
-#
-# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
-# busy site..
-#
-#daemon.*,mail.*;\
-# news.crit;news.err;news.notice;\
-# *.=debug;*.=info;\
-# *.=notice;*.=warn |/dev/xconsole
-
-local2.* -/var/log/ppp.log
+++ /dev/null
-#! /usr/bin/perl
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
-
-# Tue Jan 13 01:47:57 MET 1998: Martin Schulze <joey@infodrom.north.de>
-# Fixed typo.
-#
-# Modified logfile detection routine to take care of double
-# listed logfiles. It does this by using a hash instead of
-# immediate printout. Thanks to Roman Hodek <roman@debian.org>
-# for providing an appropriate patch.
-
-$conf = "/etc/syslog.conf";
-$opt_daily = 1;
-$opt_all = 0;
-$opt_auth = 0;
-$opt_news = 0;
-
-sub usage
-{
- print STDERR
-"
-Debian GNU/Linux syslogd-listfiles =VER=. Copyright (C) 1997
-Martin Schulze. This is free software; see the GNU General Public Licence
-version 2 or later for copying conditions. There is NO warranty.
-
-Usage: syslogd-listfiles <options>
-Options: -f file specifies another syslog.conf file
- -a | --all list all files (including news)
- --auth list all files containing auth.<some prio>
- --news include news logfiles, too
- -w | --weekly use weekly pattern instead of daily
-";
-}
-
-while (@ARGV) {
- $_=shift(@ARGV);
- if (m/^-f$/) {
- $conf = shift(@ARGV);
- } elsif (m/^--weekly|-w$/) {
- $opt_daily = 0;
- } elsif (m/^(-a|--all)$/) {
- $opt_all = 1;
- } elsif (m/^--auth$/) {
- $opt_auth = 1;
- } elsif (m/^--news$/) {
- $opt_news = 1;
- } else {
- &usage();exit (0);
- }
-}
-
-open (C, $conf) || die "Can't open $conf, $!";
-while (<C>) {
- next if (/^(\#|$)/);
- chop;
-
- s/\s*(\S.*)$/$1/ if ($line);
-
- $line .= $_;
- chop ($line) if (/\\$/);
- if (!/\\$/) {
- $line =~ s/\s+/\t/;
- $line =~ s/\t-/\t/;
- push (@lines, $line) if ($line =~ /\t\/(?!dev\/)/);
- $line = "";
- }
-}
-close (C);
-
-foreach $line (@lines) {
- ($pat,$file) = split (/\t/,$line);
-
- # handled by news.daily from INN
- next if (!$opt_news && ($pat =~ /news\.(crit|err|notice)/));
-
- if ($opt_all) {
- $output{$file} = 1;
- } elsif ($opt_auth) {
- $output{$file} = 1 if ($pat =~ /auth[^\.]*\.(?!none).*/);
- } else {
- $i = ($pat =~ /\*\.\*/);
- $output{$file} = 1 if (($i && $opt_daily) || (!$i && !$opt_daily));
- }
-}
-
-foreach $file (keys (%output)) {
- print $file . "\n";
-}
+++ /dev/null
-.\" syslogd-listfiles.8 - generic routine for /etc/syslog.conf
-.\" Copyright (c) 1997 Martin Schulze <joey@debian.org>
-.\"
-.\" This program is free software; you can redistribute it and/or modify
-.\" it under the terms of the GNU General Public License as published by
-.\" the Free Software Foundation; either version 2 of the License, or
-.\" (at your option) any later version.
-.\"
-.\" This program is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public License
-.\" along with this program; if not, write to the Free Software
-.\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-.\"
-.TH SYSLOGD-LISTFILES 8 "1 January 1998" "Debian project" "Debian GNU/Linux"
-.SH NAME
-syslogd-listfiles \- list system logfiles
-.SH SYNOPSIS
-.B syslogd-listfiles
-.RB [ " \-a " | " \-\-all " ]
-.RB [ " \-\-auth " ]
-.RB [ " \-f "
-.I config file
-]
-.RB [ " \-\-news " ]
-.RB [ " \-w " | " \-\-weekly " ]
-.SH DESCRIPTION
-.B Sysklogd
-provides a modern mechanism to log system messages. This mechanism is
-controlled by the file
-.IR /etc/syslog.conf .
-Messages are divided into logfiles which can grow quite big.
-Therefore the logfiles need to be rotated once per day, per week or
-per month. On a Debian GNU/Linux system most of the files are rotated
-once per week.
-
-This program helps the rotation script to determine which logfiles
-need to be rotated and when. It takes care of news logfiles that are
-handled by the
-.B news.daily
-script from INN. In conjunction with the scripts in
-.IR /etc/cron.daily " and " /etc/cron.weekly
-it takes care of files with sensitive information.
-
-By default a list of files for daily rotation is generated. At the
-moment this option only reflects entries that contain "*.*" as
-facility.priority.
-
-.SH OPTIONS
-.TP
-.BR "\-a" ", " "\-\-all"
-List all logfiles and ignore all other rules.
-.TP
-.BI "\-f " "config file"
-Specify an alternative configuration file instead of
-.IR /etc/syslog.conf ","
-which is the default.
-.TP
-.B "\-\-auth"
-Only list files containing sensitive information such as the one
-containing auth.*.
-.TP
-.B "\-\-news"
-Don't exclude news logfiles which are normally handled by the
-.B news.daily
-script from INN.
-.TP
-.BR "\-w" ", " "\-\-weekly"
-Generate the list for weekly rotation.
-.LP
-.SH SEE ALSO
-.BR syslog.conf (5),
-.BR syslogd (8),
-.BR savelog (8).
+++ /dev/null
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/sysklogd-1.4.2_pre20061230-r2.ebuild,v 1.6 2011/04/07 07:51:22 ultrabug Exp $
-
-inherit eutils flag-o-matic toolchain-funcs
-
-CVS_DATE=${PV#*_pre}
-MY_P=${PN}-1.4.1
-
-DESCRIPTION="Standard log daemons"
-HOMEPAGE="http://www.infodrom.org/projects/sysklogd/"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/daemons/${MY_P}.tar.gz
- mirror://gentoo/${MY_P}-cvs-${CVS_DATE}.patch.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86"
-IUSE=""
-RESTRICT="test"
-
-DEPEND=""
-RDEPEND="dev-lang/perl
- sys-apps/debianutils"
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${WORKDIR}"/${MY_P}-cvs-${CVS_DATE}.patch
-
- epatch "${FILESDIR}"/${MY_P}-accept.patch
- epatch "${FILESDIR}"/${MY_P}-querymod.patch
- epatch "${FILESDIR}"/${MY_P}-punt-SO_BSDCOMPAT.patch
- epatch "${FILESDIR}"/${MY_P}-ksym-headers.patch
-
- # CAEN/OWL security patches
- epatch "${FILESDIR}"/${MY_P}-caen-owl-syslogd-bind.diff
- epatch "${FILESDIR}"/${MY_P}-caen-owl-syslogd-drop-root.diff
- epatch "${FILESDIR}"/${MY_P}-caen-owl-klogd-drop-root.diff
-
- append-lfs-flags
- sed -i \
- -e "s:-O3:${CFLAGS} ${CPPFLAGS}:" \
- Makefile || die "sed CFLAGS"
-}
-
-src_compile() {
- tc-export CC
- emake CC="${CC}" LDFLAGS="${LDFLAGS}" || die
-}
-
-src_install() {
- dosbin syslogd klogd "${FILESDIR}"/syslogd-listfiles || die "dosbin"
- doman *.[1-9] "${FILESDIR}"/syslogd-listfiles.8
- exeinto /etc/cron.daily
- newexe "${FILESDIR}"/syslog-cron syslog.cron
- dodoc ANNOUNCE CHANGES MANIFEST NEWS README.1st README.linux
- dodoc "${FILESDIR}"/syslog.conf
- insinto /etc
- doins "${FILESDIR}"/syslog.conf
- newinitd "${FILESDIR}"/sysklogd.rc6 sysklogd
- newconfd "${FILESDIR}"/sysklogd.confd sysklogd
-}
+++ /dev/null
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/sysklogd-1.5-r2.ebuild,v 1.12 2013/04/14 11:40:09 ago Exp $
-
-inherit eutils flag-o-matic toolchain-funcs
-
-DEB_VER="6"
-DESCRIPTION="Standard log daemons"
-HOMEPAGE="http://www.infodrom.org/projects/sysklogd/"
-SRC_URI="http://www.infodrom.org/projects/sysklogd/download/${P}.tar.gz
- mirror://debian/pool/main/s/sysklogd/${PN}_${PV}-${DEB_VER}.diff.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86"
-IUSE=""
-RESTRICT="test"
-
-DEPEND=""
-RDEPEND="dev-lang/perl
- sys-apps/debianutils"
-
-src_unpack() {
- unpack ${A}
- epatch "${WORKDIR}"/${PN}_${PV}-${DEB_VER}.diff
- cd "${S}"
- epatch "${FILESDIR}"/${P}-debian-cron.patch
- epatch "${FILESDIR}"/${P}-build.patch
-
- # CAEN/OWL security patches
- epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-syslogd-bind.diff
- epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-syslogd-drop-root.diff
- epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-klogd-drop-root.diff
-
- epatch "${FILESDIR}"/${P}-syslog-func-collision.patch #342601
-
- append-lfs-flags
-}
-
-src_compile() {
- tc-export CC
- emake || die
-}
-
-src_install() {
- dosbin syslogd klogd debian/syslog-facility debian/syslogd-listfiles || die "dosbin"
- doman *.[1-9] debian/syslogd-listfiles.8
- insinto /etc
- doins debian/syslog.conf || die
- exeinto /etc/cron.daily
- newexe debian/cron.daily syslog || die
- exeinto /etc/cron.weekly
- newexe debian/cron.weekly syslog || die
- dodoc ANNOUNCE CHANGES NEWS README.1st README.linux
- newinitd "${FILESDIR}"/sysklogd.rc7 sysklogd
- newconfd "${FILESDIR}"/sysklogd.confd sysklogd
-}
+++ /dev/null
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/sysklogd-1.5-r3.ebuild,v 1.2 2013/08/24 09:41:56 pinkbyte Exp $
-
-EAPI="4"
-
-inherit eutils flag-o-matic toolchain-funcs
-
-DEB_VER="6"
-DESCRIPTION="Standard log daemons"
-HOMEPAGE="http://www.infodrom.org/projects/sysklogd/"
-SRC_URI="http://www.infodrom.org/projects/sysklogd/download/${P}.tar.gz
- mirror://debian/pool/main/s/sysklogd/${PN}_${PV}-${DEB_VER}.diff.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-IUSE="logrotate"
-RESTRICT="test"
-
-DEPEND=""
-RDEPEND="dev-lang/perl
- sys-apps/debianutils"
-
-src_prepare() {
- pushd "${WORKDIR}" >/dev/null
- epatch "${WORKDIR}"/${PN}_${PV}-${DEB_VER}.diff
- popd >/dev/null
-
- epatch "${FILESDIR}"/${P}-debian-cron.patch
- epatch "${FILESDIR}"/${P}-build.patch
-
- # CAEN/OWL security patches
- epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-syslogd-bind.diff
- epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-syslogd-drop-root.diff
- epatch "${FILESDIR}"/${PN}-1.4.2-caen-owl-klogd-drop-root.diff
-
- epatch "${FILESDIR}"/${P}-syslog-func-collision.patch #342601
-}
-
-src_configure() {
- append-lfs-flags
- tc-export CC
-}
-
-src_install() {
- dosbin syslogd klogd debian/syslog-facility debian/syslogd-listfiles
- doman *.[1-9] debian/syslogd-listfiles.8
- insinto /etc
- doins debian/syslog.conf
- if use logrotate ; then
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/sysklogd.logrotate sysklogd
- else
- exeinto /etc/cron.daily
- newexe debian/cron.daily syslog
- exeinto /etc/cron.weekly
- newexe debian/cron.weekly syslog
- fi
- dodoc ANNOUNCE CHANGES NEWS README.1st README.linux
- newinitd "${FILESDIR}"/sysklogd.rc7 sysklogd
- newconfd "${FILESDIR}"/sysklogd.confd sysklogd
-}