Commit Graph

109 Commits

Author SHA1 Message Date
Jeremy Soller 4b32b682d4 Merge pull request #33 from MggMuggins/master
Implement Unimplemented; Bugs
2018-02-12 09:39:28 -07:00
MggMuggins 1d6b67cd42 Implement Unimplemented; Bugs
Fix a CLI bug with groupadd

Implement everything that involves removing user from groups, mostly
in userdel and usermod.
2018-02-12 09:07:17 -06:00
Jeremy Soller 235be05cf1 Merge pull request #32 from MggMuggins/master
Remove ArgParser dep, whoami
2018-02-10 11:23:46 -07:00
MggMuggins 69838054ab Remove ArgParser dep, whoami
Remove Arg parsing from sudo, (maybe in prep to deprecate in favor of
rudo)

Port login to clap-rs

Remove ArgParser dep

Remove whoami in favor of a link to id, and implemented linking in id.
2018-02-10 12:09:10 -06:00
Jeremy Soller a190dd55e3 Merge pull request #30 from MggMuggins/master
Port to clap-rs
2018-02-08 20:46:46 -07:00
MggMuggins fba0c70ae2 Port to clap-rs
I did a number of things here:

the *add, *mod, and *del utilities, as well as id recieved substantial
changes, probably what you'd call a rewrite. This was of course using
clap-rs. These should all be very stable at this point (except
unimplemented features in usermod, grr)

getty, passwd, and su are simply ported, using clap for arg parsing. I
didn't change any of the logic, just swapped ArgParser for clap.

Fixed a bug with passwd and unset passwords

I'll open issues about the ones I didn't mention.
2018-02-08 21:10:44 -06:00
Jeremy Soller e997bdd197 Merge pull request #28 from MggMuggins/master
Implement usermod, groupmod, userdel, groupdel; Fix passwd and useradd
2018-02-04 08:05:07 -07:00
MggMuggins d5e011a304 Implement usermod, groupmod, userdel, groupdel; Fix passwd and useradd
Here I've implemented the remainder of the core user utilities present
on most unix systems. They aren't particularly pretty, but they do work
for the most part.

Note that for some reason attempting to move the home directory of a
user via usermod -m does not work.

Also removing user's that have been deleted from groups is not yet
implemented, nor is updating /etc/passwd when a group id is changed.

Note that redox_users as used by Cargo.lock as of this commit is broken,
and may not work properly. If redox-os/users#11 is merged, cargo update
should fix.
2018-02-03 19:10:39 -06:00
Jeremy Soller 7bb8dea121 Merge pull request #27 from MggMuggins/master
Fix #26
2018-01-30 16:57:03 -07:00
MggMuggins cbb7f52381 Fix #26 2018-01-30 17:41:16 -06:00
Jeremy Soller b335c59e7e Merge pull request #25 from MggMuggins/master
Port to redox_users break-api
2018-01-29 19:47:32 -07:00
MggMuggins bc0dc6488b Update Cargo.lock; Fix su 2018-01-29 20:44:08 -06:00
MggMuggins 5e53b4b161 Port to redox_users break-api
All the utilities use the new API I defined in mu recent PR to
redox_users. `su`'s behavior was also fixed.

I also updated Cargo.toml (removing unused deps). This may require
another commit after my first PR is merged in order to appropriately
update Cargo.lock and make sure everything builds.
2018-01-29 16:39:52 -06:00
Jeremy Soller 02759b4a5a Fix bug causing ctrl-d to log in any user with su
Document su's logic
Return error code of shell from su
2018-01-22 08:01:02 -07:00
Jeremy Soller 5765da1ed9 Merge pull request #22 from goyox86/goyox86/unwrap_or_exit
Using new 'unwrap_or_exit' from libextra.
2017-12-15 12:40:50 -07:00
Jose Narvaez 0e327d8124 Using new 'unwrap_or_exit' from libextra. 2017-12-15 18:31:25 +00:00
Jeremy Soller 52cae8be05 Merge pull request #21 from MggMuggins/master
Add additional flags to user and groupadd; Update Cargo files
2017-12-10 07:26:59 -07:00
MggMuggins 0b8f40c234 Add additional flags to user and groupadd; Update Cargo files 2017-12-09 22:06:47 -06:00
Jeremy Soller 0db7c527a7 Merge pull request #20 from goyox86/goyox86/better-errors
Goyox86/better errors
2017-12-09 13:59:01 -07:00
Jose Narvaez cf8f7f3a25 Oops, commited local paths. Fixed. 2017-12-01 23:44:03 +00:00
Jose Narvaez fd81487760 Updated to new error types from redox_users and simplefied the inspection and downcasting of the error on login. 2017-12-01 23:16:14 +00:00
Jose Narvaez 13681c3442 Moved to new error hadling of . 2017-11-30 22:41:57 +00:00
Jeremy Soller 00eaa34aa6 Merge pull request #19 from fraang/master
Add missing included utility, add missing word
2017-11-29 06:30:14 -07:00
Florian R. A. Angermeier 0b1b978755 Add missing included utility, add missing word 2017-11-29 10:09:19 +01:00
Jeremy Soller dcf35e3548 Merge pull request #17 from MggMuggins/master
Implemented groupadd, fix for passwd compile
2017-11-28 21:12:39 -07:00
MggMuggins 65817077ee Cargo.lock update 2017-11-28 22:10:45 -06:00
MggMuggins d9d3635916 Implemented useradd; groupadd fix 2017-11-28 21:39:20 -06:00
MggMuggins 464b5c4aa5 Small fixes to better mesh with redox_users changes 2017-11-27 17:53:11 -06:00
MggMuggins 8fffeb1e57 Implemented groupadd, fix for passwd compile 2017-11-26 16:53:37 -06:00
Jeremy Soller 6b951a8bdc Merge pull request #15 from goyox86/goyox86-readme
README and docs tweaks.
2017-11-08 16:40:02 -07:00
Jose Narvaez 31d217b375 README and docs tweaks. 2017-11-08 23:23:00 +00:00
Jeremy Soller a857871fd8 Merge pull request #14 from goyox86/goyox86-redox-users
Migrated to `redox_users` and some refactoring and docs.
2017-11-08 16:09:24 -07:00
Jose Narvaez 0ed14bec6d Migrated to redox_users and some refactoring and docs.
Details

- Updated dependencies with `redox_users`.
- Migrated all user/group dependent functionality to calls to `redox_users`.
- Added top level documentation to the crate.
- Added a `spawn_shell` function to reuse a bit of code.
- `login`: Handled the case of an invalid login with "Login incorrect" (as in BSD).
- `passwd`: Refactored a bit and used `eprintln!` where possible.
- `su`: Refactored a bit and used `eprintln!` where possible.
- `sudo`: Refactored a bit to simplify logic also used `eprintln!` where possible.
- `whoami`: Refactored a bit and used `eprintln!/println!` where possible.
- Also added myself on the AUTHORS section :).
2017-11-08 22:49:00 +00:00
Jeremy Soller 28d097dbf3 Fix man pages 2017-10-14 08:49:19 -06:00
Jeremy Soller 1f9042f47c Update Cargo.lock 2017-10-11 20:54:45 -06:00
Jeremy Soller a1d096b0bf Update Cargo.lock 2017-10-04 20:29:41 -06:00
Jeremy Soller 712eb2967b Merge pull request #13 from andre-richter/master
Fix unused extern crates
2017-08-31 07:04:00 -06:00
Andre Richter 2a6615d343 Fix unused extern crates 2017-08-31 11:36:30 +02:00
Jeremy Soller bc31f4d490 Update Cargo.lock and Cargo.toml 2017-08-19 14:51:08 -06:00
Jeremy Soller aeda1ae4b4 Update Cargo.lock 2017-08-02 21:13:16 -06:00
Jeremy Soller d811d8758c Update password read to new method 2017-08-02 21:09:36 -06:00
Jeremy Soller f6fd552f45 Replace termion 2017-08-02 19:42:00 -06:00
Jeremy Soller d0e22dd165 Update Cargo.lock 2017-07-29 08:25:08 -06:00
Jeremy Soller c05f37f653 Merge pull request #10 from goyox86/goyox86/login-improvements
Revisited `login`.
2017-07-27 11:26:23 -06:00
Jeremy Soller 7cdd6c7e18 Merge pull request #11 from goyox86/goyox86/revisiting-su
Revisited `su`.
2017-07-26 17:02:04 -06:00
Jeremy Soller 8f0b9afac2 Merge pull request #12 from goyox86/goyox86/revisiting-passwd
Revisiting `passwd`.
2017-07-26 17:01:21 -06:00
Jose Narvaez 1aa558e205 Some improvements to login
- Added constants for standard file paths.
- Improved error reporting when opening the files.
- Used `Passwd::parse_file` instead of doing it manually.
- Removed all the calls to unwrap().
- Used `fail` to report errors and exit when possible.
2017-07-26 21:37:13 +01:00
Jose Narvaez 80e085e7f0 Revisiting passwd
- Replaced all `unwrap()` calls by `try()`.
- Replaced all `panic()` calls by `fail()`.
- Argument parsing is now all done by `ArgParser`.
- Used `Passwd::parse_file` where possible.
- This actually does not change the password, will be the next job.
2017-07-26 21:12:10 +01:00
Jose Narvaez b42b6dd835 Revisited su.
Details

- Moved cmd line args parsing to `ArgParser`.
- All the calls to `panic!` were replaced by calls to `fail`.
- Revisited synopsis in the docs.
- Using `try` where possible.
- Using `Passwd::parse_file` instead of doing it manually.
- Handled errors while parsing passwd file.
- Added some constants.
2017-07-26 20:41:05 +01:00
Jeremy Soller 1725b377cd Add Cargo.lock file 2017-07-26 08:04:04 -06:00