Commit graph

807 commits

Author SHA1 Message Date
William Jon McCann
cfc62e5b97 improve the layout of the help output
Left align descriptions and group subcommands.
2009-02-26 09:41:56 -05:00
Ray Strode
b9e20bb7ba Fix leak in ply-boot-server
This commit fixes a memory leak
in an error path of ply_boot_connection_read_request.
2009-02-24 13:38:11 -05:00
Ray Strode
e1619f36bf Fix heap corruptor in ply-boot-server
This fixes a memory corruption bug that
cropped up during a round of leak fixes
a while back.
2009-02-24 13:38:11 -05:00
Charlie Brej
631b14c1b7 In plymouth-set-default-plugin on reset make sure we do not set label.so as a
default splash plugin.
2009-02-24 09:27:53 +00:00
Charlie Brej
6aa4d82760 Add hashtable and bitarray functionality
Hashtable uses the bitarray to mark the used/dead places in the hash data array.
The hashtable functions follow the general gist of the glib ones. To create a
hashtable you supply the hashing and comparison functions. Examples of direct
and string based indexing are supplied. Hashtable is a single word because there
is no hash_somethingelse but the name may change soon. Notice the compare
function returns a signed int difference rather than an equal bool. This is
because it may be an idea to later migrate the collision system to a tree
sub-structure (currently it is a linear array search with an incrementing step
size).
2009-01-03 22:18:24 +00:00
Charlie Brej
42abc98157 Allow client request answers to be greater than 255 characters.
The new limit is 2^32. This only affects the replies to the client. Data sent
along with requests (e.g. password prompt) remain limited to <256 characters.

Two new functions have been added to the ply-utils (ply_read_uint32 and
ply_write_uint32) which receive/transmit 32bit numbers on FD streams.

AFAICT in function ply_boot_client_process_incoming_replies the answer was not
NUL terminated, which may have caused some of the password error bugs.
2009-01-03 21:33:56 +00:00
Charlie Brej
d602f686a1 Optionally pause progress while asking for a password or a question
The "Rework input methods" commit broke the pausing of the progress bar during
password entry. This commit reimplements that functionality but this time the
pausing is optional, applied with a --pause-progress parameter. The client
program sends the (un)pause commands before/after the password requests.
The default is currently to not pause but that may change quite soon.

This also fixes a couple minor bugs and formatting from "Rework input methods".
Also changed "progress-pause" to "pause-progress" to make it more human
intuitive.
2009-01-03 19:41:21 +00:00
Charlie Brej
e2404b991a Make Ctrl+C and Ctrl+D cause the password/question entry to quit
When asking for a password or a question, if the user presses Ctrl+C or Ctrl+D
the backend will reply a NULL. This is interprited as a "Stop asking me". The
client will not repeat the request (even if number of retries hasn't been
reached) and quit with an error exit_status.
2009-01-03 15:58:39 +00:00
Charlie Brej
9d0670ebd2 Add progress-pause/unpause commands to halt the progress bar
Progress bar expansion was previously halted on password entry. Now the
progress can be halted whenever the system wishes. This can be useful when the
system notices there is a big task which is normally not present during normal
boots e.g. fsck.
2008-12-28 18:34:25 +00:00
Charlie Brej
b65d7dcf3e Rework of the input methods
Previously the splash plugins would deal with password entry, which would mean
that code was repeated and upon splash unload the password entry would be lost.
Now the keyboard strokes are processed with outside the splash, and the plugins
only deal with showing an appropriate user interface. As well as password
entry, the system can ask questions with non hidden text entry and sensing of
keystrokes.
2008-12-19 14:16:33 +00:00
Charlie Brej
66edc73d26 Ensure ply-buffer data block always terminates with a '\0'
In some instances, ply-buffer did not terminate the data block with a '\0'.
Doing so allows the data to be used as a string. Additionally it now tries
harder to deal with very long additions to the buffer by repeatedly expanding
the capacity and dealing with appends larger than the maximum buffer size.
2008-12-17 12:07:57 +00:00
Ray Strode
468f52ae50 Post release bump to 0.7.0 2008-11-25 14:21:04 -05:00
Ray Strode
29157abbb1 Allow NULL to be passed to ply_image_free()
free() allows NULL so there is no reason ply_image_free
shouldn't.  This also papers over a bug in the solar
plugin that we haven't been able to identify yet.
2008-11-24 17:42:11 -05:00
Charles Brej
b2d8a601f2 Merge branch 'master' of ssh://git.freedesktop.org/git/plymouth 2008-11-21 17:00:46 +00:00
Charles Brej
a2369d8e89 When fail when a command parser command is not in list then fail.
Previously it returned the last in the list.
2008-11-21 16:58:25 +00:00
Ray Strode
711636ec6a Call --reset when giving default plugin if needed
Previously, we tried to do this but failed because
of a buggy conditional.
2008-11-21 11:49:53 -05:00
Ray Strode
9435d6cc22 Update .gitignore
There were a few bits of noise in git-status output
2008-11-19 21:31:08 -05:00
Ray Strode
27b8689403 word wrap README 2008-11-19 15:58:38 -05:00
Ray Strode
3d46c0c269 Update README to reflect current state of things
Some of the file paths and other information were out of date.
2008-11-19 15:56:28 -05:00
Ray Strode
b295846642 Add --list to plymouth-set-default-plugin
https://bugs.freedesktop.org/show_bug.cgi?id=18298 requests
the ability to a get a list of plugins.
2008-11-19 14:18:48 -05:00
Ray Strode
91a93445b3 Add a --rebuild-initrd arg for set-default-plugin
Normally when a user runs plymouth-set-default-plugin
to change which plugin plymouth uses, the change doesn't
take effect until a new kernel is installed and the initrd
is rebuilt.

This new --rebuild-initrd argument forces the currently
running initrd to get rebuilt immediately (bug 18297).
2008-11-19 11:26:58 -05:00
Ray Strode
02ea84e6d3 Add usage info to plymouth-set-default-plugin 2008-11-19 11:26:58 -05:00
Charles Brej
6222e35e08 Typo missing semicolon. 2008-11-19 16:22:01 +00:00
Charles Brej
426a4ec6f5 Update progress as soon as the splash is shown 2008-11-19 16:18:08 +00:00
Ray Strode
b0273ca055 Don't error if default.so doesn't exist
There are cases where we don't set a default and instead
fallback at runtime to text.so.  Don't make that an error
condition.
2008-11-17 15:31:59 -05:00
Ray Strode
5d84dba994 Only tell gdm to keep vt if told to retain splash
See http://bugzilla.redhat.com/471785
2008-11-17 10:47:08 -05:00
Ray Strode
6d0f6de153 remove superfluous prototype 2008-11-17 09:55:18 -05:00
Ray Strode
1c18c72097 Don't loop forever when tty returns NUL bytes
Somehow a user was running into a case where plymouthd
would busy loop taking 100% cpu.  gdb revealed that it
was stuck trying to process keyboard input.  This is
apparently because we were looping forever when mbrlen()
got a NUL byte.
2008-11-17 09:55:18 -05:00
Charles Brej
6a246596e6 Tweak ply-progress to not progress too far beyond where it expects the next status update
This stops the progress from reaching 100% in cases such as fsck and timeouts.
It also averages the progress times from the previous one with the current one
to average out occasional slow tasks.
2008-11-17 14:41:58 +00:00
Charlie Brej
a19625a2c1 Generate background instead of using image
The background image previously was low resolution
and created various artifacts when being upscaled
to the native resolution of the panel.  This patch
ditches the background image and instead generates
a similar type of background dynamically, custom
fit to the screen it's being displayed on.  As an
added bonus, since we're doing it dynamically, we
can make some of the stars in the background
lightly twinkle.
2008-11-14 11:25:04 -05:00
Ray Strode
b038572c63 Don't reset LIB="lib" when LIB is in environment
It was causing scriptlet failures.
2008-11-12 16:26:16 -05:00
Charles Brej
150b41b087 Update star.png to remove a dark artifact
Fixes "artifact in solar plugin"
https://bugzilla.redhat.com/show_bug.cgi?id=471113
2008-11-12 11:54:49 +00:00
Ray Strode
ae66146be7 drop unused variable 2008-11-11 14:44:48 -05:00
Ray Strode
784a365711 Don't dump details on hide if already hidden 2008-11-11 14:43:42 -05:00
Ray Strode
6f5d90014f set redirected, attached to false after tty detach
This makes --show-splash after --hide-splash not look
confused.
2008-11-11 14:38:45 -05:00
Ray Strode
5237f84949 Don't clear screen when tracing 2008-11-11 14:22:36 -05:00
Ray Strode
0254a231a6 Hide kernel messages for text mode splashes
They tend to screw up the display
2008-11-11 13:56:20 -05:00
Charlie Brej
6569d41f72 Update flares on solar plugin to be more airy 2008-11-11 13:13:00 -05:00
Ray Strode
3022a696fc Hide splash if init=/bin/bash is on command line
Previously, we were just showing detailed splash,
but that causes keystrokes to get eaten.
2008-11-11 10:02:02 -05:00
Ray Strode
8eb0bee921 Add new ply_string_has_prefix function
New api to help with kernel command line parsing.
2008-11-11 09:48:26 -05:00
Ray Strode
b10b3f2fda Disable fdatasync on log flush
It was making boot up choppy
2008-11-11 09:24:41 -05:00
Ray Strode
2910e2076b Drop comet for now
Due to popular demand, we're dropping the comet.
The tail direction wasn't accurate and fixing it
made the comet look unnatural.
2008-11-10 14:33:18 -05:00
Charles Brej
517c68cde8 Generate a dynamicly animated comet in solar plugin
This removes the need for the comet1.png
2008-11-10 14:23:25 -05:00
Ray Strode
8baa0ca41e Don't clear screen when hiding details plugin 2008-11-10 13:15:10 -05:00
Ray Strode
057bb4a5bf Add some forward declarations
Fixes build warnings.
2008-11-10 13:15:04 -05:00
Ray Strode
283d8d0977 Rework how terminals are disconnected from tty
It was causing some problems on hide-splash before
that should be better now.
2008-11-10 13:12:20 -05:00
Ray Strode
e66b42a4c4 Don't abort if no splash when root is mounted 2008-11-10 11:52:59 -05:00
Jeremy Katz
218064c122 Make populate-initrd default plugin tweakable
It's occasionally useful to be able to specify
the which plugin to use with plymouth-populate-initrd.
2008-11-10 11:16:24 -05:00
Ray Strode
b67ba5977e Don't log debug msgs to file with plymouth:debug
It creates a feedback loop.  We'll need to cut
that first before we can log to boot.log.

What'd I'd like to do is have several log targets
plymouth:log=boot.log or plymouth:log=/dev/ttyS0,
or plymouth:log=/dev/tty0
2008-11-10 11:13:15 -05:00
Ray Strode
85f15f2f5e Add more debugging statements
Will make it easier to catch problems.
2008-11-10 11:13:15 -05:00