!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux web25.us.cloudlogin.co 5.10.237-xeon-hst #1 SMP Mon May 5 15:10:04 UTC 2025 x86_64 

uid=233359(alpastrology) gid=888(tty) groups=888(tty),33(tape) 

Safe-mode: OFF (not secure)

/usr/share/doc/git/technical/   drwxr-xr-x
Free 6181.99 GB of 6263.19 GB (98.7%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     send-pack-pipeline.txt (1.92 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
Git-send-pack internals
=======================

Overall operation
-----------------

. Connects to the remote side and invokes git-receive-pack.

. Learns what refs the remote has and what commit they point at.
  Matches them to the refspecs we are pushing.

. Checks if there are non-fast-forwards.  Unlike fetch-pack,
  the repository send-pack runs in is supposed to be a superset
  of the recipient in fast-forward cases, so there is no need
  for want/have exchanges, and fast-forward check can be done
  locally.  Tell the result to the other end.

. Calls pack_objects() which generates a packfile and sends it
  over to the other end.

. If the remote side is new enough (v1.1.0 or later), wait for
  the unpack and hook status from the other end.

. Exit with appropriate error codes.


Pack_objects pipeline
---------------------

This function gets one file descriptor (`fd`) which is either a
socket (over the network) or a pipe (local).  What's written to
this fd goes to git-receive-pack to be unpacked.

    send-pack ---> fd ---> receive-pack

The function pack_objects creates a pipe and then forks.  The
forked child execs pack-objects with --revs to receive revision
parameters from its standard input. This process will write the
packfile to the other end.

    send-pack
       |
       pack_objects() ---> fd ---> receive-pack
          | ^ (pipe)
	  v |
         (child)

The child dup2's to arrange its standard output to go back to
the other end, and read its standard input to come from the
pipe.  After that it exec's pack-objects.  On the other hand,
the parent process, before starting to feed the child pipeline,
closes the reading side of the pipe and fd to receive-pack.

    send-pack
       |
       pack_objects(parent)
          |
	  v [0]
         pack-objects [0] ---> receive-pack


[jc: the pipeline was much more complex and needed documentation before
 I understood an earlier bug, but now it is trivial and straightforward.]

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0125 ]--