Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Timo Rothenpieler <timo@rothenpieler.org>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH] fftools/ffmpeg_ffplay_ffprobe_cmdutils: add -safe to replace the user name and password in the protocol address
Date: Sun, 18 Dec 2022 02:07:17 +0100
Message-ID: <0bc70706-31f3-9807-aebf-ccf648261c06@rothenpieler.org> (raw)
In-Reply-To: <1f01a2a041ba4e809ec8d9175fde8d8e@huawei.com>

On 17.12.2022 08:36, Wujian(Chin) wrote:
> The Protocol address may contain the user name and password. The ps -ef command may expose the plaintext.
> The -safe parameter option is added to replace the user name and password in the command line with the asterisk (*).
> 
> Signed-off-by: wujian_nanjing <wujian2@huawei.com>
> ---
>   doc/ffmpeg.texi    |  7 +++++++
>   doc/ffplay.texi    |  8 ++++++++
>   doc/ffprobe.texi   |  7 +++++++
>   fftools/cmdutils.c | 47 +++++++++++++++++++++++++++++++++++++++++++----
>   fftools/cmdutils.h | 15 +++++++++++++++
>   fftools/ffmpeg.c   | 16 +++++++++++++---
>   fftools/ffplay.c   | 15 +++++++++++++--
>   fftools/ffprobe.c  | 18 ++++++++++++++----
>   8 files changed, 120 insertions(+), 13 deletions(-)
> 
> diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
> index 0367930..e905542 100644
> --- a/doc/ffmpeg.texi
> +++ b/doc/ffmpeg.texi
> @@ -50,6 +50,13 @@ output files. Also do not mix options which belong to different files. All
>   options apply ONLY to the next input or output file and are reset between files.
>   
>   @itemize
> +@item -safe
> +The Protocol address may contain the user name and password. The ps -ef command may expose the plaintext.
> +The -safe parameter option is added to replace the user name and password in the command line with the asterisk (*).
> +@example
> +ffmpeg -safe -i rtsp://username@password.xxxx.com
> +@end example
> +
>   @item
>   To set the video bitrate of the output file to 64 kbit/s:
>   @example
> diff --git a/doc/ffplay.texi b/doc/ffplay.texi
> index 5dd860b..f46ca91 100644
> --- a/doc/ffplay.texi
> +++ b/doc/ffplay.texi
> @@ -122,6 +122,14 @@ Read @var{input_url}.
>   
>   @section Advanced options
>   @table @option
> +
> +@item -safe
> +The Protocol address may contain the user name and password. The ps -ef command may expose the plaintext.
> +The -safe parameter option is added to replace the user name and password in the command line with the asterisk (*).
> +@example
> +ffplay -safe -i rtsp://username@password.xxxx.com
> +@end example
> +
>   @item -stats
>   Print several playback statistics, in particular show the stream
>   duration, the codec parameters, the current position in the stream and
> diff --git a/doc/ffprobe.texi b/doc/ffprobe.texi
> index 4dc9f57..92b13cf 100644
> --- a/doc/ffprobe.texi
> +++ b/doc/ffprobe.texi
> @@ -89,6 +89,13 @@ Set the output printing format.
>   @var{writer_name} specifies the name of the writer, and
>   @var{writer_options} specifies the options to be passed to the writer.
>   
> +@item -safe
> +The Protocol address may contain the user name and password. The ps -ef command may expose the plaintext.
> +The -safe parameter option is added to replace the user name and password in the command line with the asterisk (*).
> +@example
> +ffprobe -safe -i rtsp://username@password.xxxx.com
> +@end example
> +
>   For example for printing the output in JSON format, specify:
>   @example
>   -print_format json
> diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
> index a1de621..22407f8 100644
> --- a/fftools/cmdutils.c
> +++ b/fftools/cmdutils.c
> @@ -61,6 +61,40 @@ AVDictionary *format_opts, *codec_opts;
>   
>   int hide_banner = 0;
>   
> +void param_masking(int argc, char **argv) {
> +    int i, j;
> +    for (i = 1; i < argc; i++) {
> +        char *match = strstr(argv[i], "://");
> +        if (match) {
> +            int total = strlen(argv[i]);
> +            for (j = 0; j < total; j++) {
> +                argv[i][j] = '*';
> +            }
> +        }
> +    }
> +}

Won't that replace the entire parameter, as in, the full URL, with ***?
While the documentation claims only the username/password will be replaced.

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  parent reply	other threads:[~2022-12-18  1:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-17  7:36 Wujian(Chin)
2022-12-18  0:45 ` Carl Eugen Hoyos
2022-12-19  2:49   ` [FFmpeg-devel] 答复: " Wujian(Chin)
2022-12-18  1:07 ` Timo Rothenpieler [this message]
2022-12-19  2:35   ` Wujian(Chin)
2022-12-19  3:34 ` [FFmpeg-devel] " "zhilizhao(赵志立)"
2022-12-19  6:50   ` [FFmpeg-devel] 答复: " Wujian(Chin)
2022-12-19  7:27     ` [FFmpeg-devel] " "zhilizhao(赵志立)"
2022-12-19  9:29       ` [FFmpeg-devel] 答复: " Wujian(Chin)
2022-12-19 10:09         ` Gyan Doshi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0bc70706-31f3-9807-aebf-ccf648261c06@rothenpieler.org \
    --to=timo@rothenpieler.org \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git