sss_sync_ops.c revision 691387507c256e49845d4ca2a7bd558a2b41e4bb
along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <tevent.h>
#include <talloc.h>
#include "tools/sss_sync_ops.h"
#define DFL_CREATE_HOMEDIR true
#define DFL_REMOVE_HOMEDIR true
return val; \
char *name;
char **values;
const char *vals;
int nvals;
goto done;
goto done;
vals++;
goto done;
done:
return ret;
char *name;
char **vals;
int nvals;
switch(op) {
case SYSDB_MOD_ADD:
case SYSDB_MOD_DEL:
case SYSDB_MOD_REP:
return EINVAL;
goto done;
goto done;
for (i=0; i < nvals; i++) {
done:
return ret;
char **grouplist,
int optype)
int ret;
if (!tmpctx) {
return ENOMEM;
for (i = 0; grouplist[i]; i++) {
if (!parent_dn) {
goto done;
if (ret) {
goto done;
done:
return ret;
struct user_mod_state {
const char *gecos,
const char *home,
const char *shell,
int lock,
int ret;
return ENOMEM;
if (shell) {
shell);
if (home) {
home);
if (gecos) {
gecos);
if (uid) {
uid);
if (gid) {
gid);
return EOK;
int ret;
if (!member_dn) {
return ENOMEM;
&attrs);
return ret;
if (ret) {
return ret;
if (ret) {
return ret;
if (ret) {
return ret;
if (ret) {
return ret;
if (ret) {
return ret;
if (ret) {
return ret;
return EOK;
int ret;
if (!member_dn) {
return ENOMEM;
if (!attrs) {
return ENOMEM;
if (ret) {
return ret;
if (ret) {
return ret;
if (ret) {
return ret;
if (ret) {
return ret;
return EOK;
int remove_home)
int ret;
char *conf_path;
bool dfl_remove_home;
if (!conf_path) {
return ENOMEM;
if (!remove_home) {
goto done;
goto done;
done:
return ret;
const char *gecos,
const char *homedir,
const char *shell,
int create_home,
const char *skeldir)
int ret;
if (!conf_path) {
return ENOMEM;
goto done;
if (homedir) {
goto done;
goto done;
if (!shell) {
goto done;
goto done;
if (!create_home) {
goto done;
goto done;
goto done;
if (!skeldir) {
goto done;
goto done;
done:
return ret;
int ret;
if (ret) {
goto done;
if (!member_dn) {
goto done;
if (ret) {
goto done;
done:
return ret;
int ret;
if (!user_dn) {
return ENOMEM;
if (ret) {
return ret;
int ret;
return ret;
int ret;
return ENOMEM;
if (ret) {
return ret;
const char *name,
const char *str;
int ret;
if (ret) {
return ret;
return ENOENT;
return ENOMEM;
return ENOMEM;
return ENOMEM;
return ENOMEM;
return EIO;
return EIO;
return EOK;
const char *name,
const char *str;
int ret;
if (ret) {
return ret;
return ENOENT;
return ENOMEM;
return EIO;
return EOK;