~ubuntu-branches/debian/stretch/spice/stretch

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: Package Import Robot
  • Author(s): Liang Guo
  • Date: 2013-07-25 00:10:00 UTC
  • mfrom: (0.4.6) (2.1.9 sid)
  • Revision ID: package-import@ubuntu.com-20130725001000-3691inovoiz1qsg9
Tags: 0.12.4-0nocelt1
* New upstream release (Closes: #717030)
* Remove .version after build (Closes: #671627)
* debian/control:
  - Bump Standards-Version to 3.9.4 (no changes)
  - Update VCS-* to use canonical URIs
* debian/patches:
  - fix-tests-warnings.patch, refresh
  - link-server-test-with-libm-libpthread.patch, add (Closes: #713681)
* Refresh libspice-server1.symbols

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2013-07-17  Uri Lublin  <uril@redhat.com>
 
2
 
 
3
        Release 0.12.4
 
4
 
 
5
        Update spice-common submodule (get spice-protocol 0.12.6)
 
6
 
 
7
        syntax-check: trailing whitespaces -- ignore binary files
 
8
 
 
9
2013-07-16  Uri Lublin  <uril@redhat.com>
 
10
 
 
11
        syntax-check: remove trailing whitespaces
 
12
        Only whitespace changes in this commit.
 
13
 
 
14
        syntax-check: make sure config.h is the first included .h file
 
15
 
 
16
        syntax-check: use test A && test B instead of test A -a B
 
17
 
 
18
        syntax-check: fix no-newline or empty line at EOF
 
19
 
 
20
        syntax-check: s/the the/the/ in a comment
 
21
 
 
22
        syntax-check: update AUTHORS
 
23
 
 
24
        syntax-check: fix cast_of_argument_to_free
 
25
        In this case, make syntax-check is wrong, and we actually do
 
26
        need the cast.
 
27
        A cast is needed when types are   uint64_t <--> pointer
 
28
 
 
29
        Using a local "ptr" variable makes both gcc and syntax-check happy.
 
30
 
 
31
        syntax-check: fix avoid_if_before_free
 
32
 
 
33
        server/tests: fix timer for test_empty_success
 
34
 
 
35
        server/tests: test_display_width_stride: add destroy command
 
36
        Otherwise, the test exits after the first iteration over all tests,
 
37
        on the second attempt to create an already created surface.
 
38
 
 
39
        server/tests: remove option from usage if AUTOMATED_TESTS is not configured
 
40
 
 
41
        server/tests: invalid-option: print the bad argument
 
42
        optind points to the next argument to parse.
 
43
 
 
44
        server/tests: fix produce_command for create surface
 
45
        Earlier in this function, test->target_surface is set to 1, which
 
46
        is the only allowed non-primary surface currently.
 
47
 
 
48
        If surface parameters are given (and specifically data is checked)
 
49
        they are being used, otherwise a default surface is used.
 
50
 
 
51
        Earlier in this function, "command" is set to a non-NULL value.
 
52
        Thus, the else part was unreachable code, which is fixed now.
 
53
 
 
54
        server/tests: test_display_base: set rect according to appropriate surface
 
55
        When surface_id == 0, primary is used.
 
56
        Otherwise (currently 1), secondary is used.
 
57
 
 
58
        Also, remove unused test_width and test_height.
 
59
        Since commit caea7699434c20dceef8fc79d21b8eeb663fbf53,
 
60
        test->width and test->height are used.
 
61
 
 
62
        red_channel: replace RING_FOREACH with RING_FOREACH_SAFE in some places
 
63
        This was originally intended to fix the problem fixed by
 
64
        commit 53488f0275d6c8a121af49f7ac817d09ce68090d.
 
65
 
 
66
        What is left are FOREACH loops that are at less risk and maybe safe (no
 
67
        read/write or disconnect/destroy are called from within them).
 
68
 
 
69
        red_worker: use a generic SAFE_FOREACH macro
 
70
        Introduce SAFE_FOREACH macro
 
71
 
 
72
        Make other safe iterators use SAFE_FOREACH
 
73
 
 
74
        red_worker: delete unused CCC_FOREACH
 
75
 
 
76
        red_worker: make DRAWABLE_FOREACH_DPI safe
 
77
 
 
78
        red_worker: use only DRAWABLE_FOREACH_GLZ_SAFE
 
79
 
 
80
        red_worker: make WORKER_FOREACH_DCC safe
 
81
        Specifically, the loop in red_pipes_add_draw can cause spice to abort.
 
82
 
 
83
        In red_worker.c (WORKER_FOREACH_DCC):
 
84
          red_pipes_add_drawable
 
85
            red_pipe_add_drawable
 
86
              red_handle_drawable_surfaces_client_synced
 
87
                red_push_surface_image
 
88
                  red_channel_client_push
 
89
                    red_channel_client_send
 
90
                      red_peer_handle_outgoing
 
91
                        reds_stream_writev (if fails -- EPIPE)
 
92
                        handler->cb->on_error = red_channel_client_disconnect()
 
93
                          red_channel_remove_client()
 
94
                          ring_remove() -- of rcc from channel.clients ring.
 
95
 
 
96
        red_worker: reuse DCC_FOREACH in WORKER_DCC_FOREACH
 
97
        The only thing that is needed is to get the channel out of the worker.
 
98
 
 
99
        red_worker: use only RCC_FOREACH_SAFE
 
100
        RCC_FOREACH may be dangerous
 
101
 
 
102
        The following patches replace FOREACH loops with a SAFE version.
 
103
        Using unsafe loops may cause spice-server to abort (assert fails).
 
104
        Specifically a read/write fail in those loops, may cause the client
 
105
        to disconnect, removing the node currently iterated, which cause spice
 
106
        to abort in ring_next():
 
107
         -- assertion `pos->next != NULL && pos->prev != NULL' failed
 
108
 
 
109
2013-07-05  David Gibson  <david@gibson.dropbear.id.au>
 
110
 
 
111
        Use RING_FOREACH_SAFE in red_channel.c functions which are missing it
 
112
        Currently, both red_channel_pipes_add_type() and
 
113
        red_channel_pipes_add_empty_msg() use plaing RING_FOREACH() which is not
 
114
        safe versus removals from the ring within the loop body.
 
115
 
 
116
        Although it's rare, such a removal can occur in both cases.  In the case
 
117
        of red_channel_pipes_add_type() we have:
 
118
            red_channel_pipes_add_type()
 
119
            -> red_channel_client_pipe_add_type()
 
120
                -> red_channel_client_push()
 
121
 
 
122
        And in the case of red_channel_client_pipes_add_empty_msg() we have:
 
123
            red_channel_client_pipes_add_empty_msg()
 
124
            -> red_channel_client_pipe_add_empty_msg()
 
125
                -> red_channel_client_push()
 
126
 
 
127
        But red_channel_client_push() can cause a removal from the clients ring if
 
128
        a network error occurs:
 
129
            red_channel_client_push()
 
130
            -> red_channel_client_send()
 
131
                -> red_peer_handle_outgoing()
 
132
                    -> handler->cb->on_error callback
 
133
                    =  red_channel_client_default_peer_on_error()
 
134
                        -> red_channel_client_disconnect()
 
135
                            -> red_channel_remove_client()
 
136
                                -> ring_remove()
 
137
 
 
138
        When this error path does occur, the assertion in RING_FOREACH()'s
 
139
        ring_next() trips, and the process containing the spice server is aborted.
 
140
        i.e. your whole VM dies, as a result of an unfortunately timed network
 
141
        error on the spice channel.
 
142
 
 
143
        Please apply.
 
144
 
 
145
2013-06-25  Yonit Halperin  <yhalperi@redhat.com>
 
146
 
 
147
        red_worker: fix for stuck display_channel over WAN (jpeg_enabled=true)
 
148
        The image descriptor flags shouldn't be copied as is from the flags that
 
149
        were set by the driver. Specifically, the CACHE_ME flag shouldn't be copied,
 
150
        since it is possible that (a) the image won't be cached (b) the image
 
151
        is already cached, but in its lossy version, and we may want to set the bit for
 
152
        CACHE_REPLACE_ME, in order to cache it in its lossless version.
 
153
        In case (b), the client first looks for the CACHE_ME flag, and only if
 
154
        it is not set it looks for CACHE_REPLACE_ME (see canvas_base.c). Since both flags where set,
 
155
        the client ignored REPLACE_ME, and didn't turned off the lossy flag of the
 
156
        cach item. Then, when a request from this lossles item reached the
 
157
        client (FROM_CACHE_LOSSLESS), the client display channel waited
 
158
        endlessly for the lossless version of the image.
 
159
 
 
160
2013-06-24  Yonit Halperin  <yhalperi@redhat.com>
 
161
 
 
162
        red_worker: improve stream stats readability and ease of parsing
 
163
        also added start/end-bit-rate and avg-quality to the final stream stats.
 
164
 
 
165
        mjpeg_encoder: add mjpeg_encoder_get_stats
 
166
 
 
167
        spice: silencing most of the ping/pong logging
 
168
        Those messages are too frequent and don't contribute much
 
169
 
 
170
2013-06-06  Hans de Goede  <hdegoede@redhat.com>
 
171
 
 
172
        server: Add support for filtering out agent file-xfer msgs (rhbz#961848)
 
173
 
 
174
2013-05-24  Yonit Halperin  <yhalperi@redhat.com>
 
175
 
 
176
        red_channel: replace an assert upon threads mismatch with a warning
 
177
        The assert:
 
178
        spice_assert(pthread_equal(pthread_self(), client->thread_id))
 
179
        and the assert:
 
180
        spice_assert(pthread_equal(pthread_self(), rcc->channel->thread_id))
 
181
        were coded in order to protect data that is accessed from the main
 
182
        context (red_client and most of the channels), from
 
183
        access by threads of other channels (namely, the display and cursor
 
184
        channels), and vice versa.
 
185
        However, some of the calls to the sound channel interface,
 
186
        and also the char_device interface, can be done from the vcpu thread.
 
187
        It doesn't endanger these channels internal data, since qemu use global
 
188
        mutex for the vcpu and io threads.
 
189
        Thus, pthread_self() can be !=  channel->thread_id, if one of them is
 
190
        the vcpu thread and the other is the io-thread, and we shouldn't assert.
 
191
 
 
192
        Future plans: A more complete and complicated solution would be to manage our own thread for
 
193
        spice-channels, and push input from qemu to this thread, instead of
 
194
        counting on the global mutex of qemu
 
195
 
 
196
        rhbz#823472
 
197
 
 
198
2013-05-23  Yonit Halperin  <yhalperi@redhat.com>
 
199
 
 
200
        main_channel: fix double release of migration target data
 
201
        If client_migrate_info was called once with cert-host-subject and
 
202
        then again without cert-host-subject, on a third call to
 
203
        client_migrate info, the cert-host-subject from the first call would
 
204
        have been freed for the second time.
 
205
 
 
206
2013-05-19  Christophe Fergeau  <cfergeau@redhat.com>
 
207
 
 
208
        Log actual address spice-server binds to
 
209
        It's not always obvious what address spice-server will bind to,
 
210
        in particular when the 'addr' parameter is omitted on QEMU
 
211
        commandline. The decision of what address to bind to is made
 
212
        in reds_init_socket with a call to getaddrinfo. Surprisingly,
 
213
        that function had a call to getnameinfo() already, but it does
 
214
        not seem to be using the result of that call in any way.
 
215
        This commit moves this call after the socket is successfully bound
 
216
        and add a log message to indicate which address it's bound to.
 
217
 
1
218
2013-05-17  Alon Levy  <alevy@redhat.com>
2
219
 
3
220
        0.12.3 release
20
237
 
21
238
        server/red_worker: s/driver_has_monitors_config/driver_cap_monitors_config/ (plus small comment)
22
239
 
23
 
2013-05-09  Yonit Halperin  <yhalperi@redhat.com>
 
240
2013-05-10  Yonit Halperin  <yhalperi@redhat.com>
24
241
 
25
242
        red_worker: don't get bit_rate from main_channel_client, if it wasn't initialized
26
243
        When setting an initial video stream bit rate, if the bit rate
860
1077
        current code will segfault when BN_new fails as it immediatly tries
861
1078
        to use the NULL pointer.
862
1079
 
863
 
2012-09-14  Alon Levy  <alevy@redhat.com>
 
1080
2012-09-15  Alon Levy  <alevy@redhat.com>
864
1081
 
865
1082
        Release 0.12.0
866
1083
 
1056
1273
 
1057
1274
        server/red_tunnel_worker: remove unneeded expect_migrate_mark
1058
1275
 
1059
 
2012-08-27  Alon Levy  <alevy@redhat.com>
 
1276
2012-08-28  Alon Levy  <alevy@redhat.com>
1060
1277
 
1061
1278
        server/red_tunnel_worker.c: fix build
1062
1279
        Only passes compile, not tested.
2080
2297
        server: export spice_server_is_server_mouse predicate
2081
2298
        To be used by qemu query-spice / info spice commands.
2082
2299
 
 
2300
2012-03-26  Marc-André Lureau  <marcandre.lureau@redhat.com>
 
2301
 
 
2302
        Remove files moved to spice-common
 
2303
 
2083
2304
2012-03-25  Marc-André Lureau  <marcandre.lureau@redhat.com>
2084
2305
 
2085
 
        Remove files moved to spice-common
2086
 
 
2087
2306
        Copy common/win/my_getopt-1.5/my_getopt client/windows
2088
2307
 
2089
2308
        Use the spice-common logging functions
3012
3231
        Also fixup the header of server/red_parse_qxl.c, which still contained
3013
3232
        some GPL (program rather then library) text in its header.
3014
3233
 
3015
 
2011-12-13  Marc-André Lureau  <marcandre.lureau@redhat.com>
 
3234
2011-12-14  Marc-André Lureau  <marcandre.lureau@redhat.com>
3016
3235
 
3017
3236
        spelling: s/cupture/capture
3018
3237
 
3449
3668
        test_playback.c:93:5: erreur: function declaration isn’t a prototype
3450
3669
        [-Werror=strict-prototypes]
3451
3670
 
3452
 
2011-08-31  Marc-André Lureau  <marcandre.lureau@redhat.com>
 
3671
2011-09-01  Marc-André Lureau  <marcandre.lureau@redhat.com>
3453
3672
 
3454
3673
        fix bug #692833
3455
3674
 
3456
 
2011-08-31  Christophe Fergeau  <cfergeau@redhat.com>
 
3675
2011-09-01  Christophe Fergeau  <cfergeau@redhat.com>
3457
3676
 
3458
3677
        add C++ guards to backtrace.h
3459
3678
        Without these, spice_backtrace() can't be used from the C++ client
5864
6083
 
5865
6084
        server/red_channel: no need for extra loop
5866
6085
 
5867
 
2011-01-12  Alon Levy  <alevy@redhat.com>
 
6086
2011-01-13  Alon Levy  <alevy@redhat.com>
5868
6087
 
5869
6088
        server/red_channel: go marshaller for outgoing (copied from red_worker)
5870
6089
 
7149
7368
 
7150
7369
        red_get_cursor: avoid extra copy
7151
7370
 
7152
 
2010-08-26  Gerd Hoffmann  <kraxel@redhat.com>
7153
 
 
7154
7371
        fix red_cursur_flush segfault
7155
7372
 
7156
7373
        zap dead typedefs
7159
7376
 
7160
7377
        qxl parser: add cursor parsing
7161
7378
 
 
7379
2010-08-26  Gerd Hoffmann  <kraxel@redhat.com>
 
7380
 
7162
7381
        qxl parser: complete QXL_SURFACE_CMD_CREATE parsing
7163
7382
 
7164
7383
2010-08-26  Alexander Larsson  <alexl@redhat.com>
7413
7632
 
7414
7633
        server: add missing ifdef USE_OGL (red_worker.c)
7415
7634
 
7416
 
2010-07-07  Gerd Hoffmann  <kraxel@redhat.com>
 
7635
2010-07-08  Gerd Hoffmann  <kraxel@redhat.com>
7417
7636
 
7418
7637
        Properly parse QXLImage to the new-world SpiceImage
7419
7638
        SpiceImage now replaces RedImage and has all image types in it.
7420
7639
        All image data are now chunked (and as such not copied when demarshalling).
7421
7640
 
7422
 
2010-07-07  Alexander Larsson  <alexl@redhat.com>
 
7641
2010-07-08  Alexander Larsson  <alexl@redhat.com>
7423
7642
 
7424
7643
        codegen: support @chunk on non-pointer arrays
7425
7644
        This is similar to @as_ptr, but generates a single chunk of data.
8330
8549
 
8331
8550
        server: fix race condition in lz global dictionary, in its image segments list
8332
8551
 
8333
 
2010-04-08  Izik Eidus  <ieidus@redhat.com>
 
8552
2010-04-09  Izik Eidus  <ieidus@redhat.com>
8334
8553
 
8335
8554
        spice: win32 client: fix gdi locking
8336
8555
        While the fix could have been more effective,
8386
8605
 
8387
8606
        client: fix unsafe access to an event member
8388
8607
 
8389
 
2010-04-05  Izik Eidus  <ieidus@redhat.com>
 
8608
2010-04-06  Izik Eidus  <ieidus@redhat.com>
8390
8609
 
8391
8610
        spice server: try to be less brutal when changing res or when flushing the tree
8392
8611
        The idea is that we can try to defer some stuff to be later
8403
8622
 
8404
8623
        Make things simpler
8405
8624
 
 
8625
2010-04-05  Izik Eidus  <ieidus@redhat.com>
 
8626
 
8406
8627
        spice: common: gdi_canvas fix gdi objects leak
8407
8628
        BitmapMask was used by the draw_text function as well
8408
8629
        therefore we need to mark from_surface = 0 if we want
8415
8636
        Just skip the items of destroyed surface that are found in the pipe
8416
8637
        before we skip them, we check if they are needed by other users...
8417
8638
 
8418
 
2010-04-04  Izik Eidus  <ieidus@redhat.com>
8419
 
 
8420
8639
        spice-server: remove glz objects related to surface when destroying a surface
8421
8640
        make the surface released faster in the release ring
8422
8641
        as well as clean unneeded reference into the glz
8423
8642
 
8424
8643
        spice: reds: fix uninitlized pointer
8425
8644
 
8426
 
2010-04-02  Yonit Halperin  <yhalperi@redhat.com>
 
8645
2010-04-03  Yonit Halperin  <yhalperi@redhat.com>
8427
8646
 
8428
8647
        client: x11: fix a crash caused by a call to a destroyed window.
8429
8648
        Happens when a focused window is destroyed without a focus out event,
8430
8649
        and a focus-in event occurs on another window.
8431
8650
 
8432
 
2010-04-02  Izik Eidus  <ieidus@redhat.com>
 
8651
2010-04-03  Izik Eidus  <ieidus@redhat.com>
8433
8652
 
8434
8653
        libspice: add off screens support
8435
8654
 
8802
9021
        the check for a window message procs. We need to properly filter
8803
9022
        events with XFilterEvent to avoid this happening.
8804
9023
 
8805
 
2010-01-27  Izik Eidus  <ieidus@redhat.com>
 
9024
2010-01-28  Izik Eidus  <ieidus@redhat.com>
8806
9025
 
8807
9026
        libspice: add surface 0 support
8808
9027
        This include alot of infestracture for off screens.
8896
9115
 
8897
9116
        use spaces instead of tabs in bitmap_to_c and icon_to_c output
8898
9117
 
8899
 
2009-12-23  Yaniv Kamay  <ykamay@redhat.com>
 
9118
2009-12-24  Yaniv Kamay  <ykamay@redhat.com>
8900
9119
 
8901
9120
        win client: change avcodec version to 51
8902
9121
 
 
9122
2009-12-24  Izik Eidus  <ieidus@redhat.com>
 
9123
 
 
9124
        spice: fix server crush in case connecting without qxl device
 
9125
 
8903
9126
2009-12-23  Izik Eidus  <ieidus@redhat.com>
8904
9127
 
8905
 
        spice: fix server crush in case connecting without qxl device
8906
 
 
8907
9128
        spice client: fix wrong gdi-canvas handling of blend_alpha
8908
9129
 
8909
9130
2009-12-23  Yaniv Kamay  <ykamay@redhat.com>
8967
9188
 
8968
9189
        spice: show splash screen on disconnect only on debug
8969
9190
 
8970
 
2009-11-15  Yaniv Kamay  <ykamay@redhat.com>
 
9191
2009-11-16  Yaniv Kamay  <ykamay@redhat.com>
8971
9192
 
8972
9193
        client: change jitter buffer size to 300ms
8973
9194
 
9026
9247
 
9027
9248
        fix win client copyright string
9028
9249
 
 
9250
        fix bad initialization of XDisplay in case crt have more then one output
 
9251
 
9029
9252
2009-10-26  Yaniv Kamay  <ykamay@redhat.com>
9030
9253
 
9031
 
        fix bad initialization of XDisplay in case crt have more then one output
9032
 
 
9033
9254
        fix build on Debian
9034
9255
 
9035
9256
2009-10-25  Izik Eidus  <ieidus@redhat.com>