Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Ensure User ID is sane before calling fossil |
|---|---|
| Timelines: | family | ancestors | descendants | both | setuid-fossil |
| Files: | files | file ages | folders |
| SHA1: |
0874801b3e3864b65f099bd07f8b606c |
| User & Date: | rkeene 2019-01-07 23:07:19.160 |
Context
|
2019-01-07
| ||
| 23:29 | Finished comment check-in: afc1e902de user: rkeene tags: setuid-fossil | |
| 23:07 | Ensure User ID is sane before calling fossil check-in: 0874801b3e user: rkeene tags: setuid-fossil | |
| 22:40 | Started work on running Fossil as different OS user per Flint user check-in: 91893d0dc3 user: rkeene tags: setuid-fossil | |
Changes
Changes to scripts/fossil-as-user/suid-fossil.cr.
| ︙ | ︙ | |||
69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
info = File.info(file)
Int32.new(info.owner - UID_OFFSET)
end
# Run Fossil, wrapped as a Flint UserName/UserID
def suid_fossil(username : String, userid : Int32, fossil_args : Array, fossil_command = "fossil")
# Compute OS UID from Flint User ID
uid = userid + UID_OFFSET
# Create Fossil home directory
home = "/tmp/suid-fossil/#{userid}"
if !Dir.exists?(home)
| > > > > > > > > > | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
info = File.info(file)
Int32.new(info.owner - UID_OFFSET)
end
# Run Fossil, wrapped as a Flint UserName/UserID
def suid_fossil(username : String, userid : Int32, fossil_args : Array, fossil_command = "fossil")
# Ensure that the user ID is sane
if userid < 0
raise "User ID out of bounds (too low)"
end
if userid > (UInt32.new(Int32::MAX) - UID_OFFSET - 1)
raise "User ID out of bounds (too high)"
end
# Compute OS UID from Flint User ID
uid = userid + UID_OFFSET
# Create Fossil home directory
home = "/tmp/suid-fossil/#{userid}"
if !Dir.exists?(home)
|
| ︙ | ︙ |