Closed deeplow closed 1 year ago
I moved the "number of pages received" to be a server-side check. The client won't have a way of knowing this.
Note that it's possible that one of our read functions may receive an early EOF, when its the process in the disp qube that has died. In that case, we should always check first the exit code of the process, and then raise the proper exception.
We were a bit overeager to close this issue, as there are still some error cases that are missing:
dz-dvm
does not exist.dz-dvm
. Consult your system logs". Qubes UI shows a notification with more context, after all.qrexec
.[ ] Get notified about the command that failed while doing document conversion: moved to #567
In practice, we have at most three commands that may run:
libreoffice
, gm
pdfinfo
pdftoppm
An error during pdftoppm
is easy to detect, as we are in the middle of getting pages back. Errors between pdfinfo
and libreoffice
| gm
are less easy to detect, so this still warrants a fix, although it's not very pressing. I'd move this to the stabilization effort as well.
We need to accommodate exceptions for all edge-cases in the client binary-protocol-parsing code. This was out of scope of the alpha stage (https://github.com/freedomofpress/dangerzone/issues/411).
Errors to check on server:
Errors to check on the client:
dz-dvm
does not exist. (**update: done in https://github.com/freedomofpress/dangerzone/pull/564)Stop disposable VMs when aborting conversionsupdate: will be tackled separately since it also affects containers. Moved to https://github.com/freedomofpress/dangerzone/issues/563Errors to check on the client:
Also, we need to sanitize tracebacks and errors from the disposable qube, in a way that does not affect the user's terminal (e.g., remove control characters).update: this will be done in https://github.com/freedomofpress/dangerzone/pull/386