diff --git a/obexd/plugins/opp.c b/obexd/plugins/opp.c
index 0a8d9c7..d003f21 100644
--- a/obexd/plugins/opp.c
+++ b/obexd/plugins/opp.c
if (obex_get_size(os) == OBJECT_SIZE_DELETE)
return -EINVAL;
- if (os->server->auto_accept)
+ if (obex_get_auto_accept(os))
goto skip_auth;
time = 0;
if (type == NULL)
return OBEX_RSP_FORBIDDEN;
- if (g_str_equal(os->type, VCARD_TYPE)) {
+ if (g_str_equal(type, VCARD_TYPE)) {
if (obex_stream_start(os, VCARD_FILE) < 0)
return OBEX_RSP_NOT_FOUND;
diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index 0483c7d..9db3e71 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
ret = os->service->chkput(os);
switch (ret) {
+ case 0:
+ break;
case -EPERM:
OBEX_ObjectSetRsp(obj, OBEX_RSP_FORBIDDEN, OBEX_RSP_FORBIDDEN);
return FALSE;
return os->server->capability;
}
+gboolean obex_get_auto_accept(struct OBEX_session *os)
+{
+ return os->server->auto_accept;
+}
+
int obex_remove(struct OBEX_session *os, const char *path)
{
if (os->driver == NULL)
diff --git a/obexd/src/obex.h b/obexd/src/obex.h
index 72b0319..d0e70e2 100644
--- a/obexd/src/obex.h
+++ b/obexd/src/obex.h
const char *obex_get_root_folder(struct OBEX_session *os);
gboolean obex_get_symlinks(struct OBEX_session *os);
const char *obex_get_capability_path(struct OBEX_session *os);
+gboolean obex_get_auto_accept(struct OBEX_session *os);
int obex_remove(struct OBEX_session *os, const char *path);
void server_free(struct server *server);