Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
xine_socket_cloexec() function.
|
|
|
|
This patch creates two utility functions:
int open_cloexec(pathname, flags)
int create_cloexec(pathname, flags, mode)
These return a file descriptor with the CLOEXEC flag set, to ensure
that the descriptor is not inherited across a fork/exec operation.
The sockets returned by:
_x_io_tcp_connect_ipv4()
_x_io_tcp_connect()
now also have their CLOEXEC flag set.
|
|
|
|
|
|
|
|
This requires that many other files include config.h themselves.
Also convert <config.h> to "config.h".
|
|
|
|
xine-lib 1.1.12, and other 1.1.15 and earlier versions, does not
properly handle (a) negative and (b) zero values during unspecified
read function calls in input_file.c, input_net.c, input_smb.c, and
input_http.c, which allows remote attackers to cause a denial of
service (crash) or possibly execute arbitrary code via vectors such as
(1) a file or (2) an HTTP response, which triggers consequences such
as out-of-bounds reads and heap-based buffer overflows.
|
|
|
|
Add warning flags to the DEBUG_CFLAGS too.
|
|
--HG--
extra : transplant_source : %80%12%03%93%EFL%FC%AF%A6%22Z%D0%95C%D5%29%AF%FB%95%B2
|
|
Update input_dvb's PMT parser to match demux_ts's list of stream types.
This is a stop-gap approach, to avoid doing major rewrites to input_dvb.
Ideally, we'd fix the limitations in demux_ts that the comment above
input_dvb's PMT parser alludes to, and just parse all the streams in the PMT
to demux_ts.
In the meantime, this enables use of input_dvb with things like Finnish DVB-T
|
|
We've experienced glitches where the NIT does not match the transmission
parameters, and bugs in the kernel where the values we read back from the
frontend don't match the transmission.
To get round this, we've changed scan to store BANDWIDTH_AUTO and equivalents
in the channels.conf file. Update input_dvb to cope with automatic detection
of all frontend parameters.
|
|
filename
We don't have a "normal" Linux directory layout, and thus prefer to keep
channels.conf in an unusual place. Provide a configuration option to tell Xine
where to find channels.conf
|
|
When using Xine in a kiosk-type application, the DVB GUI presents messages
onscreen that confuse the user; because there's no keyboard and mouse, there's
no way to actually do anything useful with the GUI.
Provide a configuration option to turn off the GUI
--HG--
extra : transplant_source : c%F4%13I%97%3F%11%E8s%CCc%15%9F%AF%97%D7%13D%FC%AB
|
|
|
|
|
|
All the initialisation functions returning a new object instance that
was allocated through malloc() or calloc() can get the malloc
attribute so that the compiler can optimise their call.
|
|
When using a variable to store the result of strlen(), make sure its
type is size_t just like the function returns, rather than using a
smaller type like int.
--HG--
extra : transplant_source : %B0%D5%3B%D7%1Dy%0A%7E%7D%7C%023%08%B2%CE%D3t%0B3%D7
|
|
Also, reduce visibility of the i variable to the loop where it is
used.
|
|
Use the proper function for common memory operations (memset() for
zeroing, memcpy() for copying, memmove() for moving), instead of
looping through arrays.
By extension, remove loops to reset arrays when they were allocated
with calloc() and thus already zeroed.
|
|
Instead of creating strings through a series os string copy and
concatenations, use directly the appropriate printf-like function.
|
|
Instead of calling sprintf or snprintf with a "%s" format string, use
the proper strcpy, strncpy, strdup or strndup function.
|
|
The xine_xmalloc() function is going to be deprecated, as its
behaviour is rarely needed as such, and it's thus misused.
With this, almost all uses of xine_xmalloc() with static size (for
instance the value returned by sizeof()) or with a size that is
guaranteed not to be zero (like strlen()+1) are replaced with calls to
either calloc(1, ...) or malloc().
malloc() is used whenever the allocated memory is going to be
immediately overwritten, while calloc() is used in every other case,
as it sets the whole memory area to zero.
--HG--
extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
|
|
load_channels was being called without checking the tuner fontend type, so
channels.conf could not be decoded. Tested for ATSC only.
|
|
|
|
For contributed code, leave whatever the version we last synced for is using
to make simpler future syncs.
|
|
|
|
If there's no signal, the tuner never goes to FE_TIMEDOUT. Add a separate
timeout, to prevent xine waiting forever in these situations.
|
|
|
|
|
|
The three attached patches (against 1.1.6) each increase the amount of
debug logging in their respective components. We've found the extra
logging useful when trying to track down faults.
I've split this into three patches to make it easier to apply only some
of our changes.
--
Comments welcome,
Simon Farnsworth
|
|
|
|
|
|
|
|
Previously, with junk content, the plugin could potentially consume lots of
memory (possibly causing a local DoS).
Also, a few small memory leaks have been eliminated.
|
|
|
|
CVS patchset: 8524
CVS date: 2007/01/19 01:05:24
|
|
*, so that 'return "something"' is valid. Note that _()/gettext() returns a char * but statically allocated, that the documentation considers constant.
CVS patchset: 8519
CVS date: 2007/01/18 23:02:18
|
|
CVS patchset: 8408
CVS date: 2006/12/08 22:26:22
|
|
CVS patchset: 8127
CVS date: 2006/07/13 09:50:14
|
|
(through backports), to avoid exporting unneeded internal symbols, making plugins' loading faster and use of internal copies of libraries more solid. It should automatically fall back to the old way in GCCs that does not support -fvisibility=hidden, but has to be tested carefully. No issues were found in the months of testing in Gentoo, but this requires special attention anyway.
CVS patchset: 8101
CVS date: 2006/07/10 22:08:12
|
|
CVS patchset: 8055
CVS date: 2006/06/18 20:29:03
|
|
(Diego Pettenò)
CVS patchset: 7985
CVS date: 2006/05/03 19:46:06
|
|
CVS patchset: 7963
CVS date: 2006/04/06 09:28:51
|
|
noted by Barry Scott.
CVS patchset: 7960
CVS date: 2006/04/06 08:00:50
|