Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:GPR
fcrackzip
fcrackzip-forkexec-ac.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fcrackzip-forkexec-ac.patch of Package fcrackzip
diff -rU3 fcrackzip-1.0/configure.in fcrackzip-forkexec/configure.in --- fcrackzip-1.0/configure.in 2008-08-04 08:51:05.000000000 +0200 +++ fcrackzip-forkexec/configure.in 2011-11-17 12:02:13.000000000 +0100 @@ -19,6 +19,9 @@ AC_CHECK_PROGS(PERL,perl5 perl) AM_CONDITIONAL(HAVE_PERL,test -n "$PERL") +AC_PATH_PROG(UNZIP,unzip) +AC_DEFINE_UNQUOTED([UNZIP], "$UNZIP", [Path to unzip command.]) + if test "$GCC" = yes; then AC_DEFINE([USE_GCC_ASM], 1, [Define if you can use gcc inline assembly.]) CFLAGS="$CFLAGS -funroll-all-loops -O3" diff -rU3 fcrackzip-1.0/main.c fcrackzip-forkexec/main.c --- fcrackzip-1.0/main.c 2005-09-10 21:58:44.000000000 +0200 +++ fcrackzip-forkexec/main.c 2011-11-17 12:05:45.000000000 +0100 @@ -24,6 +24,8 @@ #endif #include <string.h> +#include <errno.h> +#include <sys/wait.h> #ifdef USE_UNIX_REDIRECTION #define DEVNULL ">/dev/null 2>&1" @@ -47,21 +49,34 @@ int REGPARAM check_unzip (const char *pw) { - char buff[1024]; + pid_t pid; int status; - sprintf (buff, "unzip -qqtP \"%s\" %s " DEVNULL, pw, file_path[0]); - status = system (buff); + switch (pid = fork()) { + case 0: + fclose(stdin); + fclose(stdout); + fclose(stderr); + + execl(UNZIP, "unzip", "-qqtP", pw, file_path[0], (char*) NULL); + exit(-1); + case -1: + fprintf(stderr, "fork() failed: %s\n", strerror(errno)); + exit(-1); + } + /*fprintf(stderr, "%d forked %d\n", pthread_self(), pid);*/ + waitpid(pid, &status, 0); + /*fprintf(stderr, "%d finished with status %d\n", pid, status);*/ #undef REDIR - if (status == EXIT_SUCCESS) + if (WEXITSTATUS(status) == EXIT_SUCCESS) { printf("\n\nPASSWORD FOUND!!!!: pw == %s\n", pw); exit (EXIT_SUCCESS); } - return !status; + return !WEXITSTATUS(status); } /* misc. callbacks. */ --- fcrackzip-1.0/Makefile.am 2011-11-17 12:13:54.000000000 +0100 +++ fcrackzip-forkexec/Makefile.am 2003-02-09 10:15:00.000000000 +0100 @@ -44,6 +44,6 @@ echo -n $(VERSION) >/root/www/nh/fcrackzip-ver.nh test: all - fcrackzip --benchmark + ./fcrackzip --benchmark
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor