You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

52 lines
1.2 KiB

/* Copyright 2015-2016 Alex 'AdUser' Z (ad_user@runbox.com)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "config.h"
#include "ldapauth.h"
int main(int argc, char *argv[]) {
char buf[128];
char username[32];
char password[32];
oal_config_t *config;
if (argc < 2) {
fprintf(stderr, "Usage: %s <config>\n", argv[0]);
return 1;
}
config = (oal_config_t *) calloc (1, sizeof (oal_config_t));
if (parse_config(config, argv[1]) != 0) {
fprintf(stderr, "config parser failed: %s\n", config->error);
return 1;
}
if (check_config(config) != 0) {
fprintf(stderr, "config check failed: %s\n", config->error);
return 1;
}
while (fgets(buf, sizeof(buf), stdin) != NULL) {
if (sscanf(buf, "%31s %31s", username, password) != 2) {
fputs("fail: expected '<username> <password>' line\n", stdout);
continue;
}
if (oal_check_cred(config, username, password) > 0) {
fputs("ok\n", stdout);
} else {
fprintf(stderr, "fail: %s\n", config->error);
}
}
free(config);
return 0;
}