Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/sudo-project/sudo

Utility to execute a command as another user
https://github.com/sudo-project/sudo

Document how to merge sudoers files with cvtsudoers.

cc79038730793ab5c4c4dacd9d1bd7f59c088e00 authored almost 3 years ago by Todd C. Miller <[email protected]>
init_parse_tree() now takes ownership of lhost and shost, if any.

This means that lhost and shost in struct sudoers_parse_tree
are no longer const and that free_pa...

730ebabdbab8437e95ffa89714e32078b3b42ad1 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add a background image for the macOS installer.

7baee707b003d943b13dcbc34f0937f2f740fea3 authored almost 3 years ago by Todd C. Miller <[email protected]>
Update PolyPkg

7b0b186994a343cdc281a93292b3a5986f6ebc5d authored almost 3 years ago by Todd C. Miller <[email protected]>
mkpkg: handle a macOS SDK that just uses the major version.

For example, MacOSX11.sdk instead of MacOSX11.3.sdk.

0a89b87a3ff329c7cd9e3b6c605cef0312c9ed61 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add missing dependencies for timegm.

70c0d35faaf6bf4c56b0346e1575c03a93d8607e authored almost 3 years ago by Todd C. Miller <[email protected]>
Add support for specifying the hostname as a prefix to the sudoers file.

If present, the host name is copied into the struct sudoers_parse_tree.

33fbf59467464e356aad54de73ed5be3d84df8ee authored almost 3 years ago by Todd C. Miller <[email protected]>
cvtsudoers: parse multiple sudoers files and store them in a tail queue

In the future the parsed files will be merged before they are output.

4cb34a2015165afe8da1d74123bdf14161172ea6 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add sudoers_parse_tree_list, a tail queue of struct sudoers_parse_tree.

This will be used to store multiple parse trees and merge them
into a single sudoers_parse_tree.

b1309f76db061ad4f693a6f55fcfbec9e1ab0701 authored almost 3 years ago by Todd C. Miller <[email protected]>
Fix formatting of links.

3ab280fc616e4f91da7f80c18ad12926a8acbddb authored almost 3 years ago by Todd C. Miller <[email protected]>
Add contributing guide.

781a4fb691c65065d83c35ed7399b5f5c0147a23 authored almost 3 years ago by Todd C. Miller <[email protected]>
Create codeql-analysis.yml

658eba7ee49697eed0f8045769d4dcd75fb9b04f authored almost 3 years ago by Todd C. Miller <[email protected]>
Add security doc, inspired by the Microsoft template.

85325a7d2f7cc2cc656464423f3f96fe931cd93b authored almost 3 years ago by Todd C. Miller <[email protected]>
Rename "doc" directory to "docs" for better GitHub compatibility.

289a045a4fb35a128b0c58eb37b5de73be0e49ee authored almost 3 years ago by Todd C. Miller <[email protected]>
Use $(SED), not sed, when generating mksiglist.h/mksigname.h

5faf46de6fd8cd42a3eede885973cbddbad6a4f0 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add configure check for sha1sum and use "openssh dgst -sha1" if missing.

Only needed when building the seed corpus zip files.

09b82a22ca483d9722594b59f05438258aa77a91 authored almost 3 years ago by Todd C. Miller <[email protected]>
sudo_compat.h: include unistd.h regardless of OS type

This helps to avoid issues with mismatched headers and libraries.

c2d03f7cca1009b7fde3fa1bedb342dad6de5469 authored almost 3 years ago by Todd C. Miller <[email protected]>
install_sudoers: fix return value when there is no temp file to install

This can happen when no changes were made. Also preserve the edited
temp file on error if we are...

55d17eaa3450f2e13dd016a0974a964f2d703c6c authored almost 3 years ago by Todd C. Miller <[email protected]>
Bump plugin version in test data to 1.18.

def7a51f4d743033cb37efcb23cf8f08a4785286 authored almost 3 years ago by Todd C. Miller <[email protected]>
free_defs_val: free rlimits like strings (which they are).

8e656b63c8cfb1620e986f78ea3c9a45d3f2f0eb authored almost 3 years ago by Todd C. Miller <[email protected]>
Rename {check,set}_perms variable to {check,set}_mode.

Avoids a name clash with the set_perms() function.

288bb82543e2812c680bf2520fa5f3c87e797f2f authored almost 3 years ago by Todd C. Miller <[email protected]>
Avoid symbol name clash with is_writable() function variable.

Rename "is_writable" variable to "writable".

7085a6447550777c6296f9eacecc1c126febdc0b authored almost 3 years ago by Todd C. Miller <[email protected]>
Mention that the core dump size resource limit now defaults to 0.

03927f998fcde5163c9f7063940ca2f0ba185e62 authored almost 3 years ago by Todd C. Miller <[email protected]>
Document new resource limit settings.

6f7f8601e456c1add262b35ebaf9e93af8613b7d authored almost 3 years ago by Todd C. Miller <[email protected]>
Document resource limit support in command_info[] and Bump plugin API minor.

This is supported beginning with sudo 1.9.9 and plugin API 1.17.

7c8746bc7019cb146c24e89764c9b2e1b2a2d386 authored almost 3 years ago by Todd C. Miller <[email protected]>
Use strtoul() on systems without strtoull().

We can assume that systems without strtoull() have 32-bit resource limits.

19065cb221225a2377ed509d660bf63e81399e8c authored almost 3 years ago by Todd C. Miller <[email protected]>
Add front-end support for setting resouce limits.

The special value "user" means preserve the invoking user's limit.
The value "default" means don'...

74ef983f609a04e593bdddd878e50b665f015e96 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add basic support for setting resource limits in sudoers.

The default for rlimit_core is "0,0"
Resource limits are passed back to the front-end in command_...

f279df5e18023a0569657610513743a6bbdf7301 authored almost 3 years ago by Todd C. Miller <[email protected]>
switch_user_nonfatal: only define if using faccessat()

9c465f84adcc274f6ca8969298f8f9aaf3a09602 authored almost 3 years ago by Todd C. Miller <[email protected]>
visudo: add -O and -P options to check/set owner and permissions.

This can be used in conjunction with the -c option to check that
the sudoers file ownership and p...

cdd41af66fa4b08f0c09fc30c9a8bf95c4258c5e authored almost 3 years ago by Todd C. Miller <[email protected]>
UPGRADE: mention SELinux behavior change.

78709eaeec73c88cb24e5b7ebafb14ace63ece48 authored almost 3 years ago by Todd C. Miller <[email protected]>
Rename selinux_setcon -> selinux_setexeccon

22d624c0289defd9267632dbd03a007536493215 authored almost 3 years ago by Todd C. Miller <[email protected]>
In the SELinux role is "unconfined_r", disable SELinux support.

We only want to apply SELinux to confined users. This is a bit of
a hack as unconfined_r is spec...

e92c3d841ef149c92d002b396610284508340382 authored almost 3 years ago by Todd C. Miller <[email protected]>
Separate out the code to compute the context from selinux_setup().

This makes it possible to determine whether we really need to execute
the command via the sesh he...

e97fb5fd0b3f33178f47ee3d53ea23137757b135 authored almost 3 years ago by Todd C. Miller <[email protected]>
Pass status of selinux sudoers setting to front-end as selinux-rbac.

The front-end uses this to decide whether or not to enable SELinux.
If selinux-rbac is true _or_ ...

a336a8422fd5207f34e73c7b1cfbea64cdc6c2d9 authored almost 3 years ago by Todd C. Miller <[email protected]>
dir_is_writable: add fallback if changing UIDs fails

The SELinux policy may not allow uid/gid changes which will break
the writability checks and caus...

a527d6dfdd6bdfe6a74a2d051b25506b0d01d1dd authored almost 3 years ago by Todd C. Miller <[email protected]>
Build python package on Fedora

733fe4bd1ab0a0b988fbef597aa2c5424c35e555 authored almost 3 years ago by Todd C. Miller <[email protected]>
Make get_exec_context static, it is unused outside selinux.c.

6804632591bfaf1649999b564f2a6a51fc0e5fc2 authored almost 3 years ago by Todd C. Miller <[email protected]>
Fix lint warning: skipping paragraph macro: Pp before Bd

ff888e70094269ea08a54e34370ff03d2d81e5f7 authored almost 3 years ago by Todd C. Miller <[email protected]>
Escape some minus signs ('-') as required by newer groff.

4e1e07b8832fc97c40fd5e17c367d0225e629e91 authored almost 3 years ago by Todd C. Miller <[email protected]>
parse_gentime: use timegm() to generate time since the epoch

The timegm() function is non-standard but widely available.
Provide an implementation for those s...

4eebd53bcef72671e4ed473ac74506ca64a352cb authored almost 3 years ago by Todd C. Miller <[email protected]>
Fix pasto in gmtime_r and localtime_r macros.

Also add missing Makefile targets for them.

b506497fe4e6c7d3bf07a908ff4074e3bee02ddb authored almost 3 years ago by Todd C. Miller <[email protected]>
Take daylight saving time into consideration when computing offset.

Otherwise, the resulting time may be off by and hour, depending on
whether DST is currently activ...

dcd2199f7990ffefe7b4f8ddac8f40153cba6056 authored almost 3 years ago by Todd C. Miller <[email protected]>
Back out f2d82771e7dd, arm64e on macOS is still in preview state.

Until arm64e on macOS is finalized, continue to build arm64 packages.

12c8dba4caee4c4a92738f1f4614b70e52c3cf3a authored almost 3 years ago by Todd C. Miller <[email protected]>
Build arm64e ABI binaries on macOS 11 and above.

We originally used arm64 here but the correct ABI is arm64e.
The arm64 arch will be removed in a ...

491aee866bb94a93e804b2980bb5af2465619cf8 authored almost 3 years ago by Todd C. Miller <[email protected]>
Use iolog_openat() when opening the log.json file in the I/O log dir.

7c4c61be0f55d94d106a14b810804f7de89e0cff authored almost 3 years ago by Todd C. Miller <[email protected]>
Use BIO_new_file() not BIO_new_fd() to read dhparams file.

Older versions of OpenSSL and wolfSSL lack BIO_new_fd().
Also explicitly include openssl/bio.h an...

ed13faf9f6ba460cbf30d9828c74ce79cc070efa authored almost 3 years ago by Todd C. Miller <[email protected]>
wolfSSL not WolfSSL

fc5fa1bbd405efb5f61bd67c59ab457acfd46a84 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add wolfSSL variant to continuous integration tests.

77048c11931568a45255df8b02e9ac8e8a31e2b6 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add libwolfssl-dev to Debian and Ubuntu Dockerfiles

Fedora does not appear to have an official wolfssl package.

21c240d809e0e3985c2fa12b658506e4df328fb7 authored almost 3 years ago by Todd C. Miller <[email protected]>
White space in an include file path supported by sudo 1.9.1 or higher.

094f4dac587fade4eb12a75a20761dc33f3fbd28 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add support for WolfSSL's OpenSSL compatibility layer.

Based on changes from Hayden Roche

cc6157d7d4ceec624da6ca0ac6bfc581fc868491 authored almost 3 years ago by Todd C. Miller <[email protected]>
regenerate dependencies

465bfbba728eda0bf1e7a1f9851cf275f2a93372 authored almost 3 years ago by Todd C. Miller <[email protected]>
Move include of log_server.pb-c.h into logsrvd.h and sendlog.h

This way there is no include file order issue with the
PROTOBUF_C_VERSION_NUMBER check.

87c1dd9d7d04d881ace524542e87732f54823528 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add pkg-config to all Dockerfile

1dbf95645d4590db35282f73c0293492be13e731 authored almost 3 years ago by Todd C. Miller <[email protected]>
Use SSL_FILETYPE_PEM with SSL_CTX_use_PrivateKey_file, not X509_FILETYPE_PEM

While they are defined to the same value in OpenSSL one should not
rely on this.

8a9c8794d0dc5c3b8706e0acfd1705f7044bccde authored almost 3 years ago by Todd C. Miller <[email protected]>
Fix setting _PATH_ASAN_LIB, need to double up the square brackets.

a808f8e7e54e153d63a26e6c0b52461922981111 authored almost 3 years ago by Todd C. Miller <[email protected]>
sudo_sendlog: send runenv, rungid and runuid from log.json too

With this change, sudo_sendlog can now round-trip sudo-style I/O
logs that use the newer log.json...

e73e9d5e47ccac8264fa3601698ac91d884040d4 authored almost 3 years ago by Todd C. Miller <[email protected]>
arc4random: need to include sys/random.h on Solaris too.

This was removed when Linux genentropy() was disabled.

ef3eb25a1b2410f97ead47cba728994d4f32cc41 authored almost 3 years ago by Todd C. Miller <[email protected]>
Make sure INET_ADDRSTRLEN and INET6_ADDRSTRLEN are defined.

88c577171ed39f63f334c5c1836c4a5058a7df28 authored almost 3 years ago by Todd C. Miller <[email protected]>
Only include log_client.h if SUDOERS_LOG_CLIENT is defined.

00f0c233b2575e1981b9a3f33223e052be186d94 authored almost 3 years ago by Todd C. Miller <[email protected]>
Merge pull request #118 from larb0b/main

Define MAP_FAILED where relevant if undefined

cf47187eb5e6250db2b5bcac4aa624fd49a3802f authored almost 3 years ago by Todd C. Miller <[email protected]>
Define MAP_FAILED where relevant if undefined

On systems such as HP-UX 10.20, MAP_FAILED is not
defined.

07bdfeedb8a381ac4caaee9aa9e4d9bbb1070e46 authored almost 3 years ago by Larkin Nickle <[email protected]>
Improve macOS version detection to support macOS 11 and simplify legacy logic

From Jeremy Huddleston Sequoia

cccefb962b76505fd9916e39c3ae7108b09c0bcc authored almost 3 years ago by Todd C. Miller <[email protected]>
sudo_sendlog: send multiple I/O log records together if possible

Try to fill the write buffer and then send to the server instead
of sending records one at a time.

14873832c6818c660a7f391cb62c304345a0cd7c authored almost 3 years ago by Todd C. Miller <[email protected]>
sudo_sendlog: support multiple write buffers like sudo_logsrvd

1a26d2c883017b0ac26cfcc78a0c9d9c402a7fe3 authored almost 3 years ago by Todd C. Miller <[email protected]>
Always link libsudo_util.so with libcrypto.so if using OpenSSL.

We may need to use RAND_bytes() in the getentropy() emulation.

9fbbca7b7a4cc60a8aa27d73de54278004a704c0 authored almost 3 years ago by Todd C. Miller <[email protected]>
Add an explicit check for sys/sysctl.h.

This test needs to be done after AC_LANG_WERROR to avoid including
sys/sysctl.h on systems where ...

23eef895f4e617376b11bf3e2d496d4b2ad576d1 authored almost 3 years ago by Todd C. Miller <[email protected]>
Use our own getentropy() by default on Linux.

The glibc getentropy() emulation will fail on older kernels that
don't support getrandom().
Also ...

00e53b32e5e8a2556eec5ca63ab7a86ed5a7e7c8 authored almost 3 years ago by Todd C. Miller <[email protected]>
Use the OpenSSL RAND_bytes() function if getrandom() fails.

de4fd4a31de922706fcc6b4f4728bd84ca8c5a85 authored almost 3 years ago by Todd C. Miller <[email protected]>
Fix compilation of standalone arc4random_buf().

Apparently this code was never compiled anywhere.

badd6267bd81bc119560a643868dbb92a952e9e3 authored almost 3 years ago by Todd C. Miller <[email protected]>
sudo_uuid_create: no longer need a union for the uuid.

9dd6304940ce90b24b5ef81459c8c45365b67fb4 authored almost 3 years ago by Todd C. Miller <[email protected]>
eventlog_free: free signal_name too

803fc56bef87c8583d134146523764234469a433 authored about 3 years ago by Todd C. Miller <[email protected]>
Add new log.json keywords

f49c7ac5a525f24971ad08ea8bd0adb99e3955fe authored about 3 years ago by Todd C. Miller <[email protected]>
fuzz_iolog_json: initialize exit_value to -1

89b53d5edd1da355872b9415acb40bb63eb66b15 authored about 3 years ago by Todd C. Miller <[email protected]>
Fix potential use-after-free when calling iolog_flush_all().

We need to call iolog_flush_all() _before_ scheduling the commit point.
If we fail to schedule to...

02e77e656bb9cf7f7d0861382eb66c685efeb502 authored about 3 years ago by Todd C. Miller <[email protected]>
sendlog: use runargv from log.json if available

5eebc3098787295814b1e7f1c0819209c1b42300 authored about 3 years ago by Todd C. Miller <[email protected]>
sudo_sendlog: send exit data in eventlog if present

a71d1f7ce60560de9e0a9868d83801b301bcf34e authored about 3 years ago by Todd C. Miller <[email protected]>
No longer need to pass exit params to eventlog_exit(), use struct eventlog.

Now that struct eventlog includes the exit parameters we can simplify
how eventlog_exit() is called.

bddf03fe453138954a51b5afbc7572e30d7f9d0e authored about 3 years ago by Todd C. Miller <[email protected]>
Read command run_time, signal and exit_value from I/O log log.json file.

d415624ffc6cf16aa992279b3087bce66844c740 authored about 3 years ago by Todd C. Miller <[email protected]>
Log the command run-time and exit status in the I/O log.

d21c935a150eb274030188be72b6830c28738961 authored about 3 years ago by Todd C. Miller <[email protected]>
format_json: fix pasto when setting dumped_core boolean

f73bc6dee3878fca0f2cbea7c6cd0ce69167eb8e authored about 3 years ago by Todd C. Miller <[email protected]>
Handle a missing run_time in an ExitMessage.

It is now possible to pass a NULL run_time to eventlog_exit().

77c339858d53b34ebbe2614fe3148f55b6d8c88b authored about 3 years ago by Todd C. Miller <[email protected]>
No need to flush logs before commit point if we flush after each write.

Also document that logs are flushed before sending a commit point
even when flushing is disabled.

15b4427b9a9fc8b1162df8b728731dbcedfa94b5 authored about 3 years ago by Todd C. Miller <[email protected]>
Flush I/O logs before we send a commit point.

The commit point message means we have written the data to disk so
we should not be buffering it ...

a554629d843b895ac9d5aaca6f4a83875238b15c authored about 3 years ago by Todd C. Miller <[email protected]>
Do not treat a resume point of [0, 0] as an error.

If the connecton is interrupted before sudo sends back a commit_point
message, resuming at [0, 0]...

3e4f6aa2e3dd49307b45061135fe36f7e7830333 authored about 3 years ago by Todd C. Miller <[email protected]>
Display a more helpful message if the user tries to run "sudo cd".

Since "cd" is a shell built-in command it cannot be run directly
via sudo. The user either needs...

369d21323bacd1b98c1c5bfd43c2f78d94c73d68 authored about 3 years ago by Todd C. Miller <[email protected]>
Don't install sudoers.a when configured with --enable-static-sudoers.

We already avoid installing it when --disable-shared-util is specified.

64e57983188e053a5554ce6eeef5577230477f44 authored about 3 years ago by Todd C. Miller <[email protected]>
mkpkg: preserve make exit value on exit

Fixes a problem where the exit value from mkpkg was 0 even on error.

7a56c9871e1f3d5c88a2c21e7a5b447db7a54739 authored about 3 years ago by Todd C. Miller <[email protected]>
Fix typos in SELinux and Solaris priv support.

4b7b3c05e954dd11139a8e78c601adc85b0ac5e5 authored about 3 years ago by Todd C. Miller <[email protected]>
cvtsudoers: initial support for CSV output

For CSV output we double quotes strings that contain commas. For
each literal double quote chara...

430048d1677ef3808326488bc6c0c0704d6257e8 authored about 3 years ago by Todd C. Miller <[email protected]>
regenerate dependencies

de5ca187b8d05a891602d15af7059a34d98b6806 authored about 3 years ago by Todd C. Miller <[email protected]>
Fix typo and avoid a codespell false positive.

a4fb31aa06627831c4febdae9caa97b3f87f8ef2 authored about 3 years ago by Todd C. Miller <[email protected]>
Add build-nointercept and test-nointercept

032575f57bb6b04a357f3d2d9d494eabd8718a12 authored about 3 years ago by Todd C. Miller <[email protected]>
circleci: test multiple build options

We now do separate builds with LDAP/SSSD enabled, logsrv client/server
disabled, and static-sudoe...

25129cb77524f89e9e4c5f3955c55020445c92ef authored about 3 years ago by Todd C. Miller <[email protected]>
Fix fuzzer build with when --enable-static-sudoers is used.

This introduces a sudoers-specific version of LT_STATIC instead of
appending the --tag=disable-sh...

eaee7a0ebead5ac92056ae7903a34b625bf461cb authored about 3 years ago by Todd C. Miller <[email protected]>
Mention --security-opt=seccomp=unconfined workaround for bleeding edge.

May be needed for Fedora rawhide and Ubuntu testing, among others.

f6fc70e5dd0aa7c13ec1da4334864b298474ff83 authored about 3 years ago by Todd C. Miller <[email protected]>
Try to handle the case where libasan.so is a linker script.

Fixes check_noexec with ASAN on Fedora where libasan.so just includes
the actual library file.

8350307a2f50f1a8aef49aef0a6604e400abb5d7 authored about 3 years ago by Todd C. Miller <[email protected]>
Enable address and undefined behavior sanitizers in CI builds.

We need to disable leak sanitizer during "make check" because it
uses ptrace which is not allowed...

8508044721aeb2ebf8aaa6c08234f40436b7059d authored about 3 years ago by Todd C. Miller <[email protected]>
Switch to Ubuntu latest for circleci build.

49611d6ccac3a627e17a5006e2540b1860ed0954 authored about 3 years ago by Todd C. Miller <[email protected]>