SRS(1p)

πŸ“¦
version 0.31 Β· 2 versions
  • 0.31 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 0.31 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

🌸 SRS(1p) β€” she's user-contributed, she's Perl documentation, she's iconic 🌸

okay bestie, sit down, hydrate, because we're learning srs today and honestly? it's giving infrastructure queen πŸ’…


✨ NAME ✨

srs β€” the command line interface to Mail::SRS. that's it, that's the whole name, short and slay πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

srs --alias=alias@forwarder.com --secretfile=/etc/srs_secret \
          sender@source.com

look at her. one command. backslash line continuation. she's doing the most and we love that for her 🫢


πŸŽ€ DESCRIPTION πŸŽ€

so the srs commandline interface builds you an instance of Mail::SRS with all its parameters derived from the commandline arguments, and then it performs forward or reverse transformations for all addresses given. literally all of them. no address left behind πŸ’…

she's usually invoked from a sendmail envelope address transformation rule, a qmail alias, or something similar to that vibe. if you want examples (and who doesn't), they're at http://www.anarres.org/projects/srs/ ✨

arguments take the form --name or --name=value. that's the pattern, memorize it, it's the whole game πŸŽ€


πŸ’– ARGUMENTS πŸ’–

--separator

String, specified at most once. Defaults to $SRSSEP ("="). yes bestie, that's a real environment variable, she reads it πŸ‘‘

this one sets the initial separator for the SRS address. if you want the details, Mail::SRS has them, go look, iykyk πŸ¦‹

--address

String, may be specified multiple times, and honestly must be specified at least once or what are we even doing here 😭

this is your sender address to transform. that's the one 🫢

--secret

String, may be specified multiple times, and at least one of --secret or --secretfile must be specified. pick a lane, bestie, but pick one πŸ’€

this sets an SRS secret. the first specified secret is used for encoding. all secrets are used for decoding. first one encodes, everybody decodes, it's a whole group chat situation 🌈

--secretfile

String, specified at most once, and at least one of --secret or --secretfile must be specified. same rule as above, no skipping πŸ’…

this is a file to read for secrets. secrets are specified once per line. the first specified secret is used for encoding. secrets are written one per line. blank lines and lines starting with a # are ignored. and if --secret is not given, then the secret file must be nonempty β€” an empty file is not the moment, she will not accept it πŸ™ˆ

okay and here's the tea: --secret will specify a primary secret and override --secretfile if both are specified. however, secrets read from --secretfile will still be used for decoding if both are specified. so --secretfile loses the encoding crown but keeps her decoding job. she's still employed, we respect her πŸŽ€

--forward

No argument. none. zero. she doesn't take one, don't try ✨

specifies a forwards transformation. this is the default, so if you say nothing, you're forwarding, congrats. and --reverse must not also be given. don't do both, that's not the vibe 🚫

--reverse

No argument. again, none. just the flag, she's low maintenance πŸ’…

specifies a reverse transformation. and --forward must not also be given. pick one direction, bestie, we're not doing a u-turn πŸ¦‹

--alias

String, must be specified exactly once if doing forwards transformation. exactly once. not zero, not two. one πŸ‘‘

this provides the alias address to which the mail was sent. the domain-part of this address is what gets used in the generated SRS address. the local-part and the @ are optional and may be omitted β€” so she's flexible about the front but very serious about the domain, main character energy fr fr πŸ’–

--hashlength

Integer, may be specified at most once, defaults to 4.

this specifies the number of base64 characters to use for the cryptographic authentication code. four characters by default, that's the standard serve, but you can adjust if you must πŸŽ€

--help

Print some basic help. that's it. she's helpful, she's brief, she's a queen πŸ‘‘


🌈 SEE ALSO 🌈


πŸ‘‘ AUTHOR πŸ‘‘

Shevek
CPAN ID: SHEVEK
cpan@anarres.org
http://www.anarres.org/projects/

shevek did that. no cap. icon behavior πŸ’œ


Copyright (c) 2004 Shevek. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. so go off, remix her, she's free, we stan an open license 🫢


fr fr bestie, that's the whole page. every flag, every default, every secret, every copyright line. nothing dropped, nothing invented. slay πŸ’…βœ¨

okay that's a wrap! this page is from perl v5.36.0, dated 2022-11-27 (she's a Scorpio/Sagittarius cusp, makes sense), and she's filed under SRS(1p) in the user-contributed Perl docs. love that for her. bye bestie, go transform some addresses πŸ¦‹πŸ’–πŸŒΈ

πŸ“¦ where this page comes from