For full_name
, verifies the certificate chain
is valid, the digests
match the signatures signatures
created by the signer depending on the policy
settings.
If key
is given it is used to validate the signing certificate.
Writes data
to the underlying IO
and updates the digests
Raises an exception if a security policy that verifies data is active. Old
format gems cannot be verified as signed.
Sets url
as a source for gems for this dependency API. RubyGems uses the default configured sources if no source was given. If a source is set only that source is used.
This method differs in behavior from Bundler:
The :gemcutter
, # :rubygems
and :rubyforge
sources are not supported as they are deprecated in bundler.
The prepend:
option is not supported. If you wish to order sources then list them in your preferred order.
Writes the lock file alongside the gem dependencies file
The source for this specification
Make sure the trust directory exists. If it does exist, make sure it’s actually a directory. If not, then create it with the appropriate permissions.
Generates a random prime number of bit length bits
. If safe
is true, generates a safe prime. If add
is specified, generates a prime that fulfills condition p % add = rem
.
Performs a Miller-Rabin primality test. This is same as prime?
except this first attempts trial divisions with some small primes.
checks
- integer
trial_div
- boolean
Creates a new Socket::AncillaryData
object which contains file descriptors as data.
p Socket::AncillaryData.unix_rights(STDERR) #=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>
returns the array of IO
objects for SCM_RIGHTS control message in UNIX domain socket.
The class of the IO
objects in the array is IO
or Socket
.
The array is attached to ancillarydata when it is instantiated. For example, BasicSocket#recvmsg
attach the array when receives a SCM_RIGHTS control message and :scm_rights=>true option is given.
# recvmsg needs :scm_rights=>true for unix_rights s1, s2 = UNIXSocket.pair p s1 #=> #<UNIXSocket:fd 3> s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1) _, _, _, ctl = s2.recvmsg(:scm_rights=>true) p ctl #=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 6 7> p ctl.unix_rights #=> [#<IO:fd 6>, #<Socket:fd 7>] p File.identical?(STDIN, ctl.unix_rights[0]) #=> true p File.identical?(s1, ctl.unix_rights[1]) #=> true # If :scm_rights=>true is not given, unix_rights returns nil s1, s2 = UNIXSocket.pair s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1) _, _, _, ctl = s2.recvmsg p ctl #=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 6 7> p ctl.unix_rights #=> nil
Returns original filename recorded in the gzip file header, or nil
if original filename is not present.
Specify the original name (str
) in the gzip header.
Returns true
if stat is writable by the real user id of this process.
File.stat("testfile").writable_real? #=> true
If stat is writable by others, returns an integer representing the file permission bits of stat. Returns nil
otherwise. The meaning of the bits is platform dependent; on Unix systems, see stat(2)
.
m = File.stat("/tmp").world_writable? #=> 511 sprintf("%o", m) #=> "777"
Has a method been included in the list of insecure methods?