Fix indentation of win32 files.

pull/91/head
Eric Leblond 13 years ago
parent 710d237724
commit 9f13572843

@ -31,78 +31,78 @@
void setenv(const char *name, const char *value, int overwrite)
{
if (overwrite || NULL == getenv(name)) {
char *str = SCMalloc(strlen(name) + strlen(value) + 2);
if (unlikely(str == NULL))
return;
snprintf(str, strlen(name) + strlen(value) + 1, "%s=%s", name, value);
putenv(str);
SCFree(str);
}
if (overwrite || NULL == getenv(name)) {
char *str = SCMalloc(strlen(name) + strlen(value) + 2);
if (unlikely(str == NULL))
return;
snprintf(str, strlen(name) + strlen(value) + 1, "%s=%s", name, value);
putenv(str);
SCFree(str);
}
}
void unsetenv(const char *name)
{
char *str = SCMalloc(strlen(name) + 2);
if (unlikely(str == NULL))
return;
snprintf(str, strlen(name) + 1, "%s=", name);
putenv(str);
SCFree(str);
char *str = SCMalloc(strlen(name) + 2);
if (unlikely(str == NULL))
return;
snprintf(str, strlen(name) + 1, "%s=", name);
putenv(str);
SCFree(str);
}
const char* inet_ntop(int af, const void *src, char *dst, uint32_t cnt)
{
if (af == AF_INET)
{
struct sockaddr_in in;
memset(&in, 0, sizeof(in));
in.sin_family = AF_INET;
memcpy(&in.sin_addr, src, sizeof(struct in_addr));
if (0 == getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in), dst, cnt, NULL, 0, NI_NUMERICHOST))
return dst;
}
else if (af == AF_INET6)
{
struct sockaddr_in6 in6;
memset(&in6, 0, sizeof(in6));
in6.sin6_family = AF_INET6;
memcpy(&in6.sin6_addr, src, sizeof(struct in_addr6));
if (0 == getnameinfo((struct sockaddr *)&in6, sizeof(struct sockaddr_in6), dst, cnt, NULL, 0, NI_NUMERICHOST))
return dst;
}
return NULL;
if (af == AF_INET)
{
struct sockaddr_in in;
memset(&in, 0, sizeof(in));
in.sin_family = AF_INET;
memcpy(&in.sin_addr, src, sizeof(struct in_addr));
if (0 == getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in), dst, cnt, NULL, 0, NI_NUMERICHOST))
return dst;
}
else if (af == AF_INET6)
{
struct sockaddr_in6 in6;
memset(&in6, 0, sizeof(in6));
in6.sin6_family = AF_INET6;
memcpy(&in6.sin6_addr, src, sizeof(struct in_addr6));
if (0 == getnameinfo((struct sockaddr *)&in6, sizeof(struct sockaddr_in6), dst, cnt, NULL, 0, NI_NUMERICHOST))
return dst;
}
return NULL;
}
int inet_pton(int af, const char *src, void *dst)
{
struct addrinfo hints;
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = af;
struct addrinfo hints;
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = af;
struct addrinfo* result = NULL;
if (0 != getaddrinfo(src, NULL, &hints, &result))
return -1;
struct addrinfo* result = NULL;
if (0 != getaddrinfo(src, NULL, &hints, &result))
return -1;
if (result) {
if (result->ai_family == AF_INET) {
struct sockaddr_in* in = (struct sockaddr_in*)result->ai_addr;
memcpy(dst, &in->sin_addr, 4);
}
else if (result->ai_family == AF_INET6) {
struct sockaddr_in6* in6 = (struct sockaddr_in6*)result->ai_addr;
memcpy(dst, &in6->sin6_addr, 16);
}
else {
freeaddrinfo(result);
return -1;
}
if (result) {
if (result->ai_family == AF_INET) {
struct sockaddr_in* in = (struct sockaddr_in*)result->ai_addr;
memcpy(dst, &in->sin_addr, 4);
}
else if (result->ai_family == AF_INET6) {
struct sockaddr_in6* in6 = (struct sockaddr_in6*)result->ai_addr;
memcpy(dst, &in6->sin6_addr, 16);
}
else {
freeaddrinfo(result);
return -1;
}
freeaddrinfo(result);
return 1;
}
freeaddrinfo(result);
return 1;
}
return -1;
return -1;
}
#endif /* OS_WIN32 */

@ -44,14 +44,14 @@ int main(int argc, char **argv);
*/
int SCRunningAsService(void)
{
HANDLE h = INVALID_HANDLE_VALUE;
if ((h = CreateFile("CONIN$", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0)) == INVALID_HANDLE_VALUE) {
SCLogInfo("Running as service: yes");
return 1;
}
CloseHandle(h);
SCLogInfo("Running as service: no");
return 0;
HANDLE h = INVALID_HANDLE_VALUE;
if ((h = CreateFile("CONIN$", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0)) == INVALID_HANDLE_VALUE) {
SCLogInfo("Running as service: yes");
return 1;
}
CloseHandle(h);
SCLogInfo("Running as service: no");
return 0;
}
/**
@ -59,24 +59,24 @@ int SCRunningAsService(void)
*/
void SCAtExitHandler(void)
{
SERVICE_STATUS status = {
SERVICE_WIN32,
SERVICE_STOPPED,
SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN,
NO_ERROR,
NO_ERROR,
0,
0
};
SCLogInfo("Exit handler called.");
/* mark service as stopped */
if (!SetServiceStatus(service_status_handle, &status)) {
SCLogWarning(SC_ERR_SVC, "Can't set service status: %d", (int)GetLastError());
} else {
SCLogInfo("Service status set to: SERVICE_STOPPED");
}
SERVICE_STATUS status = {
SERVICE_WIN32,
SERVICE_STOPPED,
SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN,
NO_ERROR,
NO_ERROR,
0,
0
};
SCLogInfo("Exit handler called.");
/* mark service as stopped */
if (!SetServiceStatus(service_status_handle, &status)) {
SCLogWarning(SC_ERR_SVC, "Can't set service status: %d", (int)GetLastError());
} else {
SCLogInfo("Service status set to: SERVICE_STOPPED");
}
}
/**
@ -84,34 +84,34 @@ void SCAtExitHandler(void)
*/
static DWORD WINAPI SCServiceCtrlHandlerEx(DWORD code, DWORD etype, LPVOID edata, LPVOID context)
{
if (code == SERVICE_CONTROL_SHUTDOWN || code == SERVICE_CONTROL_STOP) {
SERVICE_STATUS status = {
SERVICE_WIN32,
SERVICE_STOP_PENDING,
SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN,
NO_ERROR,
NO_ERROR,
0,
0
};
SCLogInfo("Service control handler called with %s control code.",
((code == SERVICE_CONTROL_SHUTDOWN) ? ("SERVICE_CONTROL_SHUTDOWN") : ("SERVICE_CONTROL_STOP")));
/* mark service as stop pending */
if (!SetServiceStatus(service_status_handle, &status)) {
SCLogWarning(SC_ERR_SVC, "Can't set service status: %d", (int)GetLastError());
} else {
SCLogInfo("Service status set to: SERVICE_STOP_PENDING");
}
/* mark engine as stopping */
EngineStop();
return NO_ERROR;
}
return ERROR_CALL_NOT_IMPLEMENTED;
if (code == SERVICE_CONTROL_SHUTDOWN || code == SERVICE_CONTROL_STOP) {
SERVICE_STATUS status = {
SERVICE_WIN32,
SERVICE_STOP_PENDING,
SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN,
NO_ERROR,
NO_ERROR,
0,
0
};
SCLogInfo("Service control handler called with %s control code.",
((code == SERVICE_CONTROL_SHUTDOWN) ? ("SERVICE_CONTROL_SHUTDOWN") : ("SERVICE_CONTROL_STOP")));
/* mark service as stop pending */
if (!SetServiceStatus(service_status_handle, &status)) {
SCLogWarning(SC_ERR_SVC, "Can't set service status: %d", (int)GetLastError());
} else {
SCLogInfo("Service status set to: SERVICE_STOP_PENDING");
}
/* mark engine as stopping */
EngineStop();
return NO_ERROR;
}
return ERROR_CALL_NOT_IMPLEMENTED;
}
/**
@ -119,48 +119,48 @@ static DWORD WINAPI SCServiceCtrlHandlerEx(DWORD code, DWORD etype, LPVOID edata
*/
static void WINAPI SCServiceMain(uint32_t argc, char** argv)
{
SERVICE_STATUS status = {
SERVICE_WIN32,
SERVICE_RUNNING,
SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN,
NO_ERROR,
NO_ERROR,
0,
0
};
if ((service_status_handle = RegisterServiceCtrlHandlerEx(PROG_NAME, SCServiceCtrlHandlerEx, NULL)) == (SERVICE_STATUS_HANDLE)0) {
SCLogError(SC_ERR_SVC, "Can't register service control handler: %d", (int)GetLastError());
return;
}
/* register exit handler */
if (atexit(SCAtExitHandler)) {
SCLogWarning(SC_ERR_SVC, "Can't register exit handler: %d", (int)GetLastError());
}
/* mark service as running immediately */
if (!SetServiceStatus(service_status_handle, &status)) {
SCLogWarning(SC_ERR_SVC, "Can't set service status: %d", (int)GetLastError());
} else {
SCLogInfo("Service status set to: SERVICE_RUNNING");
}
SCLogInfo("Entering main function...");
/* suricata initialization -> main loop -> uninitialization */
main(service_argc, service_argv);
SCLogInfo("Leaving main function.");
/* mark service as stopped */
status.dwCurrentState = SERVICE_STOPPED;
if (!SetServiceStatus(service_status_handle, &status)) {
SCLogWarning(SC_ERR_SVC, "Can't set service status: %d", (int)GetLastError());
} else {
SCLogInfo("Service status set to: SERVICE_STOPPED");
}
SERVICE_STATUS status = {
SERVICE_WIN32,
SERVICE_RUNNING,
SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN,
NO_ERROR,
NO_ERROR,
0,
0
};
if ((service_status_handle = RegisterServiceCtrlHandlerEx(PROG_NAME, SCServiceCtrlHandlerEx, NULL)) == (SERVICE_STATUS_HANDLE)0) {
SCLogError(SC_ERR_SVC, "Can't register service control handler: %d", (int)GetLastError());
return;
}
/* register exit handler */
if (atexit(SCAtExitHandler)) {
SCLogWarning(SC_ERR_SVC, "Can't register exit handler: %d", (int)GetLastError());
}
/* mark service as running immediately */
if (!SetServiceStatus(service_status_handle, &status)) {
SCLogWarning(SC_ERR_SVC, "Can't set service status: %d", (int)GetLastError());
} else {
SCLogInfo("Service status set to: SERVICE_RUNNING");
}
SCLogInfo("Entering main function...");
/* suricata initialization -> main loop -> uninitialization */
main(service_argc, service_argv);
SCLogInfo("Leaving main function.");
/* mark service as stopped */
status.dwCurrentState = SERVICE_STOPPED;
if (!SetServiceStatus(service_status_handle, &status)) {
SCLogWarning(SC_ERR_SVC, "Can't set service status: %d", (int)GetLastError());
} else {
SCLogInfo("Service status set to: SERVICE_STOPPED");
}
}
/**
@ -171,34 +171,34 @@ static void WINAPI SCServiceMain(uint32_t argc, char** argv)
*/
int SCServiceInit(int argc, char **argv)
{
SERVICE_TABLE_ENTRY DispatchTable[] = {
{PROG_NAME, (LPSERVICE_MAIN_FUNCTION) SCServiceMain},
{NULL, NULL}
};
SERVICE_TABLE_ENTRY DispatchTable[] = {
{PROG_NAME, (LPSERVICE_MAIN_FUNCTION) SCServiceMain},
{NULL, NULL}
};
/* continue with suricata initialization */
if (service_initialized) {
SCLogWarning(SC_ERR_SVC, "Service is already initialized.");
return 0;
}
/* continue with suricata initialization */
if (service_initialized) {
SCLogWarning(SC_ERR_SVC, "Service is already initialized.");
return 0;
}
/* save args */
service_argc = argc;
service_argv = argv;
/* save args */
service_argc = argc;
service_argv = argv;
service_initialized = 1;
service_initialized = 1;
SCLogInfo("Entering service control dispatcher...");
SCLogInfo("Entering service control dispatcher...");
if (!StartServiceCtrlDispatcher(DispatchTable)) {
/* exit with failure */
exit(EXIT_FAILURE);
}
if (!StartServiceCtrlDispatcher(DispatchTable)) {
/* exit with failure */
exit(EXIT_FAILURE);
}
SCLogInfo("Leaving service control dispatcher.");
SCLogInfo("Leaving service control dispatcher.");
/* exit with success */
exit(EXIT_SUCCESS);
/* exit with success */
exit(EXIT_SUCCESS);
}
/**
@ -209,67 +209,67 @@ int SCServiceInit(int argc, char **argv)
*/
int SCServiceInstall(int argc, char **argv)
{
char path[2048];
SC_HANDLE service = NULL;
SC_HANDLE scm = NULL;
int ret = -1;
int i = 0;
do {
memset(path, 0, sizeof(path));
if (GetModuleFileName(NULL, path, MAX_PATH) == 0 ){
SCLogError(SC_ERR_SVC, "Can't get path to service binary: %d", (int)GetLastError());
break;
}
/* skip name of binary itself */
for (i = 1; i < argc; i++) {
if ((strlen(argv[i]) <= strlen("--service-install")) && (strncmp("--service-install", argv[i], strlen(argv[i])) == 0)) {
continue;
}
strlcat(path, " ", sizeof(path) - strlen(path) - 1);
strlcat(path, argv[i], sizeof(path) - strlen(path) - 1);
}
if ((scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open SCM: %d", (int)GetLastError());
break;
}
service = CreateService(
scm,
PROG_NAME,
PROG_NAME,
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL,
path,
NULL,
NULL,
NULL,
NULL,
NULL);
if (service == NULL) {
SCLogError(SC_ERR_SVC, "Can't create service: %d", (int)GetLastError());
break;
}
ret = 0;
} while(0);
if (service) {
CloseServiceHandle(service);
}
if (scm) {
CloseServiceHandle(scm);
}
return ret;
char path[2048];
SC_HANDLE service = NULL;
SC_HANDLE scm = NULL;
int ret = -1;
int i = 0;
do {
memset(path, 0, sizeof(path));
if (GetModuleFileName(NULL, path, MAX_PATH) == 0 ){
SCLogError(SC_ERR_SVC, "Can't get path to service binary: %d", (int)GetLastError());
break;
}
/* skip name of binary itself */
for (i = 1; i < argc; i++) {
if ((strlen(argv[i]) <= strlen("--service-install")) && (strncmp("--service-install", argv[i], strlen(argv[i])) == 0)) {
continue;
}
strlcat(path, " ", sizeof(path) - strlen(path) - 1);
strlcat(path, argv[i], sizeof(path) - strlen(path) - 1);
}
if ((scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open SCM: %d", (int)GetLastError());
break;
}
service = CreateService(
scm,
PROG_NAME,
PROG_NAME,
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL,
path,
NULL,
NULL,
NULL,
NULL,
NULL);
if (service == NULL) {
SCLogError(SC_ERR_SVC, "Can't create service: %d", (int)GetLastError());
break;
}
ret = 0;
} while(0);
if (service) {
CloseServiceHandle(service);
}
if (scm) {
CloseServiceHandle(scm);
}
return ret;
}
/**
@ -280,50 +280,50 @@ int SCServiceInstall(int argc, char **argv)
*/
int SCServiceRemove(int argc, char **argv)
{
SERVICE_STATUS status;
SC_HANDLE service = NULL;
SC_HANDLE scm = NULL;
int ret = -1;
do {
if ((scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open SCM: %d", (int)GetLastError());
break;
}
if ((service = OpenService(scm, PROG_NAME, SERVICE_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open service: %d", (int)GetLastError());
break;
}
if (!QueryServiceStatus(service, &status)) {
SCLogError(SC_ERR_SVC, "Can't query service status: %d", (int)GetLastError());
break;
}
if (status.dwCurrentState != SERVICE_STOPPED) {
SCLogError(SC_ERR_SVC, "Service isn't in stopped state: %d", (int)GetLastError());
break;
}
if (!DeleteService(service)) {
SCLogError(SC_ERR_SVC, "Can't delete service: %d", (int)GetLastError());
break;
}
ret = 0;
} while(0);
if (service) {
CloseServiceHandle(service);
}
if (scm) {
CloseServiceHandle(scm);
}
return ret;
SERVICE_STATUS status;
SC_HANDLE service = NULL;
SC_HANDLE scm = NULL;
int ret = -1;
do {
if ((scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open SCM: %d", (int)GetLastError());
break;
}
if ((service = OpenService(scm, PROG_NAME, SERVICE_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open service: %d", (int)GetLastError());
break;
}
if (!QueryServiceStatus(service, &status)) {
SCLogError(SC_ERR_SVC, "Can't query service status: %d", (int)GetLastError());
break;
}
if (status.dwCurrentState != SERVICE_STOPPED) {
SCLogError(SC_ERR_SVC, "Service isn't in stopped state: %d", (int)GetLastError());
break;
}
if (!DeleteService(service)) {
SCLogError(SC_ERR_SVC, "Can't delete service: %d", (int)GetLastError());
break;
}
ret = 0;
} while(0);
if (service) {
CloseServiceHandle(service);
}
if (scm) {
CloseServiceHandle(scm);
}
return ret;
}
/**
@ -334,61 +334,61 @@ int SCServiceRemove(int argc, char **argv)
*/
int SCServiceChangeParams(int argc, char **argv)
{
char path[2048];
SC_HANDLE service = NULL;
SC_HANDLE scm = NULL;
int ret = -1;
int i = 0;
do {
memset(path, 0, sizeof(path));
if (GetModuleFileName(NULL, path, MAX_PATH) == 0 ){
SCLogError(SC_ERR_SVC, "Can't get path to service binary: %d", (int)GetLastError());
break;
}
/* skip name of binary itself */
for (i = 1; i < argc; i++) {
if ((strlen(argv[i]) <= strlen("--service-change-params")) && (strncmp("--service-change-params", argv[i], strlen(argv[i])) == 0)) {
continue;
}
strlcat(path, " ", sizeof(path) - strlen(path) - 1);
strlcat(path, argv[i], sizeof(path) - strlen(path) - 1);
}
if ((scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open SCM: %d", (int)GetLastError());
break;
}
if ((service = OpenService(scm, PROG_NAME, SERVICE_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open service: %d", (int)GetLastError());
break;
}
if (!ChangeServiceConfig(
service,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL,
path,
NULL,
NULL,
NULL,
NULL,
NULL,
PROG_NAME))
{
SCLogError(SC_ERR_SVC, "Can't change service configuration: %d", (int)GetLastError());
break;
}
ret = 0;
} while(0);
return ret;
char path[2048];
SC_HANDLE service = NULL;
SC_HANDLE scm = NULL;
int ret = -1;
int i = 0;
do {
memset(path, 0, sizeof(path));
if (GetModuleFileName(NULL, path, MAX_PATH) == 0 ){
SCLogError(SC_ERR_SVC, "Can't get path to service binary: %d", (int)GetLastError());
break;
}
/* skip name of binary itself */
for (i = 1; i < argc; i++) {
if ((strlen(argv[i]) <= strlen("--service-change-params")) && (strncmp("--service-change-params", argv[i], strlen(argv[i])) == 0)) {
continue;
}
strlcat(path, " ", sizeof(path) - strlen(path) - 1);
strlcat(path, argv[i], sizeof(path) - strlen(path) - 1);
}
if ((scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open SCM: %d", (int)GetLastError());
break;
}
if ((service = OpenService(scm, PROG_NAME, SERVICE_ALL_ACCESS)) == NULL) {
SCLogError(SC_ERR_SVC, "Can't open service: %d", (int)GetLastError());
break;
}
if (!ChangeServiceConfig(
service,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL,
path,
NULL,
NULL,
NULL,
NULL,
NULL,
PROG_NAME))
{
SCLogError(SC_ERR_SVC, "Can't change service configuration: %d", (int)GetLastError());
break;
}
ret = 0;
} while(0);
return ret;
}
#endif /* OS_WIN32 */

Loading…
Cancel
Save