Wlancap 2 Wpasec
Wlancap 2 Wpasec
#include <libgen.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
#include <curl/curl.h>
/*===========================================================================*/
/* globale Konstante */
struct memory
{
char *response;
size_t size;
};
curl = curl_easy_init();
mime = curl_mime_init(curl);
part = curl_mime_addpart(mime);
curl_mime_filedata(part, sendcapname);
curl_mime_type(part, "file");
curl_mime_name(part, "file");
if(emailheader != NULL)
{
curl_mime_data(part, emailheader, CURL_ZERO_TERMINATED);
curl_mime_name(part, "email");
}
setbuf(stdout, NULL);
while ((auswahl = getopt(argc, argv, "k:u:t:e:Rhv")) != -1)
{
switch (auswahl)
{
case 'k':
if((strlen(optarg) == 32) && (optarg[strspn(optarg,
"0123456789abcdefABCDEF")] == 0))
{
snprintf(keyheader, sizeof(keyheader), "key=%s", optarg);
fprintf(stdout, "\x1B[32muser key set\x1B[0m\n");
}
else
{
fprintf(stdout, "wrong user key value\n");
}
break;
case 'u':
wpasecurl = optarg;
break;
case 't':
timeout = strtol(optarg, NULL, 10);
if(timeout < 1)
{
fprintf(stdout, "wrong connection timeout\nsetting connection
timeout to 30 seconds\n");
timeout = 30;
}
break;
case 'e':
emailaddr = optarg;
if(strlen(emailaddr) > 120)
{
fprintf(stderr, "email address is too long\n");
exit (EXIT_FAILURE);
}
break;
case 'R':
removeflag = true;
break;
case 'v':
version(basename(argv[0]));
break;
default:
usage(basename(argv[0]));
}
}