char devcfg_getdev_guid() { return st_read_guid_from_file(scfg_string(CFG_GUID_FILE), DEVICE_GUID, 1); }
unsigned char clientcfg_init(int argc, char* argv[]) { int a; struct passwd *pw; char *buffer; char GUIDHEX[SUPLA_GUID_HEXSIZE+1]; for(a=0; a<argc; a++) { if ( strcmp("-i", argv[a]) == 0 && a<argc-1 ) { cfg_id_file = strdup(argv[a+1]); a++; } else if ( strcmp("-h", argv[a]) == 0 && a<argc-1 ) { cfg_host = strdup(argv[a+1]); a++; } else if ( strcmp("-tcp", argv[a]) == 0 ) { cfg_ssl_enabled = 0; } else if ( strcmp("-p", argv[a]) == 0 && a<argc-1 ) { cfg_port = atoi(argv[a+1]); a++; } else if ( strcmp("-aid", argv[a]) == 0 && a<argc-1 ) { cfg_aid = atoi(argv[a+1]); a++; } else if ( strcmp("-pwd", argv[a]) == 0 && a<argc-1 ) { cfg_pwd = strdup(argv[a+1]); a++; }; } if ( cfg_port == 0 ) cfg_port = cfg_ssl_enabled == 1 ? 2016 : 2015; if ( cfg_host == NULL ) cfg_host = strdup("127.0.0.1"); if ( cfg_id_file == NULL ) { pw = getpwuid(getuid()); a = strlen(pw->pw_dir)+50; buffer = malloc(a); if ( snprintf(buffer, a, "%s/.supla-client", pw->pw_dir) < 1 ) { free(buffer); return 0; } if ( st_file_exists(buffer) == 0 ) { if ( mkdir(buffer, 0700) == -1 ) { free(buffer); return 0; } } if ( snprintf(buffer, a, "%s/.supla-client/id", pw->pw_dir) < 1 ) { free(buffer); return 0; } cfg_id_file = strdup(buffer); free(buffer); } if ( cfg_id_file == NULL || strlen(cfg_id_file) < 1 ) { supla_log(LOG_ERR, "Unknown id file!"); return 0; } if ( st_read_guid_from_file(cfg_id_file, cfg_client_GUID, 1) == 0 ) { return 0; } st_guid2hex(GUIDHEX, cfg_client_GUID); GUIDHEX[SUPLA_GUID_HEXSIZE] = 0; supla_log(LOG_INFO, "Client GUID: %s", GUIDHEX); return 1; }