[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] the great next stuff branch, dde, updated. 1c5e9b5fd65d2c385f5d3f6
From: |
Justus Winter |
Subject: |
[SCM] the great next stuff branch, dde, updated. 1c5e9b5fd65d2c385f5d3f696eb0d05a86fb2755 |
Date: |
Wed, 13 Sep 2017 09:53:01 -0400 (EDT) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "the great next stuff".
The branch, dde has been updated
via 1c5e9b5fd65d2c385f5d3f696eb0d05a86fb2755 (commit)
via 89a49ec8b3a847f3b770cff6a4a80b98b94ad7bf (commit)
via 86ecc3fc9aa88091ac77ec35688d08634567d169 (commit)
via e08859424e01697fe556e277283e8e1905327ce7 (commit)
via 04aaffbd6353e7cec04073783cc8cbd22ac2f675 (commit)
via 47715139bb7bc8e2c94536a34207e0028a7f65b4 (commit)
via 074f0ea9799b2fa5297eb120d68e0a97cf1b40ac (commit)
via 5fef1b7f22ec0ee3730b80bbf972dbf9a8995091 (commit)
via 116552c075abf1d22057a608fee9d27684bcbbe5 (commit)
via 978a819485e1e301c49b41fb629656d157d61ec6 (commit)
via 8d5a124be53200c775b818e933603c1c8eeefbe5 (commit)
via 1a75f7795e8d5e2b7cbc27e39eade1ee04668c19 (commit)
via e9849c9bf993eae14f900a95819186e09cfd98fe (commit)
via 796f8789f80568861b747265998f31fa83091915 (commit)
via 17bd59544d8e3dccf33d3adebbc9df30842f022a (commit)
via e3e7590cbb15e675fbada1c0d012ffe43776e221 (commit)
via 7d906d22cf1953641303966a756f3c44535001ae (commit)
via 973089f3832df9887259e1927f7ead800d9dd897 (commit)
via 812117cfbd76fadfd6c20913db665619070c170e (commit)
via 7f49fa0b2dbd371c3b10d876eeed7a26812506b4 (commit)
via 5dc9e5261a67266b6b9f5cfdd95baeba0c808d80 (commit)
via e493a6164cfe188a151b10f37a971bbfa67297cf (commit)
via 59dacf77dc0aa25dfda3b192ec099e7310d543d2 (commit)
via a3254ced93e2db103d7395c4d5a727260ae69894 (commit)
via 477b739fdff7b205b1b6066a2685c0924fc0ea9f (commit)
via 4076a4d3bd380a287fcc0bc9e3d1d573b29714cb (commit)
via bdbaf9d19c68ded3a9c3c62585f47fdc38841eb5 (commit)
via 61d5aee1ce02888e78eab4ed85a9c8e631006d7b (commit)
via ae61f83839ea072533fca15dc75284799e5e0445 (commit)
via 2d0d1fd043efd3457bc8bce04c884579d140b2b5 (commit)
via 55efa897ebaa7ec880cd2b219362cb85f970cf33 (commit)
via 25de3c52515332b41bf31774ce1ed8f32ee7adbf (commit)
via 9ac9732e27128927d0e24d44d72145be5acfcc28 (commit)
via 9a4ccfcd4d4f10df2af538c489294527fc231128 (commit)
via 01ced1f5856659f4f457f39c270dd10f64ccaab8 (commit)
via e2823ba8f994292ecb92b83dfa3174e6f11c92fd (commit)
via bb9dba5a97b5605d12aa68b2978bda329a9f1f31 (commit)
via 0a68ce9956efcc286d359907b0e5599eb5a404ec (commit)
via 94202d376102f6368260aeb0a26bed5b0be52fe5 (commit)
via a2f64c2462282bb3cf1ad24044c97bb7d6b85e0d (commit)
via 66553fd7a7bcf7c260b45f2e7ad54e98d33f8080 (commit)
via 835b293d35a209d38047126443d41fa7090daa4c (commit)
via dc0b5a43224999223a246870912b0f292b1980e9 (commit)
via d4d2d12f24ca625daf32dcfc8e75576420ffbd2f (commit)
via de4c6545203b090670182c0be36fce4f6f4f2c2a (commit)
via 3c0094e1244b649ca49482fadb850a2dfc2d4442 (commit)
via 78ccb233cfed6d9e10864bfdce6348edddada4b8 (commit)
via 7a03aea10fd581c41d27acc1a29f7b10b09920cc (commit)
via 9d1b0cfb95e26fa506179bc30152989a817ff1e6 (commit)
via a4f5b76390f1c7b377efbac488b57fa6756da80a (commit)
via bf1afc9cf958c9270ab73236028097ca0113b176 (commit)
via 019f9923e879ff326b14b2de04c6939c07ccb55b (commit)
via 26e774bab06eab72847a7ca052a90d5319ad658a (commit)
via 74f4e5781e0f259a22b8e1e125973262600abed7 (commit)
via 29ff193d27436e52d8112903c882ebe52f071d88 (commit)
via ce6764db1e045421fc9a199a334f63318d9f79d2 (commit)
via cb991b0fd709a635b21c6ea2314acb5345b1b72c (commit)
via ef0399bad41e60cb30d5073129abeb206076394a (commit)
via 4089f37cdd776e046d51604041c3fe62a2bc1435 (commit)
via ef729f8642cc96ddfd3f5b5db4d6aac057b1d397 (commit)
via 34a94ce86b1bada9c0768f631540735d44f41100 (commit)
via baf7e5c8ce176aead15c2559952d8bdf0da41ffd (commit)
via 150ff2ad69344d8555c14b42b2658313f16e9d1e (commit)
via fb3698ebbb375472832939d5534363d42de624f2 (commit)
via b66e7d0f2c4e0754e51ffce14386e1884c29d08e (commit)
via 40c752c4e5e3c8c20cee345790954511e9f3825b (commit)
via 83457a27885a177908718839e8a4f356b649f72f (commit)
via db7dd39b84be0371536c9ccec907cd918476c0ea (commit)
via cfcb0edb14772b625c7d744c4f2e455c53c92d6b (commit)
via 7845e0f740d104dc712505ab2f8b273a18078fae (commit)
via 5ac0c5c8e2e13217aabe7dd6e91ff218d0db6346 (commit)
via 9beba9b6d168f59eeb74859ab5d88d9cabfe6f37 (commit)
via 4acff3451900c5d88ae72f69f6a7063b9dbb5483 (commit)
via 8faee92d84336ca44652c8c3a906b70b67f8a7f1 (commit)
via becc70478c4e09e03e821703ac42fb3be985e97f (commit)
via cef4f1daf97826511893815a2b6a891d7ccecac7 (commit)
via 05c364c6588fb8e61cf075863919a40250172ba0 (commit)
via 0849e0ba8c5faae3af49ac01dbc15b706c479b2c (commit)
via 059f34b91f705a7451491068668fedab07ee3a24 (commit)
via 41857c776d63bfed4c14bd882b3c9eade1f52e4d (commit)
via 109f842edae5297ad9c9ec3c8d88e2c74c9b0ca0 (commit)
via 4490e9a08367c7af617358de5b85ae7ab5198278 (commit)
via 4818346b39b5a58962d1676ea0bb3a0b954c1fed (commit)
via c8dac952e7ed2a761da2b061a339d97092e55c01 (commit)
via 08336418301f68c87e29e3735aa83cee1bc3c9b7 (commit)
via 76266d8cd0db429093e144a67ef66a0a6532c799 (commit)
via ea86767459e01e524c05190127ef1e71f5a47ff9 (commit)
via db968a37027f4bb8e7f290dbba15ddb2b87331f1 (commit)
via 6ebebc80de3dfc7ada3a69d609f00088c2143be3 (commit)
via 7320df6815649ab13a93a1b4d889b1b53bc112d4 (commit)
via 7ff15eaca93ef512fb9ef67068032e09d3f7cef3 (commit)
via 13204583cbda4e8cc58bfb7211eb1132b5d364f6 (commit)
via f5fa969bb148d045ea6045bdf326ad69d97888ff (commit)
via f1f098dc682d41a94a2c6c266b136112aab6ea85 (commit)
via 92e3b0a3c3ba90c90605debf6e149e5a4b8d9a8f (commit)
via ee4795884ec145303115ac1bd88878684df46118 (commit)
via b2c97e251bb470e6f967c716081675a96dbde59c (commit)
via 5add1f4c531639b6247c827566ae55426c1182d7 (commit)
via 29ca072fcfeb04fc29dfa9853621c15b58a3ebcf (commit)
via c9e8e4959e7fef9f4da05a0b20489177bf727955 (commit)
via 5e2bbd8ae1229d55d18d46ed697c0aba3a191b35 (commit)
via 1f89580a1e8f3ca21f5b6780fce0a1aebaaa2c7f (commit)
via a0d02749dc20005d9d75c34f1c4392bdfdcca219 (commit)
via b262c53330183d3c4563ce5f172b17fb33369070 (commit)
via 93575d60b1db3f32f10211a9ca633e3296d7f013 (commit)
via 793b5905770acb2af34f6b10b2a9ed49cb477834 (commit)
via 58f8da3300c9ffcd7f9b5773ce2a5b9110a4c207 (commit)
via 7bd08cf55d83fcaa493bd1553bee11e3eb17408e (commit)
via 7d740ab409689eefe9c88e7d1e7d94b8189ddf19 (commit)
via 4f9e2ded8c0f0f40a7798cafa39440a52b41dd85 (commit)
via c9504e344954e54b1f6d00aecf47b02f25e91f60 (commit)
via 62953f120bcdc976a3dfb96505066228464a78dd (commit)
via 484a67719146e819ddad64fbda23b4b23afa3095 (commit)
via 385d9bf1b81bc35f06cdf49f57bf65545339cbbb (commit)
via 345abeda66c8aa5cb4d121fc8455cbe8053b9db6 (commit)
via 8cf212d402b0a392ed6c89f9e1035cbbf9988478 (commit)
via 54c6736341bda9564a028ad3d61d46488e53b8a6 (commit)
via 115695afe34e5253816ff0e828054f8c07e2ddbd (commit)
via fd3b0bc1b318a2cc95ac1f85e308708c4bb8999a (commit)
via ed257f4e3320307eca7ed181f6e2dd6e699efb41 (commit)
via 25d614aa11e52370c200e677099746a619ea76db (commit)
via 50e14fce11f2bebb4faad220f8f610a55f4110c5 (commit)
via 0bc74163d5406e305b84f8f51dbce097bb46fa90 (commit)
via 61f89952020ff1ff34e391ae78acd2da51476c41 (commit)
via db94feece63e18364dd2c9228a6ef3452fe22cc2 (commit)
via 8c0e65b6b2db9946153ed736e66d4e613875deb6 (commit)
via 7ab8e74f1331b70dd52e604d0010a49fabf9e549 (commit)
via 411806400bcc72e9f6004c40b3af8960df452be5 (commit)
via 6511afff053bab1e7e0542119ff1331813ea19e2 (commit)
via dfd5134090dd80957dce5a65b467aafaff47ca3b (commit)
via 34b5aa167da439900c4c1d1bb45b642b47d9a572 (commit)
via ccfdec8708430e4255b4d24424aafbd0d5f4c32d (commit)
via 14ca7bbf803d0b6f9defc28db9021dcb2e65384a (commit)
via 87c1eba3e7c9402ca59340db8a43a4c9ef5b3bd5 (commit)
via 9ddc4f2a1717455e50eb6fd010cda4e5f4080c42 (commit)
via 74bfb99acf027265b8b588ea3fa15204c426f919 (commit)
via 267995f0c2aea8030c6126f62dc41ff63d80caa7 (commit)
via 81fb68fee81769d81c373e3af5a508d706b7e3d6 (commit)
via 0e99041e8b1ce80e6a97944a195c6e6cddf451fd (commit)
via 911b68f336b3194f7d54bcc3cc0d5ba8614e149e (commit)
via 902f0a78b43c75bdb125a8f1c11a3fbf2595ce35 (commit)
via 341f43df4b3688702746b5d0365c05d99fdeeb4e (commit)
via 355577bc99c91363a1b7828e81086031ce75979b (commit)
via 587704fc6a85e3ac080c58b7dfa9ebc73c72fede (commit)
via 0719a1600ade8d1d0f5031778abf850a8b520efc (commit)
via 3319f7f6a238cf88b9f46849e7be84d3c96376d6 (commit)
via 2c0f4a09a5166bf777ce4648dda2d671cc464b14 (commit)
via 93ba74df1d6523ac49d5b227e30e1cfca930f7a9 (commit)
via 83cb5faab30be175c757b31ea4acca7f640228ae (commit)
via 74998f9ded99c41d34c0db20e6eb7088fe51d742 (commit)
via f45e96eec2681463572d5d996ac832626809ddd7 (commit)
via 3a3c1759297d3621663571dc85d2fb5d1d53b3b1 (commit)
via e6bffe8d286d49311c0d34acab4b9da867e0dfe8 (commit)
via 63cfc3cdfd817d8f794c83bc39f86ab8b910fe71 (commit)
via 930b12e29819ffb1d4b38365315919fbe004cf3b (commit)
via 4fb81a7e92d0cd6d854a4a020f34b948ad6ce29b (commit)
via 349b9c4fdcb49add63ec71cabd6e4e4dbe6b262d (commit)
via 9eeba20f44cc1e883606304091a03e64b8102244 (commit)
via 3f38f1b21cffcf669373baff46840ce0a7d902e5 (commit)
via edb2947461fbea9b25a651afd1cf35dc49733ce6 (commit)
via b07024d194a5503fd87b32cab3c3a212b28738e1 (commit)
via 02d6d9f0998809e32fb438064a2733b64b89be08 (commit)
via ef3354e22ea74f7cdb3405041e02374f7de8e880 (commit)
via 1f78ddd5719d50d3af7140066316932ef00044cf (commit)
via db0f7e843e8de6ed25cf7ad5aa0fb3df2acaef7c (commit)
via 8208fdc63b56c5b1be837ad583534e5bbe4d6808 (commit)
via 12576ff7afd71799d9cc6fe6af065932540ff0ea (commit)
via ca5b01f538c122dc1f0e989f5703c75b8cf8ca3a (commit)
via 118a5b8c33cc2fad8ccdc5858253e7ed3dfca513 (commit)
via e03a12dd251745f6b1cb46c97b58181b85156d27 (commit)
via 83a2cf3e36a20b7740a2902d2ef4996df7a46270 (commit)
via 02f5c0208985d60fede08c1eafad04e80353b670 (commit)
via c8c973750b949f8c4fcac020c61a3b99e5d5c3a2 (commit)
via cf040539342d513ca9ae534efd0e21116440cc86 (commit)
via c9cd19504f87705f73294c639c9a0bc33a27aed3 (commit)
via 1912e6a69419d4448795ae1451c7b7c57ac16a52 (commit)
via 0e3a795af98b6441d0a9928036e140978511e272 (commit)
via ceae83bd25aadee094ec9d3a95cf27510cea2037 (commit)
via bc170131016969f1d79409337833046ae1f4501b (commit)
via d024ec32b8fbeb039078388d5d3d699a821cfb14 (commit)
via 4cb90fceb779dbf33cfd9bcf28c66ffc737537f2 (commit)
via a8b8ece4ff36fca27492f0a4e925e2f4453ee483 (commit)
via dd93fc4bfbaceb65ded2aefca35042438c95f4d5 (commit)
via 293e86998748bae2d7a8179ad198ec3452f0d472 (commit)
via 1a36fdfe7cf17aa23f0bd43eb6cca4d28e510def (commit)
via 6f6d157c55b6973f0a557b65269b212d9dcd1fbe (commit)
via d213bd8ef04dd947ff5c53a8efeb6cba11621396 (commit)
via 305e83c42624c8cf84452d5d0fa7669e2af6f997 (commit)
via 60d14f5b3c4ea27af6f4220a15947c328bc888ee (commit)
via 0ab3825f250486453892e3e18a702a44538bff6d (commit)
via 04cfa521cd6f38d7cd735ead5b7978390664042e (commit)
via 55f23b9e82d6086bc4f21411e25aaf9746928d79 (commit)
via 7dbebff1ff08d347aad14e76e371f1cb6991dac7 (commit)
via 13efe6721a370c38b65e0da3d33f310f42cfa05f (commit)
via 3416078aa58b095566e559b7dbd9c9da4d1fc5d5 (commit)
via e15ef8f1a3ab358692d25a688496bde463daf948 (commit)
via 14241d59414a9e525b2949befcc162059d6885be (commit)
via 7aef3fb7b575a5d2dc22872706a272b1db369937 (commit)
via b33507ab62bda82178b9a57aa3f6cfee5febc142 (commit)
via 34071b357d821cc6285ef85d600dfa842252949c (commit)
via 3d10671fb7db61ca42d7cdd618190eea1a146b7f (commit)
via 736fa7a565e28425220be797235913d0f7b96acd (commit)
via 8d4db629aa10189d3a545ec1639105cfb9bae650 (commit)
via 45b829f4dcb28a98af7285dc57bfaf621b0bbf21 (commit)
via b90164e0090473573a90e16cee515c2d4d6f3f91 (commit)
via 9d29cfbf9fd8a0e26a3410194d1a060114973ad2 (commit)
via 39031d37fd82c119b4b16af256a8ceae5d8c6ea8 (commit)
via 74d373342f799a45e9193c2f56189843b7b42c04 (commit)
via d18ea50ec00210680b80359cb182a0175374d5e1 (commit)
via b04364bcdcd1a209cb3e2762e09a42247bcde5f0 (commit)
via 6620d8b801c4683bf81fc419484d64530ba126ba (commit)
via 1c0dc88f5411451ba1acd7e41a5d362fdd947586 (commit)
via 10218526abf4c7537642cf5c3d8955578d599402 (commit)
via f250b6d8626c9d3ecf0d356dfd786a23ebbf6ca1 (commit)
via 57d5c5ca5463d43196393bc5b2d5f379ee749374 (commit)
via 62bd3f2351a7665e681f00ad6dd92b08b8c68b72 (commit)
via 33536608704a637eb8618396244ed43b9aa6aaf6 (commit)
via f2d22b3bab4de4b20c857bf6f0191fb6c000fd14 (commit)
via f4d6b646a1aa6f8e489dd3eeae1a188de0b2a070 (commit)
via 94ce9fa4c443ec9a0e6ecc92cb6b07534c321c75 (commit)
via d67a86c9690c2a9984ca6e9f3c376956495897f4 (commit)
via afbed6fbf2335476c9ca64aa82d5f591be6c4ded (commit)
via 378f3be0111dfa6d0e780c5f199116996e14a3e3 (commit)
via 124921a0266412427613a404287205ec435f3364 (commit)
via 8e71c142348ed3d2ae6374cff47b7ec766005f53 (commit)
via b91ac2b9c65142beef19d44bbcdacd16e12c0920 (commit)
via 633e4a7796b13ec7db0f7e78849c35e8f428091a (commit)
via 6ff6261bb8b2bcf419689fdae4b68f6114f014a3 (commit)
via f5e6769c33723a1d4b72722eff8bb68245ca3803 (commit)
via 21ee0e79e90c3cf63613bc1a00a609cfaf1777b2 (commit)
via 54ab56a23c472729ba3834f90b01c4406ed358b8 (commit)
via 007eeb3e109d833a52603c3a19436907126b33a8 (commit)
via 0715d1b22a6f0008b70fe4b1881045f65521ac19 (commit)
via b235bd2724ad4cf9150b0f571ead70fbfa34da84 (commit)
via 5eef605eb523e4148ccd22578327492178cfd0c4 (commit)
via 0da2914ac9d9321cca2d402b2c505881e436c725 (commit)
via 03f8e9b08a9d4f5034ea1a27c3a8e86d9b147306 (commit)
via c595ceac1ad8c40aec85318e07424e5b6f338dad (commit)
via 4f51b0e104481fb6d337140eeaa51af8c674d236 (commit)
via 0bc52ecb504401e089e1aa335c56e0c5db6d8e32 (commit)
via a6212e46e22cdac68b7b9fea0cc04b240c0a4cb8 (commit)
via b50c419c9b8f59b459d488d7bf11654d56f35511 (commit)
via fa8c83d2fd17e507f305ccc2ddfb39341c8dee99 (commit)
via 253e8404513413890d816c0de787ab81cfffe3a3 (commit)
via 2f0b4c592b4f9fd3c6d5744a3bc077237ce9278d (commit)
via 9019d6fc527882b8e09ca210e997b43a7b77c70f (commit)
via 6e8e837864d4e24c2fdb4d90e8eb262ded78c3a8 (commit)
via eeeb27ee14064dff84c833b4359d43d9869a9342 (commit)
from 5018bd32c87250ed3fd4249d050b772750827db0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1c5e9b5fd65d2c385f5d3f696eb0d05a86fb2755
Merge: 5018bd3 89a49ec
Author: Justus Winter <address@hidden>
Date: Wed Sep 13 14:10:33 2017 +0200
Merge remote-tracking branch 'mainline/master' into dde
commit 89a49ec8b3a847f3b770cff6a4a80b98b94ad7bf
Author: Justus Winter <address@hidden>
Date: Thu Aug 10 23:26:25 2017 +0200
libdiskfs: Shutdown pagers on startup_dosync.
* libdiskfs/init-startup.c (diskfs_S_startup_dosync): Simplify the
code by just using 'diskfs_shutdown' with the force flag. This also
shuts down pagers, which potentially affects other tasks, but getting
rid of the pagers allows us to commit a clean and consistent state to
the disk before shutting down. Crashing other tasks just before the
system powers down seems like a small price to pay.
commit 86ecc3fc9aa88091ac77ec35688d08634567d169
Author: Justus Winter <address@hidden>
Date: Tue Aug 29 23:35:55 2017 +0200
Traverse translator hierarchies using the fsys protocol.
Previously, we used the fs protocol to traverse the translator
hierarchies. This, however, is conceptually flawed, because
translators are bound to nodes, and a node can have zero or more links
in the file system. Therefore, the previous method of returning a
list of paths to the client and expecting them to be able to follow
these to reach the child translators was always unreliable.
Fix this by using the fsys protocol to traverse the hierarchy, and
returning the control ports of all children. This is more robust, and
also conceptually cleaner, because the fsys protocol is about
translator linkage, hence this is the point to implement traversal.
Also move the get source routine over. A per-node source really
does not fit the reality of most translators, while a per-translator
source makes sense in many cases.
* hurd/fs.defs (file_get_children): Drop routine.
(file_get_source): Likewise.
* hurd/fsys.defs (fsys_get_children): New routine.
(fsys_get_source): Likewise.
* libdiskfs/Makefile (FSYSSRCS): Remove files, add files.
* libdiskfs/file-get-children.c: Remove file.
* libdiskfs/fsys-get-children.c: New file.
* libdiskfs/file-get-source.c: Remove file.
* libdiskfs/fsys-get-source.c: New file.
* libfshelp/fshelp.h (fshelp_filter): Remove type.
(fshelp_get_active_translators): Remove filter and prefix argument,
return list of control ports.
* libfshelp/translator-list.c (fshelp_get_active_translators):
Likewise.
* libnetfs/Makefile (FSSRCS): Move 'get-source.c' too OTHERSRCS.
(FSYSSRCS): Remove files, add files.
* libnetfs/file-get-children.c: Remove file.
* libnetfs/fsys-get-children.c: New file.
* libnetfs/file-get-source.c: Remove file.
* libnetfs/fsys-get-source.c: New file.
* libtrivfs/Makefile: Move 'get-source.c' too OTHERSRCS.
(FSYSSRCS): Remove files, add files.
* libtrivfs/file-get-children.c: Remove file.
* libtrivfs/fsys-get-children.c: New file.
* libtrivfs/file-get-source.c: Remove file.
* libtrivfs/fsys-get-source.c: Add file.
* trans/Makefile (mtab): Build client stubs until the libc has caught
on.
* trans/mtab.c (target_control): New variable.
(insecure): Drop variable.
(all_translators): Likewise.
(MAX_DEPTH): New macro.
(max_depth): New variable.
(options): Remove '--insecure' and '--all-translators', add '--depth'.
(parse_opt): Adapt accordingly.
(trivsfs_append_args): Likewise.
(main): Get the control port of the target translator, then drop
privileges.
(is_filesystem_translator): Remove function.
(mtab_mark_as_seen): Simplify. Just check if the control port is
known.
(mtab_populate): Limit depth of recursion, adapt to traversing over
the control ports, simplify.
(open_hook): Remove scary comment, it is not applicable anymore
because we no longer dir_lookup child translators.
commit e08859424e01697fe556e277283e8e1905327ce7
Author: Justus Winter <address@hidden>
Date: Tue Aug 22 13:07:54 2017 +0200
libfshelp: Use node instead of name as key.
Previously, libfshelp used the name of an translator as key in the
hash table. This however is flawed, because a translator is bound to
a node, and a node can have zero or more links in the file system.
Use the nodes address (or rather, the address of the transbox embedded
in the node) as key instead.
* libfshelp/fshelp.h (fshelp_set_active_translator): Instead of the
control port, hand the whole transbox to the function.
* libfshelp/translator-list.c (struct translator): New field 'locp'.
(hash): Hash pointer.
(compare): Compare pointer.
(translator_ihash): Use an location pointer.
(fshelp_set_active_translator): Use the address of the transbox as key.
(fshelp_remove_active_translator): Remove using the location pointer.
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Fix callsite.
* libdiskfs/file-set-trans.c (diskfs_S_file_set_translator): Likewise.
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Likewise.
* libnetfs/file-set-translator.c (netfs_S_file_set_translator):
Likewise.
commit 04aaffbd6353e7cec04073783cc8cbd22ac2f675
Author: Justus Winter <address@hidden>
Date: Sun Aug 20 12:03:33 2017 +0200
libfshelp: Avoid some right diddling.
* libfshelp/translator-list.c (fshelp_set_active_translator): Avoid
updating the entry if the control port is still the same.
commit 47715139bb7bc8e2c94536a34207e0028a7f65b4
Author: Justus Winter <address@hidden>
Date: Sun Oct 9 23:38:50 2016 +0200
libfshelp: Improve error handling.
* libfshelp/translator-list.c (fshelp_set_active_translator): Free
resources. Assert that an entry is removed.
(fshelp_remove_active_translator): Assert that an entry is removed.
commit 074f0ea9799b2fa5297eb120d68e0a97cf1b40ac
Author: Justus Winter <address@hidden>
Date: Sun Oct 9 00:13:46 2016 +0200
Normalize path of translators.
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Strip trailing
slashes.
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Likewise.
commit 5fef1b7f22ec0ee3730b80bbf972dbf9a8995091
Author: Justus Winter <address@hidden>
Date: Wed Oct 5 15:38:58 2016 +0200
libfshelp: Add function to map over all active translators.
* libdiskfs/file-syncfs.c (diskfs_S_file_syncfs): Use the new function.
* libdiskfs/fsys-options.c (diskfs_S_fsys_set_options): Likewise.
* libdiskfs/fsys-syncfs.c (diskfs_S_fsys_syncfs): Likewise.
* libdiskfs/shutdown.c (diskfs_shutdown): Likewise.
* libfshelp/fshelp.h (fshelp_map_active_translators): New declaration.
* libfshelp/translator-list.c (fshelp_map_active_translators): New
function.
* libnetfs/file-syncfs.c (netfs_S_file_syncfs): Use the new function.
* libnetfs/fsys-set-options.c (netfs_S_fsys_set_options): Likewise.
* libnetfs/fsys-syncfs.c (netfs_S_fsys_syncfs): Likewise.
* libnetfs/shutdown.c (netfs_shutdown): Likewise.
commit 116552c075abf1d22057a608fee9d27684bcbbe5
Author: Justus Winter <address@hidden>
Date: Wed Oct 5 15:09:11 2016 +0200
libfshelp: Always register dead-name notifications.
* libfshelp/translator-list.c (fshelp_set_active_translator): Always
register dead-name notifications.
commit 978a819485e1e301c49b41fb629656d157d61ec6
Author: Justus Winter <address@hidden>
Date: Wed Oct 5 15:07:37 2016 +0200
libfshelp: Avoid useless allocations.
* libfshelp/translator-list.c (fshelp_set_active_translator): Avoid
allocating an entry unless a valid control port is given.
commit 8d5a124be53200c775b818e933603c1c8eeefbe5
Author: Justus Winter <address@hidden>
Date: Wed Oct 5 13:34:26 2016 +0200
Fix active translator registration.
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Unconditionally
register translators. Previously, we missed translators because
'transbox.active' is not in fact reset if the translator dies.
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Likewise.
commit 1a75f7795e8d5e2b7cbc27e39eade1ee04668c19
Author: Justus Winter <address@hidden>
Date: Tue Nov 24 01:20:57 2015 +0100
libfshelp: improve translator list
Use the path names of active translators as keys in the hash table.
* libfshelp/translator-list.c (hash, compare): New functions.
(translator_ihash): Use generalized key interface.
(fshelp_set_active_translator): Update accordingly.
(fshelp_remove_active_translator): Likewise.
commit e9849c9bf993eae14f900a95819186e09cfd98fe
Author: Justus Winter <address@hidden>
Date: Fri Sep 1 11:40:52 2017 +0200
pflocal: Use default stub implementations.
* pflocal/Makefile (fsServer-CFLAGS): Make use of default
implementations.
(ioServer-CFLAGS): Likewise.
* pflocal/fs.c: Remove all stub functions.
* pflocal/io.c: Likewise.
commit 796f8789f80568861b747265998f31fa83091915
Author: Samuel Thibault <address@hidden>
Date: Mon Sep 11 00:48:17 2017 +0200
storeio: Avoid calling mmap with zero size
* storeio/dev.c (dev_open): When store is zero-sized, set buf to NULL
instead of calling mmap().
commit 17bd59544d8e3dccf33d3adebbc9df30842f022a
Author: Samuel Thibault <address@hidden>
Date: Sun Sep 10 23:33:46 2017 +0200
Fix build with glibc-2.26
* nfsd/cache.c: Include <stdint.h>
commit e3e7590cbb15e675fbada1c0d012ffe43776e221
Author: Samuel Thibault <address@hidden>
Date: Sun Sep 10 23:07:54 2017 +0200
exec: Avoid calling mmap with zero size
mmap is supposed to return an error on passing a zero size.
* exec/exec.c (servercopy): Immediately return NULL if argsize is 0.
commit 7d906d22cf1953641303966a756f3c44535001ae
Author: Samuel Thibault <address@hidden>
Date: Sun Sep 10 16:02:05 2017 +0200
pfinet: select UDP/TCP ports randomly
* pfinet/linux-src/include/net/tcp.h (tcp_port_rover): Remove
declaration
* pfinet/linux-src/include/net/udp.h (udp_port_rover): Likewise.
* pfinet/linux-src/net/ipv4/tcp_ipv4.c (tcp_port_rover): Remove
variable.
(tcp_v4_get_port): Take port hint from net_random() instead of
tcp_port_rover.
* pfinet/linux-src/net/ipv4/udp.c (udp_port_rover, udp_v4_get_port):
Likewise.
* pfinet/linux-src/net/ipv6/tcp_ipv6.c (tcp_v6_get_port): Likewise.
* pfinet/linux-src/net/ipv6/udp_ipv6.c (udp_v6_get_port): Likewise.
commit 973089f3832df9887259e1927f7ead800d9dd897
Author: Justus Winter <address@hidden>
Date: Tue Aug 29 12:27:58 2017 +0200
Remove unused parameter from the 'get_source' machinery.
* libdiskfs/diskfs.h (diskfs_get_source): Remove first parameter.
* libdiskfs/file-get-source.c (diskfs_S_file_get_source): Adapt
callsite.
* libdiskfs/get-source.c (diskfs_get_source): Adapt default
implementation.
* libnetfs/netfs.h (netfs_get_source): Remove first parameter.
* libnetfs/file-get-source.c (netfs_S_file_get_source): Adapt
callsite.
* libnetfs/get-source.c (netfs_get_source): Adapt default
implementation.
* libtrivfs/trivfs.h (trivfs_get_source): Remove first parameter.
* libtrivfs/file-get-source.c (trivfs_S_file_get_source): Adapt
callsite.
* libtrivfs/get-source.c (trivfs_get_source): Adapt default
implementation.
* nfs/main.c (netfs_get_source): Adapt implementation.
* procfs/main.c (netfs_get_source): Likewise.
* trans/firmlink.c (trivfs_get_source): Likewise.
commit 812117cfbd76fadfd6c20913db665619070c170e
Author: Justus Winter <address@hidden>
Date: Wed Aug 30 13:10:48 2017 +0200
trans/mtab: Fix warnings.
* trans/mtab.c (get_credentials): Fix error handling.
(mtab_populate): Fix type.
(trivfs_S_io_seek): Avoid implicit fallthrough warnings.
commit 7f49fa0b2dbd371c3b10d876eeed7a26812506b4
Author: Justus Winter <address@hidden>
Date: Thu Aug 24 19:54:49 2017 +0200
trans/symlink: Use default server stubs.
* trans/Makefile (fsysServer-CFLAGS): Use default server stubs.
* trans/symlink.c: Remove all the fsys stubs.
commit 5dc9e5261a67266b6b9f5cfdd95baeba0c808d80
Author: Justus Winter <address@hidden>
Date: Thu Aug 24 16:06:11 2017 +0200
startup: Don't spin on host_reboot failures.
* startup/startup.c (reboot_mach): Do not retry needlessly if
host_reboot fails.
commit e493a6164cfe188a151b10f37a971bbfa67297cf
Author: Justus Winter <address@hidden>
Date: Thu Aug 24 17:42:10 2017 +0200
libnetfs: Remove redundant type checks.
* libnetfs/file-get-children.c (netfs_S_file_get_children): Drop
redundant type checks.
* libnetfs/file-get-source.c (netfs_S_file_get_source): Likewise.
commit 59dacf77dc0aa25dfda3b192ec099e7310d543d2
Author: Justus Winter <address@hidden>
Date: Thu Aug 24 11:09:05 2017 +0200
libdiskfs: Simplify type checks.
* libdiskfs/diskfs.h (diskfs_begin_using_control_port): Check port class.
* libdiskfs/fsys-getfile.c (diskfs_S_fsys_getfile): Drop check.
* libdiskfs/fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
* libdiskfs/fsys-goaway.c (diskfs_S_fsys_goaway): Likewise.
* libdiskfs/fsys-options.c (diskfs_S_fsys_{s,g}et_options): Likewise.
* libdiskfs/fsys-syncfs.c (diskfs_S_fsys_syncfs): Likewise.
commit a3254ced93e2db103d7395c4d5a727260ae69894
Author: Justus Winter <address@hidden>
Date: Thu Aug 24 16:45:49 2017 +0200
libdiskfs: Use control class for the singleton 'bootinfo'.
* libdiskfs/boot-start.c (bootinfo): New variable.
(diskfs_start_bootstrap): Create 'bootinfo' as an instance of
'diskfs_control_class'.
(diskfs_S_fsys_getpriv): Only allow operation on 'bootinfo'.
(diskfs_S_fsys_init): Allow operation on any control object, but only
once.
* libdiskfs/diskfs.h (diskfs_initboot_class): Drop declaration.
* libdiskfs/init-init.c (diskfs_initboot_class): Drop variable.
(diskfs_init_diskfs): Adapt.
commit 477b739fdff7b205b1b6066a2685c0924fc0ea9f
Author: Justus Winter <address@hidden>
Date: Thu Aug 24 11:07:32 2017 +0200
eth-multiplexer: Fix type check.
* eth-multiplexer/device_impl.c (ds_device_open): Check the port
class.
commit 4076a4d3bd380a287fcc0bc9e3d1d573b29714cb
Author: Justus Winter <address@hidden>
Date: Sun Aug 20 13:46:32 2017 +0200
ext2fs: Improve inlining.
* ext2fs/ext2fs.h: Add missing declarations needed when inlining is
disabled.
commit bdbaf9d19c68ded3a9c3c62585f47fdc38841eb5
Author: Justus Winter <address@hidden>
Date: Wed Aug 23 16:14:34 2017 +0200
Drop the register qualifier.
* console/display.c: Drop 'register'.
* eth-multiplexer/dev_stat.c: Likewise.
* libbpf/bpf_impl.c: Likewise.
* libbpf/queue.c: Likewise.
* libports/manage-multithread.c: Likewise.
* libports/manage-one-thread.c: Likewise.
commit 61d5aee1ce02888e78eab4ed85a9c8e631006d7b
Author: Justus Winter <address@hidden>
Date: Tue Aug 22 19:38:25 2017 +0200
eth-multiplexer: Respect interfaces up flags.
* eth-multiplexer/device_impl.c (ds_device_write): Deny writes when
interface is down.
* eth-multiplexer/vdev.c (add_vdev): Initialize flags to
a sane value.
(broadcast_pack): Skip interfaces that are down.
(broadcast_msg): Likewise.
commit ae61f83839ea072533fca15dc75284799e5e0445
Author: Justus Winter <address@hidden>
Date: Tue Aug 22 15:05:27 2017 +0200
eth-multiplexer: Allow setting of flags.
* eth-multiplexer/dev_stat.c (wants_all_multi_p): New function.
(vdev_setstat): Likewise.
* eth-multiplexer/device_impl.c (ds_device_set_status): Use new
function.
* eth-multiplexer/vdev.h (vdev_setstat): New declaration.
commit 2d0d1fd043efd3457bc8bce04c884579d140b2b5
Author: Justus Winter <address@hidden>
Date: Wed Aug 23 16:05:23 2017 +0200
eth-multiplexer: Generalize function and improve error handling.
* eth-multiplexer/ethernet.c (set_promisc): Rename to
'eth_set_clear_flags' and generalize.
(ethernet_open): Adapt call site.
(ethernet_close): Likewise.
* eth-multiplexer/ethernet.h (eth_set_clear_flags): New declaration.
commit 55efa897ebaa7ec880cd2b219362cb85f970cf33
Author: Justus Winter <address@hidden>
Date: Wed Aug 23 14:58:49 2017 +0200
eth-multiplexer: Remove local definiton.
* eth-multiplexer/ethernet.c (NET_FLAGS): Drop macro.
commit 25de3c52515332b41bf31774ce1ed8f32ee7adbf
Author: Justus Winter <address@hidden>
Date: Tue Aug 22 19:24:32 2017 +0200
eth-multiplexer: Implement getting the devices flags.
* eth-multiplexer/dev_stat.c (dev_getstat): Implement the NET_FLAGS
flavor.
commit 9ac9732e27128927d0e24d44d72145be5acfcc28
Author: Justus Winter <address@hidden>
Date: Tue Aug 22 16:24:40 2017 +0200
eth-multiplexer: Fix error handling.
* eth-multiplexer/device_impl.c (ds_device_write): Do not deallocate
data, it is destroyed by the server loop ("consume-on-success").
commit 9a4ccfcd4d4f10df2af538c489294527fc231128
Author: Justus Winter <address@hidden>
Date: Fri Aug 11 18:17:44 2017 +0200
startup: Improve error handling.
* startup/startup.c (main): Improve error handling.
commit 01ced1f5856659f4f457f39c270dd10f64ccaab8
Author: Justus Winter <address@hidden>
Date: Fri Aug 11 18:10:15 2017 +0200
libshouldbeinlibc: Fix wiring code.
* libshouldbeinlibc/wire.c (statically_linked): New function.
(loaded): Remove check.
(wire_segment_internal): Fix error handling. Be smarter about the
wiring, inspired by the mach-defpager code.
(wire_segment): Fix error handling.
(wire_task_self): Fix error handling. Distinguish between static
binaries and dynamic binaries without DT_DEBUG or link map. When we
don't have a map, fall back to wiring the whole space. Wire future
allocations.
* libshouldbeinlibc/wire.h (wire_task_self): Return error_t.
(wire_segment): Likewise.
commit e2823ba8f994292ecb92b83dfa3174e6f11c92fd
Author: Justus Winter <address@hidden>
Date: Fri Aug 11 18:07:25 2017 +0200
startup: Fix retrieving the privileged ports.
* startup/startup.c: Give the privileged ports to the glibc so that
other code can get them.
commit bb9dba5a97b5605d12aa68b2978bda329a9f1f31
Author: Justus Winter <address@hidden>
Date: Thu Aug 10 23:25:41 2017 +0200
ext2fs: Fix warning.
* ext2fs/xattr.c (ext2_set_xattr): Initialize 'block'.
commit 0a68ce9956efcc286d359907b0e5599eb5a404ec
Author: Justus Winter <address@hidden>
Date: Sun Aug 6 20:27:03 2017 +0200
libdiskfs: Make mapping the time device more robust.
* libdiskfs/init-init.c (diskfs_init_diskfs): First try /dev/time,
then fall back to the Mach device.
commit 94202d376102f6368260aeb0a26bed5b0be52fe5
Author: Justus Winter <address@hidden>
Date: Sun Aug 6 19:45:28 2017 +0200
Make build system more robust.
* Makeconf: Use '#' instead of '/' in the sed command to avoid
clashing with the path separator '/'.
commit a2f64c2462282bb3cf1ad24044c97bb7d6b85e0d
Author: Justus Winter <address@hidden>
Date: Sat Aug 5 19:26:25 2017 +0200
Replace bcopy with memcpy or memmove as appropriate.
* boot/boot.c: Replace bcopy with memcpy or memmove as appropriate.
* exec/hashexec.c: Likewise.
* libps/proclist.c: Likewise, but also fix the amount of data copied.
* libps/procstat.c: Likewise.
* libps/spec.c: Likewise.
* libshouldbeinlibc/cacheq.c: Likewise.
* libshouldbeinlibc/idvec.c: Likewise.
* libshouldbeinlibc/timefmt.c: Likewise.
commit 66553fd7a7bcf7c260b45f2e7ad54e98d33f8080
Author: Justus Winter <address@hidden>
Date: Sat Aug 5 19:28:38 2017 +0200
Simplify deallocations.
free (NULL) is a nop, therefore it is not necessary to check that
first. Simplify the code accordingly. This commit is the result of
the following semantic patch:
@@
identifier X;
@@
-if (X) free (X);
+free (X);
* console-client/console.c: Simplify accordingly.
* console-client/driver.c: Likewise.
* console-client/vga.c: Likewise.
* ftpfs/dir.c: Likewise.
* libftpconn/unix.c: Likewise.
* libps/fmt.c: Likewise.
* libps/proclist.c: Likewise.
* libstore/mvol.c: Likewise.
* nfs/ops.c: Likewise.
* proc/host.c: Likewise.
* sutils/fstab.c: Likewise.
commit 835b293d35a209d38047126443d41fa7090daa4c
Author: Justus Winter <address@hidden>
Date: Mon Jun 19 21:20:57 2017 +0200
Use our own variant of 'assert' and 'assert_perror'.
Our variants print stack traces on failures. This will make locating
errors much easier.
commit dc0b5a43224999223a246870912b0f292b1980e9
Author: Justus Winter <address@hidden>
Date: Sat Apr 1 02:58:16 2017 +0200
procfs: Provide 'hostinfo'.
* procfs/rootdir.c (rootdir_gc_hostinfo): New function.
(rootdir_entries): New entry 'hostinfo'.
commit d4d2d12f24ca625daf32dcfc8e75576420ffbd2f
Author: Justus Winter <address@hidden>
Date: Sat Aug 5 17:55:31 2017 +0200
Fix harmless indentation errors tripping [-Wmisleading-indentation].
* trans/new-fifo.c (main): Fix indentation.
* utils/rpctrace.c (discover_receive_right): Likewise.
commit de4c6545203b090670182c0be36fce4f6f4f2c2a
Author: Maksym Planeta <address@hidden>
Date: Sun Oct 7 19:51:09 2012 +0300
Fix typo.
* ext2fs/truncate.c (force_delayed_copies): Fix typo.
commit 3c0094e1244b649ca49482fadb850a2dfc2d4442
Author: David Michael <address@hidden>
Date: Sun Jun 25 23:24:52 2017 -0700
build: Drop unused/unsubstituted config variables
* config.make.in (HAVE_BLKID, HAVE_DAEMON): Drop variable.
commit 78ccb233cfed6d9e10864bfdce6348edddada4b8
Author: Samuel Thibault <address@hidden>
Date: Mon Jun 26 08:34:10 2017 +0200
Revert "Fix taking into account prefix for xkb-data installation"
This reverts commit a4f5b76390f1c7b377efbac488b57fa6756da80a.
This broke existing configurations (Debian and Guix), more investigation
seems to be needed for Arch.
commit 7a03aea10fd581c41d27acc1a29f7b10b09920cc
Author: Justus Winter <address@hidden>
Date: Tue Jun 20 11:33:01 2017 +0200
libshouldbeinlibc: Add missing include.
* libshouldbeinlibc/assert-backtrace.h: Include 'sys/cdefs.h' for
'__STRING'.
commit 9d1b0cfb95e26fa506179bc30152989a817ff1e6
Author: Justus Winter <address@hidden>
Date: Tue Jun 20 01:06:53 2017 +0200
trans/fakeroot: Obey O_NOFOLLOW.
* trans/fakeroot.c (netfs_S_dir_lookup): Do not follow symlinks if the
client used O_NOFOLLOW.
commit a4f5b76390f1c7b377efbac488b57fa6756da80a
Author: Luca Weiss <address@hidden>
Date: Mon Jun 19 22:32:30 2017 +0200
Fix taking into account prefix for xkb-data installation
* console-client/Makefile (install): Prepend $(prefix) to install
target.
* console-client/Makefile ($(XKB_BASE)/%): Rename target to
$(prefix)$(XKB_BASE)/%.
commit bf1afc9cf958c9270ab73236028097ca0113b176
Author: David Michael <address@hidden>
Date: Sat Jun 10 12:30:35 2017 -0700
trans: Fix parallel build race around MIG-generated headers
This causes random.d to be generated which makes random.o depend on
mach_debug_U.h, ensuring it exists before random.c is compiled.
* trans/Makefile: Add random.c to SRCS when gcrypt is used.
commit 019f9923e879ff326b14b2de04c6939c07ccb55b
Author: Samuel Thibault <address@hidden>
Date: Fri Jun 9 22:08:23 2017 +0200
ext2fs: Reduce verbosity of missing xattr support on the FS
* ext2fs/xattr.c (ext2_free_xattr_block): Only warn about missing ext2fs
support in debugging mode.
commit 26e774bab06eab72847a7ca052a90d5319ad658a
Author: Justus Winter <address@hidden>
Date: Mon Jun 5 16:29:58 2017 +0200
hurd: Fix the use of polymorphic types.
Fixes baf7e5c8ce176aead15c2559952d8bdf0da41ffd.
* hurd/process.defs (proc_getmsgport): Make 'msgport' parameter
polymorphic only on the sender side.
(proc_task2proc): Likewise for 'proc'.
(proc_pid2proc): Likewise.
commit 74f4e5781e0f259a22b8e1e125973262600abed7
Author: Justus Winter <address@hidden>
Date: Fri Jun 2 17:23:03 2017 +0200
trans: Conditionally build the random translator.
Only build the random translator if we find a suitable version of
libgcrypt. This helps to reduce the build dependencies to bootstrap
the Hurd.
* aclocal.m4: Include 'libgcrypt.m4'.
* config.make.in (HAVE_LIBGCRYPT): New variable.
* configure.ac: Check for a suitable libgcrypt.
* m4/libgcrypt.m4: New file.
* trans/Makefile: Conditionally build the random translator.
commit 29ff193d27436e52d8112903c882ebe52f071d88
Author: Justus Winter <address@hidden>
Date: Fri Jun 2 00:47:07 2017 +0200
trans: New random translator.
Previously, the Hurd included a translator providing /dev/random and
/dev/urandom based on a source copy of the random number generator
found in classic GnuPG.
The new random translator is using the SHAKE128 algorithm from the
SHA-3 family as the underlying cryptographic primitive. Being a
sponge construction, it allows the extraction of arbitrary amounts of
pseudorandom data. It is continuously fed entropy by hashing system
state that is hard to predict.
* Makefile (prog-subdirs): Remove 'random'.
* NEWS: Update.
* random/Makefile: Delete file.
* random/TODO: Likewise.
* random/gnupg-bithelp.h: Likewise.
* random/gnupg-glue.h: Likewise.
* random/gnupg-random.c: Likewise.
* random/gnupg-random.h: Likewise.
* random/gnupg-rmd.h: Likewise.
* random/gnupg-rmd160.c: Likewise.
* random/random.h: Likewise.
* sutils/MAKEDEV.sh (random): Create node.
(urandom): The new translator is both secure and non-blocking. Create
a link from urandom to random for compatibility with Linux.
* trans/Makefile (targets): Add 'random'.
* trans/random.c: Move the skeleton of the old random translator here,
but replace the PRNG with SHAKE128. Remove all dubious attempts of
accounting for entropy. Do not block ever.
commit ce6764db1e045421fc9a199a334f63318d9f79d2
Author: Justus Winter <address@hidden>
Date: Sat Jun 3 01:28:37 2017 +0200
procfs: Remove superfluous calls.
* procfs/rootdir.c (rootdir_gc_vmstat): Remove superfluous 'host_info'
calls.
commit cb991b0fd709a635b21c6ea2314acb5345b1b72c
Author: Samuel Thibault <address@hidden>
Date: Sun May 7 13:41:26 2017 +0200
ext2fs: Reduce verbosity of missing xattr support on the FS
* ext2fs/xattr.c (ext2_list_xattr, ext2_get_xattr): Only warn about
missing ext2fs support in debugging mode.
commit ef0399bad41e60cb30d5073129abeb206076394a
Author: Manolis Ragkousis <address@hidden>
Date: Sat Apr 8 16:44:52 2017 +0300
eth-multiplexer: Fix iohelp missing dependency.
* eth-multiplexer/Makefile (HURDLIBS): Add iohelp.
commit 4089f37cdd776e046d51604041c3fe62a2bc1435
Author: Justus Winter <address@hidden>
Date: Sun Mar 12 17:16:40 2017 +0100
Pass the kernel's task port to proc.
Previously, the early server bootstrap relied upon a specific task
layout to determine the kernels task port. Explicitly pass it from
the kernel instead.
* boot/boot.c (default_boot_script): Add '--kernel-task' parameter to
ext2fs.
(main): New bootscript variable 'kernel-task'.
* libdiskfs/boot-start.c (diskfs_kernel_task): Declaration variable.
(diskfs_start_bootstrap): If '--kernel-task' was given to us, pass it
along to startup.
* libdiskfs/opts-std-startup.c (diskfs_kernel_task): New variable.
(startup_options): Add '--kernel-task' option.
(parse_startup_opt): Handle option.
* proc/main.c (kernel_task): New variable.
(OPT_KERNEL_TASK): New macro.
(options): New variable.
(parse_opt): New function.
(main): Parse options. Use 'kernel_task' if provided.
* release/servers.boot: Add '--kernel-task' parameter to ext2fs.
* startup/startup.c (OPT_KERNEL_TASK): New macro.
(options): Add '--kernel-task' option.
(kernel_task): New variable.
(insert_ports_fnc_t): New declaration.
(run): Add argument for a function that inserts rights into the newly
created task and adds arguments to the argument vector.
(argz_task_insert_right): New function.
(proc_insert_ports): Likewise.
(parse_opt): New function.
(main): Pass the kernel's task port to proc.
(frob_kernel_process): Use the kernel's task port.
commit ef729f8642cc96ddfd3f5b5db4d6aac057b1d397
Author: Justus Winter <address@hidden>
Date: Sun Mar 12 12:35:39 2017 +0100
startup: Simplify reference handling.
* startup/startup.c (launch_core_servers): Instead of copying a send
right and then deallocating it, move it.
(init_stdarrays): Likewise.
commit 34a94ce86b1bada9c0768f631540735d44f41100
Author: Justus Winter <address@hidden>
Date: Thu Mar 9 23:55:12 2017 +0100
proc: Hierarchical proc servers.
Previously, a Subhurd's tasks were shown as weird processes in the
Motherhurd. This change connects the proc server in the Motherhurd
with the proc server in the Subhurd, embedding the Subhurd's process
hierarchy. Subhurd's processes can now be inspected and debugged like
any other process.
* NEWS: Update.
* boot/boot.c (mach_msg_forward): New function.
(boot_demuxer): Forward messages arriving on the new task notification
port from the proc server, and forward them to the proc server inside
the Subhurd via the notification port.
* proc/info.c (S_proc_task2proc): Relay request for processes in a task
namespace to the Subhurd's proc server.
(S_proc_pid2proc): Likewise.
(S_proc_getprocargs): Likewise.
(S_proc_getprocenv): Likewise.
(S_proc_getprocinfo): Likewise. Translate PIDs.
(S_proc_getloginid): Likewise.
(S_proc_getloginpids): Likewise.
* proc/mgt.c (namespace_is_subprocess): New function.
(namespace_translate_pids): Likewise.
* proc/msg.c (S_proc_getmsgport): Relay request for processes in a task
namespace to the Subhurd's proc server.
* proc/pgrp.c (S_proc_getsid): Likewise. Translate PIDs.
(S_proc_getsessionpids): Likewise.
(S_proc_getsessionpgids): Likewise.
(S_proc_getpgrppids): Likewise.
* proc/proc.h (namespace_is_subprocess): New prototype.
(namespace_translate_pids): Likewise.
commit baf7e5c8ce176aead15c2559952d8bdf0da41ffd
Author: Justus Winter <address@hidden>
Date: Fri Mar 10 12:36:39 2017 +0100
hurd: Use polymorphic port types to return some rights.
Currently, the RPC definitions of two procedures of the process
subsystem assume that the rights are created from a receive right.
Similarly, 'proc_getmsgport' assumes that the right is to be copied.
This needlessly limits the ability to relay the RPC in server code.
This fixes this. The protocol is unchanged, only the generated server
stubs assume an additional parameter for the type.
* hurd/process.defs (proc_getmsgport): Make 'msgport' parameter
polymorphic.
(proc_task2proc): Make 'proc' parameter polymorphic.
(proc_pid2proc): Likewise.
* hurd/process_reply.defs (proc_getmsgport): Likewise.
(proc_task2proc_reply): Likewise.
(proc_pid2proc_reply): Likewise.
* proc/info.c (S_proc_task2proc): Adapt server function.
(S_proc_pid2proc): Likewise.
* proc/msg.c (S_proc_getmsgport): Likewise.
commit 150ff2ad69344d8555c14b42b2658313f16e9d1e
Author: Justus Winter <address@hidden>
Date: Thu Mar 9 23:51:54 2017 +0100
proc: Refactor.
* proc/mgt.c (namespace_find_root): New function.
(process_has_exited): Use new function.
* proc/proc.h (namespace_find_root): New declaration.
commit fb3698ebbb375472832939d5534363d42de624f2
Author: Justus Winter <address@hidden>
Date: Thu Mar 9 23:10:05 2017 +0100
proc: Remove erroneous process entry.
Previously, there was a spurious copy of PID 1 in the process table,
usually PID 8. PID 1, usually a sysvinit compatible process, needs to
be PID 1 even though it is not actually the first process on the Hurd.
To this end, PID 1 is reserved, and the task is later supplied to proc
via proc_set_init_task once startup starts sysvinit.
Fixes 8d16db0cc28b2d911aee918d5c3582ad29ddfeed.
* proc/mgt.c (S_proc_set_init_task): Check if sysvinit's task already
made it into the process table, and remove it if so.
commit b66e7d0f2c4e0754e51ffce14386e1884c29d08e
Author: Justus Winter <address@hidden>
Date: Mon Mar 6 00:29:37 2017 +0100
boot: Move declaration.
* boot/boot.c (new_task_notification): Move declaration to the top,
add comment.
commit 40c752c4e5e3c8c20cee345790954511e9f3825b
Author: Justus Winter <address@hidden>
Date: Mon Mar 6 00:18:21 2017 +0100
proc: Receive new-task notifications on kernel's process port.
* proc/main.c (main): Initialize 'kernel_proc' and use it to register
for new-task notifications.
* proc/mgt.c (S_mach_notify_new_task): Adapt receiver check.
* proc/proc.h (kernel_proc): New variable.
commit 83457a27885a177908718839e8a4f356b649f72f
Author: Justus Winter <address@hidden>
Date: Mon Mar 6 00:14:05 2017 +0100
proc: Open console earlier.
This way, we can print diagnostics earlier.
* proc/main.c (open_console): New function.
(main): Call the new function as soon as we have the master device
port.
commit db7dd39b84be0371536c9ccec907cd918476c0ea
Author: Samuel Thibault <address@hidden>
Date: Sat Mar 4 20:11:47 2017 +0100
Avoid ports_interrupt_rpcs cancel itself
While this does not hurt immediately, callers of ports_interrupt_rpcs
would themselves get canceled at the next cancelation point.
* libports/interrupt-rpcs.c (ports_interrupt_rpcs): Do not call
cancel ourself.
commit cfcb0edb14772b625c7d744c4f2e455c53c92d6b
Author: Justus Winter <address@hidden>
Date: Fri Mar 3 17:17:38 2017 +0100
boot: Make the halt message nicer.
* boot/boot.c (S_host_reboot): Emit a carriage return.
commit 7845e0f740d104dc712505ab2f8b273a18078fae
Author: Justus Winter <address@hidden>
Date: Fri Mar 3 17:10:53 2017 +0100
boot: Fix failing device lookups in unprivileged mode.
Previously, EMACH_SEND_INVALID_DEST was returned. This had
devastating consequences on the translator linkage of storeio
translators. When accessed, the parent translator tried to start the
translator over and over again, spawning tasks until the system runs
out of resources.
* boot/boot.c (ds_device_open): Return the correct error when trying
to open a non-existent device in unprivileged mode.
commit 5ac0c5c8e2e13217aabe7dd6e91ff218d0db6346
Author: Justus Winter <address@hidden>
Date: Tue Feb 28 17:57:37 2017 +0100
boot: Add a verbose option.
* boot/boot.c (verbose): New variable.
(options): New option.
(parse_opt): Handle new option.
(ds_device_open): Be verbose if so desired.
(task_died): Likewise.
(S_mach_notify_new_task): Likewise.
* boot/userland-boot.c (boot_script_task_create): Likewise.
(boot_script_task_resume): Likewise.
* boot/private.h: New file.
commit 9beba9b6d168f59eeb74859ab5d88d9cabfe6f37
Author: Justus Winter <address@hidden>
Date: Tue Feb 28 17:53:45 2017 +0100
boot: Cleanup Makefile.
* boot/Makefile (SRCS): Drop removed sources.
commit 4acff3451900c5d88ae72f69f6a7063b9dbb5483
Author: Justus Winter <address@hidden>
Date: Tue Feb 28 17:40:01 2017 +0100
libshouldbeinlibc: Fix NDEBUG build.
* libshouldbeinlibc/assert-backtrace.h (assert_perror_backtrace): Fix
variant for NDEBUG.
commit 8faee92d84336ca44652c8c3a906b70b67f8a7f1
Author: Samuel Thibault <address@hidden>
Date: Tue Feb 14 09:35:03 2017 +0100
Fix mig URL
Thanks deathsbreed for the report.
configure.ac: Fix mig URL
commit becc70478c4e09e03e821703ac42fb3be985e97f
Merge: cef4f1d 05c364c
Author: Richard Braun <address@hidden>
Date: Sat Jan 28 14:18:32 2017 +0100
Merge remote-tracking branch 'remotes/darnassus/ext2fs-xattrs'
commit cef4f1daf97826511893815a2b6a891d7ccecac7
Author: Richard Braun <address@hidden>
Date: Mon Jan 9 21:30:54 2017 +0100
startup: insert the kernel name in its commande line
This cosmetic change sets argv[0] to "gnumach", making it easier to
identify the kernel process.
* startup/startup.c (frob_kernel_process): Insert "gnumach" at the start
of the kernel command line arguments.
commit 05c364c6588fb8e61cf075863919a40250172ba0
Author: Richard Braun <address@hidden>
Date: Sun Jan 8 23:01:11 2017 +0100
ext2fs: downgrade warnings about old translator records to debug messages
ext2fs/inode.c (diskfs_set_translator): Replace call to ext2_warning
with ext2_debug.
(diskfs_get_translator): Likewise.
commit 0849e0ba8c5faae3af49ac01dbc15b706c479b2c
Author: Richard Braun <address@hidden>
Date: Fri Jan 6 21:01:22 2017 +0100
ext2fs: fix extended attribute retrieval
* ext2fs/xattr.c (ext2_get_xattr): Reset buffer size before each call
to xattr_entry_get.
commit 059f34b91f705a7451491068668fedab07ee3a24
Author: Richard Braun <address@hidden>
Date: Fri Jan 6 20:56:01 2017 +0100
ext2fs: minor cleanup
Fix some typos, types, add a few checks against integer overflows.
ext2fs/inode.c (diskfs_user_read_node): Initialize datalen to 0.
(diskfs_set_translator): Fix typo.
(diskfs_get_translator): Change datalen type to size_t.
* ext2fs/xattr.c (xattr_entry_get): Change type of block parameter
to void *.
(xattr_entry_create): Guard against integer overflows.
(xattr_entry_replace): Likewise.
(ext2_set_xattr): Fix typo.
commit 41857c776d63bfed4c14bd882b3c9eade1f52e4d
Author: Richard Braun <address@hidden>
Date: Fri Jan 6 20:44:04 2017 +0100
ext2fs: fix block reference
ext2fs/xattr.c (ext2_get_xattr): Keep the inode reference until the
block reference is done.
commit 109f842edae5297ad9c9ec3c8d88e2c74c9b0ca0
Author: Justus Winter <address@hidden>
Date: Sat Oct 8 18:34:26 2016 +0200
ext2fs: Fix potential block leak.
* ext2fs/xattr.c (ext2_set_xattr): We allocate a block, but only
register it as the inodes acl block on success. Make sure to
deallocate the block otherwise.
commit 4490e9a08367c7af617358de5b85ae7ab5198278
Author: Justus Winter <address@hidden>
Date: Sat Oct 8 18:25:13 2016 +0200
ext2fs: Fix block allocation.
* ext2fs/xattr.c (ext2_set_xattr): Check returned block number before
mapping it.
commit 4818346b39b5a58962d1676ea0bb3a0b954c1fed
Author: Justus Winter <address@hidden>
Date: Mon Oct 3 19:23:55 2016 +0200
ext2fs: Require users to opt-in for xattr-based translator records.
* ext2fs/ext2fs.c (use_xattr_translator_records): New variable.
(X_XATTR_TRANSLATOR_RECORDS): New macro.
(options): New option '--x-xattr-translator-records'.
(parse_opt): Handle new option.
* ext2fs/ext2fs.h (use_xattr_translator_records): New declaration.
* ext2fs/inode.c (diskfs_set_translator): Use new variable.
(diskfs_get_translator): Likewise.
commit c8dac952e7ed2a761da2b061a339d97092e55c01
Author: Justus Winter <address@hidden>
Date: Mon Oct 3 18:47:43 2016 +0200
ext2fs: Do not read translator record on Linux filesystems.
* ext2fs/inode.c (diskfs_user_read_node): Do not read translator
record on filesystems using Linux on-disk format. We pondered to use
this to introduce the feature, implementing it merely for Linux
filesystem.
commit 08336418301f68c87e29e3735aa83cee1bc3c9b7
Author: Justus Winter <address@hidden>
Date: Mon Oct 3 18:12:17 2016 +0200
ext2fs: Fix block leak in xattr code.
* ext2fs/xattr.c (ext2_set_xattr): Avoid allocating and leaking a
block if the caller tries to delete an extended attribute from a node
that has no extended attribute in the first place.
commit 76266d8cd0db429093e144a67ef66a0a6532c799
Author: Justus Winter <address@hidden>
Date: Mon Oct 3 13:26:02 2016 +0200
ext2fs: Use correct type for sizes.
* ext2fs/ext2fs.h (ext2_{list,get,set}_xattr): Use 'size_t'.
* ext2fs/xattr.c (xattr_entry_{list,get,create): Use 'size_t' where
appropriate.
(ext2_{list,get,set}_xattr): Likewise.
commit ea86767459e01e524c05190127ef1e71f5a47ff9
Author: Justus Winter <address@hidden>
Date: Mon Oct 3 13:25:14 2016 +0200
ext2fs: Fix typo.
commit db968a37027f4bb8e7f290dbba15ddb2b87331f1
Author: Shengyu Zhang <address@hidden>
Date: Wed Jul 6 14:21:23 2016 +0800
ext2fs: Use xattr to store passive translator
* ext2fs/inode.c (diskfs_set_translator): Use xattr to store passive
translator
if xattr is supported by filesystem.
(diskfs_get_translator): Read value of xattr key "gnu.translator" if it
exists.
(diskfs_user_read_node): Set translator flag on reading.
commit 6ebebc80de3dfc7ada3a69d609f00088c2143be3
Author: Shengyu Zhang <address@hidden>
Date: Fri May 13 09:18:59 2016 +0800
ext2fs: Add support for xattr
* ext2fs/Makefile (SRCS): Add xattr.c.
* ext2fs/ext2_fs.h: Define EXT2_FEATURE_COMPAT_EXT_ATTR.
* ext2fs/ext2fs.h: Add xattr functions.
* ext2fs/ialloc.c (diskfs_free_node): Free xattr block.
* ext2fs/xattr.c: xattr implement.
* ext2fs/xattr.h: Likewise.
commit 7320df6815649ab13a93a1b4d889b1b53bc112d4
Author: Richard Braun <address@hidden>
Date: Fri Jan 6 20:26:21 2017 +0100
Disable strict aliasing optimizations
The code base largely predates strict aliasing rules, and lots of
potential violations can be found.
Makeconf (CFLAGS): Add -fno-strict-aliasing option.
commit 7ff15eaca93ef512fb9ef67068032e09d3f7cef3
Author: Samuel Thibault <address@hidden>
Date: Mon Jan 2 20:17:59 2017 +0100
Fix indentation
commit 13204583cbda4e8cc58bfb7211eb1132b5d364f6
Author: Samuel Thibault <address@hidden>
Date: Mon Jan 2 19:31:56 2017 +0100
Fix libports dependencies
Due to refcount.h usage.
* libports/Makefile (HURDLIBS): Add shouldbeinlibc.
commit f5fa969bb148d045ea6045bdf326ad69d97888ff
Author: Samuel Thibault <address@hidden>
Date: Mon Jan 2 13:00:50 2017 +0100
Revert "libnetfs: remove unused fields."
This reverts commit 0788437e0953cdd6c8c4cdf25379d8704beb021c.
This is actually used by e.g. gopherfs.
commit f1f098dc682d41a94a2c6c266b136112aab6ea85
Author: Richard Braun <address@hidden>
Date: Mon Dec 26 22:08:02 2016 +0100
mach-defpager: fix pager leak
The server code for no-senders notifications wasn't updated to expect
protected payloads.
* mach-defpager/default_pager.c (default_pager_no_senders): Accept the
pager structure directly instead of its port name and update body
accordingly.
(default_pager_no_senders): Accept protected payloads in addition to
send-once rights and fetch the pager structure according to the message
type.
commit 92e3b0a3c3ba90c90605debf6e149e5a4b8d9a8f
Author: Richard Braun <address@hidden>
Date: Sat Dec 24 02:57:36 2016 +0100
mach-defpager: make the default pager use vm_wire_all
The vm_wire_all call was recently added to GNU Mach so that the
default pager doesn't depend on glibc malloc hooks any more.
* mach-defpager/default_pager.c
(start_default_pager_thread): Remove call to wire_memory.
* mach-defpager/kalloc.c (kget_space): Likewise.
* mach-defpager/wiring.c: Include mach/gnumach.h.
(wire_memory): Remove function.
(wire_all_memory): Replace call to wire_memory with a direct call
to vm_wire, call vm_wire_all after the fixup loop.
(vm_allocate, __vm_allocate): Remove functions.
* mach-defpager/wiring.h (wire_memory): Remove function.
commit ee4795884ec145303115ac1bd88878684df46118
Author: Samuel Thibault <address@hidden>
Date: Mon Dec 19 03:33:59 2016 +0100
libps: Fix time comparison
* libps/spec.c (ps_cmp_times): Actually compare tv_usec fields of tv1
and tv2.
commit b2c97e251bb470e6f967c716081675a96dbde59c
Author: Justus Winter <address@hidden>
Date: Mon Dec 19 02:13:06 2016 +0100
procfs: provide magic retry response for /proc/self
* hurd/hurd_types.h: Document the magic retry string `pid'.
* hurd/paths.h (_HURD_MAGIC): New macro.
* procfs/main.c: Remove all code related to faking /proc/self.
* procfs/main.h: Likewise.
* procfs/rootdir.c: Likewise. Instead, return the magic retry
response `pid' for the `self' node.
commit 5add1f4c531639b6247c827566ae55426c1182d7
Author: Thomas Schwinge <address@hidden>
Date: Sun Dec 18 19:38:57 2016 +0100
GNU Hurd 0.9
* configure.ac (AC_INIT): Set version to 0.9.
* NEWS: Finalize for 0.9.
commit 29ca072fcfeb04fc29dfa9853621c15b58a3ebcf
Author: Thomas Schwinge <address@hidden>
Date: Fri Dec 16 23:58:04 2016 +0100
Fix "random" ChangeLog handling
..., so that the correct things get done for "make dist".
* ChangeLog: Elaborate on "random".
* Makefile (gitlog-to-changelog_rev, ChangeLog_specs): Add entries
for "random".
(gen-ChangeLog): Handle that.
commit c9e8e4959e7fef9f4da05a0b20489177bf727955
Author: Thomas Schwinge <address@hidden>
Date: Thu Dec 15 10:12:15 2016 +0100
Fix "procfs" ChangeLog handling
..., so that the correct things get done for "make dist".
* procfs/ChangeLog: Merge file into...
* ChangeLog: ... this one, and elaborate some more.
* Makefile (gen_start_commit, ChangeLog_files): Merge into...
(ChangeLog_specs): ... this new variable.
(ChangeLog_files): Rewrite in terms of that one.
(gitlog-to-changelog_rev, ChangeLog_specs): Add entries for
"procfs".
(gen-ChangeLog): Handle that.
commit 5e2bbd8ae1229d55d18d46ed697c0aba3a191b35
Author: Thomas Schwinge <address@hidden>
Date: Thu Dec 15 10:19:54 2016 +0100
* Makefile (gen-ChangeLog): Remove ChangeLog files first.
commit 1f89580a1e8f3ca21f5b6780fce0a1aebaaa2c7f
Author: Thomas Schwinge <address@hidden>
Date: Thu Dec 15 10:10:44 2016 +0100
* Makefile (gen-ChangeLog): Remove incomplete "distdir" support.
commit a0d02749dc20005d9d75c34f1c4392bdfdcca219
Author: Justus Winter <address@hidden>
Date: Sat Dec 10 14:40:42 2016 +0100
Update NEWS file
commit b262c53330183d3c4563ce5f172b17fb33369070
Author: Justus Winter <address@hidden>
Date: Sun Oct 2 13:26:05 2016 +0200
Remove support for the deprecated external memory interface.
* libpager/stubs.c (_pager_S_memory_object_data_write): Drop stub.
* mach-defpager/default_pager.c (seqnos_memory_object_data_write):
Drop function.
commit 93575d60b1db3f32f10211a9ca633e3296d7f013
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 27 17:48:22 2016 +0100
libports: fix using ports.h in C++
class is a reserved keyword, event when imported inside extern "C" { }
* libports/ports.h (port_info) [__cplusplus]: Rename `class' field to
`port_class'.
(ports_create_port, ports_create_port_noinstall, ports_import_port,
ports_lookup_port, ports_lookup_payload, ports_count_class,
ports_enable_class, ports_class_iterate, _ports_bucket_class_iterate,
ports_inhibit_class_rpcs, ports_resume_class_rpcs): Rename `class'
parameter to `port_class'.
[!__cplusplus] (ports_lookup_payload, ports_payload_get_name): Do not
define extern inlines.
commit 793b5905770acb2af34f6b10b2a9ed49cb477834
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 27 17:43:41 2016 +0100
refcount: Fix usage in c++
g++ still doens't support non-trivial named initializers (sigh)
* libshouldbeinlibc/refcount.h (REFCOUNT_REFERENCES): New macro.
(refcounts_init, refcounts_unsafe_ref, refcounts_deref,
refcounts_promote, refcounts_demote, refcounts_unsafe_ref_weak,
refcounts_deref_weak): Use REFCOUNT_REFERENCES instead of explicit
initializer.
commit 58f8da3300c9ffcd7f9b5773ce2a5b9110a4c207
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 20 22:43:43 2016 +0100
Fix boot startup
* boot/boot.c (S_processor_set_tasks): Do not always return 0.
commit 7bd08cf55d83fcaa493bd1553bee11e3eb17408e
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 20 20:54:59 2016 +0100
Fix build
* libpager/pager-memcpy.c (pager_memcpy): Pass 1 as second parameter to
sigsetjmp.
* libstore/memobj.c (memobj_memcpy): Likewise.
commit 7d740ab409689eefe9c88e7d1e7d94b8189ddf19
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 20 20:41:20 2016 +0100
boot: fix crash when S_processor_set_tasks is called early
* boot/boot.c (S_processor_set_tasks): Return empty array when
task_ihash.nr_items is still 0.
commit 4f9e2ded8c0f0f40a7798cafa39440a52b41dd85
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 20 16:33:34 2016 +0100
ext2fs: Use more POSIXish error code
* ext2fs/dir.c (diskfs_direnter_hard): On missing room to extend
directory, return ENOSPC.
commit c9504e344954e54b1f6d00aecf47b02f25e91f60
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 20 16:27:31 2016 +0100
ext2fs: Do not talk about crashing on ENOSPC
* ext2fs/pager.c (pager_unlock_page): Do not say that ext2fs will crash
because of ENOSPC.
commit 62953f120bcdc976a3dfb96505066228464a78dd
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 20 16:22:29 2016 +0100
libpager, libstore: Fix crash on ENOSPC while writing data
We need to save blocked signals, otherwise longjmp will not unblock
SIGSEGV/SIGBUS, and thus next exception will kill us. Also, we need to
make sure that the preemptor is set at the right window in main memory
before letting a handler see it.
* libpager/pager-memcpy.c (do_memcpy): Call __sync_synchronize()
between aligning the fault preemptor and actually accessing data.
(fault): Use siglongjmp instead of longjmp.
(pager_memcpy): Use sigsetjmp instead of setjmp.
* libstore/memobj.c (copy, fault, memobj_memcpy): Likewise.
commit 484a67719146e819ddad64fbda23b4b23afa3095
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 20 16:19:38 2016 +0100
ext2fs: Fix crash on ENOSPC while extending a directory
* ext2fs/dir.c (diskfs_direnter_hard): Call hurd_safe_memset on
directory extension before using it, to actually reserve room.
commit 385d9bf1b81bc35f06cdf49f57bf65545339cbbb
Author: Brent W. Baccala <address@hidden>
Date: Mon Nov 14 00:44:17 2016 +0100
libpager: fix returning error on data_unlock
The _pager_lock_object call needs to be asynchronous because libpager is
single threaded, at least in the sense that individual memory objects
only process one request at a time. In this case, we're processing a
data_unlock request, and would have to handle a lock_completed message
before lock_object would return (synchronously).
* libpager/data-unlock.c (_pager_S_memory_object_data_unlock): Pass 0 to
sync parameter of _pager_lock_object() call.
commit 345abeda66c8aa5cb4d121fc8455cbe8053b9db6
Author: Justus Winter <address@hidden>
Date: Tue Nov 1 16:29:31 2016 +0100
mach-defpager: Fix daemonization.
* mach-defpager/main.c (main): Do not hang if the child dies.
commit 8cf212d402b0a392ed6c89f9e1035cbbf9988478
Author: Justus Winter <address@hidden>
Date: Sat Nov 5 18:47:34 2016 +0100
boot: Improve device pass-through.
Previously, the device file was opened once at startup time. This is
fragile, as the remote server might die. Open it at device open time
instead.
* boot/boot.c (options): Improve documentation.
(struct dev_map): Rename fields, document, store the name of the
device file instead of a port.
(add_dev_map): Update accordingly.
(lookup_dev): Likewise.
(ds_device_open): Open the device file here instead.
commit 54c6736341bda9564a028ad3d61d46488e53b8a6
Author: Justus Winter <address@hidden>
Date: Sat Nov 5 18:41:13 2016 +0100
eth-multiplexer: Generate stable ethernet addresses.
Previously, the ethernet multiplexer generated ethernet addresses for
the virtual interfaces using a pseudo-random number generator. This
has the downside of generating a new address every time. Generate
stable pseudo-random addresses instead.
* eth-multiplexer/Makefile (HURDLIBS): Link to libihash.
* eth-multiplexer/ethernet.c (ether_address): New variable.
(get_ethernet_address): New function.
(ethernet_open): Get the ethernet address of the real interface.
* eth-multiplexer/ethernet.h (ether_address): New declaration.
* eth-multiplexer/vdev.c (add_vdev): Compute the ethernet address by
hashing the address of the real interface with the name of the virtual
interface.
commit 115695afe34e5253816ff0e828054f8c07e2ddbd
Author: Justus Winter <address@hidden>
Date: Sat Nov 5 18:26:39 2016 +0100
eth-multiplexer: Avoid local definitions.
* eth-multiplexer/util.h: Include 'net/if_ether.h'.
(ETH_ALEN): Drop.
(struct ethhdr): Likewise.
* eth-multiplexer/vdev.c: Include 'net/if_ether.h'.
(ETH_HLEN): Drop.
commit fd3b0bc1b318a2cc95ac1f85e308708c4bb8999a
Author: Justus Winter <address@hidden>
Date: Sat Nov 5 18:05:06 2016 +0100
eth-multiplexer: Fix retrieving status of virtual interfaces.
Previously, the ethernet multiplexer returned the status of the real
network device if one was configured. This had the unfortunate
consequence that all virtual devices shared the same ethernet address.
* eth-multiplexer/device_impl.c (ds_device_get_status): Always return
the information for the virtual device.
* eth-multiplexer/vdev.h (dev_getstat): Add prototype.
commit ed257f4e3320307eca7ed181f6e2dd6e699efb41
Author: Justus Winter <address@hidden>
Date: Sat Nov 5 17:58:22 2016 +0100
eth-multiplexer: Fix packet delivery.
* eth-multiplexer/vdev.c (deliver_msg): Do not return an error if
delivering a message fails. Doing so prevents all other filters from
being executed, and more importantly aborts the iteration over all
virtual devices.
commit 25d614aa11e52370c200e677099746a619ea76db
Author: Zheng Da <address@hidden>
Date: Wed Nov 2 18:06:53 2016 +0100
eth-multiplexer: Merge the eth-multiplexer.
* Makefile (prog-subdirs): Add the new program.
* NEWS: Update.
* eth-multiplexer/ChangeLog: New file.
* eth-multiplexer/Makefile: Likewise.
* eth-multiplexer/README: Likewise.
* eth-multiplexer/demuxer.c: Likewise.
* eth-multiplexer/dev_stat.c: Likewise.
* eth-multiplexer/device_impl.c: Likewise.
* eth-multiplexer/ethernet.c: Likewise.
* eth-multiplexer/ethernet.h: Likewise.
* eth-multiplexer/mig-decls.h: Likewise.
* eth-multiplexer/mig-mutate.h: Likewise.
* eth-multiplexer/multiplexer.c: Likewise.
* eth-multiplexer/netfs_impl.c: Likewise.
* eth-multiplexer/netfs_impl.h: Likewise.
* eth-multiplexer/notify_impl.c: Likewise.
* eth-multiplexer/test.c: Likewise.
* eth-multiplexer/util.h: Likewise.
* eth-multiplexer/vdev.c: Likewise.
* eth-multiplexer/vdev.h: Likewise.
The eth-multiplexer has been written by Zheng Da. This merges his
work into the main repository.
commit 50e14fce11f2bebb4faad220f8f610a55f4110c5
Author: Zheng Da <address@hidden>
Date: Wed Nov 2 17:52:35 2016 +0100
libbpf: Merge the Berkeley Packet Filter library.
* Makefile (lib-subdirs): Add new library.
* NEWS: Update.
* libbpf/Makefile: New file.
* libbpf/bpf_impl.c: Likewise.
* libbpf/bpf_impl.h: Likewise.
* libbpf/queue.c: Likewise.
* libbpf/queue.h: Likewise.
* libbpf/util.h: Likewise.
The Berkeley Packet Filter implementation has been extracted from the
Mach kernel by Zheng Da. This merges his work into the main
repository.
commit 0bc74163d5406e305b84f8f51dbce097bb46fa90
Author: Justus Winter <address@hidden>
Date: Tue Nov 1 18:02:34 2016 +0100
Adjust to the fixed new task notifications.
* boot/boot.c (S_mach_notify_new_task): The send rights are now indeed
moved to the target task, adjust accordingly.
* proc/mgt.c (S_mach_notify_new_task): Likewise.
commit 61f89952020ff1ff34e391ae78acd2da51476c41
Author: Justus Winter <address@hidden>
Date: Tue Nov 1 15:07:07 2016 +0100
boot: Tidy up the argument parser.
* boot/boot.c (options): Group options together. Do not end help
texts with a colon.
(args_doc): Remove variable.
(main): Group the store options together.
commit db94feece63e18364dd2c9228a6ef3452fe22cc2
Author: Justus Winter <address@hidden>
Date: Thu Oct 27 11:50:46 2016 +0200
boot: Add a default boot script.
* boot/boot.c (OPT_BOOT_SCRIPT): New macro.
(options): Add flag '--boot-script'.
(args_doc): Do not expect the script as positional argument.
(parse_opt): Handle new flag, do not expect the script as positional
argument.
(read_boot_script): New function.
(default_boot_script): New variable containing a boot script capable
of booting contemporary Hurd systems.
(main): Use the new function to read the boot script, or fall back to
using the builtin one.
commit 8c0e65b6b2db9946153ed736e66d4e613875deb6
Author: Justus Winter <address@hidden>
Date: Sun Oct 23 11:48:06 2016 +0200
boot: Allow unprivileged users to boot Subhurds.
Previously, boot handed privileged kernel ports to Subhurds. This
made boot unusable for unprivileged users, and allowed Subhurds to
wreak havoc on the whole system. Fix this by handing out pseudo ports
instead of the privileged ports.
* NEWS: Update.
* boot/Makefile (MIGSTUBS): Build stubs for the new kernel interfaces.
(MIGSFLAGS): Include mutation file.
(HURDLIBS): Link against libihash.
* boot/boot.c (privileged, want_privileged): New variables.
(pseudo_privileged_host_port): New variable.
(pseudo_pset, pseudo_kernel): Likewise.
(task_notification_port): Likewise.
(dead_task_notification_port): Likewise.
(boot_demuxer): Handle new protocols.
(OPT_PRIVILEGED): New macro.
(options): Add flag '--privileged' to enable the old mode.
(parse_opt): Handle new flag.
(allocate_pseudo_ports): New function.
(main): Handle new flag. If not running privileged, allocate more
pseudo ports to hand out in place of privileged kernel ports, create a
task namespace, and a task that the Subhurd can frob instead of the
real kernel task.
(do_mach_notify_dead_name): Handle dying tasks.
(S_vm_set_default_memory_manager): New function.
(S_host_reboot): Likewise.
(S_host_processor_set_priv): Likewise.
(S_register_new_task_notification): Likewise.
(task_ihash_cleanup): Likewise.
(task_ihash): New variable.
(task_died): New function.
(S_mach_notify_new_task): Likewise.
(S_processor_set_tasks): Likewise.
* boot/mig-decls.h: New file.
* boot/mig-mutate.h: Likewise.
commit 7ab8e74f1331b70dd52e604d0010a49fabf9e549
Author: Justus Winter <address@hidden>
Date: Sun Feb 8 01:54:12 2015 +0100
boot: restore terminal state on exit
* boot/boot.c (host_exit): Make it a function and restore the terminal
state.
commit 411806400bcc72e9f6004c40b3af8960df452be5
Author: Justus Winter <address@hidden>
Date: Tue Nov 1 13:40:53 2016 +0100
boot: Move bootscript callbacks.
* boot/boot.c (useropen, load_image, boot_script_exec_cmd): Move...
* boot/userland-boot.c: ... here.
commit 6511afff053bab1e7e0542119ff1331813ea19e2
Author: Justus Winter <address@hidden>
Date: Tue Nov 1 13:29:19 2016 +0100
boot: Quote arguments containing spaces.
* boot/boot.c (boot_script_exec_cmd): Quote arguments containing
spaces.
commit dfd5134090dd80957dce5a65b467aafaff47ca3b
Author: Justus Winter <address@hidden>
Date: Tue Nov 1 12:29:25 2016 +0100
boot: Use the smallest possible name when inserting rights.
* boot/userland-boot.c (boot_script_insert_right): Use the smallest
possible name instead of the local name.
commit 34b5aa167da439900c4c1d1bb45b642b47d9a572
Author: Justus Winter <address@hidden>
Date: Tue Nov 1 14:38:27 2016 +0100
startup: Dump processes if we cannot find the kernel.
* startup/startup.c (dump_processes): New function.
(frob_kerne_process): Use the new function.
commit ccfdec8708430e4255b4d24424aafbd0d5f4c32d
Author: Samuel Thibault <address@hidden>
Date: Tue Nov 1 15:00:51 2016 +0100
Add missing spinlock initializers
Thanks Agustina Arzille for the report
* ext2fs/ext2fs.h (global_lock, modified_global_blocks_lock): Declare
extern
* ext2fs/ext2fs.c (global_lock, modified_global_blocks_lock): Define and
initialize to PTHREAD_SPINLOCK_INITIALIZER.
* libtreefs/xinl.c (treefs_node_refcnt_lock): Likewise.
commit 14ca7bbf803d0b6f9defc28db9021dcb2e65384a
Author: Justus Winter <address@hidden>
Date: Mon Oct 24 23:07:55 2016 +0200
boot: Remove hacks for running boot on UX.
* boot/Makefile (COMMON-OBJS): Do not build server stubs for the
bootstrap protocol.
Remove all UX-related variables and targets.
* boot/boot.c: Remove all UX-related definitions and includes.
* boot/frank1.ld: Delete file.
* boot/frankemul.ld: Likewise.
* boot/mach-crt0.c: Likewise.
* boot/sigvec.S: Likewise.
* boot/syscall.S: Likewise.
* boot/ux.c: Likewise.
* boot/ux.h: Likewise.
commit 87c1eba3e7c9402ca59340db8a43a4c9ef5b3bd5
Author: Justus Winter <address@hidden>
Date: Thu Oct 13 23:39:33 2016 +0200
proc: Fix new task notifications.
* proc/mgt.c (S_mach_notify_new_task): Fix receiver handling, fix port
leak.
* proc/mig-mutate.h: Mutate the task notification protocol.
commit 9ddc4f2a1717455e50eb6fd010cda4e5f4080c42
Author: Samuel Thibault <address@hidden>
Date: Mon Oct 31 19:18:41 2016 +0100
libdiskfs: Factorize code for last hard reference being released
* libdiskfs/node-lastref.c: New file
* libdiskfs/Makefile (OTHERSRCS): Add node-lastref.c
* libdiskfs/libdiskfs/node-nput.c (diskfs_nput): Replace last hard reference
code with a call to _diskfs_lastref.
* libdiskfs/node-nrele.c (diskfs_nrele): Likewise.
commit 74bfb99acf027265b8b588ea3fa15204c426f919
Author: Samuel Thibault <address@hidden>
Date: Mon Oct 31 19:08:58 2016 +0100
libdiskfs: fix removal of socket nodes
Follow-up on 5ab5d98fa515cd19a64e8d5868fcbae85eec9dc5 ('libdiskfs: fix
removal of socket nodes'), for diskfs_nrele.
* libdiskfs/node-nrele.c (diskfs_nrele): Deallocate right to socket
address when cleaning light references.
commit 267995f0c2aea8030c6126f62dc41ff63d80caa7
Author: Samuel Thibault <address@hidden>
Date: Sun Oct 30 21:15:47 2016 +0100
Mark library stubs as weak
So that static linking of e.g. console.static can work.
* libdiskfs/io-stubs.c (diskfs_S_io_readsleep, diskfs_S_io_eofnotify,
diskfs_S_io_postnotify, diskfs_S_io_readnotify): Mark weak.
* libnetfs/fsstubs.c (netfs_S_file_notice_changes, netfs_S_file_getfh,
netfs_S_ifsock_getsockaddr): Likewise.
* libnetfs/fsysstubs.c (netfs_S_fsys_getfile: netfs_S_fsys_getpriv,
netfs_S_fsys_init, netfs_S_fsys_forward, netfs_S_fsys_startup):
Likewise.
* libpager/stubs.c (_pager_S_memory_object_copy,
_pager_S_memory_object_data_write,
_pager_S_memory_object_supply_completed): Likewise.
* libtrivfs/fsys-stubs.c (trivfs_S_fsys_startup, trivfs_S_fsys_getpriv,
trivfs_S_fsys_init, trivfs_S_fsys_getfile): Likewise.
* libtrivfs/io-stubs.c (trivfs_S_io_map_cntl, trivfs_S_io_get_conch,
trivfs_S_io_release_conch, trivfs_S_io_eofnotify, trivfs_S_io_prenotify,
trivfs_S_io_postnotify, trivfs_S_io_readsleep, trivfs_S_io_sigio,
trivfs_S_io_readnotify): Likewise.
commit 81fb68fee81769d81c373e3af5a508d706b7e3d6
Author: Samuel Thibault <address@hidden>
Date: Sun Oct 30 20:58:55 2016 +0100
wire console display pages
to work around improper handling of getting paged out.
* console/display.c (user_create): Call vm_wire() on the created user data.
commit 0e99041e8b1ce80e6a97944a195c6e6cddf451fd
Author: Brent W. Baccala <address@hidden>
Date: Sat Oct 29 14:51:02 2016 +0200
Fix typo
* utils/rpctrace.c: Fix typo.
commit 911b68f336b3194f7d54bcc3cc0d5ba8614e149e
Author: Samuel Thibault <address@hidden>
Date: Thu Oct 27 19:50:56 2016 +0200
libdiskfs: Make utimes RPC flush pending timestamp updates
Thanks Kalle Olavi Niemitalo for the notice.
* libdiskfs/file-utimes.c (diskfs_S_file_utimes): Call diskfs_set_node_times
before setting node timestamps.
commit 902f0a78b43c75bdb125a8f1c11a3fbf2595ce35
Author: Samuel Thibault <address@hidden>
Date: Thu Oct 27 17:53:41 2016 +0200
libdiskfs: Fix timestamp update on file close
* libdiskfs/node-nrele.c (diskfs_nrele): Call diskfs_set_node_times when
there are no hard refs any more, like diskfs_nput does.
commit 341f43df4b3688702746b5d0365c05d99fdeeb4e
Author: Justus Winter <address@hidden>
Date: Sat Oct 15 18:15:13 2016 +0200
boot: Ignore EINTR.
* boot/boot.c (main): Ignore EINTR in the loop processing stdin.
commit 355577bc99c91363a1b7828e81086031ce75979b
Author: Justus Winter <address@hidden>
Date: Thu Oct 13 22:57:58 2016 +0200
Avoid warnings if increasing a threads priority fails.
* libports/manage-multithread.c (adjust_priorities): Avoid displaying
error messages if we do not have the privileged processor set port by
treating this error condition like EPERM.
* proc/main.c (increase_priority, main): Likewise.
commit 587704fc6a85e3ac080c58b7dfa9ebc73c72fede
Author: Justus Winter <address@hidden>
Date: Thu Oct 13 22:52:49 2016 +0200
procfs: Gracefully degrade meminfo.
* procfs/rootdir.c (rootdir_gc_meminfo): Just omit the swap
information if the default pager is unreachable.
commit 0719a1600ade8d1d0f5031778abf850a8b520efc
Author: Samuel Thibault <address@hidden>
Date: Mon Oct 10 21:56:20 2016 +0200
Fix some RPC request headers #ifdef guards
by fixing the subsystem name into containing _request.
* hurd/auth_request.defs: Set subsystem name to auth_request.
* hurd/io_request.defs: Set subsystem name to io_request.
* hurd/process_request.defs: Set subsystem name to process_request.
commit 3319f7f6a238cf88b9f46849e7be84d3c96376d6
Author: Justus Winter <address@hidden>
Date: Sun Oct 9 17:00:31 2016 +0200
fshelp: Fix fetching the control port.
* libfshelp/fetch-control.c (fshelp_fetch_control): Check if the
control port is still alive, or deallocate the dead name, record the
fact in the transbox, and return MACH_PORT_NULL.
commit 2c0f4a09a5166bf777ce4648dda2d671cc464b14
Author: Justus Winter <address@hidden>
Date: Wed Oct 5 13:59:01 2016 +0200
console-client: Remove unused variable.
* console-client/trans.c (console_setup_node): Remove 'bootstrap'.
commit 93ba74df1d6523ac49d5b227e30e1cfca930f7a9
Author: Justus Winter <address@hidden>
Date: Sat Oct 8 18:41:02 2016 +0200
ext2fs: Poison pointers into dereferenced cache pages.
* ext2fs/ext2fs.h (disk_cache_block_deref): Replace with a macro that
NULLs the given pointer.
(dino_deref): Likewise.
* ext2fs/pager.c (disk_cache_block_deref): Rename.
* ext2fs/pokel.c (pokel_add): Adapt.
(pokel_exec): Likewise.
commit 83cb5faab30be175c757b31ea4acca7f640228ae
Author: Justus Winter <address@hidden>
Date: Sat Oct 8 17:56:07 2016 +0200
ext2fs: Rename parameter.
* ext2fs/ext2fs.h (sync_global_pointer): Rename 'bptr' so that it
doesn't collide with the macro 'bptr'.
commit 74998f9ded99c41d34c0db20e6eb7088fe51d742
Author: Justus Winter <address@hidden>
Date: Wed Oct 5 10:45:08 2016 +0200
trans/crash: Fix setting core file template at runtime.
* trans/crash.c (corefile_template_lock): New variable.
(S_crash_dump_task): Serialize access to 'corefile_template'.
(parse_opt): Likewise. Also strdup the template.
(trivfs_append_args): Serialize access to 'corefile_template'.
commit f45e96eec2681463572d5d996ac832626809ddd7
Author: Justus Winter <address@hidden>
Date: Wed Oct 5 10:33:09 2016 +0200
trans/crash: Use empty core file templates to disable the feature.
* trans/crash.c (parse_opt): Use empty core file templates to disable
the feature.
commit 3a3c1759297d3621663571dc85d2fb5d1d53b3b1
Author: Justus Winter <address@hidden>
Date: Wed Oct 5 10:24:59 2016 +0200
Avoid fatal error handling in option parsers.
* trans/crash.c (parse_opt): Avoid 'error' in favor of the appropriate
argp error reporting mechanism.
* trans/remap.c (parse_opt): Likewise.
* utils/msgids.c (parse_opt): Likewise.
commit e6bffe8d286d49311c0d34acab4b9da867e0dfe8
Author: Justus Winter <address@hidden>
Date: Mon Oct 3 18:45:51 2016 +0200
ext2fs: Disable option to specify alternate superblock.
* ext2fs/ext2fs.c (options): Disable '--sblock', this has never been
implemented.
(parse_opt): Likewise.
commit 63cfc3cdfd817d8f794c83bc39f86ab8b910fe71
Author: Justus Winter <address@hidden>
Date: Mon Oct 3 15:19:08 2016 +0200
libdiskfs: Fix short-circuiting translators.
* libdiskfs/file-set-trans.c (diskfs_S_file_set_translator): When
setting a short-circuited translator, clear the translator record
first. Improve error handling.
This notably fixes a crash in ext2fs when setting a symlink on a node
with an existing translator record.
commit 930b12e29819ffb1d4b38365315919fbe004cf3b
Author: Samuel Thibault <address@hidden>
Date: Sat Sep 17 23:08:27 2016 +0200
fakeroot: set FAKED_MODE
* utils/fakeroot.sh (FAKED_MODE): Set to unknown-is-root.
commit 4fb81a7e92d0cd6d854a4a020f34b948ad6ce29b
Author: Justus Winter <address@hidden>
Date: Tue Sep 6 09:47:02 2016 +0200
random: Hash continuous areas in the csprng pool.
* random/gnupg-random.c (mix_pool): Store the first hash at the end of
the pool.
--
This fixes a long standing bug (since 1998) in Libgcrypt and GnuPG.
An attacker who obtains 580 bytes of the random number from the
standard RNG can trivially predict the next 20 bytes of output.
The bug was found and reported by Felix Dörre and Vladimir Klebanov,
Karlsruhe Institute of Technology. A paper describing the problem in
detail will shortly be published.
This is a port of c6dbfe89 from the GnuPG classic branch.
CVE-id: CVE-2016-6313
commit 349b9c4fdcb49add63ec71cabd6e4e4dbe6b262d
Author: Samuel Thibault <address@hidden>
Date: Sun Sep 4 14:47:05 2016 +0200
Fix patch to runsystem.hurd
* init/init.c (main): Run /libexec/runsystem.hurd instead of
/etc/hurd/runsystem.hurd.
commit 9eeba20f44cc1e883606304091a03e64b8102244
Author: Samuel Thibault <address@hidden>
Date: Sun Sep 4 14:46:02 2016 +0200
Fix installing runsystem.hurd
* daemons/runsystem.hurd: Rename to daemons/runsystem.hurd.sh
* daemons/Makefile (targets): Add runsystem.hurd
(special-targets): Likewise.
(runsystem.hurd): New rule, simply depends on runsystem.hurd.sh
commit 3f38f1b21cffcf669373baff46840ce0a7d902e5
Author: Justus Winter <address@hidden>
Date: Fri Nov 20 12:46:56 2015 +0100
libfshelp: acquire references to control ports
* libfshelp/translator-list.c (translator_ihash_cleanup): Release reference.
(fshelp_set_active_translator): Acquire reference
commit edb2947461fbea9b25a651afd1cf35dc49733ce6
Author: Samuel Thibault <address@hidden>
Date: Thu Sep 1 01:49:41 2016 +0200
Fix looping over runsystem possibilities
* startup/startup.c (launch_something): Always increment TRY even on
success, so that if runsystem unexpectedly returns, we get to try a shell
instead.
commit b07024d194a5503fd87b32cab3c3a212b28738e1
Author: Samuel Thibault <address@hidden>
Date: Thu Sep 1 01:45:42 2016 +0200
startup: Fix looping over runsystem
Thanks Brent W. Baccala for the report.
* starpu/startup.c (launch_something): Always increment TRY while looping
over runsystem possibilities.
commit 02d6d9f0998809e32fb438064a2733b64b89be08
Author: Brent W. Baccala <address@hidden>
Date: Wed Aug 31 00:59:26 2016 +0200
exec: Fix loading binaries without a memory manager object
Falling back from the io_map method needs to handle the "anywhere" flag too
by updating MAPSTART.
* exec/exec.c (write_to_task): Turn MAPSTART parameter into a reference to
the address. Fix usage accordingly.
(load_section): Pass address of MAPSTART to write_to_task so it can update
it.
commit ef3354e22ea74f7cdb3405041e02374f7de8e880
Author: Samuel Thibault <address@hidden>
Date: Tue Aug 30 22:42:22 2016 +0200
Fix message about not being able to request shutdown notification
It is just a warning, not a fatal error.
* libdiskfs/init-startup.c (_diskfs_init_completed): Prefix warning about
requesting shutdown nofication with "warning:".
* random/random.c (main): Likewise.
commit 1f78ddd5719d50d3af7140066316932ef00044cf
Author: Samuel Thibault <address@hidden>
Date: Sun Aug 28 21:12:05 2016 +0200
Fix exec crash when setexecdata has never been called
or called with a small array.
This notably happens when using a sub-exec, see BZ #48919.
* exec/hashexec.c (check_hashbang): Check std_nports before accessing
std_ports.
commit db0f7e843e8de6ed25cf7ad5aa0fb3df2acaef7c
Author: Samuel Thibault <address@hidden>
Date: Sun Aug 28 21:05:10 2016 +0200
typo
commit 8208fdc63b56c5b1be837ad583534e5bbe4d6808
Author: Samuel Thibault <address@hidden>
Date: Sun Aug 28 20:48:11 2016 +0200
remap: Refuse non-absolute paths
* trans/remap.c (parse_opt): Error out if some path is not absolute.
commit 12576ff7afd71799d9cc6fe6af065932540ff0ea
Author: Samuel Thibault <address@hidden>
Date: Fri Aug 26 02:55:39 2016 +0200
Fix loading small pic programs
It happens that the link script for ld.so contains a hole, which might thus
leave an empty page between the text and the data. When loading a small pic
program, its text would then fit in there, and loading the data right after
it would fail. We here rather force all pic loads to be mapped
contiguously, starting from the place that was allocated for the first pic
load.
* exec/exec.c (load_section): Return the address of the end of the section.
(load): Take the address to be used for loading pic objects as parameter,
force pic objects there if it is not zero, and compute and return the
address to be used for the next pic object.
(do_exec): Pass addresses for pic loads between calls to load().
commit ca5b01f538c122dc1f0e989f5703c75b8cf8ca3a
Author: Kalle Olavi Niemitalo <address@hidden>
Date: Wed Aug 24 00:41:30 2016 +0300
rpctrace: Print beyond '\0' in MACH_MSG_TYPE_CHAR.
This will now display the 'argv: data_t' argument of file_exec
as e.g. "who\0am\0i\0" rather than just "who". In contrast,
the 'file_name: string_t' argument of dir_lookup will still be
truncated at the first null character.
The previous implementation might crash if an out-of-line
char array exactly fills a page and does not contain any
null characters.
* utils/rpctrace.c (print_data): On MACH_MSG_TYPE_STRING and
MACH_MSG_TYPE_CHAR, check for end of buffer before checking for a null
character. On MACH_MSG_TYPE_CHAR only, continue printing past null
characters.
commit 118a5b8c33cc2fad8ccdc5858253e7ed3dfca513
Author: Brent W. Baccala <address@hidden>
Date: Sat Aug 20 14:16:38 2016 +0200
mach-defpager: Add missing unlock
* mach-defpager/default_pager.c (destroy_paging_partition): Add missing
unlock when destroying partition fails.
commit e03a12dd251745f6b1cb46c97b58181b85156d27
Author: Brent W. Baccala <address@hidden>
Date: Sat Aug 20 14:13:46 2016 +0200
mach-defpager: Fix debugging prints formats
* mach-defpager/default_pager.c (pager_dealloc_page, pager_read_offset,
pager_write_offset, default_read, default_write, destroy_paging_partition,
seqnos_memory_object_terminate, seqnos_memory_object_data_request,
seqnos_memory_object_data_initialize): Fix debugging prints formats.
commit 83a2cf3e36a20b7740a2902d2ef4996df7a46270
Author: Samuel Thibault <address@hidden>
Date: Tue Aug 16 23:13:05 2016 +0200
Drop OTILDE support
It was used long ago, poses problems to readline, and currently conflicts
with TAB1
Thanks Kalle Olavi Niemitalo for the report and rationale
* term/munge.c (output_character): Do not handle OTILDE.
(output_width): Likewise.
* term/term.h (OTILDE): Drop macro definition.
* term/users.c (open_hook): Do not check OTILDE flag.
commit 02f5c0208985d60fede08c1eafad04e80353b670
Author: Justus Winter <address@hidden>
Date: Fri Jun 3 00:52:06 2016 +0200
trans/crash: core file name templates
Add an option to specify a template used to construct core file names.
This way core files can be collected at a predictable central
location.
* hurd/crash.defs (crash_dump_task): Return EEXIST if the core file
has been written elsewhere.
* trans/crash.c (corefile_template): New variable.
(template_valid): New function.
(template_make_file_name): Likewise.
(S_crash_dump_task): Use the template to construct a name, open the
file, and write the core dump there instead of the handle provided by
the caller.
(argp_option): New option.
(doc): Document the format.
(parse_opt): Handle new option
(trivfs_append_args): Likewise.
commit c8c973750b949f8c4fcac020c61a3b99e5d5c3a2
Author: Christian Seiler <address@hidden>
Date: Tue Aug 9 01:49:49 2016 +0200
Support MSG_DONTWAIT in pflocal send/recv
* pflocal/socket.c (S_socket_send): Also test for MSG_DONTWAIT in `flags'
for the `noblock' parameter of pipe_send call.
(S_socket_recv): Likewise for pipe_recv call.
commit cf040539342d513ca9ae534efd0e21116440cc86
Author: Justus Winter <address@hidden>
Date: Thu Jul 7 23:24:37 2016 +0200
sutils: New utility 'bless'.
* sutils/Makefile (progs): Add 'bless'.
* sutils/bless.c: New file.
commit c9cd19504f87705f73294c639c9a0bc33a27aed3
Author: Justus Winter <address@hidden>
Date: Mon Aug 8 18:02:38 2016 +0200
proc: Fix permission check.
* proc/mgt.c (S_proc_mark_important): Fix checking whether the
receiver is a child of startup.
commit 1912e6a69419d4448795ae1451c7b7c57ac16a52
Author: Justus Winter <address@hidden>
Date: Mon Aug 8 18:01:32 2016 +0200
startup: Make the kernel a child of startup.
* startup/startup.c (frob_kernel_process): Make the kernel a child of
startup, improve error reporting.
commit 0e3a795af98b6441d0a9928036e140978511e272
Author: Justus Winter <address@hidden>
Date: Sun May 22 19:35:10 2016 +0200
libpager: provide 'pager_create_alloc'
Add a variant to 'pager_create' that allocates memory for the user
hook next to the pager data increasing locality.
* console/pager.c (pager_clear_user_data): Fix type of 'idx', do not
free 'upi'.
(user_pager_create): Use the new function.
* doc/hurd.texi: Document new function.
* ext2fs/pager.c (pager_clear_user_data): Don't free 'upi'.
(diskfs_get_filemap): Use the new function.
* fatfs/pager.c (pager_clear_user_data): Don't free 'upi'.
(diskfs_get_filemap): Use the new function.
* isofs/pager.c (pager_clear_user_data): Don't free 'upi'.
(diskfs_get_filemap): Use the new function.
* libpager/pager-create.c (_pager_create): New generic allocation
function.
(pager_create): Use the new generic function.
(pager_create_alloc): New function.
* libpager/pager.h (pager_create_alloc): New prototype.
commit ceae83bd25aadee094ec9d3a95cf27510cea2037
Author: Justus Winter <address@hidden>
Date: Sun Aug 7 15:16:57 2016 +0200
proc: Fix references to the startup server.
* proc/main.c: Fix references to the startup server in code and
comments.
* proc/mgt.c: Likewise.
* proc/msg.c: Likewise.
* proc/proc.h: Likewise.
commit bc170131016969f1d79409337833046ae1f4501b
Author: Richard Braun <address@hidden>
Date: Tue Jun 14 14:01:12 2016 +0200
pfinet: fix memory leak
* pfinet/socket-ops.c (S_socket_recv): Unmap data on error.
commit d024ec32b8fbeb039078388d5d3d699a821cfb14
Author: Justus Winter <address@hidden>
Date: Tue Jun 7 19:52:36 2016 +0200
trans/crash: fix blunder
* trans/crash.c (S_crash_dump_task): Fix error handling.
commit 4cb90fceb779dbf33cfd9bcf28c66ffc737537f2
Author: Samuel Thibault <address@hidden>
Date: Sat Jun 4 23:14:46 2016 +0200
Do not make io_select return errors on unsupported READ/WRITE mode
The descriptor is valid, it is just the mode which is not available.
* console-client/kbd-repeat.c (repeater_select): Drop SELECT_URG flag from
`type'. Return 0 instead of EINVAL if `type' contains SELECT_WRITE.
* console-client/pc-mouse (repeater_select): Likewise.
* trans/mtab.c (trivfs_S_io_select): Return 0 instead of EBADF when the
openmodes do not match the requested modes in `type'.
* trans/new-fifo.c (io_select_common): Likewise.
* trans/fifo.c (io_select_common): Likewise.
* trans/null.c (trivfs_S_io_select): Likewise.
* trans/streamio.c (io_select_common): Likewise.
commit a8b8ece4ff36fca27492f0a4e925e2f4453ee483
Author: Justus Winter <address@hidden>
Date: Fri Jun 3 16:55:55 2016 +0200
trans/crash: fix resource leaks
Previously, 'task', 'core_file', and 'ctty_id' were not deallocated if
crash was configured to write core files, and 'ctty_id' was leaked if
the crashing task was suspended. This lead to resources not being
released in the kernel, the filesystem, and the terminal subsystem,
and could very well be responsible for making the Debian/Hurd shutdown
hang.
* trans/crash.c (S_crash_dump_task): Properly deallocate 'task',
'core_file', and 'ctty_id'.
commit dd93fc4bfbaceb65ded2aefca35042438c95f4d5
Author: Justus Winter <address@hidden>
Date: Fri Jun 3 00:45:11 2016 +0200
nfs: appease the stricter reference counting mechanism
* nfs/cache.c (netfs_node_norefs): Do not re-acquire a reference to
np. This worked previously, but the new reference counting primitives
consider this a use after free. A reference is really not necessary
here, we are about to deallocate np anyway.
Amends 5eef605e.
commit 293e86998748bae2d7a8179ad198ec3452f0d472
Author: Richard Braun <address@hidden>
Date: Wed Jun 1 23:19:19 2016 +0200
Fix pipe_send() with no data
* libpipe/pipe.c (pipe_send): Set value pointed to by amount to 0 if
if nothing is written.
commit 1a36fdfe7cf17aa23f0bd43eb6cca4d28e510def
Author: Samuel Thibault <address@hidden>
Date: Mon May 30 23:57:49 2016 +0200
Complete allocation hooks
* mach-defpager/kalloc.c (realloc_hook, memalign_hook): New functions.
(init_hook): Set __realloc_hook to realloc_hook and __memalign_hook to
memalign_hook.
commit 6f6d157c55b6973f0a557b65269b212d9dcd1fbe
Author: Samuel Thibault <address@hidden>
Date: Mon May 30 23:34:23 2016 +0200
Revert "drop the deprecated malloc/free hooks in hurd/mach-defpager"
This reverts commit 8c49801c8f7e3f800cabedf8fca8ccec3cf35a22.
The malloc hook is needed for calloc.
commit d213bd8ef04dd947ff5c53a8efeb6cba11621396
Author: Thomas Schwinge <address@hidden>
Date: Mon May 23 11:30:47 2016 +0200
Revert part of "fix compiler warnings in hurd/exec"
This reverts part of commit 05c3ffac543052c8d0b171a5f77bb977d5316a61. These
type casts are no longer needed after the commit
e914bfc3d6e5ddf6f8c5e93a4334873a48a24ddf changes.
* exec/elfcore.c: Revert type casts added in commit
05c3ffac543052c8d0b171a5f77bb977d5316a61.
commit 305e83c42624c8cf84452d5d0fa7669e2af6f997
Author: Thomas Schwinge <address@hidden>
Date: Mon May 23 11:23:57 2016 +0200
Make <sys/procfs.h> self-contained again
Commit e914bfc3d6e5ddf6f8c5e93a4334873a48a24ddf made <sys/procfs.h>
Autoconf/configure tests change as follows:
checking sys/procfs.h usability... [-yes-]{+no+}
checking sys/procfs.h presence... yes
{+configure: WARNING: sys/procfs.h: present but cannot be compiled+}
{+configure: WARNING: sys/procfs.h: check for missing prerequisite
headers?+}
{+configure: WARNING: sys/procfs.h: see the Autoconf documentation+}
{+configure: WARNING: sys/procfs.h: section "Present But Cannot Be
Compiled"+}
{+configure: WARNING: sys/procfs.h: proceeding with the compiler's
result+}
checking for sys/procfs.h...[-yes-]{+no+}
[-checking for prstatus_t in sys/procfs.h... no-]
[-checking for prstatus32_t in sys/procfs.h... no-]
[-checking for prstatus_t.pr_who in sys/procfs.h... no-]
[-checking for prstatus32_t.pr_who in sys/procfs.h... no-]
[-checking for pstatus_t in sys/procfs.h... yes-]
[-checking for pxstatus_t in sys/procfs.h... no-]
[-checking for pstatus32_t in sys/procfs.h... no-]
[-checking for prpsinfo_t in sys/procfs.h... no-]
[-checking for prpsinfo_t.pr_pid in sys/procfs.h... no-]
[-checking for prpsinfo32_t in sys/procfs.h... no-]
[-checking for prpsinfo32_t.pr_pid in sys/procfs.h... no-]
[-checking for psinfo_t in sys/procfs.h... yes-]
[-checking for psinfo_t.pr_pid in sys/procfs.h... yes-]
[-checking for psinfo32_t in sys/procfs.h... no-]
[-checking for psinfo32_t.pr_pid in sys/procfs.h... no-]
[-checking for lwpstatus_t in sys/procfs.h... yes-]
[-checking for lwpxstatus_t in sys/procfs.h... no-]
[-checking for lwpstatus_t.pr_context in sys/procfs.h... no-]
[-checking for lwpstatus_t.pr_reg in sys/procfs.h... yes-]
[-checking for lwpstatus_t.pr_fpreg in sys/procfs.h... yes-]
[-checking for win32_pstatus_t in sys/procfs.h... no-]
That is because of:
$ echo '#include <sys/procfs.h>' | gcc -x c - -o /dev/null -S
In file included from <stdin>:1:0:
/usr/include/sys/procfs.h:66:3: error: unknown type name
âvm_address_tâ
vm_address_t pr_argv; /* Original argument vector address. */
^
/usr/include/sys/procfs.h:67:3: error: unknown type name
âvm_address_tâ
vm_address_t pr_envp; /* Original environment vector address. */
^
* include/sys/procfs.h: Include <mach/std_types.h> to make file
self-contained
again.
commit 60d14f5b3c4ea27af6f4220a15947c328bc888ee
Author: Justus Winter <address@hidden>
Date: Sun May 22 00:52:29 2016 +0200
ext2fs: fix pager use-after-free
Previously, pagers had no reference for being part of a node, only for
having a send right made for them. Hence we sometimes saw
use-after-free errors if the kernel did give up that send right,
typically while deleting files. Keep a weak reference as long as the
pager is referenced by a node.
* ext2fs/pager.c (pager_clear_user_data): Assert that 'pager' has been
NULLed.
(pager_dropweak): Drop the weak reference and NULL 'pager'.
(diskfs_get_filemap): Simplify. Acquire a weak reference.
commit 0ab3825f250486453892e3e18a702a44538bff6d
Author: Justus Winter <address@hidden>
Date: Sun May 22 00:43:19 2016 +0200
libdiskfs: fix error handling
* libdiskfs/dir-rmdir.c (diskfs_S_dir_rmdir): Initialize 'np'.
commit 04cfa521cd6f38d7cd735ead5b7978390664042e
Author: Justus Winter <address@hidden>
Date: Mon Apr 25 00:54:08 2016 +0200
Avoid superfluous locking of node
* libdiskfs/io-restrict-auth.c (diskfs_S_io_restrict_auth): Do not
lock the associated node. No operation here needs synchronization.
* libnetfs/io-restrict-auth.c (netfs_S_io_restrict_auth): Likewise.
commit 55f23b9e82d6086bc4f21411e25aaf9746928d79
Author: Justus Winter <address@hidden>
Date: Sat Apr 23 17:39:47 2016 +0200
utils/settrans: implement active translator stacking
* utils/settrans.c (OPT_STACK): New macro.
(options): New option.
(main): Handle new option.
(open_node): Use different flags for the lookup of the underlying
node.
commit 7dbebff1ff08d347aad14e76e371f1cb6991dac7
Author: Justus Winter <address@hidden>
Date: Thu Apr 21 17:51:40 2016 +0200
libnetfs: treat disconnected shadow roots as virtual roots
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Treat a shadow_root with
null shadow_root_parent as a "virtual root".
Analog to 6875a586.
commit 13efe6721a370c38b65e0da3d33f310f42cfa05f
Author: Justus Winter <address@hidden>
Date: Mon Apr 18 21:53:28 2016 +0200
Unify the short-circuit translator logic
* libdiskfs/dir-lookup.c (short_circuited_callback1): Move function to
libfshelp.
(diskfs_S_dir_lookup): Use the function from libfshelp instead.
* libdiskfs/fsys-getroot.c (diskfs_S_fsys_getroot): Adapt accordingly.
* libdiskfs/trans-callback.c (_diskfs_translator_callback2_fn): Likewise.
* libfshelp/fetch-root.c (fshelp_short_circuited_callback1): New function.
* libfshelp/fshelp.h (struct fshelp_stat_cookie): New definition.
(fshelp_short_circuited_callback1): New prototype.
* libnetfs/dir-lookup.c (short_circuited_callback1): Drop function.
(netfs_S_dir_lookup): Use the function from libfshelp instead.
* libnetfs/fsys-getroot.c (netfs_S_fsys_getroot): Adapt accordingly.
* libnetfs/trans-callback.c (_netfs_translator_callback2_fn): Likewise.
commit 3416078aa58b095566e559b7dbd9c9da4d1fc5d5
Author: Justus Winter <address@hidden>
Date: Mon Apr 18 19:33:03 2016 +0200
libdiskfs: cosmetic changes
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Rename identifiers to
be more idiomatic and closer to libnetfs and the interface
specification. Massage the code so that it aligns closer with the
dir_lookup server function in libnetfs. It should not change the
behavior.
commit e15ef8f1a3ab358692d25a688496bde463daf948
Author: Justus Winter <address@hidden>
Date: Mon Apr 18 19:06:59 2016 +0200
libnetfs: rename 'diruser' to 'dircred'
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Rename 'diruser' to
'dircred'.
commit 14241d59414a9e525b2949befcc162059d6885be
Author: Justus Winter <address@hidden>
Date: Mon Apr 18 19:00:31 2016 +0200
libnetfs: rename 'error' to 'err'
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Rename 'error' to 'err'.
commit 7aef3fb7b575a5d2dc22872706a272b1db369937
Author: Justus Winter <address@hidden>
Date: Thu May 19 22:12:13 2016 +0200
mach-defpager: fix panic invocation
* mach-defpager/default_pager.c (default_pager_thread): Fix panic
invocation.
commit b33507ab62bda82178b9a57aa3f6cfee5febc142
Author: Thomas Schwinge <address@hidden>
Date: Wed May 18 10:11:54 2016 +0200
GNU Hurd 0.8
* configure.ac (AC_INIT): Set version to 0.8.
* NEWS: Finalize for 0.8.
commit 34071b357d821cc6285ef85d600dfa842252949c
Author: Thomas Schwinge <address@hidden>
Date: Mon May 16 16:49:30 2016 +0200
Complete changes to use -L instead of -Wl,-rpath-link
Changes missing from commit c9c29eb890527fe68900e4a0af7c2df9a9fa5b40.
* console-client/Makefile (%.so.$(hurd-version)): Use $(lpath) instead of
$(rpath)
* libstore/Makefile (libstore_%.so.$(hurd-version)): Likewise.
commit 3d10671fb7db61ca42d7cdd618190eea1a146b7f
Author: Justus Winter <address@hidden>
Date: Mon May 9 14:37:28 2016 +0200
startup: fix blunder
Fixes b04364bc. Thanks to Esa Peuha for spotting this.
* startup/startup.c (run): Fix blunder.
commit 736fa7a565e28425220be797235913d0f7b96acd
Author: Justus Winter <address@hidden>
Date: Sat Apr 30 00:19:41 2016 +0200
libihash: enable fast insertions replacing tombstones
* libihash/ihash.c (hurd_ihash_locp_add): Also replace tombstones.
commit 8d4db629aa10189d3a545ec1639105cfb9bae650
Author: Justus Winter <address@hidden>
Date: Sat Apr 30 00:03:40 2016 +0200
libihash: fix corner case
* libihash/ihash.c (hurd_ihash_locp_find): Set SLOT to NULL if the
hash table has not been allocated.
commit 45b829f4dcb28a98af7285dc57bfaf621b0bbf21
Author: Justus Winter <address@hidden>
Date: Fri Apr 29 23:36:47 2016 +0200
Fix privileged operations on trivfs-translated nodes
Amends d18ea50e.
* libtrivfs/fsys-getroot.c: When the user is privileged, make a
verbatim copy of the real node instead of making an auth-restricted
copy.
commit b90164e0090473573a90e16cee515c2d4d6f3f91
Author: Samuel Thibault <address@hidden>
Date: Tue May 3 01:20:51 2016 +0200
Fix build
* trans/crash.c: Include <assert.h>.
commit 9d29cfbf9fd8a0e26a3410194d1a060114973ad2
Author: Justus Winter <address@hidden>
Date: Thu Apr 28 21:12:58 2016 +0200
libihash: rehash if effective load exceeds the threshold
Previously, if a hash table was not growing anymore but entries were
regularly replaced, the tombstones would accumulate slowing down
lookups and insertions. A possible solution is to rehash the table if
the effective load exceeds the configured threshold. The effective
load also takes tombstones into account.
* libihash/ihash.c (hurd_ihash_locp_add): Use the effective load.
(hurd_ihash_add): Likewise. Use the load to decide whether we want to
enlarge the table, otherwise we merely rehash.
commit 39031d37fd82c119b4b16af256a8ceae5d8c6ea8
Author: Justus Winter <address@hidden>
Date: Thu Apr 28 20:11:27 2016 +0200
libihash: keep track of free slots
* libihash/ihash.c (hurd_ihash_init): Init new field 'nr_free'.
(add_one): Decrement counter if a free slot is used.
(hurd_ihash_locp_add): Likewise.
(hurd_ihash_add): Reset counter on reallocation.
* libihash/ihash.h (struct hurd_ihash): New field 'nr_free'.
(hurd_ihash_get_effective_load): New function.
commit 74d373342f799a45e9193c2f56189843b7b42c04
Author: Justus Winter <address@hidden>
Date: Thu Apr 28 23:59:26 2016 +0200
libihash: fix index computation
Previously, find_index would return a suboptimal slot if a tombstone
was in the optimal slot.
* libihash/ihash.c (find_index): Fix index computation.
commit d18ea50ec00210680b80359cb182a0175374d5e1
Author: Samuel Thibault <address@hidden>
Date: Fri Apr 29 21:03:08 2016 +0200
Fix root operations on trivfs-translated nodes
* libtrivfs/fsys-getroot.c: When `uids` contain 0, make a verbatim copy of
the real node instead of making an auth-restricted copy.
commit b04364bcdcd1a209cb3e2762e09a42247bcde5f0
Author: Justus Winter <address@hidden>
Date: Thu Apr 28 18:57:54 2016 +0200
startup: write all messages to stderr
This avoids the need to flush the buffer and works around a weird
problem with 'puts' not printing a newline.
* startup/startup.c: Write all messages to stderr.
commit 6620d8b801c4683bf81fc419484d64530ba126ba
Author: Justus Winter <address@hidden>
Date: Tue Apr 26 19:12:17 2016 +0200
startup: use the generated default server implementations
* startup/Makefile: Set appropriate flags.
* startup/startup.c: Drop most stub functions.
commit 1c0dc88f5411451ba1acd7e41a5d362fdd947586
Author: Justus Winter <address@hidden>
Date: Tue Apr 26 18:01:41 2016 +0200
startup: add verbose parameter
* startup/startup.c: Add verbose parameter and inform about progress
through the bootstrap procedure if it is given.
commit 10218526abf4c7537642cf5c3d8955578d599402
Author: Justus Winter <address@hidden>
Date: Sat Apr 23 17:52:33 2016 +0200
startup: implement bits of the fs and io protocols
* startup/Makefile: Build fs and io server with default
implementations.
(mung_msg_S.h): Tune regexp only to match the include guard.
* startup/startup.c (mig_reply_setup): New function.
(demuxer): Add new protocols. Nicer implementation.
(S_file_check_access): New function.
(S_io_restrict_auth): Likewise.
commit f250b6d8626c9d3ecf0d356dfd786a23ebbf6ca1
Author: Justus Winter <address@hidden>
Date: Tue Apr 26 15:43:26 2016 +0200
Unify and document the way fsids are handled in trivfs translators
* doc/hurd.texi: Clarify what happens if 'trivfs_fsid' is zero.
* login/utmp.c: Leave 'trivfs_fsid' at zero.
* pfinet/main.c: Likewise.
* trans/ifsock.c: Likewise.
* trans/proxy-defpager.c: Likewise.
commit 57d5c5ca5463d43196393bc5b2d5f379ee749374
Author: Justus Winter <address@hidden>
Date: Mon Apr 25 17:58:52 2016 +0200
libshouldbeinlibc: use the new assert in the refcount primitives
* libshouldbeinlibc/refcount.h: Use 'assert_backtrace'.
commit 62bd3f2351a7665e681f00ad6dd92b08b8c68b72
Author: Justus Winter <address@hidden>
Date: Fri Jun 20 15:50:53 2014 +0200
libshouldbeinlibc: add assert(3) variant that prints backtraces
* libshouldbeinlibc/Makefile: Add new files
* libshouldbeinlibc/assert-backtrace.{c,h}: New files.
commit 33536608704a637eb8618396244ed43b9aa6aaf6
Author: Justus Winter <address@hidden>
Date: Mon Apr 25 18:34:31 2016 +0200
libpager: add missing include
* libpager/demuxer.c: Include <assert.h>.
commit f2d22b3bab4de4b20c857bf6f0191fb6c000fd14
Author: Samuel Thibault <address@hidden>
Date: Tue Apr 26 23:42:25 2016 +0200
libdiskfs: Reject LFS seeks and read/writes
vm_offset_t (used by pager_memcpy) is not 64bit-ready yet. Reject requests
which go further than this.
* libdiskfs/io-seek.c (diskfs_S_io_seek): Return EFBIG when requested offset
is beyond limits of vm_offset_t.
* libdiskfs/rdwr-internal.c (_diskfs_rdwr_internal): Return EFBIG when
request goes beyond limits of vm_offset_t.
commit f4d6b646a1aa6f8e489dd3eeae1a188de0b2a070
Author: Samuel Thibault <address@hidden>
Date: Tue Apr 26 22:37:09 2016 +0200
Fix supporting >4GiB files in ext2fs
* ext2fs/inode.c (diskfs_user_read_node): When sizeof(off_t) >= 8, add
di->i_size_high as high-64bit part to st->st_size. Drop setting
unused info->i_high_size.
(write_node): When sizeof(off_t) >= 8, write high-64bit part of st->st_size
to di->i_size_high.
* ext2fs/ext2_fs_i.h (ext2_inode_info): Remove i_high_size field.
* pfinet/linux-src/include/linux/ext2_fs_i.h (ext2_inode_info): Likewise.
commit 94ce9fa4c443ec9a0e6ecc92cb6b07534c321c75
Author: Justus Winter <address@hidden>
Date: Mon Apr 25 01:38:45 2016 +0200
libtrivfs: fix notion of privileged user
Set 'is_root' if the node has been opened by the root user (this was
the old behavior) or if it has been opened by the user the translator
is executing under.
This fixes the irritating bug that an unprivileged user cannot control
her own trivfs-based translators. It does not change how privileged
trivfs translators work.
* libtrivfs/io-reauthenticate.c (trivfs_S_io_reauthenticate): Use the
new function to compute 'isroot'.
* libtrivfs/io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
* libtrivfs/open.c (trivfs_open): Likewise.
* libtrivfs/priv.h (_is_privileged): New function.
* libtrivfs/trivfs.h (struct peropen): Clarify what 'isroot' means.
commit d67a86c9690c2a9984ca6e9f3c376956495897f4
Author: Justus Winter <address@hidden>
Date: Mon Apr 25 00:48:56 2016 +0200
libtrivfs: fix error handling
* libtrivfs/times.c (trivfs_set_{a,m}time): Fix error handling.
commit afbed6fbf2335476c9ca64aa82d5f591be6c4ded
Author: Justus Winter <address@hidden>
Date: Tue Apr 19 11:58:33 2016 +0200
libdiskfs: improve error handling
* libdiskfs/boot-start.c (diskfs_start_bootstrap): Improve error
handling.
commit 378f3be0111dfa6d0e780c5f199116996e14a3e3
Merge: 124921a 8e71c14
Author: Samuel Thibault <address@hidden>
Date: Sun Apr 24 16:36:16 2016 +0200
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit 124921a0266412427613a404287205ec435f3364
Author: Samuel Thibault <address@hidden>
Date: Sun Apr 24 16:34:55 2016 +0200
Fix access mode of temporary files
* libnetfs/dir-mkfile.c (netfs_S_dir_mkfile): Keep flags out of
OPENONLY_STATE_MODES, instead of flags of OPENONLY_STATE_MODES, for the
peropen's openstat.
commit 8e71c142348ed3d2ae6374cff47b7ec766005f53
Author: Justus Winter <address@hidden>
Date: Wed Apr 20 16:42:02 2016 +0200
libfshelp: pass cookie to the callback function
Previously, NULL was passed as cookie. That notably caused some
'peropen' objects to be created without context.
Fixes 0bb14d0b.
* libfshelp/fetch-root.c (fshelp_fetch_root): Pass cookie to the
callback function.
commit b91ac2b9c65142beef19d44bbcdacd16e12c0920
Author: Justus Winter <address@hidden>
Date: Mon Apr 18 21:48:32 2016 +0200
mach-defpager: fix error handling
* mach-defpager/default_pager.c (S_default_pager_storage_info): Fix
error handling.
commit 633e4a7796b13ec7db0f7e78849c35e8f428091a
Author: Samuel Thibault <address@hidden>
Date: Mon Apr 18 23:11:58 2016 +0200
Make make install idempotent
* sutils/Makefile ($(prefix)/dev/MAKEDEV): Add -f to ln command.
commit 6ff6261bb8b2bcf419689fdae4b68f6114f014a3
Author: Justus Winter <address@hidden>
Date: Thu Mar 24 20:45:01 2016 +0100
utils/settrans: add option to specify the underlying node
* utils/settrans.c (options): Add '--underlying'.
(main): Handle new option.
(open_node): Open the node if given.
commit f5e6769c33723a1d4b72722eff8bb68245ca3803
Author: Justus Winter <address@hidden>
Date: Sat Apr 16 16:12:35 2016 +0200
utils/settrans: get an authenticated root node in chroot mode
* utils/settrans.c (get_credentials): New function.
(main): Get an authenticated root node for the process we are
chrooting.
Signed-off-by: Justus Winter <address@hidden>
commit 21ee0e79e90c3cf63613bc1a00a609cfaf1777b2
Author: Justus Winter <address@hidden>
Date: Sun Apr 17 16:36:32 2016 +0200
isofs: make superblock detection more robust
* isofs/isofs.h (disk_image_len): New variable.
* isofs/main.c (read_sblock): Avoid out of bounds access.
* isofs/pager.c (disk_image_len): New variable.
(create_disk_pager): Initialize 'disk_image_len'.
commit 54ab56a23c472729ba3834f90b01c4406ed358b8
Author: Justus Winter <address@hidden>
Date: Fri Apr 15 16:38:05 2016 +0200
Update NEWS file
commit 007eeb3e109d833a52603c3a19436907126b33a8
Author: Flavio Cruz <address@hidden>
Date: Tue Mar 15 05:49:51 2016 -0400
Use posix types for mig definitions.
* hurd/hurd_types.defs: Use posix types.
* libfshelp/start-translator-long.c: Use uint32_t instead of
unsigned32_t.
commit 0715d1b22a6f0008b70fe4b1881045f65521ac19
Author: Samuel Thibault <address@hidden>
Date: Thu Mar 24 11:33:36 2016 +0100
Use swapon path as pager partition path
When /dev/hd* entries are parted-partition storeio, the store name is only
the disk name, thus not unique. We should just use the path being used
instead.
* sutils/swapon.c (swaponoff): Use `file' instead of `store->name' to
default_pager_paging_file.
(main): Drop hardcoded "/dev/".
* procfs/rootdir.c (rootdir_gc_swaps): Drop hardcoded "/dev/".
commit b235bd2724ad4cf9150b0f571ead70fbfa34da84
Author: Samuel Thibault <address@hidden>
Date: Thu Mar 24 11:00:14 2016 +0100
Fix swap information numbers
* procfs/rootdir.c (rootdir_gc_swaps): Fix default_pager_storage_info call
parameter order.
* sutils/swapon.c (main): Likewise.
commit 5eef605eb523e4148ccd22578327492178cfd0c4
Author: Flavio Cruz <address@hidden>
Date: Tue Mar 15 04:50:02 2016 -0400
netfs: Remove global reference count lock.
* libnetfs/drop-node.c: Remove use of netfs_node_refcnt_lock.
* libnetfs/init-init.c: Remove netfs_node_refcnt_lock.
* libnetfs/make-node.c: Initialize refcounts in refcounts_init.
* libnetfs/netfs.h: Use refcounts_t for tracking node references. Remove
netfs_node_refcnt_lock. Add netfs_nref_light, netfs_nrele_light and
handler netfs_try_dropping_softrefs. Adjust comments.
* libnetfs/nput.c: Use refcounts_t. Call netfs_try_dropping_softrefs to
remove any soft reference that the translator might have acquired
during the lifetime of the node. Implement empty
netfs_try_dropping_softrefs.
* libnetfs/nref.c: Implement netfs_nref_light.
* libnetfs/nrele.c: Use refcounts_t and netfs_try_dropping_softrefs.
Implement netfs_nrele_light.
* ftpfs/dir.c: Use netfs_nref without locking the old
netfs_node_refcnt_lock.
* ftpfs/node.c: Likewise.
* usermux/mux.c: Use netfs_nref to increase hard references of the node.
* hostmux/mux.c: Use netfs_nref to increase hard references of the node.
* trans/fakeroot.c (new_node): Use a light reference when storing a node in
the
hash table.
* trans/fakeroot.c (netfs_try_dropping_softrefs): Implement
netfs_try_dropping_softrefs to remove the node from the hash table.
* trans/fakeroot.c (netfs_node_norefs): Remove code to remove the node
from the hash table.
* trans/fakeroot.c (netfs_S_dir_lookup): Simplify lookup code since we
don't need to lock netfs_node_refcnt_lock anymore.
* procfs/netfs.c: Remove use of netfs_node_refcnt_lock.
* nfs/cache.c: Add mutex to handle exclusive access to nodehash. This
replaces the use of netfs_node_refcnt_lock.
* nfs/cache.c (lookup_handle): Use nodehash_ihash_lock when accessing
nodehash. Use netfs_nref_light to add one soft reference to the node
just added to nodehash.
* nfs/cache.c (netfs_node_norefs): Use netfs_nref. Don't use
netfs_node_refcnt_lock and don't remove the node from nodehash here.
* nfs/cache.c (netfs_try_dropping_softrefs): Drop the light reference
when the node has no more hard references.
* nfs/cache.c (recache_handle): Use nodehash_ihash_lock instead.
* nfs/ops.c (netds_attempt_unlink): Use refcounts_references.
* console/console.c (netfs_node_norefs): Use a soft reference to store
a node in dir_node, cons_node, disp_node, inp_node.
* console/console.c (netfs_try_dropping_softrefs): When dropping all
soft references remove node pointer from the fields above.
commit 0da2914ac9d9321cca2d402b2c505881e436c725
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 20 22:27:44 2016 +0100
pflocal: Add support for access() on pipes
bash's '<(' helper creates a pipe and gives /dev/fd/63 to the program, and
gcc would then run access() on it. So we actually need to support at least
some FS operations on pipes.
* pflocal/fs.c: New file.
* pflocal/mig-mutate.h (FILE_INTRAN, FILE_INTRAN_PAYLOAD, FILE_DESTRUCTOR,
FILE_IMPORTS): New macros.
* pflocal/sserver.c: Include "fs_S.h".
(sock_demuxer): Call fs_server_routine.
* pflocal/Makefile (SRCS): Add fs.c.
(MIGSTUBS): Add fsServer.o.
commit 03f8e9b08a9d4f5034ea1a27c3a8e86d9b147306
Author: Samuel Thibault <address@hidden>
Date: Sat Mar 19 03:06:26 2016 +0100
Fix spurious port deallocation
* libfshelp/fetch-root.c (fshelp_fetch_root): When translator has died, do
not deallocate its control port twice.
commit c595ceac1ad8c40aec85318e07424e5b6f338dad
Author: Samuel Thibault <address@hidden>
Date: Fri Mar 18 00:12:23 2016 +0100
ext2fs: Fix off-by-one
* ext2fs/pager.c (disk_cache_init): Do not add
disk_cache_info[disk_cache_blocks] to disk_cache_info_free.
commit 4f51b0e104481fb6d337140eeaa51af8c674d236
Author: Samuel Thibault <address@hidden>
Date: Wed Mar 16 01:48:40 2016 +0100
Add getting swap information from swapon and procfs
* hurd/default_pager.defs (default_pager_storage_info): New RPC.
* hurd/default_pager_reply.defs: Skip default_pager_storage_info RPC.
* hurd/default_pager_types.h: Include <mach/machine/vm_types.h>.
(vm_size_array_t): New type.
* mach-defpager/priv.h (part): Add `name' field.
* mach-defpager/default_pager.c (new_partition): Allocate and fill
`part->name' field. Free it on error.
(destroy_paging_partition): Free `part->name' field.
(S_default_pager_storage_info): New function.
* procfs/Makefile (SRCS): Add default_pagerUser.c.
* procfs/rootdir.c: Include "default_pager_U.h".
(rootdir_gc_swaps): New function.
(rootdir_entries): Add "swaps" entry.
* sutils/swapon.c: Include <argz.h>
(show): New variable.
(options): Add --show/-S option.
(def_pager, dev_master): New variables
(swaponoff): Move getting `def_pager' to...
(get_def_pager): ... new function.
(main): Support 'S' option.
* trans/proxy-defpager.c (S_default_pager_storage_info): New function.
commit 0bc52ecb504401e089e1aa335c56e0c5db6d8e32
Author: Samuel Thibault <address@hidden>
Date: Tue Mar 15 22:22:07 2016 +0100
Show firmlink mounts to mount points
* trans/mtab.c (mtab_populate): Always open the underlying node, and pass
it to mtab_mark_as_seen instead of the translated node.
commit a6212e46e22cdac68b7b9fea0cc04b240c0a4cb8
Author: Samuel Thibault <address@hidden>
Date: Tue Mar 15 22:13:15 2016 +0100
Add get_source support to firmlink
* trans/firmlink.c (trivfs_get_source): New function.
commit b50c419c9b8f59b459d488d7bf11654d56f35511
Author: Samuel Thibault <address@hidden>
Date: Tue Mar 15 00:27:20 2016 +0100
ext2fs: Fix adding blocks to free blocks cache
* ext2fs/pager.c (disk_cache_info_free_push): Add prototype.
(disk_pager_notify_evict): When dropping DC_INCORE flag, if the
block becomes free (no reference and no DC_DONT_REUSE flags), call
disk_cache_info_free_push.
(disk_cache_block_deref): Only call disk_cache_info_free_push if the flags
of the block do not contain DC_DONT_REUSE flags.
commit fa8c83d2fd17e507f305ccc2ddfb39341c8dee99
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 13 22:23:59 2016 +0100
Add missing RPC definitions
* hurd/process_request.defs (proc_make_task_namespace_request): New
definition.
* hurd/process_reply.defs (proc_make_task_namespace_reply): Skip definition.
commit 253e8404513413890d816c0de787ab81cfffe3a3
Author: Justus Winter <address@hidden>
Date: Mon Mar 7 21:36:51 2016 +0100
utils/fakeauth: fix invocation of programs from PATH
* utils/fakeauth.c (main): Replace the right element of the argument
vector. This fixes running scripts from PATH using fakeroot.
commit 2f0b4c592b4f9fd3c6d5744a3bc077237ce9278d
Author: Samuel Thibault <address@hidden>
Date: Mon Feb 29 03:39:13 2016 +0100
Fix parallel build
* console-client/Makefile (parser.tab.h): Redefine the standard yacc rule to
make it build the header too, to avoid concurrency between the standard yacc
rule and the rule that builds the header.
* sutils/Makefile (OBJS): Append .o suffix to $(progs) instead of .c.
commit 9019d6fc527882b8e09ca210e997b43a7b77c70f
Author: Esa Peuha <address@hidden>
Date: Sat Feb 27 09:59:13 2016 +0200
Fix use-after-free in libps.
* libps/fmt.c (_fmt_create): Free new_fmt->src before new_fmt
if reallocating fields fails.
commit 6e8e837864d4e24c2fdb4d90e8eb262ded78c3a8
Author: Samuel Thibault <address@hidden>
Date: Sun Feb 28 01:52:11 2016 +0100
Fix mustbedir mechanism for symlinks
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): When following a symlink,
if mustbedir is true, always append a slash to the symlink target, not only
when the target is absolute. Reset mustbedir to 0 before continuing the
lookup loop.
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): When following a symlink,
if mustbedir is true, append a slash to the symlink target. Reset mustbedir
to 0 before continuing the lookup loop.
* libtreefs/dir-lookup.c (_treefs_s_dir_lookup): Likewise.
commit eeeb27ee14064dff84c833b4359d43d9869a9342
Author: Samuel Thibault <address@hidden>
Date: Sat Feb 27 15:34:17 2016 +0100
Fix parallel install
* sutils/Makefile (install): Do not depend on $(prefix)/dev.
($(prefix)/dev/MAKEDEV): Depend on $(prefix)/dev²
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 33 +
Makeconf | 6 +-
Makefile | 171 ++--
NEWS | 51 ++
aclocal.m4 | 4 +
auth/auth.c | 6 +-
boot/Makefile | 35 +-
boot/boot.c | 976 +++++++++++----------
boot/frank1.ld | 94 --
boot/frankemul.ld | 107 ---
boot/mach-crt0.c | 158 ----
auth/auth.h => boot/mig-decls.h | 11 +-
auth/auth.h => boot/mig-mutate.h | 15 +-
libshouldbeinlibc/refcount.c => boot/private.h | 16 +-
boot/sigvec.S | 23 -
boot/syscall.S | 35 -
boot/userland-boot.c | 261 +++++-
boot/ux.c | 303 -------
boot/ux.h | 114 ---
config.make.in | 5 +-
configure.ac | 11 +-
console-client/Makefile | 11 +-
console-client/console.c | 5 +-
console-client/driver.c | 6 +-
console-client/kbd-repeat.c | 5 +-
console-client/ncursesw.c | 16 +-
console-client/pc-kbd.c | 8 +-
console-client/pc-mouse.c | 5 +-
console-client/trans.c | 4 +-
console-client/vga-dynacolor.c | 10 +-
console-client/vga-dynafont.c | 6 +-
console-client/vga-support.c | 4 +-
console-client/vga.c | 14 +-
console-client/xkb/compose.c | 6 +-
console-client/xkb/kstoucs.c | 4 +-
console-client/xkb/xkbtimer.c | 4 +-
console/console.c | 72 +-
console/display.c | 31 +-
console/pager.c | 32 +-
daemons/Makefile | 9 +-
daemons/{runsystem.hurd => runsystem.hurd.sh} | 0
daemons/runttys.c | 8 +-
defpager/backing.c | 4 +-
doc/hurd.texi | 9 +-
eth-multiplexer/Makefile | 4 +-
eth-multiplexer/dev_stat.c | 139 ++-
eth-multiplexer/device_impl.c | 32 +-
eth-multiplexer/ethernet.c | 88 +-
eth-multiplexer/ethernet.h | 7 +-
eth-multiplexer/util.h | 16 +-
eth-multiplexer/vdev.c | 44 +-
eth-multiplexer/vdev.h | 7 +
exec/elfcore.c | 18 +-
exec/exec.c | 76 +-
exec/hashexec.c | 14 +-
exec/hostarch.c | 2 +-
exec/main.c | 14 +-
exec/priv.h | 2 +-
ext2fs/Makefile | 3 +-
ext2fs/balloc.c | 10 +-
ext2fs/dir.c | 68 +-
ext2fs/ext2_fs.h | 3 +-
ext2fs/ext2_fs_i.h | 1 -
ext2fs/ext2fs.c | 26 +
ext2fs/ext2fs.h | 81 +-
ext2fs/getblk.c | 2 +-
ext2fs/hyper.c | 4 +-
ext2fs/ialloc.c | 10 +-
ext2fs/inode.c | 260 ++++--
ext2fs/pager.c | 113 +--
ext2fs/pokel.c | 12 +-
ext2fs/truncate.c | 4 +-
ext2fs/xattr.c | 876 ++++++++++++++++++
ext2fs/xattr.h | 85 ++
fatfs/dir.c | 36 +-
fatfs/fat.c | 28 +-
fatfs/inode.c | 20 +-
fatfs/main.c | 6 +-
fatfs/pager.c | 29 +-
fatfs/virt-inode.c | 8 +-
ftpfs/conn.c | 4 +-
ftpfs/dir.c | 32 +-
ftpfs/node.c | 10 +-
hostmux/leaf.c | 2 +-
hostmux/mux.c | 6 +-
hurd/auth_request.defs | 2 +-
hurd/crash.defs | 6 +-
hurd/default_pager.defs | 9 +
hurd/default_pager_reply.defs | 2 +
hurd/default_pager_types.h | 2 +
hurd/fs.defs | 20 +-
hurd/fsys.defs | 25 +-
hurd/hurd_types.defs | 20 +-
hurd/hurd_types.h | 3 +
hurd/io_request.defs | 2 +-
hurd/paths.h | 1 +
hurd/process.defs | 6 +-
hurd/process_reply.defs | 8 +-
hurd/process_request.defs | 12 +-
include/sys/procfs.h | 3 +-
init/init.c | 2 +-
isofs/inode.c | 2 +-
isofs/isofs.h | 1 +
isofs/lookup.c | 4 +-
isofs/main.c | 13 +-
isofs/pager.c | 28 +-
isofs/rr.c | 10 +-
libbpf/Makefile | 4 +-
libbpf/{Makefile => Makefile~HEAD} | 0
libbpf/{Makefile => Makefile~HEAD_0} | 0
libbpf/bpf_impl.c | 62 +-
libbpf/queue.c | 36 +-
libcons/cons-switch.c | 4 +-
libcons/dir-changed.c | 8 +-
libcons/file-changed.c | 4 +-
libcons/vcons-close.c | 4 +-
libcons/vcons-refresh.c | 2 +-
libcons/vcons-remove.c | 4 +-
libdiskfs/Makefile | 6 +-
libdiskfs/boot-start.c | 158 ++--
libdiskfs/console.c | 6 +-
libdiskfs/dir-clear.c | 8 +-
libdiskfs/dir-init.c | 4 +-
libdiskfs/dir-link.c | 2 +-
libdiskfs/dir-lookup.c | 243 +++--
libdiskfs/dir-renamed.c | 12 +-
libdiskfs/dir-rmdir.c | 2 +-
libdiskfs/disk-pager.c | 10 +-
libdiskfs/diskfs-pager.h | 2 +-
libdiskfs/diskfs.h | 17 +-
libdiskfs/file-get-children.c | 96 --
libdiskfs/file-get-trans.c | 8 +-
libdiskfs/file-getfh.c | 2 +-
libdiskfs/file-set-trans.c | 23 +-
libdiskfs/file-syncfs.c | 35 +-
libdiskfs/file-utimes.c | 3 +
libdiskfs/fsys-get-children.c | 74 ++
libdiskfs/{file-get-source.c => fsys-get-source.c} | 28 +-
libdiskfs/fsys-getfile.c | 3 +-
libdiskfs/fsys-getroot.c | 16 +-
libdiskfs/fsys-goaway.c | 9 +-
libdiskfs/fsys-options.c | 50 +-
libdiskfs/fsys-syncfs.c | 40 +-
libdiskfs/get-source.c | 2 +-
libdiskfs/init-init.c | 14 +-
libdiskfs/init-main.c | 4 +-
libdiskfs/init-startup.c | 42 +-
libdiskfs/io-map-cntl.c | 2 +-
libdiskfs/io-reauthenticate.c | 2 +-
libdiskfs/io-restrict-auth.c | 2 -
libdiskfs/io-seek.c | 8 +
libdiskfs/io-stubs.c | 8 +-
libdiskfs/io-write.c | 2 +-
libdiskfs/lookup.c | 2 +-
libdiskfs/name-cache.c | 4 +-
libdiskfs/node-cache.c | 10 +-
libdiskfs/node-drop.c | 6 +-
libdiskfs/node-lastref.c | 49 ++
libdiskfs/node-nput.c | 24 +-
libdiskfs/node-nrele.c | 12 +-
libdiskfs/opts-std-startup.c | 5 +
libdiskfs/priv.h | 6 +-
libdiskfs/protid-make.c | 6 +-
libdiskfs/rdwr-internal.c | 9 +-
libdiskfs/shutdown.c | 45 +-
libdiskfs/trans-callback.c | 6 +-
libfshelp/fetch-control.c | 15 +-
libfshelp/fetch-root.c | 49 +-
libfshelp/fshelp.h | 46 +-
libfshelp/get-identity.c | 4 +-
libfshelp/lock-acquire.c | 12 +-
libfshelp/start-translator-long.c | 164 +++-
libfshelp/translator-list.c | 207 +++--
libftpconn/unix.c | 9 +-
libhurd-slab/slab.c | 10 +-
libihash/ihash.c | 40 +-
libihash/ihash.h | 11 +
libnetfs/Makefile | 8 +-
libnetfs/dir-lookup.c | 291 +++---
libnetfs/dir-mkfile.c | 2 +-
libnetfs/drop-node.c | 1 -
libnetfs/file-get-children.c | 110 ---
libnetfs/file-set-translator.c | 8 +-
libnetfs/file-syncfs.c | 23 +-
libnetfs/fsstubs.c | 6 +-
libnetfs/fsys-get-children.c | 74 ++
libnetfs/{file-get-source.c => fsys-get-source.c} | 28 +-
libnetfs/fsys-getroot.c | 7 +-
libnetfs/fsys-set-options.c | 53 +-
libnetfs/fsys-syncfs.c | 22 +
libnetfs/fsysstubs.c | 10 +-
libnetfs/get-source.c | 2 +-
libnetfs/init-init.c | 2 -
libnetfs/io-reauthenticate.c | 2 +-
libnetfs/io-restrict-auth.c | 3 -
libnetfs/iostubs.c | 20 +-
libnetfs/make-node.c | 2 +-
libnetfs/netfs.h | 55 +-
libnetfs/nput.c | 27 +-
libnetfs/nref.c | 10 +-
libnetfs/nrele.c | 37 +-
libnetfs/shutdown.c | 45 +-
libnetfs/trans-callback.c | 6 +-
libpager/data-return.c | 6 +-
libpager/data-unlock.c | 2 +-
libpager/demuxer.c | 11 +-
libpager/pager-attr.c | 2 +-
libpager/pager-create.c | 50 +-
libpager/pager-memcpy.c | 31 +-
libpager/pager.h | 8 +
libpager/stubs.c | 15 +-
libpipe/pipe.c | 9 +-
libports/Makefile | 2 +-
libports/claim-right.c | 4 +-
libports/complete-deallocate.c | 6 +-
libports/create-internal.c | 6 +-
libports/destroy-right.c | 4 +-
libports/get-right.c | 4 +-
libports/get-send-right.c | 4 +-
libports/import-port.c | 4 +-
libports/interrupt-on-notify.c | 4 +-
libports/interrupt-rpcs.c | 8 +-
libports/manage-multithread.c | 9 +-
libports/manage-one-thread.c | 2 +-
libports/port-deref-deferred.c | 12 +-
libports/port-deref-weak.c | 2 +-
libports/port-deref.c | 2 +-
libports/port-ref-weak.c | 2 +-
libports/port-ref.c | 2 +-
libports/ports.h | 28 +-
libports/reallocate-from-external.c | 14 +-
libports/reallocate-port.c | 14 +-
libports/resume-all-rpcs.c | 4 +-
libports/resume-bucket-rpcs.c | 4 +-
libports/resume-class-rpcs.c | 4 +-
libports/resume-port-rpcs.c | 4 +-
libports/transfer-right.c | 10 +-
libps/context.c | 2 +-
libps/filters.c | 2 +-
libps/fmt.c | 13 +-
libps/host.c | 2 +-
libps/proclist.c | 10 +-
libps/procstat.c | 12 +-
libps/spec.c | 7 +-
libps/tty.c | 2 +-
libps/user.c | 2 +-
libshouldbeinlibc/Makefile | 2 +
libshouldbeinlibc/assert-backtrace.c | 79 ++
libshouldbeinlibc/assert-backtrace.h | 62 ++
libshouldbeinlibc/cacheq.c | 2 +-
libshouldbeinlibc/idvec-verify.c | 4 +-
libshouldbeinlibc/idvec.c | 6 +-
libshouldbeinlibc/refcount.h | 59 +-
libshouldbeinlibc/timefmt.c | 2 +-
libshouldbeinlibc/wire.c | 144 +--
libshouldbeinlibc/wire.h | 4 +-
libstore/Makefile | 5 +-
libstore/argp.c | 4 +-
libstore/derive.c | 6 +-
libstore/device.c | 6 +-
libstore/memobj.c | 9 +-
libstore/mvol.c | 3 +-
libstore/part.c | 8 +-
libthreads/cancel-cond.c | 4 +-
libthreads/cprocs.c | 4 +-
libthreads/rwlock.h | 6 +-
libtreefs/dir-lookup.c | 13 +-
libtreefs/fsys-startup.c | 2 +-
libtreefs/treefs.h | 10 +-
libtreefs/xinl.c | 2 +
libtrivfs/Makefile | 5 +-
libtrivfs/dir-lookup.c | 2 +-
libtrivfs/file-get-children.c | 36 -
libtrivfs/file-set-size.c | 4 +-
libtrivfs/fsys-get-children.c | 41 +
libtrivfs/{file-get-source.c => fsys-get-source.c} | 22 +-
libtrivfs/fsys-getroot.c | 18 +-
libtrivfs/fsys-stubs.c | 8 +-
libtrivfs/get-source.c | 2 +-
libtrivfs/io-async-icky.c | 2 +-
libtrivfs/io-async.c | 2 +-
libtrivfs/io-map.c | 2 +-
libtrivfs/io-modes-get.c | 2 +-
libtrivfs/io-modes-off.c | 4 +-
libtrivfs/io-modes-on.c | 4 +-
libtrivfs/io-modes-set.c | 4 +-
libtrivfs/io-owner-get.c | 2 +-
libtrivfs/io-owner-mod.c | 2 +-
libtrivfs/io-read.c | 4 +-
libtrivfs/io-readable.c | 4 +-
libtrivfs/io-reauthenticate.c | 7 +-
libtrivfs/io-restrict-auth.c | 4 +-
libtrivfs/io-seek.c | 4 +-
libtrivfs/io-select.c | 6 +-
libtrivfs/io-stubs.c | 18 +-
libtrivfs/io-write.c | 4 +-
libtrivfs/open.c | 2 +-
libtrivfs/priv.h | 9 +
libtrivfs/startup.c | 2 +-
libtrivfs/times.c | 22 +-
libtrivfs/trivfs.h | 14 +-
login/utmp.c | 4 +-
m4/libgcrypt.m4 | 143 +++
mach-defpager/Makefile | 2 +-
mach-defpager/default_pager.c | 248 ++++--
mach-defpager/kalloc.c | 49 +-
mach-defpager/main.c | 4 +-
mach-defpager/priv.h | 1 +
mach-defpager/setup.c | 16 +-
mach-defpager/wiring.c | 67 +-
mach-defpager/wiring.h | 1 -
nfs/cache.c | 45 +-
nfs/main.c | 11 +-
nfs/ops.c | 18 +-
nfs/rpc.c | 12 +-
nfs/storage-info.c | 6 +-
nfsd/cache.c | 9 +-
pfinet/dummy.c | 2 +-
pfinet/ethernet.c | 18 +-
pfinet/glue-include/linux/interrupt.h | 6 +-
pfinet/glue-include/linux/kernel.h | 8 +-
pfinet/glue-include/linux/sched.h | 14 +-
pfinet/glue-include/linux/socket.h | 6 +-
pfinet/glue-include/linux/types.h | 2 +-
pfinet/io-ops.c | 4 +-
pfinet/linux-src/include/linux/ext2_fs_i.h | 1 -
pfinet/linux-src/include/net/tcp.h | 1 -
pfinet/linux-src/include/net/udp.h | 2 -
pfinet/linux-src/net/ipv4/tcp_ipv4.c | 4 +-
pfinet/linux-src/net/ipv4/udp.c | 12 +-
pfinet/linux-src/net/ipv6/tcp_ipv6.c | 3 +-
pfinet/linux-src/net/ipv6/udp_ipv6.c | 9 +-
pfinet/main.c | 5 +-
pfinet/socket-ops.c | 6 +-
pfinet/socket.c | 6 +-
pfinet/tunnel.c | 12 +-
pflocal/Makefile | 6 +-
pflocal/connq.c | 20 +-
libdiskfs/io-owner-get.c => pflocal/fs.c | 35 +-
pflocal/io.c | 111 +--
pflocal/mig-mutate.h | 6 +
pflocal/sock.c | 8 +-
pflocal/sock.h | 6 +-
pflocal/socket.c | 14 +-
pflocal/sserver.c | 2 +
proc/host.c | 19 +-
proc/info.c | 232 ++++-
proc/main.c | 106 ++-
proc/mgt.c | 150 +++-
proc/mig-mutate.h | 9 +
proc/msg.c | 44 +-
proc/pgrp.c | 104 ++-
proc/proc.h | 6 +-
proc/stubs.c | 6 +-
proc/wait.c | 3 +-
procfs/ChangeLog | 6 -
procfs/Makefile | 2 +-
procfs/main.c | 36 +-
procfs/main.h | 1 -
procfs/netfs.c | 8 +-
procfs/procfs.c | 2 +-
procfs/proclist.c | 4 +-
procfs/rootdir.c | 197 ++++-
random/Makefile | 30 -
random/TODO | 11 -
random/gnupg-bithelp.h | 41 -
random/gnupg-glue.h | 40 -
random/gnupg-random.c | 810 -----------------
random/gnupg-random.h | 47 -
random/gnupg-rmd.h | 38 -
random/gnupg-rmd160.c | 655 --------------
random/random.h | 32 -
release/servers.boot | 2 +-
startup/Makefile | 9 +-
startup/startup.c | 526 +++++++----
storeio/dev.c | 15 +-
storeio/pager.c | 4 +-
storeio/storeio.c | 2 +-
sutils/MAKEDEV.sh | 8 +-
sutils/Makefile | 10 +-
sutils/bless.c | 96 ++
sutils/fsck.c | 6 +-
sutils/fstab.c | 2 +-
sutils/swapon.c | 115 ++-
term/devio.c | 20 +-
term/hurdio.c | 2 +-
term/main.c | 2 +-
term/munge.c | 13 +-
term/term.h | 7 +-
term/users.c | 9 +-
tmpfs/dir.c | 18 +-
tmpfs/node.c | 28 +-
tmpfs/tmpfs.c | 2 +-
trans/Makefile | 18 +-
trans/crash.c | 210 ++++-
trans/fakeroot.c | 121 ++-
trans/fifo.c | 2 -
trans/firmlink.c | 7 +
trans/ifsock.c | 2 +-
trans/magic.c | 8 +-
trans/mtab.c | 263 +++---
trans/new-fifo.c | 12 +-
trans/null.c | 6 +-
trans/password.c | 6 +-
trans/proxy-defpager.c | 15 +-
{random => trans}/random.c | 500 ++++++-----
trans/remap.c | 7 +
trans/streamio.c | 26 +-
trans/symlink.c | 59 --
usermux/leaf.c | 2 +-
usermux/mux.c | 6 +-
utils/Makefile | 2 +
utils/fakeauth.c | 8 +-
utils/fakeroot.sh | 3 +
utils/login.c | 6 +-
utils/msgids.c | 5 +-
utils/ps.c | 2 +-
utils/rpctrace.c | 87 +-
utils/settrans.c | 91 +-
utils/shd.c | 8 +-
utils/vmallocate.c | 4 +-
421 files changed, 7984 insertions(+), 6822 deletions(-)
delete mode 100644 boot/frank1.ld
delete mode 100644 boot/frankemul.ld
delete mode 100644 boot/mach-crt0.c
copy auth/auth.h => boot/mig-decls.h (81%)
copy auth/auth.h => boot/mig-mutate.h (81%)
copy libshouldbeinlibc/refcount.c => boot/private.h (69%)
delete mode 100644 boot/sigvec.S
delete mode 100644 boot/syscall.S
delete mode 100644 boot/ux.c
delete mode 100644 boot/ux.h
rename daemons/{runsystem.hurd => runsystem.hurd.sh} (100%)
create mode 100644 ext2fs/xattr.c
create mode 100644 ext2fs/xattr.h
copy libbpf/{Makefile => Makefile~HEAD} (100%)
copy libbpf/{Makefile => Makefile~HEAD_0} (100%)
delete mode 100644 libdiskfs/file-get-children.c
create mode 100644 libdiskfs/fsys-get-children.c
rename libdiskfs/{file-get-source.c => fsys-get-source.c} (51%)
create mode 100644 libdiskfs/node-lastref.c
delete mode 100644 libnetfs/file-get-children.c
create mode 100644 libnetfs/fsys-get-children.c
rename libnetfs/{file-get-source.c => fsys-get-source.c} (51%)
create mode 100644 libshouldbeinlibc/assert-backtrace.c
create mode 100644 libshouldbeinlibc/assert-backtrace.h
delete mode 100644 libtrivfs/file-get-children.c
create mode 100644 libtrivfs/fsys-get-children.c
rename libtrivfs/{file-get-source.c => fsys-get-source.c} (55%)
create mode 100644 m4/libgcrypt.m4
copy libdiskfs/io-owner-get.c => pflocal/fs.c (65%)
delete mode 100644 procfs/ChangeLog
delete mode 100644 random/Makefile
delete mode 100644 random/TODO
delete mode 100644 random/gnupg-bithelp.h
delete mode 100644 random/gnupg-glue.h
delete mode 100644 random/gnupg-random.c
delete mode 100644 random/gnupg-random.h
delete mode 100644 random/gnupg-rmd.h
delete mode 100644 random/gnupg-rmd160.c
delete mode 100644 random/random.h
create mode 100644 sutils/bless.c
rename {random => trans}/random.c (63%)
hooks/post-receive
--
the great next stuff
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] the great next stuff branch, dde, updated. 1c5e9b5fd65d2c385f5d3f696eb0d05a86fb2755,
Justus Winter <=