Hello,
Approach 2.
This one reverses the shared state created by unlayer_stream() by
nullifying the pointers to shared objects and then passes the "cleaned"
AVFormatContext to avformat_free_context(). In result we have less code
and less meddling with internals. See close_unlayered_format_con
On Sat, 15 Apr 2017 09:47:58 +0200
Zalewa PL wrote:
> Hello,
>
> > The plan is that if ffserver is not fixed before the next bump, it will
> > be removed.
>
> ffserver has been serving our purpose in a 24/7 fashion for about 7
> years now. It will probably be serving us for the foreseeable f
Hello,
The plan is that if ffserver is not fixed before the next bump, it will
be removed.
ffserver has been serving our purpose in a 24/7 fashion for about 7
years now. It will probably be serving us for the foreseeable future,
whatever the community decides. I prefer to share any fix I mak
On Fri, 14 Apr 2017 15:00:05 +0200
Zalewa wrote:
> From 29d36664c55b3a7078ebe57f8642e1d7dc389f16 Mon Sep 17 00:00:00 2001
> From: Zalewa
> Date: Fri, 14 Apr 2017 09:26:18 +0200
> Subject: [PATCH] ffserver: fix memory leaks pointed out by valgrind.
>
> Many memory leaks were created upon HTTP cl
Many memory leaks were created upon HTTP client disconnect.
Many clients connecting & disconnecting rapidly could very
quickly create leaks going into Gigabytes of memory.
From 29d36664c55b3a7078ebe57f8642e1d7dc389f16 Mon Sep 17 00:00:00 2001
From: Zalewa
Date: Fri, 14 Apr 2017 09:26:18 +0200
Subj
On Fri, 6 Jan 2017 23:33:16 +0100
Tobias Stoeckmann wrote:
> +slash = strrchr(my_program_name, '/');
> +memcpy(pathname, my_program_name, slash - my_program_name);
> -strcpy(slash, "ffmpeg");
> +strcat(pathname, "ffmpeg");
this replaces a strcpy with a memcpy, is this in
On Fri, Jan 06, 2017 at 11:33:16PM +0100, Tobias Stoeckmann wrote:
> When the command line for children is created, it is assumed that
> my_program_name always ends with "ffserver", which doesn't have to
> be true if ffserver is called through a symbolic link.
>
> In such a case, it could be that
When the command line for children is created, it is assumed that
my_program_name always ends with "ffserver", which doesn't have to
be true if ffserver is called through a symbolic link.
In such a case, it could be that not enough space for "ffmpeg" is
available at the end, leading to a buffer ov
On Thu, Dec 01, 2016 at 09:43:34AM -0800, Reynaldo H. Verdejo Pinochet wrote:
> Looks good & works correctly Michael. Please feel free to push. Thank you.
applied
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Old school: Use the lowest level language in w
Michael Niedermayer wrote:
>+
>+if (src->codec->flags & AV_CODEC_FLAG_BITEXACT)
>+c->pfmt_ctx->flags |= AVFMT_FLAG_BITEXACT;
Works fine here. Best regards, Reto
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ff
Looks good & works correctly Michael. Please feel free to push. Thank you.
On 12/01/2016 09:02 AM, Michael Niedermayer wrote:
if (src->codec->flags & AV_CODEC_FLAG_BITEXACT)
+c->pfmt_ctx->flags |= AVFMT_FLAG_BITEXACT;
--
Reynaldo H. Verdejo Pinochet
Open Source Group - Samsung
Signed-off-by: Michael Niedermayer
---
ffserver.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/ffserver.c b/ffserver.c
index 4e5ce1f..19c3ced 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -2323,6 +2323,9 @@ static int http_prepare_data(HTTPContext *c)
unlayer_stream(c->pfmt
On Tue, Nov 29, 2016 at 11:58:06PM -0800, Reynaldo H. Verdejo Pinochet wrote:
> Looks good to go. Thank you!
applied
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Old school: Use the lowest level language in which you can solve the problem
con
Looks good to go. Thank you!
On 11/29/2016 01:38 PM, Michael Niedermayer wrote:
Fixes Ticket3791
Signed-off-by: Michael Niedermayer
---
ffserver.c| 38 +++---
tests/ffserver-regression.sh | 2 +-
tests/ffserver.regression.ref | 2 +-
Fixes Ticket3791
Signed-off-by: Michael Niedermayer
---
ffserver.c| 38 +++---
tests/ffserver-regression.sh | 2 +-
tests/ffserver.regression.ref | 2 +-
3 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/ffserver.c b/ffserver.c
On Mon, Nov 28, 2016 at 01:36:58PM -0800, Reynaldo H. Verdejo Pinochet wrote:
> Hi Michael
>
> Looks good too. Please feel free to push
> alongside the ones on the "Remove use of
> AVStream.." thread.
applied
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Hi Michael
Looks good too. Please feel free to push
alongside the ones on the "Remove use of
AVStream.." thread.
Bests,
--
Reynaldo H. Verdejo Pinochet
Open Source Group - Samsung Research America
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
On 11/27/2016 7:29 PM, Ronald S. Bultje wrote:
> Hi,
>
> On Sun, Nov 27, 2016 at 1:26 PM, Michael Niedermayer > wrote:
>
>> Signed-off-by: Michael Niedermayer
>> ---
>> ffserver.c | 18 --
>> 1 file changed, 4 insertions(+), 14 deletions(-)
>>
>> diff --git a/ffserver.c b/ffserv
Hi,
On Sun, Nov 27, 2016 at 1:26 PM, Michael Niedermayer wrote:
> Signed-off-by: Michael Niedermayer
> ---
> ffserver.c | 18 --
> 1 file changed, 4 insertions(+), 14 deletions(-)
>
> diff --git a/ffserver.c b/ffserver.c
> index ded5149..9b1f6d5 100644
> --- a/ffserver.c
> +++
Signed-off-by: Michael Niedermayer
---
ffserver.c | 18 --
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/ffserver.c b/ffserver.c
index ded5149..9b1f6d5 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -2961,7 +2961,6 @@ static int prepare_sdp_description(FFServerStream
On Thu, May 26, 2016 at 08:29:56PM +0200, Gregor Riepl wrote:
> In ffserver.c:build_feed_streams(), the streams pointer is only
> correctly reset before deallocation when there is no error.
>
> This may cause ffserver to crash, because stream lives in static
> memory, not the heap.
>
> The patch
In ffserver.c:build_feed_streams(), the streams pointer is only
correctly reset before deallocation when there is no error.
This may cause ffserver to crash, because stream lives in static
memory, not the heap.
The patch duplicates the behaviour of the non-error case.
>From 00c9203f0349dbae6e701
On Sun, Feb 21, 2016 at 06:53:40PM +0100, Zalewa PL wrote:
> >On Sun, Feb 21, 2016 at 05:17:48PM +0100, Zalewa PL wrote:
> >>>Hi,
> >>>
> >>>this patch fixes a problem with parsing ffserver.conf file.
> >>>
> >>>If you had two streams, one with only the NoVideo flag and the other one
> >>>with only
On Sun, Feb 21, 2016 at 05:17:48PM +0100, Zalewa PL wrote:
Hi,
this patch fixes a problem with parsing ffserver.conf file.
If you had two streams, one with only the NoVideo flag and the other one
with only the NoAudio flag then the second stream would get both flags.
Best regards.
Hi, is the
On Sun, Feb 21, 2016 at 05:17:48PM +0100, Zalewa PL wrote:
> >Hi,
> >
> >this patch fixes a problem with parsing ffserver.conf file.
> >
> >If you had two streams, one with only the NoVideo flag and the other one
> >with only the NoAudio flag then the second stream would get both flags.
> >
> >Best
Hi,
this patch fixes a problem with parsing ffserver.conf file.
If you had two streams, one with only the NoVideo flag and the other one
with only the NoAudio flag then the second stream would get both flags.
Best regards.
Hi, is there something wrong with my submission? It has now been a wee
Hi,
this patch fixes a problem with parsing ffserver.conf file.
If you had two streams, one with only the NoVideo flag and the other one
with only the NoAudio flag then the second stream would get both flags.
Best regards.
RnJvbSAzZTY0OWVjMDc2OTUyY2ZkMTc0YTFmYzA4ZTVhNWE3MWNiY2NmY2JhIE1vbiBTZX
Reynaldo H. Verdejo Pinochet osg.samsung.com> writes:
> Looks good.
Patch applied.
Thank you, Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Looks good.
On 12/22/2015 12:40 AM, Carl Eugen Hoyos wrote:
> Hi!
>
> Attached patch should fix ticket #5103.
>
> Please comment, Carl Eugen
>
>
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpe
Hi!
Attached patch should fix ticket #5103.
Please comment, Carl Eugen
diff --git a/ffserver.c b/ffserver.c
index c7dbb16..788ee6e 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3853,7 +3853,7 @@ static void handle_child_exit(int sig)
fprintf(stderr,
"%s: Pid %"PRI
Le nonidi 9 frimaire, an CCXXIV, Michael Niedermayer a écrit :
> LGTM
Pushed.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-d
On Sun, Nov 29, 2015 at 05:01:52PM +0100, Nicolas George wrote:
> Needed after f62fe53/2c17fb6.
>
> Signed-off-by: Nicolas George
> ---
> ffserver.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
LGTM
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040
Needed after f62fe53/2c17fb6.
Signed-off-by: Nicolas George
---
ffserver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Fix build failure. I am not sure if we can find a relevant context.
diff --git a/ffserver.c b/ffserver.c
index 7e4f620..65ae431 100644
--- a/ffserver.c
+++ b/ffser
On 11/22/2015 11:10 AM, wm4 wrote:
> [..]
>
> The function that's called here is generated by:
>
> MAKE_ACCESSORS(AVStream, stream, char *, recommended_encoder_configuration)
>
> This just copies the pointer. So I guess freeing it would generate a
> dangling pointer? And if the field was alrea
On Sun, 22 Nov 2015 19:09:58 +0100
Hendrik Leppkes wrote:
> On Sun, Nov 22, 2015 at 5:16 PM, Derek Buitenhuis
> wrote:
> > Signed-off-by: Derek Buitenhuis
> > ---
> > ffserver.c | 10 +++---
> > 1 file changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/ffserver.c b/ffserver.c
>
On 11/22/2015 6:09 PM, Hendrik Leppkes wrote:
> I'm slightly confused by this. If the API doesn't take over the value,
> then you don't need to strdup it, and if it does, you don't need to
> free it?
I don't know about the existing code, I just made sure not to leak after
av_strdup, since:
Return
On Sun, Nov 22, 2015 at 5:16 PM, Derek Buitenhuis
wrote:
> Signed-off-by: Derek Buitenhuis
> ---
> ffserver.c | 10 +++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/ffserver.c b/ffserver.c
> index 7e4f620..64a4a7a 100644
> --- a/ffserver.c
> +++ b/ffserver.c
> @@ -34
On Sun, Nov 22, 2015 at 11:16 AM, Derek Buitenhuis
wrote:
> Signed-off-by: Derek Buitenhuis
> ---
> ffserver.c | 10 +++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/ffserver.c b/ffserver.c
> index 7e4f620..64a4a7a 100644
> --- a/ffserver.c
> +++ b/ffserver.c
> @@ -3
Signed-off-by: Derek Buitenhuis
---
ffserver.c | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/ffserver.c b/ffserver.c
index 7e4f620..64a4a7a 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3490,9 +3490,13 @@ static int add_av_stream(FFServerStream *feed, AVStream
*st
On Fri, Nov 6, 2015 at 10:42 PM, Mark Harris wrote:
> On Fri, Nov 6, 2015 at 12:49 PM, Ganesh Ajjanagadde
> wrote:
>> Somewhat ironic that this "safe" interface is actually being used
>> unsafely here. This fixes the usage preventing potential null pointer
>> dereference, where the old code was d
On Fri, Nov 6, 2015 at 12:49 PM, Ganesh Ajjanagadde
wrote:
> Somewhat ironic that this "safe" interface is actually being used
> unsafely here. This fixes the usage preventing potential null pointer
> dereference, where the old code was doubly broken: ctime can return
> NULL, and ctime can return
Somewhat ironic that this "safe" interface is actually being used
unsafely here. This fixes the usage preventing potential null pointer
dereference, where the old code was doubly broken: ctime can return
NULL, and ctime can return an arbitrarily long buffer.
Signed-off-by: Ganesh Ajjanagadde
---
Hi,
On Thu, Aug 20, 2015 at 3:07 PM, Paul B Mahol wrote:
> On 8/18/15, Ronald S. Bultje wrote:
> > ---
> > ffserver_config.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/ffserver_config.c b/ffserver_config.c
> > index 06bd8ac..de8a454 100644
> > --- a/ff
On Fri, Aug 21, 2015 at 2:06 AM, Clément Bœsch wrote:
> On Thu, Aug 20, 2015 at 10:17:15PM -0400, Ganesh Ajjanagadde wrote:
>> On Thu, Aug 20, 2015 at 10:03 PM, Ganesh Ajjanagadde
>> wrote:
>> > On Thu, Aug 20, 2015 at 9:29 PM, Timothy Gu wrote:
>> >> On Thu, Aug 20, 2015 at 6:03 PM Ganesh Ajjan
On Thu, Aug 20, 2015 at 10:17:15PM -0400, Ganesh Ajjanagadde wrote:
> On Thu, Aug 20, 2015 at 10:03 PM, Ganesh Ajjanagadde
> wrote:
> > On Thu, Aug 20, 2015 at 9:29 PM, Timothy Gu wrote:
> >> On Thu, Aug 20, 2015 at 6:03 PM Ganesh Ajjanagadde
> >> wrote:
> >>>
> >>> -avio_printf(pb,
On Thu, Aug 20, 2015 at 10:03 PM, Ganesh Ajjanagadde
wrote:
> On Thu, Aug 20, 2015 at 9:29 PM, Timothy Gu wrote:
>> On Thu, Aug 20, 2015 at 6:03 PM Ganesh Ajjanagadde
>> wrote:
>>>
>>> -avio_printf(pb, "Running as pid %d.\n", stream->pid);
>>> +avio_printf(pb, "Running as
On Thu, Aug 20, 2015 at 9:29 PM, Timothy Gu wrote:
> On Thu, Aug 20, 2015 at 6:03 PM Ganesh Ajjanagadde
> wrote:
>>
>> -avio_printf(pb, "Running as pid %d.\n", stream->pid);
>> +avio_printf(pb, "Running as pid %ld.\n", (int64_t)
>> stream->pid);
>
>
> You need `"%" PRIi64`
On Thu, Aug 20, 2015 at 6:03 PM Ganesh Ajjanagadde
wrote:
> -avio_printf(pb, "Running as pid %d.\n", stream->pid);
> +avio_printf(pb, "Running as pid %ld.\n", (int64_t)
> stream->pid);
>
You need `"%" PRIi64` as the format specifier.
Timothy
_
Unfortunately, there is no portable format specifier for PID's.
Furthermore, it is not safe to assume pid_t <= 32 bit in size,
see e.g http://unix.derkeiler.com/Mailing-Lists/AIX-L/2010-08/msg8.html.
Right now, it is ok to assume pid_t <= 32 bit in size, but this may change in
the future.
Also
On 8/18/15, Ronald S. Bultje wrote:
> ---
> ffserver_config.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/ffserver_config.c b/ffserver_config.c
> index 06bd8ac..de8a454 100644
> --- a/ffserver_config.c
> +++ b/ffserver_config.c
> @@ -230,9 +230,9 @@ static void
---
ffserver_config.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/ffserver_config.c b/ffserver_config.c
index 06bd8ac..de8a454 100644
--- a/ffserver_config.c
+++ b/ffserver_config.c
@@ -230,9 +230,9 @@ static void add_codec(FFServerStream *stream,
AVCodecContext *av,
On Fri, May 22, 2015 at 10:07:17PM -0600, ill wrote:
> So can the ffserver patch be committed?
>
>
>
>
> ffserver.c |4
> ffserver_config.c|6 --
> ffserver_config.h|1 +
> libavformat/allformats.c |1 +
> libavformat/rawenc.c | 12
On Sat, Jun 06, 2015 at 10:59:30PM -0300, Reynaldo H. Verdejo Pinochet wrote:
> Hi
>
> On 06/06/2015 10:43 AM, Michael Niedermayer wrote:
> > Signed-off-by: Michael Niedermayer
> > ---
> > ffserver.c | 20
> > 1 file changed, 20 insertions(+)
> >
> > [..]
>
> Looks good.
Hi
On 06/06/2015 10:43 AM, Michael Niedermayer wrote:
> Signed-off-by: Michael Niedermayer
> ---
> ffserver.c | 20
> 1 file changed, 20 insertions(+)
>
> [..]
Looks good. Thanks!
Bests,
--
Reynaldo H. Verdejo Pinochet
Open Source Group
Samsung Research America / Sil
Signed-off-by: Michael Niedermayer
---
ffserver.c | 20
1 file changed, 20 insertions(+)
diff --git a/ffserver.c b/ffserver.c
index 06218e0..9d0cb0b 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -1204,6 +1204,10 @@ static FFServerIPAddressACL*
parse_dynamic_acl(FFServerStre
So can the ffserver patch be committed?
>From 5b681fdaf7971f841b84cfe06412c67ba417fb00 Mon Sep 17 00:00:00 2001
From: Caligula useraccount
Date: Mon, 11 May 2015 17:42:42 -0600
Subject: [PATCH] ffserver jpg patch
---
ffserver.c | 4
ffserver_config.c| 6 --
That file is attached
you would have to attach the file generated by git format-patch
also you of course first need to locally commit your changes
and set the commit message and author
see man git commit
[...]
___
ffmpeg-devel mailing list
ffmpeg
That file is attached
you would have to attach the file generated by git format-patch
also you of course first need to locally commit your changes
and set the commit message and author
see man git commit
[...]
___
ffmpeg-devel mailing list
ffmpeg-
On Fri, Jan 09, 2015 at 06:51:57PM -0300, Reynaldo H. Verdejo Pinochet wrote:
> Loos good. Please push.
applied
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Those who are best at talking, realize last or never when they are wrong.
signature.asc
Desc
Loos good. Please push.
On 01/06/2015 02:13 PM, Michael Niedermayer wrote:
> Signed-off-by: Michael Niedermayer
> ---
> ffserver.c |6 ++
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/ffserver.c b/ffserver.c
> index c4cf390..19d0b25 100644
> --- a/ffserver.c
> +++ b
Signed-off-by: Michael Niedermayer
---
ffserver.c |6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/ffserver.c b/ffserver.c
index c4cf390..19d0b25 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -2810,11 +2810,9 @@ static int prepare_sdp_description(FFServerStream
*stream,
Should be OK. Thanks.
--
Reynaldo
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Copying context using dedicated function is safer that raw memcpy
which creates shallow copy.
Signed-off-by: Lukasz Marek
---
ffserver.c | 9 ++---
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/ffserver.c b/ffserver.c
index e3e76ba..7e36ab1 100644
--- a/ffserver.c
+++ b/ffser
Pushed as 1013d8dd6967f1e776c08dc1, Thanks.
On 08/02/2014 10:40 AM, Stefano Sabatini wrote:
The new option names are more explicit.
---
doc/ffserver.conf | 4 ++--
doc/ffserver.texi | 19 ++-
ffserver.c| 10 +++---
3 files changed, 23 insertions(+), 10 deletions
On 08/02/2014 10:40 AM, Stefano Sabatini wrote:
The new option names are more explicit.
---
[..]
Looks OK
Bests,
--
Reynaldo H. Verdejo Pinochet
Sr. Multimedia Engineer, Open Source Group
Samsung Research America - Silicon Valley
___
ffmpeg-devel m
On date Saturday 2014-08-02 16:40:53 +0200, Stefano Sabatini encoded:
> The new option names are more explicit.
> ---
> doc/ffserver.conf | 4 ++--
> doc/ffserver.texi | 19 ++-
> ffserver.c| 10 +++---
> 3 files changed, 23 insertions(+), 10 deletions(-)
Ping (Reynal
On Sat, Aug 02, 2014 at 04:40:53PM +0200, Stefano Sabatini wrote:
> The new option names are more explicit.
> ---
> doc/ffserver.conf | 4 ++--
> doc/ffserver.texi | 19 ++-
> ffserver.c| 10 +++---
> 3 files changed, 23 insertions(+), 10 deletions(-)
agree but iam no
On Sat, Aug 02, 2014 at 04:51:16PM +0200, Stefano Sabatini wrote:
> On date Saturday 2014-08-02 14:25:21 +0200, Michael Niedermayer encoded:
> > also check pbuffer before use
> >
> > Found-by: CSA
> > Signed-off-by: Michael Niedermayer
> > ---
> > ffserver.c |4 +++-
> > 1 file changed, 3 in
On date Saturday 2014-08-02 14:25:21 +0200, Michael Niedermayer encoded:
> also check pbuffer before use
>
> Found-by: CSA
> Signed-off-by: Michael Niedermayer
> ---
> ffserver.c |4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/ffserver.c b/ffserver.c
> index 00153
The new option names are more explicit.
---
doc/ffserver.conf | 4 ++--
doc/ffserver.texi | 19 ++-
ffserver.c| 10 +++---
3 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/doc/ffserver.conf b/doc/ffserver.conf
index 094c093..b756961 100644
--- a/doc/ffs
also check pbuffer before use
Found-by: CSA
Signed-off-by: Michael Niedermayer
---
ffserver.c |4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ffserver.c b/ffserver.c
index 00153b4..956d9f5 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -2977,6 +2977,8 @@ static int prepare
71 matches
Mail list logo