Diff between 171d3aeca85824de7aecf6e6c905682ea81655ba and 9a0c3a540ef7d7f69f91d4266c2663a7b5dd7fe0

Changed Files

File Additions Deletions Status
obexd/plugins/opp.c +2 -2 modified
obexd/src/obex.c +7 -0 modified
obexd/src/obex.h +1 -0 modified

Full Patch

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
@@ -114,7 +114,7 @@ static gint opp_chkput(struct OBEX_session *os)
 	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;
@@ -163,7 +163,7 @@ static obex_rsp_t opp_get(struct OBEX_session *os)
 	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
@@ -748,6 +748,8 @@ static gboolean check_put(obex_t *obex, obex_object_t *obj)
 
 	ret = os->service->chkput(os);
 	switch (ret) {
+	case 0:
+		break;
 	case -EPERM:
 		OBEX_ObjectSetRsp(obj, OBEX_RSP_FORBIDDEN, OBEX_RSP_FORBIDDEN);
 		return FALSE;
@@ -1148,6 +1150,11 @@ const char *obex_get_capability_path(struct OBEX_session *os)
 	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
@@ -100,6 +100,7 @@ void obex_set_folder(struct OBEX_session *os, const char *folder);
 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);