[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] tools/libs/store: drop read-only functionality



commit 5144222bcd4b6653c15ce699780322dca5c02ea3
Author:     Juergen Gross <jgross@xxxxxxxx>
AuthorDate: Fri Oct 2 17:41:39 2020 +0200
Commit:     Wei Liu <wl@xxxxxxx>
CommitDate: Thu Oct 8 12:47:57 2020 +0000

    tools/libs/store: drop read-only functionality
    
    Today it is possible to open the connection in read-only mode via
    xs_daemon_open_readonly(). This is working only with Xenstore running
    as a daemon in the same domain as the user. Additionally it doesn't
    add any security as accessing the socket used for that functionality
    requires the same privileges as the socket used for full Xenstore
    access.
    
    So just drop the read-only semantics in all cases, leaving the
    interface existing only for compatibility reasons. This in turn
    requires to just ignore the XS_OPEN_READONLY flag.
    
    Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
    Acked-by: Wei Liu <wl@xxxxxxx>
---
 tools/libs/store/include/xenstore.h | 8 --------
 tools/libs/store/xs.c               | 7 ++-----
 2 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/tools/libs/store/include/xenstore.h 
b/tools/libs/store/include/xenstore.h
index cbc7206a0f..158e69ef83 100644
--- a/tools/libs/store/include/xenstore.h
+++ b/tools/libs/store/include/xenstore.h
@@ -60,15 +60,12 @@ typedef uint32_t xs_transaction_t;
 /* Open a connection to the xs daemon.
  * Attempts to make a connection over the socket interface,
  * and if it fails, then over the  xenbus interface.
- * Mode 0 specifies read-write access, XS_OPEN_READONLY for
- * read-only access.
  *
  * * Connections made with xs_open(0) (which might be shared page or
  *   socket based) are only guaranteed to work in the parent after
  *   fork.
  * * xs_daemon_open*() and xs_domain_open() are deprecated synonyms
  *   for xs_open(0).
- * * XS_OPEN_READONLY has no bearing on any of this.
  *
  * Returns a handle or NULL.
  */
@@ -83,11 +80,6 @@ void xs_close(struct xs_handle *xsh /* NULL ok */);
  */
 struct xs_handle *xs_daemon_open(void);
 struct xs_handle *xs_domain_open(void);
-
-/* Connect to the xs daemon (readonly for non-root clients).
- * Returns a handle or NULL.
- * Deprecated, please use xs_open(XS_OPEN_READONLY) instead
- */
 struct xs_handle *xs_daemon_open_readonly(void);
 
 /* Close the connection to the xs daemon.
diff --git a/tools/libs/store/xs.c b/tools/libs/store/xs.c
index 320734416f..4ac73ec317 100644
--- a/tools/libs/store/xs.c
+++ b/tools/libs/store/xs.c
@@ -302,7 +302,7 @@ struct xs_handle *xs_daemon_open(void)
 
 struct xs_handle *xs_daemon_open_readonly(void)
 {
-       return xs_open(XS_OPEN_READONLY);
+       return xs_open(0);
 }
 
 struct xs_handle *xs_domain_open(void)
@@ -314,10 +314,7 @@ struct xs_handle *xs_open(unsigned long flags)
 {
        struct xs_handle *xsh = NULL;
 
-       if (flags & XS_OPEN_READONLY)
-               xsh = get_handle(xs_daemon_socket_ro());
-       else
-               xsh = get_handle(xs_daemon_socket());
+       xsh = get_handle(xs_daemon_socket());
 
        if (!xsh)
                xsh = get_handle(xs_domain_dev());
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.